我有emu8086的问题。我想打开一个文件,但是当我尝试模拟它时,它显示了一个错误。
data1 segment
in_file db 'input.txt',0
handle dw ?
warn db "Error$"
data1 ends
code1 segment
start1:
mov ax,seg w_stosu
mov ss,ax
mov sp,offset w_stosu
mov ax,seg in_file
mov ds,ax
mov dx,offset in_file
mov ax,3d00h
int 21h
jb error
mov ds:[handle],ax
mov ax,04c00h
int 21h
error:
mov dx,offset warn
call print_dx
mov ax,04c00h
int 21h
print_dx:
mov ax,seg data1
mov ds,ax
mov ah,9h
int 21h
ret
code1 ends
stack1 segment stack
dw 255 dup(?)
w_stosu dw ?
stack1 ends
end start1
错误出现在这部分:
mov ax,3d00h
int 21h
文件不存在
C:\emu8086\MyBuild\input.txt
中断错误:21h/3Dh:无法打开文件。
我的输入文件 ( input.txt
) 在C:\emu8086\vdrive\C
它应该在的位置。当我在 MASM 中编译它时dosbox
,它可以正常工作。我不知道问题可能出在哪里。有人可以帮我吗?