SUB减法指令的说明与示例

2008-10-22     作者:        编辑:齐瑞瑞   点击进入论坛

  格式:SUB DST,SRC  ;B/W

  执行的操作:(DST)←(DST)-(SRC)

  这条指令的执行影响所有的标志位。

  例 假定有AX=9543H,BX=28A7H,那么执行指令:

  SUB AX,BX

  即是做如下的减法运算:

  1001010101000011 (AX)=9543H

  -) 0010100010100111 (BX)=28A7H

  0110110010011100 (AX)=6C9CH

  看作无符号数相减时,没有借位,因此CF=0,结果是对的;看作有符号数相减时,负数减正数应该得负数,但指令执行结果却是正的,结果错。结果产生溢出,则OF=1。这是因为AX-BX=-27325-10407=-37732,这个数已超出最小负数-32768。

  注意:在判定减法运算是否溢出时,若最高位有借位,即CF=1,则结果错;若两个相减的数在运算前符号位相反,但运算结果与减数的符号位相同,则OF=1,结果错,即结果产生溢出,否则OF=0。

寻找产品:
姓       名: 电   话:
公       司: E-mail:
描       述: