Datasheet

Table Of Contents
PIC18F1220/1320
DS39605F-page 218 © 2007 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 opera-
tion. 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 opera-
tion. 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