次の 16 ビット アセンブリ コードを使用しています。
.model tiny
.code
ORG 100H
FILE_NAME EQU 9EH ;DTA Position after execution of search_first_file
START:
mov ah,9 ;Print start message
mov dx,OFFSET STR_START
int 21H
mov ah,4EH ;Search first file
mov dx,OFFSET PATH
int 21H
jc NO_FILE_FOUND
FILE_FOUND:
mov ah,9 ;Print file found message
mov dx,OFFSET STR_FILE_FOUND
int 21H
mov ah,3DH ;Open file to write
mov al,01H
mov dx,FILE_NAME
int 21H
mov ah,9 ;Print file opened message
mov dx,OFFSET STR_FILE_OPENED
int 21H
mov ah,40H ;Write code
mov bx,ax
mov dx,100H
mov cx,44
int 21H
mov ah,9 ;Print file written message
mov dx,OFFSET STR_FILE_WRITTEN
int 21H
mov ah,3EH ;Close file
int 21H
mov ah,4FH ;Search next
int 21H
jnc FILE_FOUND
NO_FILE_FOUND:
ret
PATH db 'C:\comfiles_folder\HOST.COM',0
STR_START db 'program started!',0
STR_FILE_FOUND db 'file found!',0
STR_FILE_OPENED db 'file opened!',0
STR_FILE_WRITTEN db 'code written!',0
END START
このプログラムは基本的comfiles_folder
に、パスのフォルダーを検索し、C:\comfiles_folder\HOST.COM
見つかったファイルに独自のコードを書き込みます。
CodeView を使用してデバッグしたところ、HOST.COM ファイルが見つからないことがわかりました。誰かが何が間違っているのか教えてもらえますか?