|
PIC18F1220_07 Datasheet, PDF (230/308 Pages) Microchip Technology – 18/20/28-Pin High-Performance, Enhanced Flash Microcontrollers with 10-bit A/D and nanoWatt Technology | |||
|
◁ |
PIC18F1220/1320
SUBWFB
Subtract W from f with Borrow
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
[ label ] SUBWFB f [,d [,a]]
0 ⤠f ⤠255
d â [0,1]
a â [0,1]
(f) â (W) â (C) â dest
N, OV, C, DC, Z
0101 10da ffff ffff
Subtract W and the Carry flag
(borrow) from register âfâ (2âs comple-
ment method). 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â is â1â, then the bank will be
selected as per the BSR value
(default).
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Decode
Read
register âfâ
Q3
Process
Data
Example 1:
SUBWFB REG, 1, 0
Q4
Write to
destination
Before Instruction
REG
W
C
= 0x19
= 0x0D
= 0x01
After Instruction
REG
W
C
= 0x0C
= 0x0D
= 0x01
Z
= 0x00
N
= 0x00
(0001 1001)
(0000 1101)
(0000 1011)
(0000 1101)
; result is positive
Example 2:
SUBWFB REG, 0, 0
Before Instruction
REG = 0x1B
W
= 0x1A
C
= 0x00
After Instruction
REG
W
= 0x1B
= 0x00
C
= 0x01
Z
= 0x01
N
= 0x00
(0001 1011)
(0001 1010)
(0001 1011)
; result is zero
Example 3:
SUBWFB REG, 1, 0
Before Instruction
REG
W
C
= 0x03
= 0x0E
= 0x01
After Instruction
REG = 0xF5
W
= 0x0E
C
= 0x00
Z
= 0x00
N
= 0x01
(0000 0011)
(0000 1101)
(1111 0100)
; [2âs comp]
(0000 1101)
; result is negative
SWAPF
Swap f
Syntax:
[ label ] SWAPF f [,d [,a]]
Operands:
0 ⤠f ⤠255
d â [0,1]
a â [0,1]
Operation:
(f<3:0>) â dest<7:4>,
(f<7:4>) â dest<3:0>
Status Affected: None
Encoding:
0011 10da ffff ffff
Description:
The upper and lower nibbles of
register âfâ are exchanged. If âdâ is
â0â, the result is placed in W. If âdâ is
â1â, the result is placed in register âfâ
(default). If âaâ is â0â, the Access
Bank will be selected, overriding
the BSR value. If âaâ is â1â, then the
bank will be selected as per the
BSR value (default).
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Decode
Read
register âfâ
Q3
Process
Data
Q4
Write to
destination
Example:
SWAPF REG
Before Instruction
REG = 0x53
After Instruction
REG = 0x35
DS39605F-page 228
© 2007 Microchip Technology Inc.
|
▷ |