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

时间:2014-01-11 06:05:54

标签: masm directive

我正在使用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

2 个答案:

答案 0 :(得分:0)

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

option casemap: none

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

答案 1 :(得分:0)

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