《ARM寻址方式》PPT课件

《ARM寻址方式》PPT课件

ID:45084238

大小:1.36 MB

页数:46页

时间:2019-11-09

《ARM寻址方式》PPT课件_第1页
《ARM寻址方式》PPT课件_第2页
《ARM寻址方式》PPT课件_第3页
《ARM寻址方式》PPT课件_第4页
《ARM寻址方式》PPT课件_第5页
资源描述:

《《ARM寻址方式》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.7ARM处理器的寻址方式ARM指令集可以分为跳转指令、数据处理指令、程序状态寄存器传输指令、Load/Store指令、协处理器指令和异常中断产生指令。根据使用的指令类型不同,指令的寻址方式分为数据处理指令寻址方式和内存访问指令寻址方式。数据处理指令的基本语法格式{}{S},{,}其中<>号内的项是必须的,{}号内的项是可选的。各项的说明如下:opcode:指令助记符;cond:执行条件;S:是否影响CPSR寄存器的值;Rd:目的操作数;Rn:第1个源操作数;ope

2、rand2:第2个源操作数;指令语法目标寄存器(Rd)源寄存器1(Rn)源寄存器2(Rm)ADDr3,r1,r2r3r1r2所有的ARM指令都可以条件执行。如果指令不标明条件代码,将默认为无条件(AL)执行。cond项——条件执行ARM指令可包含一个可选的条件码,根据CPSR中的条件位自动判断是否执行指令,在条件满足时,指令执行,否则指令被忽略。条件码助记符后缀标志含义0000EQZ置位相等0001NEZ清零不相等0010CSC置位无符号数大于或等于0011CCC清零无符号数小于0100MIN置位负数0101PLN清零正数或零01

3、10VSV置位溢出0111VCV清零未溢出1000HIC置位Z清零无符号数大于1001LSC清零Z置位无符号数小于或等于1010GEN等于V带符号数大于或等于1011LTN不等于V带符号数小于1100GTZ清零且(N等于V)带符号数大于1101LEZ置位或(N不等于V)带符号数小于或等于1110AL忽略无条件执行C代码:If(a>b)a++;Elseb++;对应的汇编代码:CMPR0,R1;R0(a)与R1(b)比较ADDHIR0,R0,#1;若R0>R1,则R0=R0+1ADDLSR1,R1,#1;若R0≤R1,则R1=R1+1

4、示例:ARM数据处理指令均可根据执行结果来选择是否更新条件码标志。若要更新条件码标志,加后缀“S”。S项ARM指令集——第2个源操作数灵活的使用第2个操作数“operand2”能够提高代码效率。它有如下的形式:#immed_8r——常数表达式;Rm——寄存器方式;Rm,shift——寄存器移位方式;#immed_8r——常数表达式例如:ANDR1,R2,#0x0FRm——寄存器方式在寄存器方式下,操作数即为寄存器的数值。例如:SUBR1,R1,R2LSL:逻辑左移,空出的最低有效位用0填充。LSR:逻辑右移,空出的最高有效位用0填

5、充。ASL:算术左移,由于左移空出的有效位用0填充,因此它与LSL同义。ASR:算术右移,算术移位的对象是带符号数,移位过程中必须保持操作数的符号不变。如果源操作数是正数,空出的最高有效位用0填充,如果是负数用1填充。ROR:循环右移,移出的字的最低有效位依次填入空出的最高有效位。RRX:带扩展的循环右移。将寄存器的内容循环右移1位,空位用原来C标志位填充。Rm,shift——寄存器移位方式例如:ADDR1,R1,R1,LSL#3;R1=R1+R1<<3SUBR1,R1,R2,LSRR3;R1=R1-R2>>R3语法寻址方式1#<

6、immediate>立即数寻址2寄存器寻址3,LSL#立即数逻辑左移4,LSL寄存器逻辑左移5,LSR#立即数逻辑右移6,LSR寄存器逻辑右移7,ASR#立即数算术右移8,ASR寄存器算术右移9,ROR#立即数循环右移10,ROR寄存器循环右移11,RRX寄存器扩展循环右移数据处理指令寻址方式可以分为以下几种。(1)立即数寻址方式;(

7、2)寄存器寻址方式;(3)寄存器移位寻址方式。立即寻址指令中的操作码字段后面的地址码部分即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数(这样的数称为立即数)。立即寻址指令举例如下:SUBSR0,R0,#1;R0减1,结果放入R0MOVR0,#0xFF000;将立即数0xFF000装入R0寄存器注意:立即数以“#”开头,16进制数在“#”后加“0x”或“&”表示。0x55R0MOVR0,#0xFF00程序存储MOVR0,#0xFF000xFF00从代码中获得数据1.立即数寻址方式立即数寻址方式

8、下,立即数必须是对应8位位图格式,即立即数由一个8位的常数循环移偶数位得到,因此并不是所有的数都可以用作立即数寻址。在立即数寻址方式中,ARM只提供了12bit来放数据。其中8位是用来记录数值的,另外4位放移位的位数,以此来形成一个立即数。合法的立

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

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

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