.globl _getproc
.globl _trap_monitor
.globl trap_illegal
- .globl _inint
.globl _switchout
.globl _switchin
.globl _doexec
push iy
ld (U_DATA__U_SP), sp ; this is where the SP is restored in _switchin
- ; set inint to false
- xor a
- ld (_inint), a
-
; Stash the uarea back into process memory
; We need to flip to the process map to copy this high
call map_process_always
pop hl ; return code
; enable interrupts, if the ISR isn't already running
- ld a, (_inint)
+ ld a, (U_DATA__U_ININTERRUPT)
or a
- ret z ; in ISR, leave interrupts off
+ ret nz ; in ISR, leave interrupts off
ei
ret ; return with interrupts on