English
Language : 

PIC18F6525_13 Datasheet, PDF (294/400 Pages) Microchip Technology – 64/80-Pin High-Performance, 64-Kbyte Enhanced Flash Microcontrollers with A/D
PIC18F6525/6621/8525/8621
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>
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
Q1
Decode
If [W<7:4> > 9] or [C = 1] then
(W<7:4>) + 6  W<7:4>;
else
(W<7:4>)  W<7:4>
C
0000 0000 0000 0111
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.
1
1
Q2
Read
register W
Q3
Process
Data
Q4
Write
W
Example 1:
DAW
Before Instruction
W
=
C
=
DC
=
After Instruction
W
=
C
=
DC
=
0xA5
0
0
0x05
1
0
Example 2:
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
1, 0
DS39612C-page 294
 2003-2013 Microchip Technology Inc.