The following eight macroinstructions are to be added to the Mac-1 language
of Figure 4-14:
-
ANDD
-
AND direct, ac := ac AND m[x]
-
ANDL
-
AND local, ac := ac AND m[sp + z]
-
ORD
-
OR direct, ac := ac OR m[x]
-
ORL
-
OR local, ac := ac OR m[sp + z]
-
XORD
-
XOR direct, ac := ac XOR m[x]
-
XORL
-
XOR local, ac := ac XOR m[sp + z]
-
NOTD
-
NOT direct, ac := NOT m[x]
-
NOTL
-
NOT local, ac := NOT m[sp + z]
You are to modify the machine instructions to include these new instructions.
You decide what the operation code for each should be. You may change other
instructions to accommodate these new instructions, but you must follow these
rules:
-
x and z will be numbers in the machine instruction for each
of these.
-
All machine instructions will be 16 bits long. I mean all, not just these
new ones.
-
All direct instructions must be able to access all of memory (12 bits).
-
The JUMP and CALL instructions must be able to access all of
memory (12 bits).
Give me the following for this new architecture
-
(3 points) Give me a list of all new and modified instructions. Give me a
description of each of these. Indicate any necessary changes to hardware.
-
(3 points) Show me the new and modified microcode for these instructions.
Include the line number for modified instructions, add new instructions after
line 78 in Figure 4-16. If you need to add instructions between two old
instructions, for example between 17 and 18, then label them 17a, 17b, 17c,
etc.