Also, there was a popular way to implement a stack on an io port, and I probably used that in my project. That was documented in a magazine article (perhaps also the source of the clever routines to save and restore the flags)
Scott Sent from my iPhone > On Dec 24, 2025, at 1:44 PM, [email protected] wrote: > > When I did this, I remember there was a pair of registers that I could not > save, probably de. I can look and see if I ended up with useful isr code in > my project. Maybe the real Intended use is to be able to halt and resume on > interrupt. > > There was a way to cleverly restore the flags. > > My isr code is in > https://github.com/sbelectronics/h8/blob/master/h8-8008/asm/fpanisr.inc > > Sent from my iPhone > >>> On Dec 24, 2025, at 1:02 PM, Robert Armstrong via cctalk >>> <[email protected]> wrote: >>> >> >>> >>> Tom Uban <[email protected]> wrote: >>> Here is the power-up/interrupt code I use on a board I built: ... >> >> Thanks! A couple of questions - >> >> It looks like this code trashes DE, so I assume the background code just >> can't use those registers? So there's no way to code a truly transparent >> ISR? >> >> I also notice that the 8008 lacks any kind of interrupt enable F-F, nor any >> EI/DI type instructions. Is that right? I guess you could always implement >> those with external hardware, at least. >> >> And the big question - what's your code for restoring these flags when you >> exit the ISR? The MCS-8 manual says that all ALU instructions always update >> all flags, with the exception of the rotate opcodes which only change carry. >> It seems that means the ZS&P flags at least would have to be restored >> together in one instruction. >> >> Bob >>
