stm32汇编
在Keil下完成一个汇编程序的编写
新建一个项目 如图配置环境   
 编写一个代码
AREA MYDATA, DATA
AREA MYCODE, CODE
ENTRY
EXPORT __main
__main
MOV R0, #10
MOV R1, #11
MOV R2, #12
MOV R3, #13
;LDR R0, =func01
BL func01
;LDR R1, =func02
BL func02
BL func03
LDR LR, =func01
LDR PC, =func03
B .
func01
MOV R5, #05
BX LR
func02
MOV R6, #06
BX LR
func03
MOV R7, #07
MOV R8, #08
BX LR
动态调试
** ** ** **
观察hex文件
 可将一行分为如下五部分 第一字节为数据长度 第二三个字节表示本行数据的起始地址位 第四个字节分别有以下含义: '00’Data Rrecord:用来记录数据,HEX文件的大部分记录都是数据记录 '01’文件结束记录:用来标识文件结束,放在文件的最后,标识HEX文件的结尾 '02’扩展段地址记录:用来标识扩展段地址的记录 '03’开始段地址记录:开始段地址记录 '04’扩展线性地址记录:用来标识扩展线性地址的记录 '05’开始线性地址记录:开始线性地址记录 最后一个字节为校验和。 
|