随笔分类 -  3.ARM与汇编

摘要:本章学习: 1)熟悉github网站 2)通过git命令远程管理github, 3)git命令使用ssh key密钥无需输入账号密码 4)git管理仓库 1.首先我们来熟悉github网站 1.1 注册github 登录http://github.com/,然后点击sign up,来注册账户: 注册 阅读全文
posted @ 2018-01-25 20:24 诺谦 阅读(13543) 评论(2) 推荐(10) 编辑
摘要:简介: ARM指令中多数据传输共有两种: LDM:(load much)多数据加载,将地址上的值加载到寄存器上 STM:(store much)多数据存储,将寄存器的值存到地址上 主要用途:现场保护、数据复制、参数传送等,共有8种模式(前面4种用于数据块的传输,后面4种是堆栈操作)如下: (1)IA 阅读全文
posted @ 2017-08-15 09:12 诺谦 阅读(20444) 评论(0) 推荐(5) 编辑
摘要:adr :相对寻址,与当前位置有关 ldr :绝对寻址,与当前位置无关 在初始化SDRAM时就会用到adr,代码如下: 上面代码中第3行之所以用到了 “ adr r1,SDRAM_CONFIG ”,是因为SDRAM未初始化之前,不能使用绝对寻址,所以使用adr相对寻址. adr r1,SDRAM_C 阅读全文
posted @ 2017-08-09 16:22 诺谦 阅读(1832) 评论(0) 推荐(0) 编辑
摘要:MOV 1.可以寄存器与寄存器之间传递数据 2.可以常数传递到寄存器中(常数不能超过32位) LDR 1.可以地址与寄存器之间的数据传递 2.也可以常数传递到寄存器中 实例: 1.r1与r2之间传递就只能用MOV: MOV r1,r2 2.常数传递到寄存器可以使用MOV和ldr: MOV r0,#0 阅读全文
posted @ 2017-08-09 09:20 诺谦 阅读(2342) 评论(0) 推荐(0) 编辑
摘要:概述:在基于ARM的嵌入式应用系统中,存储系统的操作通常是由协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。 而访问CP15寄存器的指令主要是MCR和MRC这两个指令。 例如协处理器15(CP15),ARM处理器使用协处理器15的寄存器来控制cache、TCM和存储器管理 阅读全文
posted @ 2017-07-19 08:16 诺谦 阅读(16852) 评论(0) 推荐(3) 编辑
摘要:R0-R3 用作传入函数参数,传出函数返回值。在子程序调用之间,可以将 r0-r3 用于任何用途。 被调用函数在返回之前不必恢复 r0-r3。如果调用函数需要再次使用 r0-r3 的内容,则它必须保留这些内容。 R4-R10 被用来存放函数的局部变量。如果被调用函数使用了这些寄存器,它在返回之前必须 阅读全文
posted @ 2017-07-18 11:52 诺谦 阅读(3860) 评论(0) 推荐(0) 编辑
摘要:cmp:(compare)指令进行比较两个操作数的大小 格式: cmp oprd1,oprd2 比较oprd1和oprd2操作数,然后通过助记符来实现想要的判断。 teq: (test equal)测试相等,该指令通常用于比较操作数1和操作数2是否相等。 格式: teq oprd1,oprd2TEQ 阅读全文
posted @ 2017-07-15 17:55 诺谦 阅读(3391) 评论(0) 推荐(2) 编辑
摘要:str -(Store Register)存储指令 格式:str{条件} 源寄存器,<存储器地址>将源寄存器中数据存到存储器地址中。 实例1: str r1,[r2] ; 将r1中的值存到r2所指定的地址中 str r1,[r2,#4] ;将r1中的值存到r2+4所指定的地址中 str r1,[r2 阅读全文
posted @ 2017-07-14 17:53 诺谦 阅读(13209) 评论(0) 推荐(1) 编辑
摘要:1. bic (Bit Clear)位清除指令bic指令的格式为:bic{条件}{S} Rd,Rn,operand bic指令将Rn 的值与操作数operand2 的反码按位逻辑”与”,结果存放到目的寄存器Rd 中。 指令示例: 2.orr 位或指令 orr指令的格式为:orr{条件}{S} Rd, 阅读全文
posted @ 2017-07-14 10:14 诺谦 阅读(8536) 评论(0) 推荐(0) 编辑
摘要:位置无关码 即该段代码无论放在内存的哪个地址,都能正确运行。究其原因,是因为代码里没有使用绝对地址,都是相对地址。 位置相关码 即它的地址与代码处于的位置相关,是绝对地址 BL :带链接分支跳转指令,也是位置无关码(相对位置),用于调用函数用的。 B:分支跳转指令,指目标不能太远,一般用于同一个文件 阅读全文
posted @ 2017-07-06 11:49 诺谦 阅读(9477) 评论(0) 推荐(0) 编辑
摘要:1.MSR和MRS指令介绍 MRS 指令: 对状态寄存器CPSR和SPSR进行读操作。通过读CPSR可以获得当前处理器的工作状态。读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有SPSR寄存器)。 MSR指令: 对状态寄存器CPSR和SPSR进行写操作。与MRS配合使用,可以实现 阅读全文
posted @ 2017-07-01 11:05 诺谦 阅读(16683) 评论(1) 推荐(2) 编辑

点击右上角即可分享
微信分享提示