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