Hello ppl...

Today my eyes fell on a Z80 instruction set again... My attention this time
went to the IM 0, IM 1 and IM 2 instructions... I never used them, and I
think I can say no one ever used 'em, but I just wanted to know how they
work... Normally the MSX uses IM (Interrupt Mode) 1.. This means that a
restart is made to address $38 (RST 38h). Interrupt mode 0 is like the
8080A, but my attention fell on the IM 2 instruction... This uses register I
and a random number to jump to a location... I started coding a routine that
uses IM 2, and I did it to jump to the location I wanted, only the strange
thing is, is that if I enable the IM 2 and then end my ASM program the
interrupt works perfectly, though when returned to BASIC, it ONLY executed
the interrupt, and for the rest noting, but when I don't end the ASM code,
the IM doesn't work... What I did was I enabled the IM 2 then I read a key,
and then returned to BASIC. But after the IM 2 was enabled, it executed it
once, then did nothing, and after I pressed a key (and returned to BASIC) it
continued...

How come??

Questions:
Is it possible to continue the IM 2, while still executing the ASM code?
Does anyone know more about these Interrupt modes? (e.g. IM 0?)

mzl.
d-fader.




****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED]
and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in
the body (not the subject) of the message.
Problems? contact [EMAIL PROTECTED]
More information on MSX can be found in the following places:
 The MSX faq: http://www.faq.msxnet.org/
 The MSX newsgroup: comp.sys.msx
 The MSX IRC channel: #MSX on Undernet
****

Reply via email to