SUBR loc16,AX
SUBR loc16,AX
SYNTAX OPTIONS
SUBR loc16,AX
Operands
loc16
AX
Description
Flags and
N
Modes
Z
C
V
Repeat
Example
; Subtract index register AR0 from VarA and store in AR0:
MOV
sign extensio
with a left shift of 3
SUBR
; Subtract the contents of VarC from VarB and store in VarC:
MOV
SUBR
6-354
1110 101A LLLL LLLL
Addressing mode (see Chapter 5)
Accumulator high (AH) or accumulator low (AL) register
Subtract the 16−bit content of the location pointed to by the "loc16"
addressing mode from the specified AX register (AH or AL), and store the
result in location pointed to by "loc16":
[loc16] = AX − [loc16]
This instruction performs a read-modify-write operation.
After the subtraction, [loc16] is tested for a negative condition. If bit 15 of
[loc16] is 1, then the negative flag bit is set; otherwise it is cleared.
After the subtraction, [loc16] is tested for a zero condition. The zero flag
bit is set if the operation generates [loc16] = 0, otherwise it is cleared
If the subtraction generates a borrow, C is cleared; otherwise C is set.
If an overflow occurs, V is set; otherwise V is not affected. Signed positive
overflow occurs if the result crosses the max positive value (0x7FFF) in
the positive direction. Signed negative overflow occurs if the result
crosses the max negative value (0x8000) in the negative direction.
This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
AL,@VarA ; Enable
;
@AR0,AL
AH,@VarB
@VarC,AH
Reverse-Subtract Specified Location From AX
OPCODE
; Load AL with contents of VarA
; AR0 = AL − AR0
; Load AH with contents of VarB
; VarC = AH − VarC
OBJMODE
RPT
CYC
1
−
1
Need help?
Do you have a question about the TMS320C28x and is the answer not in the manual?