随笔分类 -  ARM与汇编

http://www.maiziedu.com/wiki/arm/brief/
ARM 汇编与C之间 的调用
摘要:一. 汇编调用 C 1. 初始化栈 2. 初始化BSS段 (BSS 段是C语言存放未初始化的全局变量,或者初始化为0 的全局变量) 3 .使用 r0 ,r1, r2, r3 给函数传参,如果多于 4 个参数使用栈的方式传参 4. 返回值放在 r0, r1 中,最大32位数据, 一般使用 r0 就可以 阅读全文

posted @ 2019-06-16 18:50 管理员D 阅读(2419) 评论(0) 推荐(1)

ARM 汇编指 跳转指令 b , bl
摘要:1. 跳转指令 【 b 】 【 bl 】 指令格式:<opcode><cond> <address> 不带返回的跳转指令:b 带返回值的跳转指令:bl 条件码 <cond >的功能使用介绍 例子 : 求出 0 ~ 10 以内的奇数和 对于比较指令 cmp 会CPSR 中的 NZC 状态位,下面的跳转 阅读全文

posted @ 2019-06-15 17:56 管理员D 阅读(3319) 评论(0) 推荐(0)

ARM 汇编访问 CPSR / SPSR 寄存器 【 msr ,mrs 】
摘要:状态寄存器访问过程:读 - 改 - 写 读 CPSR / SPSR 指令【 mrs 】 格式:<opcode><cond> Rn, cpsr/spsr 写 CPSR / SPSR 指令【 msr 】 格式:<opcode><cond> cpsr/spsr , Rn 阅读全文

posted @ 2019-06-15 17:49 管理员D 阅读(1773) 评论(0) 推荐(0)

ARM 异常处理过程,指令[ swi ]
摘要:1. 发生异常: 程序正常执行,突然被一个不正常的事件打断正在执行的程序,执行相应的异常事件对应的程序 2. 5 种异常模式对应着 7 种异常源: 异常工作模式 异常源 FIR FIR IRQ IRQ Abort data_abort / pref_abort Undef undefine SVC 阅读全文

posted @ 2019-06-15 17:39 管理员D 阅读(2140) 评论(1) 推荐(0)

ARM 寄存器 和 工作模式了解
摘要:一. ARM 工作模式 1. ARM7,ARM9,ARM11,处理器有 7 种工作模式;Cortex-A 多了一个监视模式(Monitor) 2. 用户模式:非特权模式,大部分任务执行在这种模式,它运行在操作系统的用户态,没有权限操作其他硬件资源,只能执行处理自己的数据,也不能切换到其他模式下 3. 阅读全文

posted @ 2019-06-15 17:01 管理员D 阅读(1527) 评论(0) 推荐(2)

ARM 汇编 内存访问指令
摘要:一。 单个寄存器操作读写内存 内存访问指令格式:<opcode><cond> Rd, [Rn] Rn 中保存的是一个内存的地址值 1. 内存写指令 【 str,strb,strh 】单个寄存器 1) 【 str 】写 4 个字节 2)【 strb 】写 1 个字节 3) 【 strh 】 写 2 个 阅读全文

posted @ 2019-06-14 08:47 管理员D 阅读(5232) 评论(1) 推荐(0)

ARM 汇编 数据处理指令
摘要:一. 如何把数据放到寄存器中 1. 数据搬移指令 mov , mvn 1) 指令格式:<opcode><cond>{s} Rd, operand <操作码><条件码>{是否影响状态位} 目标寄存器,第一操作数 2) operand 第一操作数范围:(有效数和立即数前加 ‘#’)立即数 / 有效数 , 阅读全文

posted @ 2019-06-13 08:20 管理员D 阅读(1989) 评论(0) 推荐(0)

ARM 汇编 简单介绍
摘要:1. 汇编文件说明 : 汇编文件以 【.s】结尾的文件格式 注释:多行注释 /* */ ; 单行注释 @ 2. 符号说明: 1) 汇编指令,一条指令对应一个机器码,完成一定的功能 2) 伪指令,一条指令对应多条机器码,完成一个稍微复杂的功能 3) 伪操作,不会生成机器码,为了协助编译器,进行编译的, 阅读全文

posted @ 2019-06-12 19:21 管理员D 阅读(845) 评论(0) 推荐(0)

导航