weirdcore制作网站,wordpress授权,支持wordpress免费,标准网站是哪个一、数据存储格式
1、半字#xff1a;从偶数地址开始的连续2个字节构成一个半字#xff1b; 字#xff1a;以能被4整除的地址开始的连续4个字节构成一个字#xff1b; ARM指令的长度刚好是一个字#xff0c;Thumb指令的长度刚好是一个半字。
2、存储器格式 3、大小端存储…一、数据存储格式
1、半字从偶数地址开始的连续2个字节构成一个半字 字以能被4整除的地址开始的连续4个字节构成一个字 ARM指令的长度刚好是一个字Thumb指令的长度刚好是一个半字。
2、存储器格式 3、大小端存储 (1)、小端存储器系统在小端格式中数据的高字节存放在高地址中。如下图小端存储模式下0x12345678在A地址开始的一个字空间的存储 (2)、大端存储器系统在大端格式中数据的高字节存放在低地址中。如下图大端存储模式下0x12345678在A地址开始的一个字空间的存储 二、处理器状态 ARM920T处理器内核包含2套指令系统分别为ARM 指令集和Thumb 指令并且各自对应1种处理器的状态 (1)、ARM状态32位处理器执行字方式的ARM指令处理器默认为此状态 (2)、Thumb状态16位处理器执行半字方式的Thumb指令。 注意两个状态之间的切换并不影响处理器模式或寄存器内容。 三、处理器模式 ARM 有7个基本工作模式可以更好的支持操作系统并提高工作效率。 (1)、用户模式(usr)正常程序执行的模式大部分任务执行在这种模式。 (2)、快速中断模式(fiq)高速数据传输或通道处理。当一个高优先级(fast)中断产生时将会进入这种模式。 (3)、外部中断模式(irq)通常的中断处理。当一个低优先级(normal)中断产生时将会进入这种模式。 (4)、管理模式(svc)供操作系统使用的一种保护模式。当复位或软中断指令执行时将会进入这种模式。 (5)、中止模式(abt)虚拟存储及存储保护。当存取异常时将会进入这种模式。 (6)、未定义模式(und)软件仿真硬件协处理器。当执行未定义指令时会进入这种模式。 (7)、系统模式(sys)特权级的操作系统任务。 四、内部寄存器
1、寄存器 在ARM处理器内部共有37个用户可访问的寄存器分别为31个通用32位寄存器和6个状态寄存器。ARM处理器共有7种不同的处理器模式每种模式都有一组相应的寄存器组最多可以18个活动的寄存器。 寄存器R0R7为未分组的通用寄存器它们在任何处理器模式都对应于相同的32位物理寄存器。 寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式另一个用于FIQ模式。在发生FIQ中断后处理器不必为保护寄存器而浪费时间从而加速了FIQ的处理速度。 寄存器R13通常作为堆栈指针SP用于保存待使用的寄存器的内容。 寄存器R14称为链接寄存器LR在结构上有两个特殊功能(1)当使用BL指令调用子程序时返回地址将自动存入R14中(2)当发生异常时将R14对应的异常模式版本设置为异常返回地址有些异常有一个小的固定偏移量。 寄存器R13、R14分别有6个分组的物理寄存器。1个用于用户和系统模式其余5个分别用于5种异常模式。 寄存器R15称为程序计数器PC它指向正在“取指”的指令。 寄存器CPSR为当前程序状态寄存器在异常模式中另外一个寄存器“程序状态保存寄存器SPSR”可以被访问。每种异常都有自己的SPSR在进入异常时它保存CPSR的当前值异常退出时可通过它恢复CPSR。 2、状态寄存器 格式如下 (1)、中断禁止控制位I和F 当控制位I置位时IRQ中断被禁止 当控制位F置位时FIQ中断被禁止。 (2)、处理器状态T 当控制位T置位时处理器正在Thumb状态下运行 当控制位T清零时处理器正在ARM状态下运行。 警告绝对不要强制改变CPSR寄存器中的控制位T。如果这样做处理器将进入一个无法预测的状态。 (3)、处理器模式位M0-M4 (4)、条件代码标志 N 运算结果的最高位反映在该标志位。对于有符号二进制补码结果为负数时N1结果为正数或零时N0 Z 指令结果为0时Z1通常表示比较结果“相等”否则Z0 C 当进行加法运算(包括CMN指令)并且最高位产生进位时C1否则C0。当进行减法运算(包括CMP 指令)并且最高位产生借位时C0否则C1。对于结合移位操作的非加法/减法指令C为从最高位最后移出的值其它指令C通常不变 V 当进行加法/减法运算并且发生有符号溢出时V1否则V0其它指令V通常不变。 五、异常介绍
1、ARM 有7种异常