2

私のTASMは、私のTASM、TLINK、およびファイルがあるフォルダにマウントされています。具体的にはC:/TASM/BINです。単一の .asm ファイルを実行するときは問題ありませんが、別のファイルをインクルードしてコードがモジュール式に見えるようにすると、この問題が発生します。

を含む6つのファイルを今のところ含めprintMzpos1.ktました。(アセンブリ ファイルのインクルードでは、ファイル拡張子は関係ありません。) 私のメイン ファイルの名前はc.asm. 画像はprintMzpos1.kt、TASM がマウントされているフォルダーにあることを示しています。

ここに画像の説明を入力

これが私のコードのスナップショットです。printMzpos1.ktaftermain endpと beforeを含めましたend mainprintMzpos1.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

適切に含めたと思いますが、それでも次のようになります。

**Fatal** c.ASM(39) Can't locate file: printMzPos1.kt

ここに画像の説明を入力

何が悪かったのか?

4

1 に答える 1

10

名前printMzPos1.ktが長すぎます。DOSBox と TASM は8.3 名のみを受け入れます。DIRDOSBox (またはWindows) に入力すると、次DIR /Xのように表示されますPRINTM~1.KT。これは printMzPos1.kt の 8.3 名であり、これを使用する必要があります。おそらくいくつかの PRINTM~X.KT ファイルが表示されます。したがって、これらの名前のどれがあなたの名前のどれと関連しているかを検索する必要があります。「~X」は、一意性のためにオペレーティング システムによって作成される一連の番号にすぎません。

8.3 制限に収まるように、ファイルの名前を短い名前に変更することもできます。

于 2014-06-03T07:33:14.687 に答える