学习嵌入式的第三十九天——ARM——汇编

1、什么是立即数?如何判断某数是否是12位立即数?

立即数是在指令段中,无需存取直接使用的数,是指令的内置常量

判断:由于在32位arm架构中,立即数只占12位,其中高4位为旋转位(实际旋转次数位旋转位值*2),低8位为无符号数,

那么判断标准,一个数可不可以由一个8位数经过偶数次循环右移得到

2、b,bl,bx指令的区别是什么?

b是直接修改pc值进行跳转

bl是将下一条指令的地址保存在lr寄存器后再修改pc值进行跳转

bx是用lr中的值来修改pc值进行跳转

3、ARM内核采用的栈是哪种栈?

满减栈

满:栈顶指针指向的位置有值

减:栈底在高地址处,往低地址处生长

4、CPSR中条件标志位,分别在什么情况下被置位

N:当上一次算术逻辑运算结果的第32位为1时,N置1

Z:当上一次算术逻辑运算结果为0(所有bit位都是0)时,Z置1

C:无符号数,当上一次算术逻辑运算发生进位或者没有借位时置1

V:有符号数,当上一次算术逻辑运算的最高位有溢出时(两个正数相加得负数,两个负数相加得正数)置1

相关推荐
charlie1145141913 小时前
精读《C++20设计模式》:重新理解设计模式系列
学习·设计模式·c++20·攻略
宛 禾3 小时前
list的学习
c++·学习
科技林总4 小时前
【TS3】搭建本地开发环境
学习·typescript
能不能别报错4 小时前
K8s学习笔记(四) etcd组件
笔记·学习·kubernetes
励志成为美貌才华为一体的女子5 小时前
每日AI学习笔记----Qwen3-Omni 、HuatuoGPT-o1医学复杂推理
笔记·学习
程序边界5 小时前
深度学习学习路线图:从MNIST到MobileNetV4,从理论到实践的完整指南
人工智能·深度学习·学习
向阳花开_miemie6 小时前
Android音频学习(二十)——高通HAL
android·学习·音视频
奇某人6 小时前
【语法】【Plantuml】思维导图基础语法
学习·嵌入式
澄澈i7 小时前
CMake学习篇[2]---CMake进阶+非同级目录构建+静态库/动态库链接
c++·学习·cmake