
PIC18F1230/1330
DS39758D-page 242
2009 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
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
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
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(chǎn)’ is ‘0’, the Access Bank is
selected. If ‘a(chǎn)’ is ‘1’, the BSR is used
to select the GPR bank.
If ‘a(chǎn)’ is ‘0’ and the extended instruction
set is enabled, this instruction
operates in Indexed Literal Offset
Addressing mode whenever
f
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