期中考试前知识点总结
复习了顺便写写
- 编写代码块,实现主循环次数+1
`.include "includ.inc`
.section .data
mMainLoopCount: //定义主循环次数
// .equ MainLoopNUM,4556677 //主循环次数设定值(常量)
ldr r2,=mMainLoopCount
ldr r1,[r2]
add r1,#1
str r1,[r2]
- 内存中给出一个地址号,写入一个字节数据的指令序列
录音截取下来的 不太清楚
个人感觉类似于,给出把存储器的一个地址(label1)的出局存储到另一个地址(label2)的指令代码
.equ m1,label1 //定义常量名m1=label1
LDR R1,=m1 //将常量名m1的值label1放到r1中
.equ m2,label2 //定义常量名m2=label2
ldr r2,=m2 //将常量名m2的值label2放到r2中
str r1,[r2] //把r1的字存储到地址r2
- 冯诺依曼结构的特点和哈佛结构的区别
冯诺依曼结构的特点:由存储器 控制器 运算器 输入设备 输出设备 5部分组成;信息采用二进制表示;是一种将程序指令传入程序指令存储器和数据存储器的计算机设计概念结构
哈佛结构:主要特点是将指令和数据存储在不同的存储空间中,指令寄存器和数据寄存器独立编址 独立访问,执行时可预先读取下一条指令
- 立即数前缀"=“和”#"的区别以及适用场合
"#"后跟的是立即数,范围为0-255,多用于"MOV Rn,#imm"指令,表示将立即数加载到Rn寄存器中
“=“后跟的是”.word"定义的标号或是”.equ"定义的常量名,多用于"LDR Rn,=label"指令,表示将label地址处对应的数据的起始地址加载到Rn寄存器中
- 中英常用语之CPU常用寄存器
SP(stack pointer) 寄存器R13 栈指针
LR(link register) 寄存器R14 连接寄存器
PC(program count register) 寄存器R15 程序计数寄存器
ASPR(application status register) 应用程序状态jcq
IPSR(interrupt program status register) 中断程序状态jcq
EPSR(execution program status register) 执行程序状态jcq
PRIMASK 中断屏蔽寄存器
FAULTMASK 错误屏蔽寄存器
BASEPRI 基本优先级屏蔽寄存器
CONTROL 控制寄存器
- Flash和Ram大小+地址
。STM32L431RCT6 芯片的片内 Flash 存储区的大
小为 256KB,地址范围为 0x0800_0000~0x0803_FFFF。片内 RAM 分为 SRAM1,SRAM2;
SRAM1 存储区大小为 48KB,地址范围为 0x2000_0000~0x2000_BFFF;SRAM2 存储区大小
为 16KB,地址范围为 0x2000_C000~0x2000_FFFF。
- 基本指令