8080: sketch out the irq saves needed
authorAlan Cox <alan@linux.intel.com>
Fri, 15 Feb 2019 00:32:17 +0000 (00:32 +0000)
committerAlan Cox <alan@linux.intel.com>
Fri, 15 Feb 2019 00:32:17 +0000 (00:32 +0000)
Kernel/lowlevel-8080.s

index 54a2443..2b3f4ea 100644 (file)
@@ -256,7 +256,28 @@ interrupt_handler:
        sta _inint
        sta U_DATA__U_ININTERRUPT
        sta _int_disabled
+       !
+       !       What we avoid in register saves over Z80 we make up for in
+       !       runtime stuff
+       !
+       lhld .retadr
+       push h
+       lhld .bcreg
+       push h
+       lhld .tmp1
+       push h
+       lhld .areg
+       push h
        call _platform_interrupt
+       pop h
+       mov l,a
+       sta .areg       ! FIXME: add a pad byte to .areg instead
+       pop h
+       shld .tmp1
+       pop h
+       shld .bcreg
+       pop h
+       shld .retadr
        !
        ! Undo state
        !