Interrupt setting
ZXNet echo conference «code.zx»
From 500:812/08.00 → To Sergej Pougachev 9 February 1998
I was reading CODE.ZX here, and noticed the letter
where 02/07/98 at 23:56, Sergej Pougachev wrote
for All, about "Setting an interrupt"...
┬┐ ┬┌┐ ┬┌┌┐┬ ┬ ┌┐
├┴┐││┬ ├┤├ │ │ ││, Sergej!
┴─┘│└┘ ┘┴└┘┴┘┴┘└┘
SP> Greetings!
SP> Somehow, while reading ASpect05, I discovered
SP> I am the program where the codes were:
SP> XOR A
SP> DI
SP> LD BC,#7FFD
SP> OR 16
SP> OUT (C),A
SP> LD A,24
SP> LD (65535),A
SP> LD A,195
SP> LD (65524),A
SP> LD (65525),HL
SP> Is it possible, instead of addresses: 65535,65224,
SP> 65525 take other addresses?
It's possible, but not quite like that...
Here is an example of a slightly different 2nd interrupt switch:
as you probably know, in order to catch the 2nd interruption
you need to create a table of 256 bytes, consisting of the highest
table addresses+1... damn, I don’t even know how to explain...
try to figure it out yourself...
ORG #6200
D.I.
LD HL,#6000
LD A,H
LD I,A
IM 2
LD C,#61
im_tabl LD (HL),C
INC L
JR NZ,im_tabl
INC HLD(HL),C
LD L,C
LD H,C
LD (HL),#C3 ;JP nn
INC L
LD (HL),prer&l ;low byte of the address of the "prer" label.
INC L
LD (HL),prer&h ;high byte ...
EI
RET
prer;here is your interrupt handler....
in this program the table for interrupts is located at the address
#6000 to #6100 and at address #6161 is the command JP prer...
I think everything should be clear. ;)
SP> Sergey Pugachev.
SP> (500:812-29.03)
^ because of this minus you ended up in BADS. :(
With best wishes,
SPbZXNet (500:812/08.00), Ivan/VSPG.
SysOp of Impart-BBS (812)466-4113, [Team ASpect]
-+- SMM version 1.05