汇编程序无法找到现有文件

ell*_*aie 2 x86 assembly dos tasm dosbox

我的TASM已安装到我的TASM,TLINK和文件所在的文件夹中.具体来说就是C:/TASM/BIN.运行单个.asm文件时没有问题但是当我包含另一个文件以便我的代码看起来模块化时,会出现这个问题.

我已经包含了6个文件,其中包括printMzpos1.kt.(文件扩展名在汇编文件包含中无关紧要.)我的主文件名是c.asm.该图像显示printMzpos1.kt在我的TASM挂载的文件夹中:

在此输入图像描述

这是我的代码的快照.我包括printMzpos1.kt之后main endp和之前end main.printMzpos1.kt包含打印框的过程.

.model small
.386
.stack 64

.data
colorW      db  0Fh
xPos        dw  ?
currmode    db  ?
horLineLen  dw  120
verLineLen  dw  70

include macro.kt

.code

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MAIN proc far
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

mov ax, @data
mov ds, ax
mov es, ax

setVidMode  
cls

call printMzPos1
;call move3Boxes

retVidMode  
mov ax, 4c00h
int 21h

MAIN endp

include printMzPos1.kt
include printMzPos2.kt
include printMzPos3.kt
include printMzPos4.kt
include drawRect.kt
include move3Boxes.kt

end MAIN
Run Code Online (Sandbox Code Playgroud)

虽然我认为我把它包括在内,但我仍然得到这个:

**Fatal** c.ASM(39) Can't locate file: printMzPos1.kt
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

什么地方出了错?

rkh*_*khb 8

名字printMzPos1.kt太长了.DOSBox和TASM只接受8.3名称.DIR在DOSBox(或DIR /XWindows)中键入,你会看到类似的东西PRINTM~1.KT.这是printMzPos1.kt的8.3名称,你必须使用它.你可能看到几个PRINTM~X.KT文件.因此,您必须搜索这些名称中的哪些与您的姓名相关.'~X'只是操作系统为唯一性创建的序号.

您也可以将文件重命名为较短的名称,以使它们符合8.3限制.

  • `dir /p` 也用于一次一页地列出文件。 (2认同)