汇编语言**b指令(SUB指令是什么意思)
本文目录
- SUB指令是什么意思
- 汇编语言中SBB指令为什么要减去CF借进位标志
- 汇编语言中,隐含寄存器的指令是哪些
- 王爽汇编SBB,ADC指令的问题
- 汇编程序SBB指令
- 汇编语言abb bx,0指令是什么意思
- 汇编语言中哪些指令影响标志位cf
- SUB指令是什么
SUB指令是什么意思
减法指令,不带借位的减法指令。SUB (subtract) 指令的汇编格式:SUB dst,src 指令的基本功能:(dst)《-(dst)-(src)
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零。
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
扩展资料:
汇编语言中的减法指令:
1、带借位减法指令 SBB (subtract with borrow) 指令的汇编格式:SBB dst,src
指令的基本功能:(dst)《-(dst)-(src)-CF。
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零 。
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
2、减1指令 DEC (decrement) 指令的汇编格式:DEC opr 指令的基本功能:(opr)《-(opr)-1
指令支持的寻址方式:可以使用除立即数方式外的任何寻址方式。指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0)ZF=1 减法结果为零 ZF=0 减法结果不为零。
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
汇编语言中SBB指令为什么要减去CF借进位标志
因为当你需要做超过处理器字长的减法时,例如8086进行长整形(32位,4个字节)减法计算,只能分别计算高位字和低位字的相减,低位字直接相减就行,可是如果不够减,就会产生借位(CF=1),这个借位本来就应该是向高位字来借的,也就是说高位字被借走了一个1,于是高位字相减时就需要这个SBB指令了。
汇编语言中,隐含寄存器的指令是哪些
1,LDS
隐含把源操作数的段值送到DS。
2,LES
隐含把源操作数的段值送到ES。
3,LAHF
隐含把标志寄存器的低8位,送到寄存器AH指定位。
4,SAHF
隐含把寄存器AH的相关位,送到标志寄存器的相应位。
5,PUSHF
隐含把标志寄存器的所有位压入堆栈。
6,POPF
隐含把堆栈的当前栈顶数值弹出,并送到标志寄存器。
7,ADC,SBB
隐含把标志寄存器的CF位参与加减运算。
8,MUL,IMUL
隐含了一个乘数在寄存器AL,或AX中。结果送到寄存器AX,或AX和DX的寄存器对中。
9,DIV,IDIV
隐含了一被除数在AX,或AX,DX寄存器对中。商送到AL,余数送到AH;或商送到AX,余数送到DX中。
13,CBW,CWD
隐含把AL,或AX的符号位扩展到AH,或DX中。
14,SAL,SAR,ROL,ROR,RCL,RCR
都隐含了CF参与了运算。
王爽汇编SBB,ADC指令的问题
SBB 是带借位位的减法。
在这段程序中,进入S1循环时,先执行 sub ax,1指令,产生了借位(ax=0,ax-1后ax=0FFFF H,借位cy=1)。
执行**b dx,0 时,dx减去0,再减去借位cy,dx从1000H变成0FFFH。
类似的,adc指令是带进位的加法。这条指令除了将两个加数相加外,还要加上进位位。
汇编程序SBB指令
学校毕业后就没用过汇编了,SBB指令,一看还以为是SB的昵称呢:)
**b指令
**b是带借位减法指令,它利用了CF位上记录的借位值。
指令格式:**b 操作对象1,操作对象2
功能:操作对象1=操作对象1-操作对象2-CF
若AX=1020H,BX=1200H,CF=1,则SBB AX,BX的执行后AX的结果为:
1020-1200-1
=FE1F
正确答案为C
汇编语言abb bx,0指令是什么意思
没有 abb 指令,应该是 **b 指令,用来进行高位字的减法计算。
**b bx, 0
是带借位标志(c标志)的减法计算。通常可能是这样:
sub ax, dx
**b bx, 0
ax 中放置被减数的低16位,bx 中存放被减数的高16位, 而减数只是一个16位数。
汇编语言中哪些指令影响标志位cf
1.加法指令:ADD、ADC、INC、XADD,除了INC不影响CF标志位外,都影响条件标志位。
2.减法指令:SUB、SBB、DEC、NEG、CMP、CM**CHG、CM**CHG8B,前六种除了DEC不影响CF标志外都影响标志位。
3.乘法指令:MUL、IMUL,
MUL:如果乘积高一半为0,则CF和OF位均为0,否则CF和OF均为1。
IMUL:如果高一半是低一半符号的扩展,则CF位和OF位均为0,否则就均为1。
4.除法指令:DIV、IDIV对所有条件位均无定义。
5.逻辑指令:AND、OR、NOT、XOR、TEST。
6.定位扫描指令:BSF正向位扫描、BSR反向位扫描。
源操作数可以是除立即数以外的任一种寻址方式,目的操作数必须是寄存器,影响ZF位。
SUB指令是什么
减法指令,不带借位的减法指令。SUB (subtract) 指令的汇编格式:SUB dst,src 指令的基本功能:(dst)《-(dst)-(src)
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零。
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
扩展资料:
汇编语言中的减法指令:
1、带借位减法指令 SBB (subtract with borrow) 指令的汇编格式:SBB dst,src
指令的基本功能:(dst)《-(dst)-(src)-CF。
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0) ZF=1 减法结果为零 ZF=0 减法结果不为零 。
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况) OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
2、减1指令 DEC (decrement) 指令的汇编格式:DEC opr 指令的基本功能:(opr)《-(opr)-1
指令支持的寻址方式:可以使用除立即数方式外的任何寻址方式。指令对标志位的影响:SF=1 减法结果为负数(符号位为1) SF=0 减法结果为正数(符号位为0)ZF=1 减法结果为零 ZF=0 减法结果不为零。
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。
更多文章:
手机版android开发软件(androidapp用什么开发好(安卓用什么开发))
2026年3月30日 09:00
javasubstring截取字符串(java中如何截取字符串中的指定一部分)
2026年3月30日 08:40
u4f60转中文(\u6211\u559c\u6622\u4f60\u554a什么意思)
2026年3月30日 08:20
distinct词组(英语中哪些短语的to是介词,请列举一下)
2026年3月30日 07:40






