In the basic machine cycle the CAPC1 processor performs
Fetch Operation in the first 4 subcyles, C0 to C3. At the last subcycle C3 of Operation, a machine instruction
in the form of 16 bit word is copied into the Instruction Register which is the center piece of the Execution Unit of CAPC1.
The OP(eration) code, codeBit 15, 14, 13, and 12 of the machine instruction in IR is decoded immediately to identify
and execute the instruction in the last 4 subcycles, C4 to C7. Each output pin from Machine Instruction Decoder represents
the corresponding machine instruction and be wired to a set of registers by control lines derived from the clock subcycles C4 to C7.
We now look at the wiring of machine instruction INT. The upper 4 bit is "1100", the OP(eration) code.
The lower 12 bit Operand is the (software) Interrupt Number. In CAPC1, the Interrupt Number represents the address of
Interrupt Vector, a word in RAM, where the starting location of the corresponding Interrupt Service routine
(for this Interrupt) is stored. Thus INT is implemented as indirect SRJ (indirect subroutine jump) as follows:
| Assembly Language | Machine Language | ||||||||||||
| INT F00 | 1100 1111 0000 0000 | ||||||||||||
| Description | |||||||||||||
| Store the return address in Greg and jump to the memory location given by the contents of the memory pointed by the Interrupt number. | |||||||||||||
| Wiring of Instruction INT | |||||||||||||
| |||||||||||||