汇编语言 判断满足条件后如何退出程序

汇编语言 判断满足条件后如何退出程序,第1张

网上搜到的EXIT和EDN_D之类的都不能用

--不是要求用汇编语言吗?

--搜这个类,你怎么在汇编里面使用?

80x86 汇编语言,退出程序

MOV AX, 4C00H

INT 21H

即可。

参考:

http://hi.baidu.com/do_sermon/item/611b407a6ff20c2dd6a89c59

Intel80x86系列汇编语言中的LOOP指令,是循环指令,循环次数由计数寄存器CX指定。是否执行循环体的判断指令在循环体之后,所以,至少执行1次循环体,即至少循环1次。执行LOOP指令时,CPU自动将CX的值减1,若CX=0,则结束循环;否则,重复执行循环体。本题是个特例,虽然计数寄存器的初值为0,但当执行完1次循环体,遇到LOOP指令时,CX=0-1=65535。虽然产生了借位,但CX不等于0,所以,要继续执行循环体。本题,共执行循环体65536次。

JMP只是一个无条件跳转指令,可以任意跳转。

按照你说一直在循环是这种结构

NEXT:......

.......

JMP NEXT(只是随便举个例子)

这结构如果在中间不加任何跳转就是个死循环 ,因为程序是顺序执行的,跳到NEXT时,又顺序往下执行,所以是死循环。

要让程序跳转出,可以通过其他有条件的条件的跳转指令(如 JC JZ JNZ等等)跳出,不过跳出的地址一定不能是在刚才例子的程序内部(NEXT~JMP之间),不然还是死循环。

而其他结构如

NEXT:.....

.......

JMP LP

..........

LP: .........

这程序就不是死循环,因为它直接跳到了下面只是不执行 JMP 和 LP 之间的程序了。有一些程序还是用这种结构的。

由于JMP不具有判断等原因,所以一般不建议用JMP指令,除非特殊情况。。。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7855322.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存