www.pudn.com > TP333.3_S886.rar > AWSE.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. 程序结束