Subtract Integer With Borrow
SUBB
13-223
Assembly Language Instructions
Syntax
SUBB
src, dst
Operation
dst – src – C
→
dst
Operands
src general addressing modes (G):
0 0
register (R
n, 0
≤
n
≤
27)
0 1
direct
1 0
indirect (disp = 0–255, IR0, IR1)
1 1
immediate
dst register (Rn, 0
≤
n
≤
27)
Opcode
31
24 23
16
8 7
0
15
0 0 0
1 0
0
1
1
1
dst
G
src
Description
The difference of the
dst, src, and C operands is loaded into the dst register.
The
dst and src operands are assumed to be signed integers.
Cycles
1
Status Bits
These condition flags are modified only if the destination register is R7 – R0.
LUF
Unaffected
LV
1 if an integer overflow occurs; unchanged otherwise
UF
0
N
1 if a negative result is generated; 0 otherwise
Z
1 if a 0 result is generated; 0 otherwise
V
1 if an integer overflow occurs; 0 otherwise
C
1 if a borrow occurs; 0 otherwise
OVM
Operation is affected by OVM bit value.
Example
SUBB *AR5++(4),R5
Before Instruction
After Instruction
R5
00
0000 00FA
R5
00 0000 0032
AR5
80 9800
AR5
80 9804
LUF
0
LUF
0
LV
0
LV
0
UF
0
UF
0
N
0
N
0
Z
0
Z
0
V
0
V
0
C
1
C
0
Data memory
809800h
0C7
809800h
0C7
199
250
50
199
Mode Bit