为什么我不能在masm中定义这个符号?

时间:2011-10-30 02:14:46

标签: assemblies symbols masm

我刚刚开始学习英特尔程序集,我在使用这个简单程序时遇到了麻烦。

main    PROC            ;program execution begins here
A   =   1               ;define A with 1
B   =   12o             ;define B with 12 octal
X   dword   A1h         ;initialize the variable X with value A1 hex
Y   dword   11001001b   ;initialize the variable Y with value 11001001 binary

SUM dword   0       ;initializes the sum variable to 0
ADD EAX, A          ;adds A to sum
ADD EAX, B          ;adds B to sum
ADD EAX, X          ;adds X to sum
ADD EAX, Y          ;adds Y to sum
MOV SUM, EAX        ;
exit                ;end of program
main    ENDP

但每当我尝试构建它时,它会显示“错误A2006:未定义的符号:A1” 如果有人能帮助我,那就太好了。

2 个答案:

答案 0 :(得分:2)

你必须写0A1h,因为A1h看起来像一个变量名。

答案 1 :(得分:2)

这表示以带有0 http://www.piclist.com/techref/language/masms.htm

的字母开头的前缀十六进制值