我的任务是创建一个程序,将一些字符串写入文件。到目前为止,我想出了这个:
org 100h
mov dx, text
mov bx, filename
mov cx, 5
mov ah, 40h
int 21h
mov ax, 4c00h
int 21h
text db "Adam$"
filename db "name.txt",0
但它没有做任何事情。我使用的是nasm和dosbox。
答案 0 :(得分:8)
您必须先创建文件(如果已存在则打开它),然后编写该字符串,最后关闭该文件。下一个代码是MASM并用EMU8086制作,我发布它是因为它可以帮助你理解如何做,中断是相同的,以及参数,所以算法:
.stack 100h
.data
text db "Adam$"
filename db "name.txt",0
handler dw ?
.code
;INITIALIZE DATA SEGMENT.
mov ax,@data
mov ds,ax
;CREATE FILE.
mov ah, 3ch
mov cx, 0
mov dx, offset filename
int 21h
;PRESERVE FILE HANDLER RETURNED.
mov handler, ax
;WRITE STRING.
mov ah, 40h
mov bx, handler
mov cx, 5 ;STRING LENGTH.
mov dx, offset text
int 21h
;CLOSE FILE (OR DATA WILL BE LOST).
mov ah, 3eh
mov bx, handler
int 21h
;FINISH THE PROGRAM.
mov ax,4c00h
int 21h