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

伪指令的MOV32 伪指令

发布时间:2019-07-10 03:43 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  MOV32 始终会生成两个 32 位指令,即一个 MOV、MOVT 对。 您可利用它加载任何 32 位常数或访问整个地址空间。

  将相对于程序的地址或外部地址载入寄存器中。 无论链接器将包含 MOV32 的 ELF 代码段置于何处,该地址始终有效。

  本节仅介绍 LDR 伪 指令。 有关 LDR 指令 的详细信息,请参阅 内存访问指令。

  有关使用 LDR 伪指令加载常数的信息,请参阅用 LDR Rd, =const 加载。

  如果 expr 的值位于范围内,则汇编程序将会生成一个 MOV 或 MVN 指令。

  如果 expr 的值不在 MOV 或 MVN 指令的范围内,则汇编程序会将常数放入文字池中,并会生成一个相对于程序的 LDR 指令,该指令可从文字池中读取此常数。

  是一个与程序相关的表达式或外部表达式。 汇编程序会将 labelexpr 的值放入文字池中,并会生成一个与程序有关的 LDR 指令,该指令可从文字池中加载该值。

  如果 labelexpr 是一个外部表达式,或未包含在当前代码段内,则汇编程序将会在目标文件中放入一个链接器重新定位指令。 链接器将在链接时生成该地址。

  如果 labelexpr 是一个局部标签(请参阅局部标签),则汇编程序会在目标文件中放入一个链接器重新定位指令,并会为该局部标签生成一个符号。 该地址将在链接时生成。 如果局部标签引用了 Thumb 代码,则还会设置该地址的 Thumb 位(位 0)。

  当立即数由于超出了 MOV 和 MVN 指令的范围,而不能被移入寄存器中时,生成文字常数。

  将相对于程序的地址或外部地址载入寄存器中。 无论链接器将包含 LDR 的 ELF 代码段置于何处,该地址始终有效。

  有关如何使用 LDR 的详细说明,以及有关 MOV 和 MVN 的详细信息,请参阅将常数加载到寄存器。

  对于 ARMv6T2 及更高版本的 Thumb 代码,您可以使用 .W 宽度说明符强制 LDR 生成 32 位指令。LDR.W 始终生成 32 位指令,即使利用 16 位 MOV 就可完成常数的加载,或在 16 位 pc 相对载入范围内有文字池。

  如果在第一次汇编时,汇编程序尚不知道常数值的相关信息,则不带 .W 的 LDR 将会在 Thumb 代码中生成 16 位指令,即使这会导致对于可在 32 位 MOV 或 MVN 指令中生成的常数,会通过 16 位 pc 相对加载来完成其加载。 但是,如果在第一次汇编时汇编程序就已经知道了该常数,并且该常数可以通过 32 位 MOV 或 MVN 指令生成,则将会使用 MOV 或 MVN 指令。

  有关如何在不利用文字池加载的情况下来生成常数或地址的信息,请参阅MOV32 伪指令。

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