问题描述
我想跑步时 masm 有一些问题:
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
;mov ah,9
;mov dx,offset mess2
;int 21h
int 20h
mess2 db 'It is me$'
Message db 'Hello,World2243!$'
CSEG ends
end Begin
它打印:
但是我把这个字符串注释掉了!! 我在 DosBox 上编译了这段代码,也许这就是原因
解决方法
如前所述,您使用的是 tasm
,而不是 masm
。这是两个不同的东西,见 tasm 和 masm
为了打印两行,我使用了代码:
MODEL TINY
STACK 100h
DATASEG
Hellostr DB 'Hello First Step Site $'
str2 DB 'Step 16 $'
CODESEG
start:
mov ax,@data
mov ds,ax
mov dx,offset Hellostr
mov ah,09h
int 21h
mov dx,offset str2
mov ah,09h
int 21h
mov ah,04Ch
mov al,1h
int 21h
end start
编译+构建+运行:
mount c C:\path\to\asm\file\PROGRA~1.asm
c:
tasm PROGRA~1.asm
tlink /3 PROGRA~1.obj
PROGRA~1.exe
结果:link
我还要注意,如上面的屏幕截图所示,我有一个 dosbox
版本 0.74-3
最后:我建议您仔细查看您提供的屏幕截图。