PIC17C75X
MULLW
Multiply Literal with WREG
MULWF
Multiply WREG with f
Syntax:
[ label ] MULLW
k
Syntax:
[ label ] MULWF
f
Operands:
Operation:
0 ≤ k ≤ 255
Operands:
Operation:
0 ≤ f ≤ 255
(k x WREG) → PRODH:PRODL
(WREG x f) → PRODH:PRODL
Status Affected: None
Status Affected: None
1011
1100
kkkk
kkkk
0011
0100
ffff
ffff
Encoding:
Encoding:
An unsigned multiplication is carried
out between the contents of WREG
and the 8-bit literal 'k'. The 16-bit
result is placed in PRODH:PRODL
register pair. PRODH contains the
high byte.
An unsigned multiplication is carried
out between the contents of WREG
and the register file location 'f'. The
16-bit result is stored in the
PRODH:PRODL register pair.
PRODH contains the high byte.
Description:
Description:
WREG is unchanged.
Both WREG and 'f' are unchanged.
None of the status flags are affected.
None of the status flags are affected.
Note that neither overflow nor carry
is possible in this operation. A zero
result is possible but not detected.
Note that neither overflow nor carry
is possible in this operation. A zero
result is possible but not detected.
Words:
Cycles:
1
1
Words:
Cycles:
1
1
Q Cycle Activity:
Q1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Q2
Q3
Q4
Decode
Read
literal 'k'
Process
Data
Write
Decode
Read
register 'f'
Process
Data
Write
registers
PRODH:
PRODL
registers
PRODH:
PRODL
MULLW
0xC4
MULWF
REG
Example:
Example:
Before Instruction
Before Instruction
WREG
PRODH
PRODL
=
=
=
0xE2
?
?
WREG
REG
PRODH
PRODL
=
=
=
=
0xC4
0xB5
?
?
After Instruction
WREG
After Instruction
WREG
=
=
=
0xC4
0xAD
0x08
PRODH
PRODL
=
=
=
=
0xC4
0xB5
0x8A
0x94
REG
PRODH
PRODL
1997 Microchip Technology Inc.
DS30264A-page 205