簡體   English   中英

在這個簡單的匯編程序中找不到錯誤

[英]Cannot find error in this simple assembly program

我正在使用以下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

此程序基本上在路徑C:\\comfiles_folder\\HOST.COM搜索comfiles_folder文件夾,並將其自己的代碼寫入找到的文件。

我使用CodeView調試了它,發現它找不到HOST.COM文件。 有人可以告訴我怎么了嗎?

“查找第一個文件”調用還需要一個參數。 在Int 21 0x4E(查找拳頭文件)調用之前,您沒有在寄存器cx中設置文件屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM