| program_interruption_code: |
| .org 0x200 /* exit lowcore */ |
| .quad 0x4000000000000000, start_per |
| .quad 0x80000000, 0, -1 /* successful-branching everywhere */ |
| .quad 0x2000000000000, 0xfff /* see is_special_wait_psw() */ |
| .quad 0x2000000000000, 0 /* disabled wait */ |
| .org 0x2000 /* exit lowcore pages */ |
| lctlg %c9, %c11, per_on_regs |
| /* Test unconditional relative branch. */ |
| /* Test unconditional indirect branch. */ |
| /* Test conditional relative branch. */ |
| clr %r1, %r2 /* d3 != 0 */ |
| /* Test conditional register branch. */ |
| clr %r1, %r2 /* d4 != 0 */ |
| chhsi program_interruption_code, 0x80 /* PER event? */ |
| cli per_code, 0x80 /* successful-branching event? */ |
| clg %r0, per_address /* per_address == jump insn? */ |
| clg %r1, program_old_psw+8 /* psw.addr updated to dest? */ |