.org 0x8e program_interruption_code: .org 0x1d0 /* program new PSW */ .quad 0,pgm .org 0x200 /* lowcore padding */ .globl _start _start: lmg %r0,%r1,cksm_args cksm %r2,%r0 c %r2,cksm_exp jne failure .insn rre,0xb2410000,%r2,%r15 /* cksm %r2,%r15 */ failure: lpswe failure_psw pgm: chhsi program_interruption_code,6 /* specification exception? */ jne failure lpswe success_psw cksm_args: .quad cksm_buf, 16 cksm_buf: .quad 0xaaaabbbbcccc0000, 0x12345678 cksm_exp: .long 0x89ab1234 .align 8 success_psw: .quad 0x2000000000000,0xfff /* see is_special_wait_psw() */ failure_psw: .quad 0x2000000000000,0 /* disabled wait */