学习arm指令之前复习一下关于位运算的知识:
16位数值0x1234中,0x12是高位,0x34是低位
大端序(Big Endian):
高位字节在前(低地址),低位字节在后(高地址)。
存储顺序:0x12 0x34。

左移和右移
左移右移便是将数据的二进制数据向左/向右移动若干位,同时进行填充
实际应用:

  • 提取高位
    int x = 0x1234; // 二进制:0001 0010 0011 0100
    int high = x >> 8; // 高位右移 8 位:0000 0000 0001 0010(0x12)
  • 提取低位
    int x = 0x1234; // 二进制:0001 0010 0011 0100
    int low = x & 0xFF; // 低位与掩码按位与:0011 0100(0x34)

指令格式


常用arm核指令