2016 - 2024

感恩一路有你

汇编语言ret返回到哪里 汇编语言中proc far是什么意思?

浏览量:2907 时间:2021-03-17 04:46:46 作者:admin

汇编语言中proc far是什么意思?

你说的是这样一个程序框架:Main proc far push DS XOR ax,ax push ax。。。重新连接主端。这是DOS下最原始的exe程序框架。当时DOS的版本很低,DOS没有提供4CH DOS函数调用,程序的结尾只能用int 20h来完成。int 20h结束程序时,CS指向程序段前缀(PSP)所在的段地址。因此,程序需要将主程序定义为proc far,它将RET指令组装为retf。代码的前三条指令是将PSP段地址放在堆栈上,然后将0放在堆栈上。这样,在执行RET时,在PSP段的偏移地址处执行int 20h指令,以确保正确返回DOS。后来,DOS的一个稍高的版本有第4CH个函数调用,所以不需要这个程序框架。教科书中的许多程序都是复制的,所以人们经常看到这种过时的代码。

汇编语言main proc far是什么意思?

远近是子程序调用的参数。如果子程序和调用程序在同一段中,子程序参数设置为near。如果子程序和调用程序不在同一段中,则子程序参数设置为far。在这里,主程序被定义为far,因为系统将主程序视为DOS调用的子例程。DOS内核和主程序不在同一段地址,所以主程序叫far程序参数应该用far

你说的大概就是这样一个程序框架:mainprocfarpush dsxorax,axpushax。。。retmaintendpendmin。这是DOS下最原始的exe程序框架。当时DOS的版本很低,DOS没有提供4CH DOS函数调用,程序的结尾只能用int20h来完成。当int20h结束程序时,CS指向程序段前缀(PSP)所在的段地址。因此,程序需要将主程序定义为procfar,将RET指令组装为retf。代码的前三条指令是将PSP段地址放在堆栈上,然后将0放在堆栈上。这样,在执行RET时,在PSP段的偏移地址处执行一条int20h指令,以确保正确返回DOS。后来,DOS的一个稍高的版本有第4CH个函数调用,所以不需要这个程序框架。教科书中的许多程序都是复制的,所以人们经常看到这种过时的代码。

汇编语言ret返回到哪里 汇编语言有哪几种 汇编语言有哪两种类型

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。