1. 利用ldr向寄存器里面写较大数据,和设置寄存器的某些位

2. 这个lable 不对呢


验证宏值加载到寄存器里是正确的。

pc 的地址是0x80594

当前pc指针加上宏定义值的地址值。
3 打印字符串


字符串加载了8个字节到寄存器里面, 如何调试打印出来呢?

寄存器里的字符不好打印,我可以打印字符串地址打印8个字节数据
4 打印变量

打印变量值
5 ADS 是c标志位

溢出是c标志位设置为1
6 比较发生溢出 是c标志位设置为1

7 可以看出这个地方是没有溢出的

cmp a b 是 a + (-b) + 1 看溢出没有
sbc

接替步骤是0 + not (0) + c 因此为-1
ands

该图是把nzcv 的zero 位设置为了1
取位

指令最后一个数字是位宽, 取位宽然后填充到第8位开始的地方往前面填充。
ubfx 有不同 哇

是 从第四位取8 位 填充到x3的低位

有符号位全部填充的是f

x1从20 位读取4位 放到x0中, 这个20,就是1的左边,应为这个第一个下标为0 .

这个是从下标为4的位置读取4位 。



















