| program_interruption_code: |
| .org 0x1d0 /* program new PSW */ |
| .quad 0x180000000,pgm /* 64-bit mode */ |
| .org 0x200 /* lowcore padding */ |
| stctg %c8,%c8,c8 /* enable only monitor class 1 */ |
| lgrl %r0,program_old_psw+8 /* ilc adjustment */ |
| larl %r1,mc_monitor_event /* dispatch based on old PSW */ |
| cgrje %r0,%r1,pgm_monitor_event |
| larl %r1,mc_specification |
| cgrje %r0,%r1,pgm_specification |
| chhsi program_interruption_code,0x40 /* monitor event? */ |
| chhsi monitor_class,1 /* class from mc_monitor_event? */ |
| cghsi monitor_code,321 /* code from mc_monitor_event? */ |
| j mc_specification /* next test */ |
| chhsi program_interruption_code,6 /* specification exception? */ |
| .quad 0x2000000000000,0xfff /* see is_special_wait_psw() */ |
| .quad 0x2000000000000,0 /* disabled wait */ |