汇编语言两条指令 push ax push ds 执行后结果是什么

如题所述

程序加载后,DS存放着程序所在内存的段地址,这个内存区域的前256个字节存放在的是PSP。
PSP:程序段前缀,是DOS操作系统在执行程序时为程序所建立的一个信息块, 里面包括了传递给待运行程序的命令行参数, 程序运行结束时返回DOS所需的地址等有用的信息.
汇编程开始时
push ds
sub ax,ax
push ax 这三条语句是为后面的ret做准备,ret即执行pop ip, pop cs,执行完ip的值为0,cs的值为ds。程序转移到程序PSP的起始地址,起始地址的前两个字节放的是int 20指令,用于返回DOS。
不过不推荐这样做,现在常用
mov ax 4c00h
int 21h;终止程序,返回值为al.
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-09
寄存器AX,DS的内容(字类型)压入堆栈段,同时SP=SP-2;SP=SP-2,即指针SP上移四个单元本回答被提问者和网友采纳
第2个回答  2018-05-26
ax和ds的内容先后被压入堆栈。
第3个回答  2018-05-19
如此简单的问题,还一直放在醒目的位置。请赶紧结题吧 !
第4个回答  2014-12-09
把ax,ds进栈追答

求采纳

相似回答