559
APPENDIX B Instructions
Note:
"Cycle Count Correction Values for Counting Execution Cycles" for information on (a) to (d)
in the table.
Table B.8-6 11 unsigned multiplication/division instructions (word, long word)
Mnemonic
#
RG
B
Operation
L
H
A
H
IS
T
N
Z
V
C
R
M
W
DIVU
DIVUW
A
A,ear
A,eam
A,ear
A,eam
1
2
2+
2
2+
*1
*2
*3
*4
*5
0
1
0
1
0
*6
0
*7
word (AH) / byte (AL)
quotient --> byte (AL) remainder --> byte (AH)
word (A) / byte (ear)
quotient --> byte (A) remainder --> byte (ear)
word (A) / byte (eam)
quotient --> byte (A) remainder --> byte (eam)
long (A) / word (ear)
quotient --> word(A) remainder --> word(ear)
long (A) / word (eam)
quotient --> word(A) remainder --> word(eam)
-
*
-
MULU
MULUW
A
A,ear
A,eam
A
A,ear
A,eam
1
2
2+
1
2
2+
*8
*9
*10
*11
*12
*13
0
1
0
1
0
(b)
0
(c)
byte (AH) * byte (AL) --> word (A)
byte (A) * byte (ear) --> word (A)
byte (A) * byte (eam) --> word (A)
word (AH) * word (AL) --> Long (A)
word (A) * word (ear) --> Long (A)
word (A) * word (eam) --> Long (A)
-
*1: 3: Division by 0 7: Overflow 15: Normal
*2: 4: Division by 0 8: Overflow 16: Normal
*3: 6+(a): Division by 0 9+(a): Overflow 19+(a): Normal
*4: 4: Division by 0 7: Overflow 22: Normal
*5: 6+(a): Division by 0 8+(a): Overflow 26+(a): Normal
*6: (b): Division by 0 or overflow 2 x (b): Normal
*7: (c): Division by 0 or overflow 2 x (c): Normal
*8: 3: Byte (AH) is 0. 7: Byte (AH) is not 0.
*9: 4: Byte (ear) is 0. 8: Byte (ear) is not 0.
*10: 5+(a): Byte (eam) is 0, 9+(a): Byte (eam) is not 0.
*11: 3: Word(AH) is 0. 11: Word (AH) is not 0.
*12: 4: Word(ear) is 0. 12: Word (ear) is not 0.
*13: 5+(a): Word (eam) is 0. 13+(a): Word (eam) is not 0.
Table B.8-7 11 Signed Multiplication/Division Instructions (word, long word)
Mnemonic
#
RG
B
Operation
L
H
A
H
I
S
TN
ZV
C
R
M
W
DIVU
DIVUW
A
A,ear
A,eam
A,ear
A,eam
2
2+
2
2+
*1
*2
*3
*4
*5
0
1
0
1
0
*6
0
*7
word (AH) / byte (AL)
quotient --> byte (AL) remainder --> byte (AH)
word (A) / byte (ear)
quotient --> byte (A) remainder --> byte (ear)
word (A) / byte (eam)
quotient --> byte (A) remainder --> byte (eam)
long (A) / word (ear)
quotient --> word(A) remainder --> word(ear)
long (A) / word (eam)
quotient --> word(A) remainder --> word(eam)
Z
-
*
-