当前位置:编程学习 > 汇编语言 >>

刚刚 接触汇编 求教一下几句代码意义 就是在课本上code段开始都有下面三句

push ds xor ax,ax push ax 说是为返回dos准备 但是最后的push ax有什么用呢 xor之后都是ax=0000h
答案:push ds 
xor ax,ax 
push ax 
确实是为返回dos准备但后面还得配 ret 指令
在实模式下,程序都是根据CS:IP值来找指令运行的,如果该处刚好是返回DOS指令,那么就实现返回了。
而push ds、 xor ax,ax、 push ax 三条指令恰好把从DOS进入程序时的CS:IP压入堆栈了(此时CS=DS,IP=0),而 ret 是从堆栈取数据送CS:IP,所以当最后运行完 ret后就实现返回dos了。

上一个:哪里有单片机汇编的视频教程啊?
下一个:单片机编程:汇编语言编写一个查表子程序,气功能为利用DPTR及PC做基址,查表求出0-90度间隔5度的正弦值。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,