Datasheet

PIC18F2331/2431/4331/4431
DS39616D-page 302 2010 Microchip Technology Inc.
DAW Decimal Adjust W Register
Syntax: [ label ] DAW
Operands: None
Operation: If [W<3:0> > 9] or [DC = 1] then,
(W<3:0>) + 6 W<3:0>;
else,
(W<3:0>) W<3:0>;
If [W<7:4> 9] or [C = 1] then,
(W<7:4>) + 6 W<7:4>;
else,
(W<7:4>) W<7:4>
Status Affected: C, DC
Encoding: 0000 0000 0000 0111
Description: DAW adjusts the 8-bit value in W,
resulting from the earlier addition of two
variables (each in packed BCD format)
and produces a correct packed BCD
result. The Carry bit may be set by DAW
regardless of its setting prior to the DAW
instruction.
Words: 1
Cycles: 1
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register W
Process
Data
Write
W
Example
1: DAW
Before Instruction
W=0xA5
C=0
DC = 0
After Instruction
W = 0x05
C=1
DC = 0
Example 2:
Before Instruction
W=0xCE
C=0
DC = 0
After Instruction
W = 0x34
C=1
DC = 0
DECF Decrement f
Syntax: [ label ] DECF f [,d [,a]]
Operands: 0 f 255
d [0,1]
a [0,1]
Operation: (f) – 1 dest
Status Affected: C, DC, N, OV, Z
Encoding: 0000 01da ffff ffff
Description: Decrement register, ‘f’,. If ‘d’ is ‘0, the
result is stored in W. If ‘d’ is ‘1’, the
result is stored back in register, ‘f’. 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.
Words: 1
Cycles: 1
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register ‘f’
Process
Data
Write to
destination
Example:
DECF CNT,
Before Instruction
CNT = 0x01
Z=0
After Instruction
CNT = 0x00
Z=1