Datasheet
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 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 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'
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 ffff
Description:
An unsigned multiplication is carried
out between the contents of WREG
and the register file 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 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
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.