2021-10-03


一、Keli创建汇编项目

打开keli,选择并创建项目,选择项目文件夹并设置项目名称,然后选择合适的芯片版本。文件夹和项目名尽量不要含有中文
请添加图片描述

二、使用步骤

1.选择运行环境


这里选择这两个即可。

2.编写汇编代码

代码如下:

 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, =func03
	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

,右键点击source group, 选择add new item, 选择创建.s文件,然后将其复制进项目其中

3.进行仿真调试

点击魔法棒,然后再弹出的窗口中,将debug内项目改为下图所示:
在这里插入图片描述
然后点击project,选择build target,如果没有报错,就代表编译完成。
然后,建立适当断点,选择并开始debug。点击run,程序将运行到设置的断点处自行停止。然后可以观察寄存器中值。运行前请添加图片描述
运行后
请添加图片描述
可以看到r1,r2,r3等寄存器燃按预想发生了相应变化。


hex文件

HEX文件每行的ASCII数据作为一个记录-行记录,由16进制数据组成。并且每行数据包含5个不同的域。

Hex文件数据格式

(1):-- 每个行记录都以冒号作为开始;

(2)表示当前行记录的数据长度(1个字节),表示当前行当中的数据域(D.D)字节长度,可为0x00;

(3)地址域,根据类型域的不同分别代表不同含义,地址字节为2个字节,最大只能表示64K(2)的数据大小。;

(4)当前行记录的类型(1个字节),可能的值为:0x00(数据记录)、0x01(HEX文件结束记录,在最后一行)、0x02(扩展段地址记录)、0x03(开始段地址记录)、0x04(扩展线性地址记录)、0x05(开始线性地址记录);

(5)DD – 行记录的数据域,其字节长度域对应,可为空,长度不定;

(6)校验和(1个字节),校验和= 0x100 - (累加和%100),其中累加和为前四个域的相加的结果

Guess you like

Origin blog.csdn.net/weixin_45747542/article/details/120597924