【发布时间】:2015-10-20 21:17:22
【问题描述】:
这是我的宏:
; Good old DJNZ meets ARM!
MACRO
DJNZ $register, $target
SUBS $register, $register, #1
BNE $target
MEND
还有我的用法:
DELAY PROC
PUSH {R2, LR} ; Push the changed registers & link register
WAIT_OUTER LDR R2, =40000 ; Length of inner loop
WAIT_INNER DJNZ R2, WAIT_INNER
DJNZ R0, WAIT_OUTER
POP {R2, PC} ; Pop & return
ENDP
我收到此错误:
== 编译 main.asm 为 main.o == “main.asm”,第 167 行(第 9 列):错误:A1516E:错误符号 'WAIT_INNER',未定义或外部 在“macros.s”中宏 DJNZ 的第 167 行 167 000000d0 BNE WAIT_INNER ^ 1 个错误,0 个警告 make: *** [main.o] 错误 1想法有什么问题?根据手册,将标签传递给宏应该可以工作。
【问题讨论】: