学习嵌入式的第三十九天——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

相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
我在人间贩卖青春4 天前
汇编之伪指令
汇编·伪指令
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode