错误A2105:预期:指令或指令汇编

问题描述 投票:1回答:2

我正在使用MASM制作一个简单的消息程序。目前我在Windows 8 64位上运行DOSBOX。我有一个文件夹8086,包含DEBUG,BIN2HEX,EDIT,EXE2BIN,LINK,MASM,TASM和TD可执行文件。 MASM与ML命令不同。

回到我的问题,当我尝试使用masm Hello.asm时。我得到了Error A2105 : Expected : instruction or directive。我在我的代码中使用了一些指令。

Hello.asm

.386
.model flat, stdcall
option casemap: none

extrn MessageBoxA@16 : PROC
extrn ExitProcess@4 : PROC

.data
    HelloWorld db "Welcome to Assembly Language!", 0
    MsgTitle db "Our First MessageBox", 0
.code
start:

    mov eax,0
    push eax
    lea ebx , MsgTitle
    push ebx
    lea ebx, HelloWorld
    push ebx
    push eax
    call MessageBoxA@16
    push eax
    call ExitProcess@4

end start

我不知道如何从这个asm创建OBJ,LST,CRF。所以我只是跳过他们两个。

Object filenam [hello.OBJ] :
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
hello.asm(3): error 2105 : Expected : instruction or directive
masm directive
2个回答
0
投票

我不知道MASM但是从错误消息中可以清楚地看到汇编程序不考虑这一行

option casemap: none

作为有效的指令或指令。因此,您应该检查是否使用了正确的格式。也许你需要在分号后删除空白。在任何情况下,您可以简单地从编译代码的程序中删除它。


0
投票

您的masm版本中的指令或指令option casemap: none无效。所以你应该检查一下,如果你不知道为什么使用option casemap: none,也许你可以删除它,然后你可以正确编译代码。

© www.soinside.com 2019 - 2024. All rights reserved.