本文目录一览

1,汇编语言中CMP是什么意思

比较的意思,用于比较两个操作数,英文全称:compare。

汇编语言中CMP是什么意思

2,求助汇编8086CMPROR什么意思

CMP是比较指令,将目的操作数与原操作数进行比较,通常紧跟着一个条件跳转指令,如JZ XXXX,JBE XXXX等。ROR是循环右移指令,把目的操作数整体右移由源操作数指定的位数,被移出的位依次回填到左边空出的位,同时移进标志位。

求助汇编8086CMPROR什么意思

3,汇编中得CMP命令得用法

格式:CMP OPRT1,OPRT2功能:OPRT1-OPRT2说明:OPRT1和OPRT2可以是寄存器或存储器,但不能同时为存储器,OPRT2还可以为立即数。举例:CMP AL,BLCMP AL,[2000H]CMP AL,12H

汇编中得CMP命令得用法

4,汇编中的CMPCMPSBCMPSW指令是如何比较字符的大小的

汇编中的CMP(CMPSB/CMPSW)指令,实际上就是比较字符的ASCII码的大小。
两者相减,产生 CF 标志。
两者相减,产生 CF 标志。再看看别人怎么说的。

5,请教下汇编的cmp指令的意思

比效指令 CMP(CoMPare) 格式: CMP OPRD1,OPRD2 ---- 功能: 对两数进行相减,进行比较.说明: 1. OPRD1为任意通用寄存器或存储器操作数. ---- OPRD2为任意通用寄存器或存储器操作数,立即数也可用作源操作数OPRD2. 2. 对标志位的影响同SUB指令,完成的操作与SUB指令类似,唯一的区别是不将OPRD1-OPRD2的结果送回OPRD1,而 只是比较.因而不改变OPRD1和OPRD2的内容,该指令用于改变标志位. 3. 在8088/8086指令系统中,专门提供了一组根据带符号数比较大小后,实现条件转移的指令. 4. 示例: CMP AL,20 CMP DX,CX CMP AX,DATA1[BX] CMP BATE[DI],BX 5. 以CMP DX,CX为例,对标志位的影响如下: (1) (DX)=(CX)时,则ZF=1; (2) 两相无符号数比较: 若(DX)>=(CX)时,则CF=0,即无借位. 若(DX)<(CX)时,则CF=1. (3) 两个带符号数比较 对带符号数判断大小可通过溢出标志OF及符号标志SF共同判断. 当 OF=0,即无溢出时,若SF=0,则(DX)>(CX) 若SF=1,则(DX)<(CX) 当 OF=1,即有溢出时,若SF=1,则(DX)>(CX) 若SF=0,则(DX)<(CX)条件转移指令JNE/JNZ 格式: JNE/JNZ 标号 ---- 功能: ZF=0,转至标号处执行 说明: 1. 指令JNE与JNZ等价,它们是根据标志位ZF进行转移的指令 ---- 2. JNE,JNZ均为一条指令的两种助记符表示方法
cmp是compare的意思 比较jne是jump not equal不相等就跳至就是说比较[eax]和0 如果不相等就跳至end执行
比较的意思,大小或相等。下面是条件。jne 两者不相等的情况下跳转
用于比较,常用于条件转移

6,汇编中的test和cmp有什么区别答对有加分

1楼的朋友说得有点麻烦,其实解释起来也比较容易。1.意义上的区别:cmp属于加减运算的范畴,而test属于逻辑运算的范畴2.概念上的区别cmp与sub类似,即从目的操作数减去源操作数,但sub会将运算结果送至目的操作数,而cmp不会送至目的操作数;test则与and类似,即将两个操作数进行按位“与”运算,但and将运算结果送至目的操作数,而test则不会。3.用法上的区别cmp主要用于比较两数的关系,可以在有符号数和无符号数之间进行比较。两数相等影响ZF标志,无符号数影响CF标志,有符号数影响SF和OF标志。一般根据标志位的影响设置程序跳转,即根据不同的条件完成对应的程序片段,类似于高级语言的IF-ELSE结构。所有的有条件转移指令都可以用在这条指令之后。test通常用于检测某些位是否为1,但又不希望改变操作数的场合。比如检查AL中的位6和位2是否有一位为1,可以用如下指令:test AL,01000100b,如果这两个位全为0.则ZF的值为1,否则清0,那么根据标志位设置的跳转就只能为jz或jnz这两条指令的相同点是都不会影响操作数,只是通过标志寄存器的某些位反映运算结果。
1楼的朋友说得有点麻烦,其实解释起来也比较容易。 1.意义上的区别: cmp属于加减运算的范畴,而test属于逻辑运算的范畴 2.概念上的区别 cmp与sub类似,即从目的操作数减去源操作数,但sub会将运算结果送至目的操作数,而cmp不会送至目的操作数; test则与and类似,即将两个操作数进行按位“与”运算,但and将运算结果送至目的操作数,而test则不会。 3.用法上的区别 cmp主要用于比较两数的关系,可以在有符号数和无符号数之间进行比较发酣篡叫诂既磋习单卢。两数相等影响ZF标志,无符号数影响CF标志,有符号数影响SF和OF标志。一般根据标志位的影响设置程序跳转,即根据不同的条件完成对应的程序片段,类似于高级语言的IF-ELSE结构。所有的有条件转移指令都可以用在这条指令之后。 test通常用于检测某些位是否为1,但又不希望改变操作数的场合。比如检查AL中的位6和位2是否有一位为1,可以用如下指令: test AL,01000100b,如果这两个位全为0.则ZF的值为1,否则清0,那么根据标志位设置的跳转就只能为jz或jnz 这两条指令的相同点是都不会影响操作数,只是通过标志寄存器的某些位反映运算结果。
text x,y主要功能是x与y相与,结果不送回,但是影响标志位cmp x,y功能是x-y,不送回结果,同样影响标志位…
TEXT X,Y 主要功能是X与Y相与,结果不送发酣篡叫诂既磋习单卢回,但是影响标志位 CMP X,Y 功能是X-Y,不送回结果,同样影响标志位…
楼下赞最多的说的是非常好的,但是个人感觉对于初学者有点过多了 题主问的是test和cmp有什么区别 我就从这说吧cmp的作用:判断两数是否相等 例:cmp ax ax 相等的话 zf为1 不等的话 zf为0test的(常用)作用:判断寄存器内容是否为零 例: test ah ah 如果ah为o 则zf为1 如果ah不为0的话,zf为0---------------------------------------------------------------------------------------------如果是回答题主的问题,上文足够了。那么接下来就是给看完上文想看下文的同学们准备的了。zf (zero flag) 中文:零标志器 作用:反映运算结果 运算结果为零时,zf为1,运算结果为1时,zf为0(这个好理解,因为是零标志器嘛,意思不就是有零为1嘛)cmp 指令原理 (两个操作数做减法,但不返回值,仅修改标志位): 例 cmp ax bx 如果ax-bx等于0 那么zf为1 test指令原理(将两个操作数做与运算,但不返回值,仅修改标志位):例 test ah ah那么在这个指令中,计算结果恒为0,zf为1
TEXT X,Y主要功能是X与Y相与,结果不送回,但是影响标志位CMP X,Y功能是X-Y,不送回结果,同样影响标志位…

文章TAG:汇编cmp  汇编语言中CMP是什么意思  
下一篇