今天看bootsect.s,有些代码不甚理解,查阅资料后,终于释然,特记录如下:
movw $BOOTSEG, %ax movw %ax, %ds //置移动源段地址,此处为0x07C0movw $INITSEG, %axmovw %ax, %es //置移动目的段地址,此处为0x9000movw $256, %cx //循环计数器,位移256次,共移动512字节的数据
以上代码的作用是:当bootsect.s 被 bios启动子程序加载至 0x7c00 (31k)处后,再将自己移到地址 0x90000 (576k)处,并跳转至那里。