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.
|
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.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user