
The 8051 Instruction Set
1-49 Atmel 8051 Microcontrollers Hardware Manual
4316E–8051–01/07
1.14.33 MUL AB
Operation: MOVX
(A) ← ((R
i
))
MOVX A,@DPTR
Bytes: 1
Cycles: 2
Encoding: 1 1 1 0 0 0 0 0
Operation: MOVX
(A) ← ((DPTR))
MOVX @R
i
,A
Bytes: 1
Cycles: 2
Encoding: 1 1 1 1 0 0 1 i
Operation: MOVX
((R
i
)) ← (A)
MOVX @DPTR,A
Bytes: 1
Cycles: 2
Encoding: 1 1 1 1 0 0 0 0
Operation: MOVX
(DPTR) ← (A)
Function: Multiply
Description: MUL AB multiplies the unsigned 8-bit integers in the Accumulator and register B. The low-order byte of the 16-bit
product is left in the Accumulator, and the high-order byte in B. If the product is greater than 255 (0FFH), the
overflow flag is set; otherwise it is cleared. The carry flag is always cleared.
Example: Originally the Accumulator holds the value 80 (50H). Register B holds the value 160 (0A0H). The instruction,
MUL AB
will give the product 12,800 (3200H), so B is changed to 32H (00110010B) and the Accumulator is cleared. The
overflow flag is set, carry is cleared.
Bytes: 1
Cycles: 4
Encoding: 1 0 1 0 0 1 0 0
Operation: MUL
(A)
7-0
← (A) X (B)
(B)
15-8
Comentários a estes Manuais