C_and_CPP 版 (精华区)

发信人: iamxiaohan (潇寒·System Programmer ^_^), 信区: C_and_CPP
标  题: Re: biosdisk()读写硬盘时参数怎么赋值?
发信站: 哈工大紫丁香 (2003年12月10日21:24:19 星期三), 站内信件

    .ReadFloppy
    mov ah , 2              ; 设置读磁盘功能号
    mov dl , 0x1            ; 设置欲读驱动器号
    mov ch , 0              ; 磁头号
    mov cl , 2              ; 起始扇区号,从第二个扇区开始读,
                            ; 第一个扇区是引导扇区,第二个才是内核所在
    mov al , 17             ; 需读入扇区的数量,此处读了17个扇区,
                            ; 是怕内核较大,读少了读不完  
    int 13h                 ; 调用 BIOS 13 号中断开始读扇区,
                            ; 此中断会将数据读到 es:bx 处
    jc .ReadFloppy          ; 如果出错则重试(ah中是错误号,为0则没错)
    mov dl , [bootdrive]    ; 停止驱动器
    mov edx , 0x3f2
    mov al , 0x0c
    out dx , al

【 在 oceanlly (风●云) 的大作中提到: 】
: 主要是怎么确定参数中的磁头、磁道,扇区和驱动器,谢谢


--
Welcome to Hit Pure C/C++ Fourm (HPC)(纯C论坛)
http://purec.binghua.com
http://purecpp.binghua.com

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.18]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.344毫秒