ADD loc16, AX
6-28
ADD loc16, AX Add AX to Specified Location
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
ADD loc16, AX 0111 001A LLLL LLLL X
−
1
Operands loc16 Addressing mode (see Chapter 5)
AX Accumulator high (AH) or accumulator low (AL) register
Description Add the contents of the specified AX register (AH or AL) to the location
pointed to by the “loc16” addressing mode and store the results in location
pointed to by “loc16”:
[loc16] = [loc16] + AX;
This is a read-modify-write operation.
Flags and
Modes
N
After the addition, [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.
Z
After the addition, [loc16] is tested for a zero condition. The zero flag bit is set if
the operation generates [loc16] = 0; otherwise it is cleared
C
If the addition generates a carry, C is set; otherwise C is cleared.
V
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.
Repeat This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; Add the contents of VarA to index register AR0:
MOV AL,@VarA ; Load AL with contents of VarA
ADD @AR0,AL ; AR0 = AR0 + AL
; Add the contents of VarB to VarC:
MOV AH,@VarB ; Load AH with contents of VarB
ADD @VarC,AH ; VarC = VarC + AH