master
s 32 lines 766 Bytes
Raw
1 .org 0x8e
2 program_interruption_code:
3 .org 0x1d0 /* program new PSW */
4 .quad 0,pgm
5 .org 0x200 /* lowcore padding */
6 .globl _start
7 _start:
8 lgrl %r0,op1
9 icm %r0,10,op2
10 cg %r0,exp
11 jne failure
12 lgrl %r1,bad_addr
13 icm %r0,0,0(%r1)
14 failure:
15 lpswe failure_psw
16 pgm:
17 chhsi program_interruption_code,5 /* addressing exception? */
18 jne failure
19 lpswe success_psw
20 .align 8
21 op1:
22 .quad 0x1234567887654321
23 op2:
24 .quad 0x0011223344556677
25 exp:
26 .quad 0x1234567800651121
27 bad_addr:
28 .quad 0xffffffff00000000
29 success_psw:
30 .quad 0x2000000000000,0xfff /* see is_special_wait_psw() */
31 failure_psw:
32 .quad 0x2000000000000,0 /* disabled wait */