为了生活努力奋斗
分类: LINUX
2007-04-06 23:04:43
BIOS中断INT 0x13中,
al=需要读出的扇区数; ch=磁道号的低八位; cl=开始扇区(位0—5),磁道号高二位(位6—7) dh=磁头号 dl=驱动器号(若是硬盘则要置位7) es:dx—>指向数据缓冲区 若出错则CF示志置位 |
程序:
…… load_setup: mov dx,#0x0000 !驱动器0,磁头0; mov cx,#0x0002 !扇区2,磁道0; mov bx,#0x0200 !此时es已置为0x9000,则指向地址0x9200; mov ax,#0x0200+SETUPLEN !置为服务二,读入SETUPLEN=4个扇区; int 0x13 !中断13; jnc ok_load_setup !判断是否成功; mov dx,#0x0000 !未成功,复位磁盘; mov ax,#0x0000 int 0x13 j load_setup !继续读; ok_load_setup: …… |