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

📄 awse.asm

📁 硬盘扇区读写技术-修复硬盘与恢复文件随书源代码
💻 ASM
字号:
;********************************************
;文件名:AWSE.ASM
;功能:将文件数据写入0面0头7扇区
;********************************************
data segment                    ;1. 定义数据段
ostr db 'Enter file name:','$'  ;2. 屏幕提示
filename db 15                  ;3. 输入的文件名
         db ?                   ;4.
         db 15 dup(0)           ;5.
buffer db 512 dup(0)            ;6. 扇区数据
tmp db 15 dup(0)                ;7. 转存的文件名
data ends                       ;8.
code segment                    ;9. 定义代码段
     assume cs:code,ds:data     ;10.
start:                          ;11.
        mov ax,data             ;12. 初始化
        mov ds,ax               ;13.
        mov ax,seg buffer       ;14. 用buffer初始化es 
        mov es,ax               ;15.
                                ;16.
        mov dx,offset ostr      ;17.
        mov ah,09h              ;18. 输出字符串
        int 21h                 ;19.
        mov dx,offset filename  ;20.
        mov ah,0ah              ;21. 接收字符串
        int 21h                 ;22.
        mov si,offset filename  ;23.
        mov di,offset tmp       ;24.
lstr:   mov dl,[si+2]           ;25. 取字符
        mov [di],dl             ;26. 存字符
        inc si                  ;27. 地址递增
        inc di                  ;28.
        cmp dl,0dh              ;29. 判断是否为回车符
        jne lstr                ;30. 不等转
                                ;31.
        mov bl,0                ;32.
        mov [di-1],bl           ;33.
        mov dx,offset tmp       ;34. 取文件名
        mov al,0                ;35.
        mov ah,3dh              ;36.打开文件
        int 21h                 ;37.
        mov dx,offset buffer    ;38.取存放数据的缓冲区地址
        mov cx,512              ;39.
        mov bx,ax               ;40.
        mov ah,3fh              ;41.读文件
        int 21h                 ;42.
        mov ah,3eh              ;43.关闭文件
        int 21h                 ;44.
                                ;45.
        mov bx,offset buffer    ;46. 取址
        mov ax,0301h            ;47. 程序入口参数
        mov cx,0007h            ;48.
        mov dx,0080h            ;49.
        int 13h                 ;50. 调用中断
        mov ah,4ch              ;51. 返回系统
        int 21h                 ;52.
code ends                       ;53.
        end start               ;54. 程序结束

⌨️ 快捷键说明

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