Texas Instruments MSP50C6xx Calculator User Manual


 
Individual Instruction Descriptions
4-176
4.14.80 SUB Subtract
Syntax
[label] name dest, src, src1, [next A]] Clock, clk Word, w With RPT, clk Class
SUB An[~], An, {adrs} [, next A] Table 446 Table 446 1a
SUB An[~], An[~], imm16 [, next A] 2 2 N/R 2b
SUB An[~], An[~], PH [, next A] 1 1 n
R
+3 3
SUB An[~], An, An~ [, next A] 1 1 n
R
+3 3
SUB An[~], An~, An [, next A] 1 1 n
R
+3 3
SUB Rx, imm16 2 2 N/R 4c
SUB Rx, R5 1 1 N/R 4d
Execution [premodify AP if mod specified]
dest dest src1 (for two operands)
dest src src1 (for three operands)
PC PC + w
Flags Affected dest is An: OF, SF, ZF, CF are set accordingly
dest is Rx: RCF, RZF are set accordingly
src1 is {adrs}: TAG bit is set accordingly
Opcode
Instructions 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUB An[~], An, {adrs} [, next A]
0 0 0 0 ~A next A An adrs
x dma16 (for direct) or offset16 (long relative) [see section 4.13]
SUB An[~], An[~], imm16 [, next A] 1 1 1 0 0 next A An 0 1 0 0 0 1 A~ ~A
SUB An[~], An[~], PH [, next A] 1 1 1 0 0 next A An 0 1 1 0 0 0 A~ ~A
SUB An[~], An, An~ [, next A] 1 1 1 0 0 next A An 0 0 1 0 0 0 0 ~A
SUB An[~], An~, An [, next A] 1 1 1 0 0 next A An 0 0 1 0 0 0 1 ~A
SUB Rx, imm16 1 1 1 1 1 1 1 0 0 0 0 1 Rx 0 0
SUB Rx, R5 1 1 1 1 1 1 1 0 0 1 0 1 Rx 0 0
Description Subtract value of src from value of dest and store result in dest. If three
operands are specified, then subtract value of src1 from value of src (i.e.,
src-src1) and store result in dest string. Premodification of accumulator
pointers is allowed with some operand types. Note that subtraction is
performed in 2s complement and therefore the CF (carry flag) may get set
even when subtracting a smaller value from a larger value.