第八章 硬盘和显卡的访问与控制(2)
用于加载用户程序的物理地址phy_base是16字节对齐的,而用户程序中,每个段的汇编地址也是16字节对齐的。因此,每个段在内存中的起始地址也是16字节对齐的,将它们分别右移4位,就是它们各自的逻辑段地址。代码使用ror循环右移(ROtate Right),循环右移指令执行时,每右移一次,移出的比特既送到标志寄存器的CF位,也送进左边空出的位。68~74行是循环体,每次循环开始后,BX总是指向需要重定位的段的汇编地址,而且都是双字,需要分别传送到寄存器。用户程序头部内,偏移为0x06处的双字,存放的是。