大家都应该学过微机原理这门课,其中就有X86汇编,如果知道那么学习ARM汇编就得心应手,ARM汇编只有40多条指令,有7种寻址方式。和X86汇编最大的区别就在他的堆栈寻址和块拷贝寻址。重点掌握堆栈寻址和块拷贝寻址,许多书上都有这部分内容,推荐看田泽的《嵌入式系统开发与应用教程》关于ARM体系和汇编这块的知识。这部分要求是熟悉常用的ARM指令和宏看的懂初始化代码和进行修改 。建议把田泽那本书上P234的程序敲一边,单步调试察看寄存器值明白块拷贝的执行过程。有兴趣了可以写个最简单的程序1+2+….+100
下边是我写的
AREA Block, CODE ,READONLY
NUM EQU 100
ENTRY
MOV R0,#1
LDR R1,=NUM
LOOP
ADD R3,R3,R0
ADD R0,R0,#1
SUBS R1,R1,#1
BNE LOOP
SWI 0X123456
END
在写和修改汇编程序注意在ADS中宏定义前边是一个TAB符,如果没有则可能报一些莫名奇怪的错误。 如果有循环条件尽量选用递减数方法。For(i=100;i!=0;i--)
如果想挑战以下,编写下边程序求1/7,精确到小数点后1000位 。对应的章节在2440的第3章
如果你对ARM汇编有了认识和了解那就进入下一步。