欢迎光临散文网 会员登陆 & 注册

(基于ARM的)微机原理与接口技术笔记特别篇

2021-12-11 22:21 作者:会整活的剑人  | 我要投稿

首先是我的一次仪光培训的手写讲义(更多请移步北航仪器光电人微信公众号)

这些是GPIO的一些应用

IIC在后面的笔记还会继续更新

然后是R710F的汇编语言使用举例

0:写在前面

下面的代码都是从我的实验报告里面粘的

实验环境:KEIL ARM v5 需要安装Legacy Device Pack以支持R710F

开项目点STR710FZ2 不copy启动文件 关闭scatter文件

本人练习使用汇编语言心得:

程序需要注意分段和缩进问题(似乎是ARMCC汇编特有的) 

储存结果的不要放到 readonly 段里面

调试需要关注寄存器和内存和反汇编 直接进内存找数据 注意大小端问题

1:两个整数相加

运行效果:

2:BCD码转asc码

思路:4位4位的处理,提取然后加0x30

代码


运行效果

3:查阶乘表

代码

运行效果

4:求2个数的较大值

代码

5:十六进制转asc

思路:如果>10就先加7再转换,否则直接转换

代码:


6:实现表达式

代码

运行效果:

解析(节选自某个上古教程上的):

不对,所以必须有强制跳转的指令

7:对一串数据求和

代码

运行效果:

8:汇编求字符串长

代码:

运行效果

9:复制内存块

代码

运行效果:

10:用subprocedure求数组中最大值

代码:

运行效果:

11:16进制转字符串

注意需要修改栈底地址.栈是向下生长的,否则下标越界导致abort.

运行结果:(需要手工改地址0x20000000处的值令输入为0x2bfa)

代码:

运行效果:

12:用assembler解决下面这个问题

代码:

运行结果

13:汇编调用C程序

注意scatter文件

项目结构和汇编代码:

C代码

运行结果

14:内嵌汇编

注意需要启动文件

C程序代码

运行效果

15:C调用汇编

项目结构 需要启动代码

C代码(可以不用stdio.h文件的)

汇编代码

运行效果


(基于ARM的)微机原理与接口技术笔记特别篇的评论 (共 条)

分享到微博请遵守国家法律