我是装配新手(我们在学校使用MSP430控制器)并且我尝试做两件事。
mov #FFFh, R5
(将其移动到第五个寄存器中)cmp #FFFh, #45
mov.b #0, R4 ; indice
mov.b #0, R5 ; contatore
bis.b #00000001b, P1DIR ; led rosso
bis.b #10000000b, P4DIR ; led verde
main_loop: cmp #19, R5
jz end
cmp #FFFFh, 2C00h(R4)
jnz nope
jmp yep
nope: inc.b R4
jmp main_loop
yep: inc.b R4
inc.b R5
jmp main_loop
end: cmp #5, R5
jge red_led
jmp green_led
red_led: bis.b #00000001b, P1OUT
green_led: bis.b #10000000b, P4OUT
编译器日志(我们使用CCS,CodeComposer)说:
" ../ main.asm",错误!在EOF:[E0300]以下符号未定义:
FFFFh时
我该如何解决这个问题?
答案 0 :(得分:1)
以数字(0
... 9
)开头的单词被解释为数字
以字母(A
... Z
)开头的单词被解释为名称(寄存器或变量或标签)。
因此,当十六进制数字以字母开头时,您必须添加零:
cmp #0FFFFh, 2C00h(R4)