English
Language : 

PIC18FXX8 Datasheet, PDF (302/402 Pages) Microchip Technology – 28/40-Pin High-Performance, Enhanced Flash Microcontrollers with CAN Module
PIC18FXX8
DAW
Syntax:
Operands:
Operation:
Decimal Adjust W Register
[ label ] DAW
None
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
Encoding:
0000 0000 0000 0111
Description:
DAW adjusts the eight-bit value in W
resulting from the earlier addition of two
variables (each in packed BCD format)
and produces a correct packed BCD
result.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Decode
Example 1:
Q2
Read
register W
DAW
Q3
Process
Data
Q4
Write
W
Before Instruction
W
=
C
=
DC
=
After Instruction
W
=
C
=
DC
=
Example 2:
0xA5
0
0
0x05
1
0
Before Instruction
W
=
C
=
DC
=
After Instruction
W
=
C
=
DC
=
0xCE
0
0
0x34
1
0
DECF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
Q1
Decode
Decrement f
[ label ] DECF f [,d [,a]]
0 ≤ f ≤ 255
d ∈ [0,1]
a ∈ [0,1]
(f) – 1 → dest
C, DC, N, OV, Z
0000 01da ffff ffff
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’
(default). 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 (default).
1
1
Q2
Read
register ‘f’
Q3
Process
Data
Q4
Write to
destination
Example:
DECF CNT,
Before Instruction
CNT =
Z
=
After Instruction
CNT =
Z
=
0x01
0
0x00
1
DS41159D-page 300
 2004 Microchip Technology Inc.