×

ARM指令寻址方式之内存访问指令寻址

消耗积分:1 | 格式:rar | 大小:0.3 MB | 2017-10-18

分享资料个

 4.2 内存访问指令寻址
  根据内存访问指令的分类,内存访问指令的寻址方式可以分为以下几种。
  ① 字及无符号字节的Load/Store指令的寻址方式。
  ② 杂类Load/Store指令的寻址方式。
  ③ 批量Load/Store指令的寻址方式。
  ④ 协处理器Load/Store指令的寻址方式。
  4.2.1 字及无符号字节的Load/Store指令的寻址方式
  字及无符号字节的Load/Store指令语法格式如下:
  LDR|STR{《cond》}{B}{T} 《Rd》,《addressing_mode》
  其中《addressing_mode》共有9种寻址方式,如表4.2所示。
  表4.2 字及无符合字节的Load/Store指令的寻址方式
  格 式模 式
  1[Rn,#±《offset_12》]立即数偏移寻址
  (Immediate offset)
  2[Rn,±Rm]寄存器偏移寻址
  (Register offset)
  3[Rn,Rm,《shift》#《 offset_12》]带移位的寄存器偏移寻址
  (Scaled register offset)
  4[Rn,#±《 offset_12》]!立即数前索引寻址
  (Immediate pre-indexed)
  5[Rn,±Rm]!寄存器前索引寻址
  (Register post-indexed)
  6[Rn,Rm,《shift》#《 offset_12》]!带移位的寄存器前索引寻址
  (Scaled register pre-indexed)
  7[Rn],#±《 offset_12》立即数后索引寻址
  (Immediate post-indeded)
  8[Rn],±《Rm》寄存器后索引寻址
  (Register post-indexed)
  9[Rn],±《Rm》,《shift》#《 offset_12》带移位的寄存器后索引寻址
  (Scaled register post-indexed)
  字及无符号字节的Load/Store指令的解码格式如图4.13所示。
  ARM指令寻址方式之内存访问指令寻址
  图4.13 字及无符号字节的Load/Store指令的解码格式
  编码格式中各位的含义如表4.3所示。
  表4.3 字和无符号半字Load/Store指令编码格式各位含义
  位 标 识取 值含 义
  PP=0使用后索引寻址
  P=1使用偏移地址或前索引寻址(由W位决定)
  UU=0访问的地址=基址寄存器的值-偏移量(offset)
  U=1访问的地址=基址寄存器的值+偏移量(offset)
  BB=0字访问Load/Store
  B=1无符号字节访问Load/Store
  WW=0如果P=0,该指令为LDR、LDRB、STR或STRB指令,且内存访问指令为正常访问指令;如果P=1,指令执行不更新基地址
  W=1如果P=0,该指令为LDRBT、LDRT、STRBT或STRT,且指令为非特权(用户模式)访问指令;如果P=1,计算内存地址并更新基地址
  LL=0Store指令
  L=1Load指令
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !