我对 masm 有一些问题

问题描述

我想跑步时 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

它打印:

Smth like: ||=It's me!

但是我把这个字符串注释掉了!! 我在 DosBox 上编译了这段代码,也许这就是原因

解决方法

如前所述,您使用的是 tasm,而不是 masm。这是两个不同的东西,见 tasmmasm
为了打印两行,我使用了代码:

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
最后:我建议您仔细查看您提供的屏幕截图。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...