SubClass 110, 111: Call Page Zero 111 11a aaa aaa
This instruction calls a subroutine which address is a pointer in Page Zero.
Example:
callz 21; --> 111 110 010 001 (21 is Octal).
The content of memory cell at address 0021 is a pointer to the actual routine being called. Before passing control to the subroutine, the instruction pushes registers PC, F, S to the stack.
Notice that the first 16 addresses of Page Zero are meant to content pointers to hardware interrupts routines, following by a pointer to the Trap routine (address 20 octal). The instruction callz instruction is kind of "Software Interrupts". Address 21 (octal) is a good place for the first of such software interrupt routines.
Also notice that we can use callz to simulate a hardware interrupt by just calling an existing ISR.
|