
1996 Microchip Technology Inc.
DS30412C-page 129
PIC17C4X
MULLW
Multiply Literal with WREG
Syntax:
[
label ]
MULLW
k
Operands:
0
≤ k ≤ 255
Operation:
(k x WREG)
→ PRODH:PRODL
Status Affected:
None
Encoding:
1011
1100
kkkk
Description:
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.
WREG is unchanged.
None of the status ags are affected.
Note that neither overow 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'
Execute
Write
registers
PRODH:
PRODL
Example:
MULLW
0xC4
Before Instruction
WREG
=
0xE2
PRODH
=
?
PRODL
=
?
After Instruction
WREG
=
0xC4
PRODH
=
0xAD
PRODL
=
0x08
Note:
This instruction is not available in the
PIC17C42 device.
MULWF
Multiply WREG with f
Syntax:
[
label ]
MULWF
f
Operands:
0
≤ f ≤ 255
Operation:
(WREG x f)
→ PRODH:PRODL
Status Affected:
None
Encoding:
0011
0100
ffff
Description:
An unsigned multiplication is carried
out between the contents of WREG
and the register le location 'f'. The
16-bit result is stored in the
PRODH:PRODL register pair.
PRODH contains the high byte.
Both WREG and 'f' are unchanged.
None of the status ags are affected.
Note that neither overow 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
register 'f'
Execute
Write
registers
PRODH:
PRODL
Example:
MULWF
REG
Before Instruction
WREG
=
0xC4
REG
=
0xB5
PRODH
=
?
PRODL
=
?
After Instruction
WREG
=
0xC4
REG
=
0xB5
PRODH
=
0x8A
PRODL
=
0x94
Note:
This instruction is not available in the
PIC17C42 device.