You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于ARMv7A指令ldrh r0, [r1], r2的存储器传输字节数问询

关于ARMv7A指令ldrh r0, [r1], r2的存储器传输字节数问题

结论

ISA规定的微处理器与存储器之间的传输字节数是2字节,并非你猜测的6字节。

具体解释

  • ldrh是ARMv7A的无符号半字加载指令,采用后变址寻址:从r1指向的存储器地址读取2字节半字数据,加载到寄存器r0,之后再用r2的值更新r1。
  • 你提到的“向寄存器写入4字节字”是误解:ldrh加载半字后,会在处理器内部将半字零扩展为32位(适配ARM的32位通用寄存器),这个扩展操作完全在CPU内部完成,不涉及与存储器的额外数据交互。
  • 整个指令周期里,处理器和存储器之间仅发生一次数据传输:读取2字节的半字,没有其他与存储器相关的读写操作。

内容的提问来源于stack exchange,提问作者Angela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:32:03