You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Should the ProgramCounter acquire a 16-bit jump register, along with instructions:
JSR which would copy the current PC to the jump register, and copy A and B bus to the PC (and inhibit increment)
RET which would copy the jump register to the PC (and not inhibit increment)
LOADJUMP0/LOADJUMP1 which would put the low/high byte of the jump register onto C bus (for saving in Register C)
STOREJUMP which would copy A and B bus to the jump register
These would eliminate the LOADPC command, which is the only one to write to Register B.... and complicates the RegisterFile implementation. Since the jump register wouldn't be continually changing, it is safe to have separate load instructions for the low and high bytes.
The text was updated successfully, but these errors were encountered:
After some thought, it feels better to have a dedicated Jump register built into the program counter. This helps deal with the design having 8-bit registers but using 16-bit addressing, which had lead to needing the instruction to copy the PC to be able to write to *two* registers. It was the only instruction which needed to do so, and complicated the register file. Having a jump register avoids this, since it is safe to copy the low and high bytes with separate instructions. I believe that this compensates for the extra instructions now in the Program Counter.
Closes#19
Should the
ProgramCounter
acquire a 16-bit jump register, along with instructions:JSR
which would copy the current PC to the jump register, and copy A and B bus to the PC (and inhibit increment)RET
which would copy the jump register to the PC (and not inhibit increment)LOADJUMP0
/LOADJUMP1
which would put the low/high byte of the jump register onto C bus (for saving in Register C)STOREJUMP
which would copy A and B bus to the jump registerThese would eliminate the
LOADPC
command, which is the only one to write to Register B.... and complicates theRegisterFile
implementation. Since the jump register wouldn't be continually changing, it is safe to have separate load instructions for the low and high bytes.The text was updated successfully, but these errors were encountered: