Computer Science 281
Computer Organization

Denison

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.