您好、欢迎来到现金彩票网!
当前位置:手机棋牌游戏下载 > 伪指令 >

adr实现什么跳转ldr实现什么跳转

发布时间:2019-09-02 22:53 来源:未知 编辑:admin

  LDR用于从内存中将一个32位的字读取到指令的目标寄存器中,如果PC作为指令中的目标寄存器,指令就可以实现程序的跳转功能。

  其实ARM的LDR指令有两种,一种就是LDR指令,另一个是LDR伪指令,它们的写法一样,但是含义不一样,伪指令的LDR有“=”,所以你所给的三个指令中,第一个LDR是ARM的LDR指令,第三个是ARM的伪指令LDR,伪指令LDR=后面的数是一个32位的立即数(可以立即为常量),在汇编编译源程序时,LDR 伪指令被编译器替换成一条合适的指令。若加载的常数未超出 MOV 或 MVN 的范围,则使用 MOV 或 MVN 指令代替该 LDR 伪指令;否则汇编器将常量放入文字池,并使用一条程序相对偏移的 LDR 指令从文字池读出常量。LDR 用于加载芯片外围功能部件的寄存器地址(32 位立即数),以实现各种控制操作。从 PC到文字池的偏移量必须小于 4 KB。

  ADR将一个基于PC或者寄存器的相对地址装载到寄存器R0中,主要限制是对expr这个地址的寻址范围,如果expr是字对齐的,那么它的寻址范围是(+-)1024字节,如果是非对齐的地址那么寻址范围只有(+-)255字节。它主要用于在一个小范围内读取数据。

  也就是说到底用那个,取决于后面的TABLE的类型和大小的。如果是从内存中读取一个数据到寄存器就用第一个,小范围读就用第二个,读取一个32位常量类型的地址用第三个。

http://tennisinspokane.com/weizhiling/653.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有