示例汇编程序中出现错误 A2206
我正在读一本教授通过 Visual C++ Express 使用 MASM 进行汇编的书。
本书提供了以下示例程序来测试 masm 是否正常工作。
.386
.model flat, c
.stack 100 h
printf PROTO arg1:Ptr Byte, printlist:VARARG
.data
msg1fmt byte "%s%d",0Ah,0
msg1 byte "The answer is: ",0
num1 sdword ?
num2 sdword ?
.code
main proc
mov num1,5
mov eax,num1
mov num2,eax
INVOKE printf, ADDR msg1fmt, ADDR msg1, num2
ret
main endp
end
问题是,它不起作用,而是我得到错误 A2206:表达式中缺少运算符
但是,我没有看到缺少运算符。我错过了什么还是还有其他问题?
I am reading a book which teaches assembly using MASM via Visual C++ Express.
The book gives the following example program to test that masm is working
.386
.model flat, c
.stack 100 h
printf PROTO arg1:Ptr Byte, printlist:VARARG
.data
msg1fmt byte "%s%d",0Ah,0
msg1 byte "The answer is: ",0
num1 sdword ?
num2 sdword ?
.code
main proc
mov num1,5
mov eax,num1
mov num2,eax
INVOKE printf, ADDR msg1fmt, ADDR msg1, num2
ret
main endp
end
The problem is, it doesn't work, instead I get error A2206:missing operator in expression
However, I see no missing operator. Am I missing something or is there another problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您似乎使用了不一致的汇编符号。标签是通过位于第 1 列中或使用尾随冒号来确定的:
-- 或 --
但混合符号会使汇编程序感到困惑,更重要的是,使人类感到困惑。
It appears you are using inconsistent assembler notation. Labels are determined either by being in column 1, or using a trailing colon:
-- or --
But mixing the notations confuses the assembler, and more importantly, humans.