arm指令集学习的总结

arm指令集学习的总结

ID:30277299

大小:1.81 MB

页数:17页

时间:2018-12-28

arm指令集学习的总结_第1页
arm指令集学习的总结_第2页
arm指令集学习的总结_第3页
arm指令集学习的总结_第4页
arm指令集学习的总结_第5页
资源描述:

《arm指令集学习的总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案四、ARM7指令集(只看了ARM指令)(一)说明1.处理器指令都是助记符,代表了一串二进制代码。2.指令LDMIAR5,{R2,R7,R8};是多寄存器寻址方式,意思是把R5中的数据作为地址,把这个地址的数据赋给R2,把R5的下一个地址的数据赋给R7,在把下一个地址的数据赋给R8,是一条无条件执行指令。3.ARM指令特点:4.指令可选后缀(1)S后缀精彩文档实用标准文案四、ARM7指令集(只看了ARM指令)(一)说明1.处理器指令都是助记符,代表了一串二进制代码。2.指令LDMIAR5,{R2,R7,R8};是多寄存器寻址方式,意思

2、是把R5中的数据作为地址,把这个地址的数据赋给R2,把R5的下一个地址的数据赋给R7,在把下一个地址的数据赋给R8,是一条无条件执行指令。3.ARM指令特点:4.指令可选后缀(1)S后缀精彩文档实用标准文案(2)!后缀!后缀的含义:在指令的地址表达式中含有!后缀时,指令执行后,基址寄存器中的地址将发生变化,变化结果为:基址寄存器中的地址值(指令执行后)=指令执行前的值+地址偏移量举例:LDMIAR3,[R0,#04]!;R3←[R0+#04],使用!后缀精彩文档实用标准文案(1)B后缀(4)T后缀T后缀是一个很特殊的可选后缀,含义:指令在特权模

3、式下对存储器的访问,将被存储器看成是用户模式的访问。(5)条件后缀在CPSR镇南关存放这条件标志位,他们反映了指令执行结果的某些特征,如两个数据比较结果是否相等,相加是否溢出等,在判断时,都要用到这些条件标志位,条件标志位往往引起程序分支。例:精彩文档实用标准文案精彩文档实用标准文案精彩文档实用标准文案(二)指令集ARM数据传送指令(存储器访问指令)以ARM为核的单片机结构中,所有的外围模块(片内)都和存储单元一样,是ARM的不同地址单元,无论这些模块的功能如何(通信,输入输出,定时器,存储器等),也无论这些模块的位置在片内还是片外,ARM处理

4、器都把它们视为外部存储器。其操作和对存储器操作是相同的。ARM处理器的数据传送指令只针对存储器,所以也可叫存储器访问指令。把寄存器到存储器传送叫存储,把数据从存储器到寄存器的传送叫加载,ARM只有两种数据传送:存储和加载。精彩文档实用标准文案举例:其中LDR指令是把数据从外部存储器传送到内部寄存器的指令,也叫加载指令;STR指令是把数据从内部寄存器传送到外部存储器的指令,也称为存使用语句标号,使用语句标号是寻址是一种简单有效的寻址方法,注意PC作用精彩文档实用标准文案(1)从寄存器到存储器的情况,一个字节的传送只能传送最低一个字节,如果要存储其

5、他字节就需要移位操作,但是寄存器是32位结构,所以实际上有32位数据进入数据总线,只是把最低字节拷贝4次,这样四个字节都是一样的。在进行字节传送时,要弄清楚存储器是否有单字节接受能力。(2)从存储器到寄存器的加载过程从存储器读出数据时,也是32位数据,ARM处理器执行指令时,把所选择的传送字节放在低8位,其余的用0填充。(1)大端方式和小端方式注意:(1)指令的代码代表的是此助记符所表达的二进制是什么,了解这些有助于汇编调试。(2)数据传送指令基本的就是LDR和STR然后再加上后缀后会衍生出很多。在相对寻址中的相对偏移时,如STRR4,SRAR

6、T含义就是把R4中的数据存储到标号指向的地址单元中去,如果标号是程序所使用的一个标号,那么此语句的含义就是修改标号所指向的程序,是无法执行的指令,因此,在使用相对偏移存储指令时,一要注意语句标号不能指向程序存储器的程序存储区,要指向程序存储器的数据存储区和数据存储器的数据存储区。二是所指向的区域是可修改的,如用户模式下,有些存储区是不能访问或是只读的。(3)对语句LDRR4,START+0X4000,是一条错误的指令,因为程序相对偏移规定不得超过±4096字节。精彩文档实用标准文案分支指令1.分支指令B和分支连接指令BL程序简单跳转使用分支指令

7、B;在需要保存跳转地址时,使用分支链接指令BL。指令格式:B[Cond]偏移表达式BL[Cond]偏移表达式说明:(1)其中[Cond]是可选条件后缀,使用不受到限制。(2)跳转的范围是±32M地址(3)在执行跳转指令时,处理器并不保存状态寄存器CPSR。精彩文档实用标准文案2.分支和交换指令BX在ARM指令集和THUMB指令集之间进行程序跳转时,,使用分支和交换指令BX。指令格式:BX[Cond]RnARM数据处理指令1.注意(1)ARM处理器的数据处理指令和外部存储器无关,而只涉及寄存器和立即数,也就是说数据处理指令是内部寄存器之间实现的的

8、。(2)前面的所有外部存储器的寻址方式,都不适用。(3)一般采用寄存器寻址(4)其中的数据传送指令只是内部寄存器之间的数据传送。(5)数据处理指令和数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。