Re: LZ: variables
[Prev][Next][Index][Thread]
Re: LZ: variables
On Thu, 1 Aug 1996, Rob Taylor wrote:
>
> > > No, they aren't really interrupts as such .. (you're thinking of interrupt mode
> > > 0, in which the peripheral will send an RST instruction to the
> > > processor) (I guess you coudl veiw tehm in teh same light as SWI's on
> > > later processors, but the Z80 doesn't actually treat RST's as
> > > interrupts, just calls)
> > >
> > > But you are quite right, they could do different things on different
> > > roms (remember kids, RST 10h = CALL $10, etc.)
> >
> > What is the difference in treating it like an interrupt or a call?
> > They're both pretty much the same thing except for some incidental
> > details which vary from cpu to cpu.
> >
> > Or do you mean that int mode 0 actually does treat it different, like
> > turning off further interrupts or pushing the flag register, etc?
> >
> > The one thing all software interrupts have in common is that they
> > push the PC and begin execution at a pre-determined address. Some
> > also push something else. Some use indirection. But the common
> > ingredients seem to include the Z80. Is it just a question of
> > terminology or am I missing something?
>
> No, interrupts toggle the IFF flags, and let peripheral know that an
> exption is in process nd must be returned from with reti or retn (to
> set the IFF flags back)
>
> It's a very subtle differene,but.....
> The RST instruction is an oddity - it's leftover from the 8080
> instruction set, in which it was specifically used by inetrrupting
> peripherals, on the z80 (when not in int mode 0) it doesn't have a
> clearly defined role..
I see the difference now that you've explained it. I guess the thing
that keeps it from being a semantical question is that it doesn't
need an reti to return. I didn't realize that.
Thanks for the explanation.
Barry
References: