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

相关推荐
@Mike@44 分钟前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习
六点_dn1 小时前
RabbitMQ学习笔记-定义与作用
笔记·学习·rabbitmq
我的xiaodoujiao2 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
世人万千丶3 小时前
鸿蒙Flutter Flexible与Expanded的区别
学习·flutter·harmonyos·鸿蒙
YM52e4 小时前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
金伟API10246 小时前
SQL Server基础学习笔记
笔记·学习
MartinYeung56 小时前
[论文学习]MiCA:比LoRA和全参数微调学到更多知识
深度学习·学习·机器学习
浮江雾7 小时前
Flutter第十节-----Flutter布局与组件全解析
android·开发语言·前端·学习·flutter·入门
可乐奶茶sky8 小时前
MonoGS 源码学习
学习
金伟API10248 小时前
常见的SQL面试题:经典50例
数据库·人工智能·笔记·sql·学习