Lin*_*ind 0 assembly emulation x86-16
程序应该打开文件,从中读取并打印前 4 个字符。
我不知道问题出在哪里。我什至在那里自己创建了文件,但它仍然无法打开文件。
org 100h
jmp start
filename db "C:\f1.txt",0
errormessage: db "Ndodhi nje gabim gjate ekzekutimit$"
Buffer db 50h dup(?)
start:
lea dx,filename
mov ah,3Dh
mov al,0
int 21h
jc error
mov bx,ax
mov ah,3Fh
mov cx,4
lea dx,Buffer
int 21h
jmp end
error:mov dx,offset errormessage
mov ah,09h
int 21h
end: ret
Run Code Online (Sandbox Code Playgroud)您正在使用模拟器。您的程序可以访问模拟C:驱动器,该驱动器不是C:您 PC的真实驱动器。
正如它在http://www.emu8086.com/ 上所说:
dos 文件系统在 \vdrive\ 文件夹中模拟
换句话说,把文件放在文件f1.txt夹中c:\emu8086\vdrive\c;您的程序将看到该文件似乎是C:\.
如果您将 emu8086 安装在 以外的文件夹中c:\emu8086,那么显然您必须在vdrive那里寻找。