[高等教育]第二讲 arm指令集

[高等教育]第二讲 arm指令集

ID:27592653

大小:1.23 MB

页数:112页

时间:2018-12-04

[高等教育]第二讲 arm指令集_第1页
[高等教育]第二讲 arm指令集_第2页
[高等教育]第二讲 arm指令集_第3页
[高等教育]第二讲 arm指令集_第4页
[高等教育]第二讲 arm指令集_第5页
资源描述:

《[高等教育]第二讲 arm指令集》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章ARM指令集寻址方式ARM指令寻址方式可分为四大类:数据处理指令寻址Load/Store指令的寻址批量Load/Store指令的寻址协处理指令寻址。内容提要3.1ARM指令的编码格式3.2数据处理指令寻址方式3.3Load/Store指令寻址3.4批量Load/Store指令寻址方式3.1ARM指令的编码格式一般编码格式指令条件码一般编码格式每条ARM指令占有4个字节,其指令长度为32位cond(bit[31:28])指令执行的条件码;type(bit[27:26])指令类型码cond(bit[31:28])指令执行的条件码;type(bit[27:26])指

2、令类型码cond(bit[31:28])指令执行的条件码;type(bit[27:26])指令类型码cond(bit[31:28])指令执行的条件码;type(bit[27:26])指令类型码cond(bit[31:28])指令执行的条件码;type(bit[27:26])指令类型码cond(bit[31:28])指令执行的条件码;type(bit[27:26])指令类型码cond(bit[31:28])指令执行的条件码type(bit[27:26])指令类型码I第二操作数是立即数还是移位寄存器opcode(bit[24:21])指令操作码;S(bit[20])决定

3、指令的操作结果是否影响CPSR;Rn(bit[19:16])包含第一个操作数的寄存器编码;Rd(bit[15:12])目标寄存器编码;Operand2(bit[11:0)指令第二个操作数。ARM汇编指令语法格式:{}{S},,指令条件码0000EQ相等Z=10001NE不相等Z=00010CS/HS无符号大于等于C=10011CC/LO无等号小于C=00100MI负数N=10101PL非负数N=00110VS上溢出V=10111VC没有上溢出V=01000HI无符号数大于C=1且Z=01001LS无符号

4、小于等于C=0或Z=11010GE有符号数大于等于N=1且V=1或N=0且V=01011LT有符号数小于N=1且V=0或N=0且V=11100GT有符号数大于Z=0且N=V1101LE有符号数小于/等于Z=1或N!=V1110AL无条件执行3.2数据处理指令寻址方式数据处理指令第2操作数的构成方式具体寻址类型=00数据处理指令第2操作数的构成方式1.立即数方式每个立即数由一个8位的常数进行32位循环右移偶数位得到,其中循环右移的位数由一个4位二进制的两倍表示。即:=immed_8进行32位循环右移(2*rotate_4)位数据处理指令第2操作数

5、的构成方式2.寄存器方式操作数即为寄存器的数值如:MOVR3,R2ADDR0,R1,R2数据处理指令第2操作数的构成方式3.寄存器移位方式操作数为寄存器的数值做相应的移位而得到。在ARM指令中移位操作包括逻辑左移、逻辑右移、算术左移、算术右移、循环右移和带扩展的循环右移移位类型算术右移填充符号位具体寻址类型1.第二操作数为立即数汇编语法格式:#立即数由8bit的常数(immed_8)循环右移4bit数两倍位得到:立即数=immed_8循环右移(2*rotate_4)具体寻址类型2.第二操作数为寄存器汇编语法格式:具体寻址类型3.第二操作

6、数为寄存器移位方式,且移位的位数为一个5位的立即数汇编语法格式:,#移位类型具体寻址类型4.第二操作数为寄存器移位方式,且移位数值放在寄存器中汇编语法格式:具体寻址类型5.第二操作数为寄存器进行RRX移位(带扩展循环右移)得到汇编语法格式:,RRX3.3Load/Store指令寻址Load/Store指令是对内存进行存储/加载数据操作的指令,根据访问的数据格式的不同,将这类指令的寻址分为字、无符号字节的Load/Store指令寻址和半字、有符号字节Load/Store指令寻址两

7、大类。地址计算方法1.寄存器间接寻址寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。例如以下指令:LDRR0,[R1];R0←[R1]STRR0,[R1];[R1]←R02.基址加变址寻址前变址法:基地址寄存器中的值和地址偏移量先作加减运算,生成的操作数作为内存访问的地址。后变址法:将基地址寄存器中的值直接作为内存访问的地址进行操作,内存访问完毕后基地址寄存器中的值和地址偏移量作加减运算,并更新基地址寄存器。字、无符号字节寻址汇编指令语法格式为:LDR{}{B}{T},STR{<

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

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

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