master
s 29 lines 771 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 lmg %r0,%r1,cksm_args
9 cksm %r2,%r0
10 c %r2,cksm_exp
11 jne failure
12 .insn rre,0xb2410000,%r2,%r15 /* cksm %r2,%r15 */
13 failure:
14 lpswe failure_psw
15 pgm:
16 chhsi program_interruption_code,6 /* specification exception? */
17 jne failure
18 lpswe success_psw
19 cksm_args:
20 .quad cksm_buf, 16
21 cksm_buf:
22 .quad 0xaaaabbbbcccc0000, 0x12345678
23 cksm_exp:
24 .long 0x89ab1234
25 .align 8
26 success_psw:
27 .quad 0x2000000000000,0xfff /* see is_special_wait_psw() */
28 failure_psw:
29 .quad 0x2000000000000,0 /* disabled wait */