第8章 硬盘和显卡的访问与控制
本章代码分为用户程序与加载程序,大致流程计算机上电ROM-BIOS将读取硬盘主引导区内容(硬盘主引导区放的是加载程序),将它加载到内存地址0x0000:0x7c00,然后跳转到这里执行,然后加载程序将用户程序加载到特定地址,更新用户程序的段地址并跳转到用户程序执行。
SECTION mbr align=16 vstart=0x7c00 /*vstart=0x7c00是由于程序被加载到0x0000:0x7c00这样设置,这个段的所有标号的偏移地址
从0x7c00开始,这样引用时就不用加上0x7c00。*/
设置加载程序的栈空间,也在0x0000这个段中,从0xFFFF往下增长,还是留了很多余地。
mov ax,[cs:phy_base] //cs这里应该是0x0000,phy_base是从0x7c00开始计算的段偏移地址,里面存的是0x10000
mov dx,[cs:phy_base+0x02] //ax中是0x0000,dx中存的是0x0001
mov bx,16 //用这个32位数除以16得到段地址传递给ds数据段寄存器与附加段寄存器,为0x1000,这里的cs还是很有必要的,
div bx
x86汇编语言 从实模式到保护模式 第8章读书笔记
最新推荐文章于 2022-10-05 10:45:23 发布
这篇博客详细记录了作者阅读《x86汇编语言 从实模式到保护模式》第8章的读书笔记,通过亲自实践来深化对x86汇编从实模式转换到保护模式的理解,虽然笔记过程略显混乱,但充满了学习的热情。
摘要由CSDN通过智能技术生成