The 8051 Instruction Set
Atmel 8051 Microcontrollers Hardware Manual 1-50
4316B–8051–02/04
1.14.33 MUL AB
MOVX A,@DPTR
Bytes: 1
Cycles: 2
Encoding: 11100000
Operation: MOVX
(A) ← ((DPTR))
MOVX @R
i
,A
Bytes: 1
Cycles: 2
Encoding: 1111001 i
Operation: MOVX
((R
i
)) ← (A)
MOVX @DPTR,A
Bytes: 1
Cycles: 2
Encoding: 11110000
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: 10100100
Operation: MUL
(A)
7-0
← (A) X (B)
(B)
15-8