首页 > 编程知识 正文

MOV指令作用,movp指令

时间:2023-05-06 00:18:39 阅读:178738 作者:99

ARM的MOV命令的格式如下

op2占据12个比特,其中bit11-bit8为移位数目(rotate ),且bit7-0为8个比特的即时数目(imm )、MOV Rn、op2,且在执行之后,rn=op2 ),其中rotate

0x56000000是32位的数,但可以找到这样的8位即时数。 通过向右移动得到。 查看机器码e3a03456,展开为二进制,并对照以下格式

1110 0011 1010 0000 0011 0100 0101 0110

cond[31:28]=1110

[27:26]=00

L[25]=1表示op2是即时数

OpCode[24:21]=1101

S[20]=0

Rn[19:16]=0000

Rd[15:12]=0011,R3

Op2[11:8]=0100,向右移动4 * 2位

op2 [ 7:0 ]=0101 0110,8,8位即时数,0x56

首先,将0x56扩展为32位无符号数,0x00000056,然后循环向右移动8位,即可得到0x56000000

2、mov r3,#0x56000014

0x56000014不能通过轮班获得。 在这种情况下,编译器会报告错误。 用c语言编写的程序,编译器会这样处理。

mov r3,#0x56000000

add r3,r3,#0x14

另一个替代mov的指令是ldr,可能会更方便。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。