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