Documented the MPC register.
This commit is contained in:
parent
41bd896cfe
commit
742aeb431f
17
registers.md
17
registers.md
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue
Block a user