ARM体系结构学习笔记:PC寄存器

PC寄存器

32位thumb也是采用三级流水线结构,但是每个指令位2个字节因此+4
  1. thumb模式读PC寄存器
mov r0, pc ; thumb mode r0 = pc + 4

ARM体系结构学习笔记:PC寄存器_第1张图片

LDR             R1, =(aLd - 0xAC3B62C)
ADD             R1, PC                  ; "%ld\n"

ARM体系结构学习笔记:PC寄存器_第2张图片

  1. thumb模式使用LDR使用PC进行间接寻址
如果pc为非4字节对齐, pc会向上对齐
  1. arm模式读PC寄存器
mov r0, pc ; arm mode r0 = pc + 8

ARM体系结构学习笔记:PC寄存器_第3张图片

ldr r0, [pc, #2] ; r0 = mem(pc + 8 + offset(2))

ARM体系结构学习笔记:PC寄存器_第4张图片

背后原理

  1. 32位arm,采用3级流水线结构

ARM体系结构学习笔记:PC寄存器_第5张图片

  1. 64位arm,采用5级流水线结构体
    ARM体系结构学习笔记:PC寄存器_第6张图片

你可能感兴趣的:(智能硬件,嵌入式开发,arm开发,学习,笔记)