- 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指令集
我们知道CPU能直接识别的是机器码,也就是0和1组合的东东。不同的组合代表不同的含义,CPU就做不同的事情。按照道理来说,我们写的代码都应该是0和1组成的东西,但是如果真的是那样,那结果....。人类是聪明的,发明了汇编语言,汇编语言是用一些助记符,来代替机器码。当然,汇编语言是不能给CPU识别的,需要编译器将其编译成机器码。
汇编语言是和特定的CPU关联的,不同的CPU对应不同的汇编指令。好在,现在大多数嵌入式CPU都是使用ARM架构的,这样我们只需要学会ARM的汇编指令集,我们写的汇编程序就可以在这些使用ARM架构的CPU上运行。
ARM的汇编指令很多,很难将其全部记住,其实也没必要,我们只需要学会一些常用的ARM汇编指令即可。其他的用到再去查即可。下面我们就开始,必须知道的ARM指令学习。
一、ARM指令格式
ARM指令的基本格式如下:
其中号内是必须的,{}号内的项是可选的。
各项的说明如下:
opcode :指令助记符
cond :执行条件
S :是否影响CPSR寄存器的值
Rd :目标寄存器(一般用来存放指令执行最后的结果)
Rn :第1个操作数的寄存器
operand2 :第2个操作数
1. 其中,我们必须要研究一下operand2这个操作数,它有如下表现形式
(1)#immed_8r——常数表达式
该常数必须对应8位位图,即一个8位的常数通过循环右移偶数位得到,这个数我们也成立即数。
例如:
MOV R0,#1
AND R1,R2,#0x0
例如:0可以拿0x12循环右移位10位得到,所以它是一个合法的立即数。
有人会问,是不是每次我都要去判断一个数是不是立即数,我就需要从0x00~0xff里面找出一个数,将它循环右移偶数个位看是否能的得到,那太麻烦了。有没有一些快速识别的方法呢?肯定是有的呀,当然也不能完全依赖哦,最好就是拿编译器验证,不是,编译器就会报错。
如何判断一个数是否是合法立即数?
首先将这个数转换为32bit 16进制形式,例如218=0xDA=0x000000DA
除零外,仅有一位数为合法立即数。
除零外,仅有二位数,并且相邻(包括首尾,如0x1000000A)的为合法立即数。
除零外,仅有三位数,并且相邻(包括中间有0相间,例如0包括首尾相邻,如:0,这三位数中,最高位取值仅能为1、2、3,最低位取值仅能为4、8、C,中间位0x0~0xF。这种组合的为合法立即数。
除了以上三种,其他基本是非法立即数。
举例:
0xFF是有效立即数。
0x104是有效立即数。
0xFF0、0xFF00、0xFF000、0xFF000000、0xF000000F都是有效立即数。
反例:
0x101是无效立即数。
0x102是无效立即数。
0xFF1、0xFF04、0xFF003、0xFFFFFFFF都是无效立即数。
还有一个要说的就是:只要该数,可以通过0x00-0xFF中某个数,循环右移偶数位而产生,就是合法的立即数,否则就是非法的立即数。
您可能关注的文档
最近下载
- 化学与能源 化学与常规能源.ppt.ppt VIP
- 4-2023学年度第二学期上海市各区语文二模题目分类-说明文阅读-答案.docx VIP
- 材料销售挂靠协议书.docx VIP
- DBJ_T03-113-2019:岩土工程勘察规范.pdf VIP
- 人教版(2024)新教材八年级物理下册第十二章:简单机械每节课(分层作业)汇编(含四套题).doc VIP
- 韩国电影幻灯片.ppt VIP
- 02s404防水套管图集.docx VIP
- 一例糖尿病性视网膜病变患者的个案护理课件.pptx VIP
- 2007维拉克斯 3.8 维修手册.pdf VIP
- [山东]社区服务中心深基坑施工组织设计(土钉墙)15984.doc VIP
文档评论(0)