.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
-
; find another process to run (may select this one again)
call _getproc
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
ei
.globl platform_interrupt_all
.globl map_save
.globl map_restore
- .globl _kernel_flag
+ .globl _need_resched
; exported debugging tools
.globl _trap_monitor
saved_map: .db 0
-_kernel_flag:
- .db 1
+_need_resched:
+ .db 0
; outchar: Wait for UART TX idle, then print the char in A