汇编主程序用过程 即 main proc far的问题

汇编主程序用过程 即 main proc far的问题,第1张

说明之后的代码或要修改cs寄存器中的内容,因此要保链扒存到内存中,要不然没法恢复。

RET可以没有,不过就不能返回了,而是继续往冲戚下跑(就可能出棚判昌错了)

assume cs:code,ds:data,假设CS寄存器装载的是代码段,假设DS寄存器装载的是数据段

dos16,win32汇编可以在代码中指定入口点的(坑爹的x64不支持这点了,必须在连接器指定)下面示例START就是入口点:

START:

...

END START  必须

5.中断要在DOS且为实模式下才能正常使用。(NT内核关闭中断位)

这样是COM程序的正常结束方式

这个方法实际是在堆栈压入了DS段地址和0的地址,

而ds段0地址的地方启森是int 20h指令巧孙

ret时实际就执行了DS:0处的代码,实际是int 20h指令

你可以用debug看一下就是的。

所以也孝旁链可以不用这样,直接在程序末尾用int 20h也可以的。


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

原文地址: http://outofmemory.cn/yw/12416678.html

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

发表评论

登录后才能评论

评论列表(0条)

保存