PC技术辅导:汇编减法指令
减去二进制值指令
指令的格式:SUB Reg/Mem,Reg/Mem/Imm
受影响的标志位:AF,CF,OF,PF,SF和ZF
指令的作用是从目标操作数中减去源操作数。
Subtract with borrow指令(SBB) with borrow
指令的格式:SBB Reg/Mem,Reg/Mem/Imm
受影响的标志位:AF,CF,OF,PF,SF和ZF
指令的功能是从目标操作数中减去源操作数和标志位CF的值。
1递减指令DEC(递减1指令)
指令格式:DEC Reg/Mem
受影响的标志位:AF、OF、PF、SF和ZF。不影响CF
的指令的作用是从操作数的值中减去1。
补码指令NEG(求反指令)
指令格式:NEG Reg/Mem
影响标志位:AF,CF,OF,PF,SF和ZF
指令功能:操作数= 0-操作数,即改变操作数的符号。
例5.4已知有两个32位数d1和d2,用d1减去d2写出程序片段。
解决方案:
方法一:程序
MOVAX,用16位寄存器写字ptr d1低位字
MOVDX,字ptr D1+2;取高位字,(DX,AX)形成一个32位数据
SUBAX,字ptr d2字减法
SBBDX,字ptr D2+2;高字减法。减去低位字时,可能会生成“借”
MOVword ptr d1,AX;低位字送到d1的低位字
MOVword ptr d1+2,DX;方法二:用32位寄存器写程序
movax,d1
subeax,D2
movd1,eax。
以下是学习和掌握减法指令的控件,可以模拟执行sub、SBB、DEC、NEG、CLC、STC、CMC等指令。
位律师回复
0条评论