Documented the MPC register.

This commit is contained in:
Jon Michael Aanes 2015-12-16 23:11:42 +01:00
parent 41bd896cfe
commit 742aeb431f

View File

@ -18,15 +18,19 @@ signed integer is sign extended from an 8-bit signed integer and thus has the
range -128 to 127. range -128 to 127.
#### MBRU #### MBRU
When read as MBRU, the register reads as a 32-bit *unsigned* integer. The 32-bit When read as *Memory Buffer Register Unsigned*, the register reads as a 32-bit
signed integer is extended with zeros from an 8-bit *unsigned* integer and thus *unsigned* integer. The 32-bit signed integer is extended with zeros from an
has the range 0 to 255. 8-bit *unsigned* integer and thus has the range 0 to 255.
### OPC ### OPC
The *Old Program Counter* is used to store the old value of the **PC**-register, The *Old Program Counter* is used to store the old value of the **PC**-register,
although it is very commonly used as a *scratch register* for storing other although it is very commonly used as a *scratch register* for storing other
values. values.
### MPC
The *Micro-Program Counter* point so the current position in the microcode. It
is automatically set after very operation.
Read and write Read and write
-------------- --------------
@ -72,6 +76,7 @@ The *Hold* register is used to hold the left operand in the operations performed
by the ALU. by the ALU.
### Z & N ### Z & N
The *Z* and *N* registers are *virtual registers*. They are automatically set The *Zero* and *Negative* registers are *virtual registers*. They are
after any ALU operation. A MAL `if(x)` statement can only accept *Z* and *N* as automatically set after any ALU operation. A MAL `if(x)` statement can only
input. accept *Z* and *N* as input. *Z* is on if the output of the latest ALU operation
was zero. *N* is on if the output was negative.