Datasheet

Table Of Contents
PIC18FXX8
DS41159E-page 308 © 2006 Microchip Technology Inc.
MULLW Multiply Literal with W
Syntax: [
label
] 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
the 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 0xC4
Before Instruction
W=0xE2
PRODH = ?
PRODL = ?
After Instruction
W=0xE2
PRODH = 0xAD
PRODL = 0x08
MULWF Multiply W with f
Syntax: [
label
] 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 will be selected,
overriding the BSR value. If ‘a’= 1, then
the bank will be selected as per the
BSR value (default).
Words: 1
Cycles: 1
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register ‘f’
Process
Data
Write
registers
PRODH:
PRODL
Example:
MULWF REG
Before Instruction
W=0xC4
REG = 0xB5
PRODH = ?
PRODL = ?
After Instruction
W=0xC4
REG = 0xB5
PRODH = 0x8A
PRODL = 0x94