【发布时间】:2017-05-26 16:13:18
【问题描述】:
基本上我必须创建一个迷宫并将其存储在一个文本文件中,以便稍后打开它,我已经完成了创建迷宫的部分,但我终生无法保存所有内容在屏幕上到文本文件(甚至是空格)我知道我可以使用 int 21h 将内容写入文件我只是不知道如何将所有内容写入所述文本文件(整个 80 行和 25 列)中订单显示在dosbox屏幕上。
mov ah,3CH ; File creation
mov cx,0 ;
mov dx, OFFSET filename
int 21h
mov handle, ax
mov ax,0b800h
mov es,ax
ciclo2:
mov ah, es:[bx]
mov al, es:[bx+1]
mov var1, ax
mov ah,40h
mov cx,2
mov dx,var1
mov bx,handle
int 21h
inc bx
inc bx
cmp bx, 4000
jne ciclo2
fim:
mov ah,3Eh ; Closing the file
mov bx,handle
int 21h
mov ah,4CH ; Closing the program
INT 21H
我正在使用 MASM 和 dosBOX。
【问题讨论】:
-
你得到了什么问题或错误的结果是什么?
-
它应该将屏幕上的内容写入 txt 文件,但最终根本不打印任何内容。
-
我在您的代码中发现了 4 个错误,请查看下面的答案(如果有用别忘了点击答案的 ✔ 复选标记)。
-
您的代码正在将字符和属性写入文件。那是你必须做的吗?还是只需要将字符存储在文本文件中?
标签: assembly dos masm x86-16 vga