我是一名正在学习汇编语言基础知识的学生。我遇到了一个问题,即程序将内部过程调用标记为未定义的符号(A2006)。同时调用包含的图书馆工作得很好。
在网上看到这个问题之后,我只看到人们因为忘记在包含文件中使用put而遇到外部调用问题。至于程序本身,我看到人们以两种不同的方式设置它们,并且都给了我未定义的错误。
INCLUDE whatever
.data
.code
main proc
coding
CALL procedurefromwhatever ;this works just fine
CALL name ;this is the part that returns the A2006 undefined error
CALL name_proc ;this doesn't work either
exit
main ENDP
end main
name proc
coding
ret
name ENDP
name_proc:
coding
ret
name ENDP
答案 0 :(得分:2)
end main
行应关闭整个文档,因此将其移至底部(在第二个name ENDP
之后),文档在错误的位置关闭,因此这些过程不属于代码段,它们无法识别:
INCLUDE whatever
.data
.code
main proc
coding
CALL procedurefromwhatever ;this works just fine
CALL name ;this is the part that returns the A2006 undefined error
CALL name_proc ;this doesn't work either
exit
main ENDP
;end main ◄■■■ WRONG PLACE. MUST BE AT THE BOTTOM.
name proc
coding
ret
name ENDP
name_proc:
coding
ret
name ENDP
end main ;◄■■■ RIGHT HERE!!!