trump 发表于 2014-8-3 18:08:10

中断13h

本帖最后由 trump 于 2014-8-3 20:21 编辑

a.读磁盘扇区到内存
输入项:
ah = 02h - 读磁盘扇区到内存
al = 需要读出的扇区数量
es:bx 指向数据缓冲区
ch = 磁道(柱面)号的低8位
cl = 开始扇区(0-5位),磁道号高2位(6-7位)
dh = 磁头号
dl = 驱动器号(如果是硬盘则要置位7为1)
输出项:
如果出错则CF标志置位
举例:
将从磁盘第0个磁道第2个扇区开始的4个扇区,读到内存0x90200-0x909ff处
mov es,9000h
mov dx,0000h
mov cx,0002h
mov bx,0200h
mov ax,0200h+4
int 13h
b.取磁盘驱动器的参数
输入项:
ah = 08h - 取磁盘驱动器的参数
dl = 驱动器号(如果是硬盘则要置位7为1)
输出项:
如果出错则CF标志置位,并且ah = 状态码
ah = 0
al = 0
bl = 驱动器类型(AT/PS2)
ch = 最大磁道号的低8位
cl = 每磁道最大扇区数(位0-5),最大磁道号高2位(位6-7)
dh = 最大磁头数
dl = 驱动器数量
es:di 软驱磁盘参数表
举例:
获取每磁道扇区数,并保存到变量sectors中
mov dl,0
mov ax,0800h
int 13h
mov ch,0
sectors dw 0
mov dw,cx
页: [1]
查看完整版本: 中断13h