- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实践ARM的指令格式.pdf
ARM 的指令格式
实验原理
ARM指令集— — 指令格式
ARM指令的基本格式如下:
opcode {cond} {S} Rd ,Rn{,operand2}
其中号内的项是必须的,{}号内的项是可选的。
各项的说明如下:
opcode:指令助记符; Rd:目标寄存器;
cond:执行条件; Rn:第1个操作数的寄存器;
S:是否影响CPSR寄存器的值; operand2:第2个操作数;
#immed_8r— — 常数表达式
该常数必须对应8位位图(pattern),即一个8位的
常数通过循环右移偶数位得到,为合法常量。
循环右移10位
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
0x00 0x00 0x00 0x12
8位常数
0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0x04 0x80 0x00 0x00
条件码
使用条件码“cond”可以实现高效的逻辑操作,提高代码效率。
所有的ARM 指令都可以条件执行,而Thumb 指令只有 B (跳转)指令具有条件
执行功能。如果指令不标明条件代码,将默认为无条件 (AL )执行。
操作码 条件助记符 标志 含义
0000 EQ Z=1 相等
0001 NE Z=0 不相等
0010 CS/HS C=1 无符号数大于或等于
0011 CC/LO C=0 无符号数小于
0100 MI N=1 负数
0101 PL N=0 正数或零
0110 VS V=1 溢出
0111 VC V=0 没有溢出
1000 HI C=1,Z=0 无符号数大于
1001 LS C=0,Z=1 无符号数小于或等于
1010 GE N=V 有符号数大于或等于
1011 LT N!=V 有符号数小于
1100 GT Z=0,N=V 有符号数大于
1101 LE Z=1,N!=V 有符号数小于或等于
1110 AL 任何 无条件执行 (指令默认条件)
1111 NV 任何
文档评论(0)