ZKX's LAB

汇编语言中CMP是什么意思? 汇编原理中cmp什么意思

2021-04-09知识0

汇编语言中CMP是什么意思? cmp是比较指令,cmp的功能相当于减法指令,只是不保存结果。32313133353236313431303231363533e58685e5aeb931333431366334cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。比如:mov ax,8mov bx,3cmp ax,bx执行后:ax=8,ZF=0,PF=1,SF=0,CF=0,OF=0.通过cmp指令执行后,相关标志位册链的值就可以看出比较的结果。cmp ax,bx的逻辑含义是比较ax,bx中的值。如果执行后:ZF=1则AX=BXZF=0则AX!BXSF=1则AXSF=0则AX>;=BXSF=0并ZF=0则AX>;BXSF=1或ZF=1则AXCPU在执行cmp指令的时候,也包含两种含义:进行无符号运算和进行有符号数运算。cmp ah,bh如果ah=bh则ah-bh=0所以ZF=1如果ah≠bh则ah-bh≠0所以ZF=0所以我们根据cmp指令执行后ZF的值,就可以知道两个数据是否相等。如果ah则可能发生什么情况呢?对于有符号数运算,在ah情况下,ah-bh显然可能引起SF=1既结果为负比如:ah=1,bh=2则ah-bh=0FFH,0FFH为-1的补码,因为结果为负,所以SF=1。ah=0FEH,bx=OFFH;则ax-bx=-2-(-1)=OFFH,因为结果为负,所以SF=1。扩展资料:汇编语言的常用指令集如下:数据传送指令集MOV功能:把源操作数送给兄姿颤目的操作。

求解汇编中CMP比较的意思 cmp就是为了设置控制位,不会改变数值,如你写的代码,就是 用ecx-edx 判断 这个结果。如果设置zf标志位为0就是ECX和EDX相等了,不会跳转,CF=1 则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时ecxCF=0 则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时ecx>;edxjg xxx 就是当大于的时候就跳转,所以 就是当 ecx>;edx的时候 它就跳到一个xx的位置。

汇编语言中CMP是什么意思? cmp(compare)指令进行比较两个操作数的大小例:cmp oprd1,oprd2为第一个操作减去第二个操作数,但不影响两个操作数的值它影响flag的CF,ZF,OF,AF,PF若执行指令后ZF=1 则。

#汇编原理中cmp什么意思

qrcode
访问手机版