嵌入式数据初始化过程(刘帅嵌入式系统-数据处理指令操作数寻址方式之立即数寻址)

嵌入式数据初始化过程(刘帅嵌入式系统-数据处理指令操作数寻址方式之立即数寻址)(1)

立即数寻址方式 #<immediate>

指令编码格式如下图所示:

嵌入式数据初始化过程(刘帅嵌入式系统-数据处理指令操作数寻址方式之立即数寻址)(2)

rotate_imm:4位循环右移值。即之前所提到的公式中的移位数。

immed_8:8位常数。参照下面的立即数公式。

嵌入式数据初始化过程(刘帅嵌入式系统-数据处理指令操作数寻址方式之立即数寻址)(3)

指令操作数<shiter_operand>即为立即数#<immediate>,立即数#<immediate>的生成方式之前已经介绍,不在赘述。当rotate_imm = 0时,循环器的进位值(即Carry-out位)为CPSR中的C条件标志;当rotate_imm != 0时,循环器的进位值(即Carry-out位)为操作数<shiter_operand>的最高为bit[31]。

指令中操作数寻址操作的伪代码如下:

shifter_operand = imme_8 Rotate_Right (rotate_imm * 2)

if rotate_imm == 0 then

shifter_carry_out = C flag

else

shifter_carry_out =shifter_operand[31]

立即数的合法性和编码规则,请查看之前文章中介绍。

示例:

MOV R0 , #0xFC0 ;R0=0xFC0

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页