Datasheet
PIC18F8722 FAMILY
DS39646C-page 348 © 2008 Microchip Technology Inc.
MULLW Multiply Literal with W
Syntax: MULLW k
Operands: 0 ≤ k ≤ 255
Operation: (W) x k → PRODH:PRODL
Status Affected: None
Encoding: 0000 1101 kkkk kkkk
Description: An unsigned multiplication is carried 
out between the contents of W and the 
8-bit literal ‘k’. The 16-bit result is 
placed in PRODH:PRODL register pair. 
PRODH contains the high byte.
W is unchanged.
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.
Words: 1
Cycles: 1
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read 
literal ‘k’
Process 
Data
Write 
registers 
PRODH:
PRODL
Example:
MULLW 0C4h
Before Instruction
W=E2h
PRODH = ?
PRODL = ?
After Instruction
W=E2h
PRODH = ADh
PRODL = 08h
MULWF Multiply W with f
Syntax: MULWF  f {,a}
Operands: 0 ≤ f ≤ 255
a ∈ [0,1]
Operation: (W) x (f) → PRODH:PRODL
Status Affected: None
Encoding: 0000 001a ffff ffff
Description: An unsigned multiplication is carried out 
between the contents of W and the 
register file location ‘f’. The 16-bit result is 
stored in the PRODH:PRODL register 
pair. PRODH contains the high byte. Both 
W and ‘f’ are unchanged.
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.
If ‘a’ is ‘0’, the Access Bank is selected. If 
‘a’ is ‘1’, the BSR is used to select the 
GPR bank (default). 
If ‘a’ is ‘0’ and the extended instruction set 
is enabled, this instruction operates in 
Indexed Literal Offset Addressing mode 
whenever f ≤ 95 (5Fh). See 
Section 26.2.3 “Byte-Oriented and 
Bit-Oriented Instructions in Indexed 
Literal Offset Mode” for details.
Words: 1
Cycles: 1
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register ‘f’
Process 
Data
Write
registers 
PRODH:
PRODL
Example:
MULWF REG, 1
Before Instruction
W=C4h
REG = B5h
PRODH = ?
PRODL = ?
After Instruction
W=C4h
REG = B5h
PRODH = 8Ah
PRODL = 94h










