用汇编语言实现:如果两个数相等就执行某条指令

如题所述

利用cmp指令就可以实现:
写法如下:
CMP SI,DI //比较两个寄存器的数值是否相等
JE label如果相等就跳转执行label
。。。
label:
MOV AH,09H
LEA DX,MESS2
INT 21H
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
cmp <寄存器>,<寄存器或立即数>
jz <标签>
其中“标签”为要执行的指令块的地址标签。
如:
cmp al,1
jz next
......
next: mov cx,1
达到了如果al=1就跳到next执行的效果。追问

不好意思我说的不是很清楚,用汇编有没有类似于下面的:
if( ) 指令1
else 指令2

追答

汇编中没有if,只能使用上述的“判断后跳转到要执行的指令”的方式来实现条件判断。实际上,C的汇编器也是把if语句翻译成这样,再转化为机器码的。

本回答被提问者采纳
第2个回答  2012-05-17
用cmp指令(比较)如果比较ax和bx的值如下(不可以是两个内存的值直接比较)
cmp ax,bx
jz next(其中next为你要跳转到的那条指令)
具体的细节你可以参考书本上到内容追问

不好意思我说的不是很清楚,用汇编有没有类似于下面的:
if( ) 指令1
else 指令2

相关了解……

你可能感兴趣的内容

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