欢迎来到天天文库
浏览记录
ID:52737944
大小:169.98 KB
页数:58页
时间:2020-03-30
《ch02ARM体系架构及汇编程序设计-2.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ARM体系架构及汇编程序设计22013年11月4日星期一ES04-ARM微处理器21/57ARM体系架构及汇编程序设计21ARM微处理器概述2ARM微处理器体系结构3ARM微处理器指令系统4ARM微处理器程序设计5ARM微处理器初始化习题04习题答案042013年11月4日星期一ES04-ARM微处理器22/573ARM微处理器指令系统3.1ARM指令系统概述3.2ARM指令条件码3.3ARM指令寻址方式3.4ARM汇编语言与C/C++的混合编程2013年11月4日星期一ES04
2、-ARM微处理器23/573.1ARM指令系统概述2013年11月4日星期一ES04-ARM微处理器24/57ARM指令集特点指令集向后兼容新版本增加指令,并保持指令向后兼容RISC指令指令集和译码机制简单指令集是加载/存储型仅能处理寄存器数据且处理结果放回寄存器访问存储器必须通过专门的加载/存储指令Thumb指令ARM指令:32位操作数Thumb指令:16位操作数指令功能复用所有指令有条件执行具有灵活的第二操作数其他模式可以使用SWI指令进入管理模式协处理器指令2013
3、年11月4日星期一ES04-ARM微处理器25/57ARM指令集分类存储器访问指令加载/存储指令把存储器的值加载(load)到寄存器中把寄存器中的值存储(store)到存储器中数据处理指令使用和改变寄存器的值跳转指令分支和链接,保存返回地址,以恢复最先的次序程序状态寄存器处理指令异常产生指令协处理器指令2013年11月4日星期一ES04-ARM微处理器26/57ARM指令编码格式ARM状态的3地址指令格式指令语法目标寄存器(Rd)源寄存器1(Rn)源寄存器2(Rm)ADDr3,
4、r1,r2r3r1r22013年11月4日星期一ES04-ARM微处理器27/57ARM指令编码格式Cond:指令执行的条件编码Opcode:指令操作符编码S:决定指令操作是否影响CPSR的值Rd:目标寄存器编码Rn:第一操作数寄存器编码Operand2:第二操作数312827252421201916151211870cond001opcodesRnRdoperand22013年11月4日星期一ES04-ARM微处理器28/573.2ARM指令条件码条件执行所有ARM指令都可以条件执行
5、所有Thumb指令都可以解压成全部条件执行指令条件码ARM指令的[31:28]位条件码内容程序状态寄存器的条件码标志位相等与不相等关系条件码表示在指令助记符后面用两个字符表示2013年11月4日星期一ES04-ARM微处理器29/57ARM指令条件码下表为所有可能的16种条件码AL为默认状态,不需要单独指出2013年11月4日星期一ES04-ARM微处理器210/57ARM指令条件码0000=EQ-Zset(equal)0001=NE-Zclear(notequal)0010
6、=CS-Cset(unsignedhigherorsame)0011=CC-Cclear(unsignedlower)0100=MI-Nset(negative)0101=PL-Nclear(positiveorzero)0110=VS-Vset(overflow)0111=VC-Vclear(nooverflow)1000=HI-CsetandZclear(unsignedhigher)1001=LS-CclearorZset(unsignedlowerorsame)1010=GE-
7、NsetandVset,orNclearandVclear(greaterorequal)1011=LT-NsetandVclear,orNclearandVset(lessthan)1100=GT-Zclear,andeitherNsetandVset,orNclearandVclear(greaterthan)1101=LE-Zset,orNsetandVclear,orNclearandVset(lessthanorequal)1110=AL-always1111=NV-never20
8、13年11月4日星期一ES04-ARM微处理器211/57后缀描述CPSR条件码标志位EQ等于(Equal)Z=1NE不等于(Notequal)Z=0CS/HS无符号数大于等于C=1CC/LO无符号数小于C=0MI负数(Minus)N=1PL正数或零N=0VS溢出(Overflow)V=1VC未溢出V=0HI无符号数大于C=1&Z=0LS无符号数小于等于C=0orZ=1GE带符号数大于等于N=VLT带符号数小于(LessThan)N!=VGT带符号数大于
此文档下载收益归作者所有