Datasheet

1998-2013 Microchip Technology Inc. DS30289C-page 219
PIC17C7XX
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'
Process
Data
Write
registers
PRODH:
PRODL
Example:
MULLW 0xC4
Before Instruction
WREG = 0xE2
PRODH = ?
PRODL = ?
After Instruction
WREG = 0xC4
PRODH = 0xAD
PRODL = 0x08
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'
Process
Data
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