汇编语言编程:从内存寻址到文件处理
1. 内存寻址与保护模式
在编程领域,内存寻址和寄存器是理解机器指令的关键。若掌握它们,理解指令便轻而易举;反之,则难以运用指令。
保护模式下的平面模型编程,难点在于理解操作系统的要求和限制。像Windows NT和Linux这类主流操作系统,需花费数年时间深入学习。
保护模式下不再允许的操作
- 内存映射视频 :早期IBM PC通过简单机制将视频适配器内存映射到物理内存,直接写入数据就能在显示器上显示内容。但这种对系统外设的直接访问违反了保护模式的规则,因为保护模式允许多程序同时运行,若多个程序同时修改显示内存,会导致视频混乱。如今操作系统通过驱动和代码库管理视频访问,将程序的视频输出限制在屏幕窗口内。虽然可以在用户内存中设置缓冲区让Linux用于视频显示,但过程复杂且速度慢,仅适用于移植旧DOS程序。
- 直接访问端口硬件 :DOS时代,PC的串口和并口可被软件直接访问,通过编写控制值和中断服务程序,能实现自定义的串口接口软件。而多任务要求操作系统通过驱动和代码库管理端口访问,不过使用驱动比自行控制端口更简单。
- 直接调用BIOS :在DOS时代,软件可直接调用PC BIOS例程。但保护模式将BIOS调用权限留给操作系统,如今保护模式操作系统也很少直接使用BIOS调用,大多通过可安装驱动进行硬件的底层访问。Linux提供了类似BIOS调用的机制,可使用软件中断80H调用一些底层函数。
超级会员免费看
订阅专栏 解锁全文
1120

被折叠的 条评论
为什么被折叠?



