1
2
3
4
5
6
7
8
9
10
11
12
13 .globl _start
14_start:
15
16larl %r15, stack + 0x8000
17j main
18
19
20
21
22
23
24 .globl disabled_wait
25disabled_wait:
26 larl %r1,disabled_wait_psw
27 lpswe 0(%r1)
28
29
30
31
32
33
34
35 .globl consume_sclp_int
36consume_sclp_int:
37
38 stctg 0,0,0(15)
39 oi 6(15), 0x2
40 lctlg 0,0,0(15)
41
42 larl %r1, external_new_code
43 stg %r1, 0x1b8
44 larl %r1, external_new_mask
45 mvc 0x1b0(8),0(%r1)
46
47 larl %r1, enabled_wait_psw
48 lpswe 0(%r1)
49
50external_new_code:
51
52 stctg 0,0,0(15)
53 ni 6(15), 0xfd
54 lctlg 0,0,0(15)
55 br 14
56
57 .align 8
58disabled_wait_psw:
59 .quad 0x0002000180000000,0x0000000000000000
60enabled_wait_psw:
61 .quad 0x0302000180000000,0x0000000000000000
62external_new_mask:
63 .quad 0x0000000180000000
64