汇编 – 为什么MS-DOS不初始化DS和ES寄存器?
发布时间:2020-12-14 04:14:48 所属栏目:Windows 来源:网络整理
导读:为什么DS和ES寄存器的初始化必须由程序员手动完成? 例如: MOV AX,DTSEGMOV DS,AX 另一方面,CS和SS寄存器由操作系统初始化(在MS-DOS中).为什么会这样? 因为CS和SS寄存器对于程序执行至关重要,而DS和ES寄存器则指向用户定义的数据段.默认情况下,执行程序中
为什么DS和ES寄存器的初始化必须由程序员手动完成?
例如: MOV AX,DTSEG MOV DS,AX 另一方面,CS和SS寄存器由操作系统初始化(在MS-DOS中).为什么会这样?
因为CS和SS寄存器对于程序执行至关重要,而DS和ES寄存器则指向用户定义的数据段.默认情况下,执行程序中不存在任何数据,这对于初始化DS和ES没有任何意义.作为程序编写者,您可以通过设置数据段寄存器来指定数据的位置.
编辑:正如@FrankKotler在.com文件中正确记录的那样(整个程序大小不超过单段),DS和ES被初始化并等于CS.对于其他执行模型,DS和ES通过指向PSP(不是指向真实用户数据的指针)的指针进行初始化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2012 – Windows Server 2012 IPAM功能 –
- windows-phone-8.1 – Microsoft Band SDK部署错误:发布中
- 设计模式(五)——单例模式
- windows-phone – 在Windows Phone 8应用程序中启用JavaScr
- 下载受NTLM/SSPI保护的文件而不在Win32上使用Python提示凭据
- 如何在Windows上获取我的Arduino草图的汇编语言列表?
- iis – 访问注册表项“全局”被拒绝
- 在联网的Windows计算机上进行批量安装?
- 【旧文章搬运】Windows内核常见数据结构(驱动相关)
- 在“添加/删除程序”中隐藏卸载程序?
推荐文章
站长推荐
- Windows Phone 7相当于Android的WebView
- 虚拟化 – Microsoft Hypervisor:我们可以使用H
- windows – 有用的WMI管理脚本
- HM NIS Edit打包Electron应用的注意事项
- active-directory – 将Windows Server 2016提升
- ActiveX Edge在Microsoft Edge中有替代品吗?
- microsoft-office-365 – 如何将ADFS移动到新服务
- windows – Emacs非常缓慢地创建缓冲区
- wix – “添加/删除程序”中的Bootstrapper和Set
- Windows – 来自CMD的Cygwin命令很慢;从bash是快
热点阅读