INSTRUCTION DESCRIPTIONS
A - 182 INSTRUCTION SET DETAILS MOTOROLA
Class II Example:
:
MAC X0,Y0,A B,X:(R1)+ X0,B ;multiply X0 and Y0 and accumulate in A
: ;move B to X memory location pointed to
;by R1 and postincrement R1
;move X0 to B
Explanation of the Class II Example: Prior to execution, the 24-bit registers X0 and Y0
contain $400000 and $600000, respectively. The 56-bit accumulators A and B contain
the values $00:000000:000000 and $FF:7FFFFF:000000, respectively. The 24-bit X
memory location X:$1234 contains the value $000000, and the 16-bit R1 register con-
tains the value $1234. Execution of the parallel move portion of the instruction
(B,X:(R1)+X0,B) moves the 24-bit limited value of B ($800000) into the X:$1234 memory
location and the X0 register ($400000) into accumulator B1 ($400000), sign extends B1
into B2 ($00), and zero fills B0 ($000000). It also increments R1 to $1235.
Before Execution After Execution
X0 X0
$400000 $400000
Y0 Y0
$600000 $600000
A A
$00:000000:000000 $00:300000:000000
B B
$FF:7FFFFF:000000 $00:400000:000000
X:$1234 X:$1234
$000000 $800000
R1 R1
$1234 $1235
X:R X Memory and Register Data Move X:R