ARM 汇编中的立即数
时间:11-10
来源:互联网
点击:
ARM 汇编中对汇编指令被编码成 32bit 的机器码,其中对于立即数寻址的指令,其机器码构成如下:
31 28 | 27 26 25 | 24 21 | 20 | 19 16 | 15 12 | 11 8 | 7 0 |
cond | 0 0 1 | opcode | S | Rn | Rd | rotate_imm | immed_8 |
规定 0~11 位表示 shift operand,表示立即数时, #immediate 由这两部分构成:
immediate = immed_8 >> (rotate_imm*2)
也就是说只有满足上述构成条件的立即数才是合法的操作数,那么以下立即数
0x101,0x102,0xFF1,0xFF04,0xFF003,0xFFFFFFFF,0xF000001F
都是非法的!!编译器编译的时候会出现如下警告
error A0092: no immediate rotate operand can be created
看来想实现上面的一个立即数,只能通过好几条指令来实现了!
ARM汇编立即 相关文章:
- arm汇编立即数有效位数判断(11-21)
- ARM汇编中的立即数(11-09)
- 浅述ARM汇编的立即数(11-09)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)