Project Extra Credit
Enhanced DSCPU
Project Description
Enhance the DSCPU Simulator to support 16-bit operations while, like Intel, maintaining backward compatibility with the original DSCPU.
Note: the bus is still 8 bits, so all memory accesses still take place 8 bits at a time, only the operations have changed to 16 bits.
Add 16-bit versions of:
LDAC
STAC
MVAC
MOVR
ADD
SUB
INAC
CLAC
AND
OR
XOR
NOT
RL
RR
LSL
LSR
MVI
The 16-bit version is distinguished from the 8-bit version by the msb on in the opcode, e.g. 8-bit LDAC op code is 0000 0001 and the 16-bit LDAC op code is 1000 0001.
AC and R are expanded to 16 bits. However, to maintain backwards compatibility, an 8-bit operation must not affect the high-order 8 bits of the affected operand; e.g. an 8-bit add must not affect the high-order 8 bits of AC, an 8-bit LDAC must not affect the high-order 8 bits of AC, an 8-bit MVAC must not affect the high-order 8 bits of R, etc.Fetch remains unchanged since op codes are still 8 bits.
Condition codes must be properly set.
Your program must output information as described for the DSCPU.