Search
lxdream.org :: lxdream/test/interrupt.s :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename test/interrupt.s
changeset 233:f8333b94f503
prev228:70adc8ffa8d1
next815:866c103d72cd
author nkeynes
date Wed Sep 27 10:21:34 2006 +0000 (14 years ago)
permissions -rw-r--r--
last change Add user mode/system mode switch
Add undefined instruction tests
file annotate diff log raw
1.1 --- a/test/interrupt.s Mon Sep 25 11:13:56 2006 +0000
1.2 +++ b/test/interrupt.s Wed Sep 27 10:21:34 2006 +0000
1.3 @@ -177,6 +177,26 @@
1.4 nop
1.5
1.6 ex_dontcare: ! Not the event we were waiting for.
1.7 +! Check if its a trapa #42 ("Switch to system mode")
1.8 + mov.l trapa_exc_k, r0
1.9 + cmp/eq r0,r1
1.10 + bf ex_chain
1.11 + mov.l trapa_k, r0
1.12 + mov.l @r0, r0
1.13 + shlr2 r0
1.14 + cmp/eq #42, r0
1.15 + bf ex_chain
1.16 +! Yes, yes it is - update SSR and return without chaining
1.17 + stc ssr, r0
1.18 + mov #0x40, r1
1.19 + mov #24, r2
1.20 + shld r2, r1
1.21 + or r0, r1
1.22 + ldc r1, ssr
1.23 + bra ex_nochain
1.24 + nop
1.25 +
1.26 +ex_chain:
1.27 mov.l old_vbr_k, r2
1.28 mov.l @r2, r2
1.29 xor r0, r0
1.30 @@ -213,9 +233,9 @@
1.31 mov.l @r15+, r2
1.32 mov.l @r15+, r1
1.33 mov.l @r15+, r0
1.34 + stc sgr, r15
1.35 rte
1.36 - stc sgr, r15
1.37 -
1.38 + nop
1.39 .align 4
1.40 expected_intevt_k:
1.41 .long expected_intevt
.