ARM的合法立即数与非法立即数.docxVIP

  • 40
  • 0
  • 约小于1千字
  • 约 1页
  • 2020-11-10 发布于天津
  • 举报
2/ 2 2/ 2 1 / 2 1 / 2 ARM 指令的立即数,要求立即数以 “#”为前缀,对于以十六进制表示的立 即数,还要求在 辛”后加上“ ox” “ 合法的立即数与非法的立即数(教材 P158) 在 Arm 处理器中,立即数必须是对应 8 位位图格式,即立即数是由一个 8bit 的常数在 16 位或 32 位的寄存器中循环移动(向左或向右都行)偶数位得 到的。合法的立即数必须能够找到得到它的那个常数,否则这个立即数就是非 法的。 例如: 0x3F8是合法的,把它写成二进制形式为:001111111000b因为:它是用一 个8bit的常数0xFE()在16位的寄存器中循环向左移动 2位就可以 得到0x3F8,见下图的:判断一个立即数是否合法的办法: 1)首先把这个数用二进制表示出来,然后看这个数中 1)首先把这个数用二进制表示出来,然后看这个数中 1的”最大间隔是 16位或 32寄存8(包含首尾的两多少,要看两次,一次是顺序看,一次是循环看,循环看是把 器的首尾连起来,越过首尾来看,两次中如果最大间隔都大于 个 16位或 32寄存 8(包含首尾的两 ( 2)此时又分为两种情况, (A) 如果顺序看时1的最大间隔等于8,此时可以看看,这个数最高位1 的前面或者最低位 1 的后面是否有偶数个 0,只要一种情况下有,这个数就是合 法的。 (B) 如果循环看

文档评论(0)

1亿VIP精品文档

相关文档