⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 earse.asm

📁 硬盘扇区读写技术-修复硬盘与恢复文件随书源代码
💻 ASM
字号:
;********************************************
;文件名:EARSE.ASM
;功能:读硬盘0面0头1扇区数据并建立存储文件
;********************************************
count=512                       ;1. 定义常量
disk struc                      ;2. 定义结构
packetsize db 16                ;3. 定值16
reserved db 0                   ;4. 定值0
blockcount dw 1                 ;5. 传输1个扇区
bufferaddr dd 200h              ;6. 存放数据的缓冲区偏移地址
blocknum dq 0                   ;7. 读取的起始扇区号为0
disk ends                       ;8.
                                ;9.
data segment                    ;10. 定义数据段
buff disk <>                    ;11. 将结构地址赋给变量buff 
file db '001',0                 ;12. 开辟缓冲区存放文件名
data ends                       ;13.
                                ;14.
code segment                    ;15.
     assume cs:code,ds:data     ;16.
start:                          ;17.
        mov ax,data             ;18.
        mov ds,ax               ;19. 初始化数据段
        mov ah,42h              ;20. 设置功能代码为读磁盘
        mov dl,80h              ;21. 设置驱动器代号为第一硬盘
        mov si,offset buff      ;22. 取结构变量buff的地址
        int 13h                 ;23. 调用扩展INT13H中断
                                ;24.
        mov dx,offset file      ;25. 取缓冲区文件名地址
        mov cx,0                ;26. 设置文件属性
        mov ah,3ch              ;27. 建立文件
        int 21h                 ;28. 调用DOS中断
        mov bx,ax               ;29. 保存文件号
        lds dx,buff.bufferaddr  ;30. 取地址指针
        mov cx,count            ;31. 取字节数
        mov ah,40h              ;32. 写文件
        int 21h                 ;33. 调用DOS中断
        mov ah,3eh              ;34. 关闭文件
        int 21h                 ;35. 调用DOS中断
        mov ax,4c00h            ;36. 返回系统
        int 21h                 ;37. 调用DOS中断
code ends                       ;38. 段结束
        end start               ;39. 程序结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -