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.
#### MBRU
When read as MBRU, the register reads as a 32-bit *unsigned* integer. The 32-bit
signed integer is extended with zeros from an 8-bit *unsigned* integer and thus
has the range 0 to 255.
When read as *Memory Buffer Register Unsigned*, the register reads as a 32-bit
*unsigned* integer. The 32-bit signed integer is extended with zeros from an
8-bit *unsigned* integer and thus has the range 0 to 255.
### OPC
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
values.
### MPC
The *Micro-Program Counter* point so the current position in the microcode. It
is automatically set after very operation.
Read and write
--------------
@ -72,6 +76,7 @@ The *Hold* register is used to hold the left operand in the operations performed
by the ALU.
### Z & N
The *Z* and *N* registers are *virtual registers*. They are automatically set
after any ALU operation. A MAL `if(x)` statement can only accept *Z* and *N* as
input.
The *Zero* and *Negative* registers are *virtual registers*. They are
automatically set after any ALU operation. A MAL `if(x)` statement can only
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.