您当前所在的位置: 首页 > 资格等级 > 计算机等级 > 正文
2012年级三级PC技术:编减法指令
发布日期:2012-05-24 08:54:00 来源:无忧考网

  2012年计算机等级三级PC技术:汇编减法指令

  减法指令SUB(Subtract Binary Values Instruction)

  指令的格式:SUB Reg/Mem, Reg/Mem/Imm

  受影响的标志位:AF、CF、OF、PF、SF和ZF

  指令的功能是从目的操作数中减去源操作数。

  带借位减SBB(Subtract with Borrow Instruction)
 
  指令的格式:SBB Reg/Mem, Reg/Mem/Imm

  受影响的标志位:AF、CF、OF、PF、SF和ZF

  指令的功能是把源操作数和标志位CF的值从目的操作数中一起减去。

  减1指令DEC(Decrement by 1 Instruction)

  指令的格式:DEC Reg/Mem

  受影响的标志位:AF、OF、PF、SF和ZF,不影响CF

  指令的功能是把操作数的值减去1。

  求补指令NEG(Negate Instruction)

  指令的格式:NEG Reg/Mem

  受影响的标志位:AF、CF、OF、PF、SF和ZF

  指令的功能:操作数=0-操作数,即改变操作数的正负号。

  例5.4 已知有二个32位数d1和d2,编写程序片段从d1中减去d2的值。

  解:

  方法1:用16位寄存器编写程序

  MOVAX, word ptr d1;取低字

  MOVDX, word ptr d1+2;取高字,(DX,AX)构成一个32位数据

  SUBAX, word ptr d2;低字相减

  SBBDX, word ptr d2+2;高字相减。在低字相减时,有可能会产生“借位”

  MOVword ptr d1, AX;低字送给d1的低字

  MOVword ptr d1+2, DX;高字送给d1的高字

  方法2:用32位寄存器编写程序

  MOVEAX, d1

  SUBEAX, d2

  MOVd1, EAX

  下面是学习和掌握减法类指令的控件,可模拟执行SUB、SBB、DEC、NEG、CLC、STC和CMC等指令。


2012年级三级PC技术:编减法指令
字体: A+ A A-