错误 A2105:预期:指令或指令程序集
Posted
技术标签:
【中文标题】错误 A2105:预期:指令或指令程序集【英文标题】:Error A2105 : Expected : instruction or directive Assembly 【发布时间】:2014-01-11 06:05:53 【问题描述】:我正在使用 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? 当 masm 询问您有关 .obj、.lst 和 .crf 的信息时,它是生成它们,您不必提供它们 【参考方案1】:我不知道 MASM,但从错误消息中可以清楚地看出,汇编程序没有考虑这一行
option casemap: none
作为有效的指令或指令。所以你应该检查你是否使用了正确的格式。也许您需要删除分号后的空白。在任何情况下,您都可以简单地将其从编译代码的程序中删除。
【讨论】:
【参考方案2】:指令或指令option casemap: none
在您的masm 版本中无效。所以如果你不知道为什么要使用option casemap: none
,你应该检查一下,也许你可以删除它,然后你就可以正确编译代码了。
【讨论】:
以上是关于错误 A2105:预期:指令或指令程序集的主要内容,如果未能解决你的问题,请参考以下文章
错误表明我缺少 using 指令或程序集引用,但我没有....
错误 CS0246:找不到类型或命名空间名称“Player”(您是不是缺少 using 指令或程序集引用?) Unity [关闭]
错误1找不到类型或命名空间名称“Controller”(您是否缺少using指令或程序集引用?)
C# 未能找到类型或命名空间名称“Form1”(是不是缺少 using 指令或程序集引用?)