汇编语言abb bx,0指令是什么意思?

作者&投稿:拱庙 (若有异议请与网页底部的电邮联系)
汇编语言中,带进位加0指令有什么用?比如时不时冒出来一句ADC [BX]+0,加了不是白加?~

带进位加法还是很有用的,比如实现多字数据加法。比如AT89S51单片机字长是8位,假如实现十六位的数(存储在两个存储单元,一个存储单元存八位)的加法时,先使用ADD实现低八位相加,可能产生进位,产生进位会影响相关标志位,高八位相加时要考虑进位的问题,所以要使用带进位的加法指令ADC

汇编指令ARY DB 0,0,3,4是定义一个叫ary的char型的数组变量,它有4个成员,{0,0,3,4}用C语言理解的话,就是 char ary[4] = {0,0,3,4};CMP ARY[BX],0,就是用ary数组中的某个成员的值,与0做比较。bx是index用C语言理解:比如:bx=1ary[1] > 0ary[1] == 0ary[1] < 0cmp ary[bx], 0 的结果,就相当于这3条C语言语句的结果。

没有 abb 指令,应该是 sbb 指令,用来进行高位字的减法计算。
sbb bx, 0
是带借位标志(c标志)的减法计算。通常可能是这样:
sub ax, dx
sbb bx, 0
ax 中放置被减数的低16位,bx 中存放被减数的高16位, 而减数只是一个16位数。

相加。
(BX) + 0 → (BX)


石狮市15538047396: 汇编语言 ARY DB 0,0,3,4 CMP ARY[BX],0 是什么意思,尤其是ARY[BX]是什么意思 -
佛虾维沙: 汇编指令 ARY DB 0,0,3,4 是定义一个叫ary的char型的数组变量,它有4个成员,{0,0,3,4} 用C语言理解的话,就是 char ary[4] = {0,0,3,4}; CMP ARY[BX],0,就是用ary数组中的某个成员的值,与0做比较.bx是index 用C语言理解:比如:bx=1 ary[1] > 0 ary[1] == 0 ary[1] < 0 cmp ary[bx], 0 的结果,就相当于这3条C语言语句的结果.

石狮市15538047396: 汇编语言中LEA,AX,AL,BX等等什么意思 -
佛虾维沙: LEA AX,AL即把AL的偏移地址送入AX寄存器,BX,BL,DI都是寄存器,汇编里面必会的,在MASM5.0环境下运行

石狮市15538047396: 汇编语言的AX,BX,CX,DX,分别表示什么 -
佛虾维沙: AX寄存器称为累加器(Accumulator),使用时主要用于存放数据,如存放算术、逻辑运算中的操作数或结果.也可临时时用于存放地址. BX寄存器称为基址寄存器(BaseRegister),常用来存放访问存储器时的地址. CX寄存器称为计数寄存...

石狮市15538047396: 汇编语言里面0[bx],5[bx]表示什么意思
佛虾维沙: [bx+0]可以写成0[bx]或者[bx].0 段地址默认在DS段 用0[bx]表示就像在用C语言的数组一样..便于学过C语言的人使用例如C语言的数组s[10] 和汇编语言0[bx] 很像吧[bx].0相当C语言中的结构同样5[bx]=[bx+5]=[bx].5一样的道理

石狮市15538047396: 汇编语言中,带进位加0指令有什么用?比如时不时冒出来一句ADC [BX]+0,加了不是白加? -
佛虾维沙: 比如十进制数字相加: 211 + 985 和,显然应该是四位数.那么,实际上,你做的加法,就应该是:0211 + 0986 现在,你来解释一下: 0 + 0,是不是白加?

石狮市15538047396: 汇编语言XOR BX,BX -
佛虾维沙: XOR BX,BX 是异或指令,对应位相同则为0,不同为1,所以相同的两个数相异或,结果为0,同时XOR又属于逻辑运算指令,该类指令执行后标志位清0,也就是FLAG=0.INC AX和ADD AX,1还是不同的,INC只是不影响CF,其它和ADD相同.

石狮市15538047396: 请问汇编语言中的AX,BX,CX,DX是什么东东? -
佛虾维沙: AX,BX,CX,DX都是CPU自带寄存器,存取计算中间结果的作用.CX用来计数使用.

石狮市15538047396: 汇编语言编写指令段 -
佛虾维沙: (1) lea bx,b; mov al,[bx]; mov ah, [bx+5]; mov si,ax(2) mov al,0; mov di,ax (3)mov bh,0; mov ax,bx; mov dl,4; idiv dl; push ax(4)and al,0f0h; mov ah,0;push ax

石狮市15538047396: 汇编语言基础MOVAX,BXNOTAXADDAX,BXINCAX
佛虾维沙: 地一条指令:AX=BX 第二条指令:AX=!BX 第三条指令:AX=FFFFFFFF 最后一条指令:AX=0,CF=1,ZF=1

石狮市15538047396: 汇编语言里面0[bx],5[bx]表示什么意思呢 -
佛虾维沙: 0[bx] = [bx]5[bx] = [bx+5] 像C语言里也可以这样写 int main() { char s1[38]="www.fuckyou.com"; printf("this character is %c\n", 2[s1]); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网