- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
arm體系结构及其嵌入式处理器
二进制 ALU 算术逻辑运算单元 机器数指令 程序及其首地址 PC计算机 :主机(CPU(运算器、控制器) 存储器) IO(输入 输出设备)RISC :精简指令系统计算机CISC :复杂指令系统计算机指令流水线 cache 协处理器 片上系统SOC(System On Chip )总线 :连接各部件信息传输的线并行 串行系统总线 :计算机芯片之间的连接总线数据总线DB :传输数据的通路地址总线AB :传送有指令或PC经地址寄存器送出的地址信息控制总线CB :传送读写等控制信息系统总线结构 :同步通信 :发送和接受使用同一时钟冯.依曼 :数据和指令放在一起 arm7哈弗结构 : 数据和指令分开 arm9 arm10运行模式 : 用户模式 : USR 特权模式 : FIQIRQSVCABTSYSUND 快速 终端管理中断 系统 未定义工作状态 : ARM 32位 默认Thumb 16位由程序状态寄存器SPSR的D5位决定寄存器 :R0 ~ R15 : 基寄存器R13 : SP R14:LR子程序返回地址 R15:PCCPSR(Current Process Statue Register)存储方式:小端模式 : 低字节在底端大端模式 :低字节在高端堆栈 : FILO ( First in Last Out ) 地址递增方式 :初始化时指针处于较低端,存入数据时,指针向高地址位移动 地址递减方式 :初始化时指针处于较高端,存入数据时,指针向低地址位移动 满递增堆栈 :SP指向最后压入的数据,由低向高地址生成 满递减堆栈 :SP指向最后压入的数据,有高向低地址生成 空递增堆栈 :SP指向下一个要放入的数据的空位置,由低向高地址生成 空递减堆栈 :SP指向下一个要放入的数据的空位置,有高向低地址生成指令系统 : 立即寻址 : mov r0, #0x01 寄存器寻址 : mov r0, r1 寄存器简址 : ldr r0 , [r1] 变址寻址 : ldr r0, [r1,#4]//r0 (r1 + 4 )指令格式 :条件码 :EQZ = 1 相等NEZ = 0CSC = 1 无符号 大于等于CCc = 0 无符号 小于MIN = 1 负数PLN = 0 正数或0VSV = 1 溢出VCV = 0HIC = 0 且 Z = 0 无符号 大于LSC = 0 或 z = 1 无符号 大于等于GEN = V 带符号 大于等于GTZ =0 且 N = V带符号 大于LE 带符号 小于等于AL 无条件执行LTN V 带符号小于逻辑左移 :LSL : mov R0, R1 , LSL #2 R0 = R1 2逻辑右移 :LSR : mov R0, R1, LSR #2R0 = R1 2算术左移 : 和LSL效果相同循环右移 : RORMov r0, r1Movn r0, r1//取反Add r0, r1,oper2Adc rd, rn, oper2//带进位加法Rd = rn + oper2 + CPSR中C标志位(进位标志)Subr0, r1, oper2Sbc rd, rn, oper2 //带进位减法Rd = rn + oper2 - CPSR中C标志位的值(进位标志)RSC rd, rn, oper2//带进位的逆向减法RSC rd, rn , oper2Mul rd, rm, rs//32位乘法Mla rd, rm , rs, rn//32位乘加Rd = rm * rs + rnSmull rdl0, rdhi, rm, rs//64位乘法Rdl0 = rm * rs保存结果的低32位Rdhi = rm * rs 保存结果的高32位Smlaardlo, rdhi, rm , rs//64位乘加Rdl0 += rm * rs 的低32位Rdhi += rm * rs 的高32位AND r0, r1, r2//r0 = r1 r2ORr0, r1, r2//ro = r1 | r2EORr0, r1,r2//异或Bic rd, rn, oper2//位清除Rd = rn 清除 oper2中为1的位如 :Bic r0, r0, #b1011//清除r0的0 1 3位Tst rd, oper2//与测试如:tst r1, #b101测试r1中0 2位是否为1Teq rd, oper2//异或测试 一般用于判断相等Cmp rd, oper2CPSR标志位的更新 = rd - oper2CMN rd, oper2//CPSR标志位的更新 = oper2 - rdBl addr//保存返回地址LRBaddr//不保存放回地址Bx Rn/
您可能关注的文档
- AQ2006-2005尾礦库安全技术规程.doc
- AQ2012-2007石油天然氣安全规程.doc
- AQ2045-2012石油行業安全生产标准化管道储运实施规范.doc
- AQ2046-2012石油行業安全生产标准化工程建设施工实施规范(报批稿).doc
- AQ3013-2008《危險化学品从业单位安全标准化通用规范_》.doc
- AQ3013-2008危險化学品从业单位安全标准化通用规范.doc
- AQ3013—2008危險化学品从业单位安全标准化通用规范.doc
- AQ3036-2010危險化学品重大危险源罐区现场安全监控装备设置规范.doc
- AQ3036—2010危險化学品重大危险源罐区现场安全监控装备设置规范(2011-05-01).doc
- AQ3045-2013化工企業定量风险评价导则.doc
文档评论(0)