📄 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. 程序结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -