?? arse.asm
字號:
;********************************************
;文件名:ARSE.ASM
;功能:讀硬盤0面0頭1扇區(qū)數(shù)據(jù)并建立存儲文件
;********************************************
data segment ;1.定義數(shù)據(jù)段
ostr db 'Enter file name:','$' ;2.屏幕提示
filename db 15 ;3.輸入的文件名
db ? ;4.
db 15 dup(0) ;5.
buffer db 512 dup(0) ;6.扇區(qū)數(shù)據(jù)
tmp db 15 dup(0) ;7.轉(zhuǎn)存的文件名
data ends ;8.
code segment ;9.定義代碼段
assume cs:code,ds:data ;10.
start: ;11.程序開始
mov ax,data ;12.初始化數(shù)據(jù)段
mov ds,ax ;13.
;14.
mov ax,seg buffer ;15.用buffer初始化附加段es
mov es,ax ;16.
mov bx,offset buffer ;17.取址
mov ax,0201h ;18.程序入口參數(shù)
mov cx,0001h ;19.
mov dx,0080h ;20.
int 13h ;21.調(diào)用中斷
mov dx,offset ostr ;22.
mov ah,09h ;23.輸出字符串
int 21h ;24.
;25.
mov dx,offset filename ;26.
mov ah,0ah ;27.接收字符串
int 21h ;28.
mov si,offset filename ;29.
mov di,offset tmp ;30.
lstr: mov dl,[si+2] ;31.取字符
mov [di],dl ;32.存字符
inc si ;33.地址遞增
inc di ;34.
cmp dl,0dh ;35.判斷是否為回車符
jne lstr ;36.不等轉(zhuǎn)
;37.
mov bl,0 ;38.補(bǔ)0
mov [di-1],bl ;39.
mov dx,offset tmp ;40.取文件名
mov cx,0 ;41.
mov ah,3ch ;42.建立文件
int 21h ;43.
mov dx,offset buffer ;44.取緩沖區(qū)數(shù)據(jù)地址
mov cx,512 ;45.
mov bx,ax ;46.
mov ah,40h ;47.寫文件
int 21h ;48.
mov ah,3eh ;49.關(guān)閉文件
int 21h ;50.
mov ah,4ch ;51.返回系統(tǒng)
int 21h ;52.
code ends ;53.
end start ;54.程序結(jié)束
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -