使用Tlink /tdc
命令链接此asembly文件时,出现FATAL: Cannot generate COM file : invalid initial entry point adress.
错误消息。我不知道如何修复这个BUG。我应该在代码中更改什么才能启动此程序。
.MODEL HUGE
org 100h
;.386
.code
Dane SEGMENT
DL_TABLICA EQU 10
Tablica DB 01h, 02h, 00h, 10h, 12h, 33h
DB 15h, 09h, 11h, 08h, 0Ah, 00h
Najmniejsza DB ?
Dane ends
Kod SEGMENT
ASSUME CS:Kod, DS:Dane
;jmp Poczatek
Start:
mov ax, 4C00h
int 21h
Kod ENDS
End ;Endprog
Start
答案 0 :(得分:3)
.COM程序的.MODEL
“很小”。
.COM程序只有一个段。因此,您不应在其中使用任何SEGMENT
,ENDS
或ASSUME
指令。单个.CODE
可达到此目的。因此,开头应该是代码,而不是数据。
.COM程序始终在开始时启动。给它贴上标签只是为了满足TLINK。
.COM程序以DS
= CS
开头。您无需初始化DS
(mov ax, @data
mov ds, ax
)。
简单的Hello World计划:
MODEL tiny
.CODE
.386 ; Just to show at what position it has to be
ORG 0100h
Start:
mov ah, 09h ; http://www.ctyme.com/intr/rb-2562.htm
mov dx, OFFSET hello
int 21h
mov ax, 4C00h ; http://www.ctyme.com/intr/rb-2974.htm
int 21h
hello: db "Hello World", '$'
End Start