汇编指令
文章平均质量分 78
aoxiang_ywj
相互学习相互进步!
展开
-
mrc & mcr 与 bic & orr 含义及用法示例
/*本段代码来自朱老师物联网大讲堂icache那一节视频*/mrc p15,0,r0,c1,c0,0; // 读出cp15的c1到r0中//bic r0, r0, #(1<<12) // bit12 置0 关icacheorr r0, r0, #(1<<12) // bit12 置1 开icachemcr p15,0,r0,c1,c0,0; ...原创 2018-09-23 17:24:20 · 2730 阅读 · 0 评论 -
ldr和adr 并分析为什么adr加载的是运行地址,ldr加载的是运行地址
ldr和adr的区别ldr和adr都是伪指令,区别是ldr是长加载、adr是短加载。重点:adr指令加载符号地址,加载的是运行地址;ldr指令在加载符号地址时,加载的是运行地址。ldr和adr的使用格式(举例说明)adr r0, _start // adr加载时就叫短加载 ,注意这里没有“=”号,这是与ldr伪指令用法的区别ldr r1, =_start ...原创 2018-09-27 15:15:21 · 426 阅读 · 0 评论 -
ARM裸机重定位汇编代码到解读
为什么需要重定位?本来代码是运行在0xd0020010的,但因为一些原因我们又希望代码实际是在0xd0024000位置运行的。这时候就需要重定位了。ARM裸机重定位汇编代码到解读任务:在SRAM中将代码从0xd0020010重定位到0xd0024000思路: 第一点:通过链接脚本将代码链接到0xd0024000 第二点:dnw下载时将bin文件下载到0xd...原创 2018-09-27 15:49:48 · 559 阅读 · 0 评论 -
【ARM汇编】stmfd sp!, {r0-r3, lr}
stmfd sp!, {r0-r3, lr} 【属于8中寻址方式中的“堆栈寻址”】上面这句ARM汇编指令的伪代码如下//SP指针地址变化过程SP = SP - 4×4; //4个寄存器,每个4个字节,该语句得到运算后的SP地址address = SP; //将运算后的地址赋给临时地址变量address//寄存器赋值给内存地址的...原创 2019-02-05 20:31:02 · 8337 阅读 · 4 评论 -
【ARM】虚拟地址映射理解
1、关于虚拟地址和物理地址:物理地址(记为PA)是设计生产的时候确定的,是一种硬件编码生产的物理地址。虚拟地址对于操作系统或者软件层面来说的。虚拟地址与物理地址之间有一个虚拟地址转换层建立了一个从虚拟地址映射到物理地址的映射表(也就是映射原理中所说的页表)。物理地址是根据具体需求来确定大小的,通常情况下会比虚拟地址小。例如:对于 32 为 ARM 处理器,最大寻址空间为 4GB(2^32)...原创 2019-03-12 22:13:44 · 2854 阅读 · 0 评论 -
【DSP】DSP2833x.h中定义的指令EINT、DINT、ERTM、DRTM、EALLOW、EDIS、ESTOP0的含义
今天接触了DSP中一些特殊的指令,在此总结一下:首先意识到,这些其实是汇编指令1、EINT、DINT作用:EINT开中断,DINT关中断2、ERTM、DRTM作用:ERTM使能调试事件,DRTM禁止调试事件3、ESTOP0这是一个汇编指令,是用于DSP仿真的,它有两个方面的知识:(1)当用仿真器连接时如果ESTOP0置位(ESTOP0=1),那么整个DSP停止运...原创 2019-08-15 10:29:28 · 13825 阅读 · 0 评论