我正在尝试编写一个在RAM上定义数据的区域,以及我的代码区域。我试图这样做,但我无法让它发挥作用。我还尝试使用EXPORT
和IMPORT
,但在使用时无法解决各种错误。
AREA HEAP, READWRITE, ALIGN=3
MYSTR DCB "JaVid",0
AREA RESET, CODE, READONLY
;IMPORT MYSTR
ENTRY
ADR R0, MYSTR ;STRING POINTER
NEXT LDRB R1, [R0] ;CHARACTER HOLDER
CMP R1, #'a'
BLT OK
CMP R1, #'z'
BGT OK
;WE NEED TO SWITCH
SUB R1, #'a'-'A'
OK STRB R1, [R0], #1
B NEXT
END
请您举例说明它是如何完成的?
答案 0 :(得分:0)
我怀疑您可能遇到问题,因为您无法使用ADR
来引用其他AREA
中的符号。见this section of the fine manual
您可能希望改为使用LDR r0, =MYSTR
。
此外,您的循环似乎没有终止。
[注意:显示您获得的确切错误消息以及您使用上述代码的命令行会很有帮助。]