【问题标题】:emu8086 - How do i terminate a program according to a conditionemu8086 - 我如何根据条件终止程序
【发布时间】:2016-03-05 07:54:23
【问题描述】:

我只是想问在满足条件后如何终止或关闭程序。我即将完成这个案例研究。感谢您的回答:]

喜欢:

cmp byte ptr [sel3_1+2], 'a'
je stop

stop:
*code here*

或在条件下停止编码的东西

【问题讨论】:

  • 有一个 DOS 系统调用 (int 21h) 退出您的程序。当你想要它发生时运行它。它与有条件地运行任何其他系统调用没有什么不同,只是它永远不会返回。

标签: assembly emulation emu8086


【解决方案1】:

使用服务 4CH 调用 INT 21h - 使用返回码退出,将返回码放入 AL。

所以,

MOV AH, 4CH
MOV AL, 01 ;your return code.
INT 21H

或者要在没有返回码的情况下退出,请使用 service 0...

MOV AH, 0
INT 21H

【讨论】:

  • 请注意,您可以通过使用mov ax , 4C01H 用一条指令加载寄存器的两半来牺牲人类可读性以获得更小的代码大小。另外,我建议使用有效的 cmets (;) 来解释示例代码中的内容。
  • 当你使用mov ah,0int 21h时,实际上DOS会以return code = 0退出。此外,还有更短的退出程序的方法,只需编写int 20h
猜你喜欢
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-18
  • 2013-12-24
  • 1970-01-01
相关资源
最近更新 更多