首先可以理解为r13中存放的是内存中的栈的可用的地址,r13寄存器指向的这块栈与寄存器r0,r1,r2中的数据进行交换 并且因为ARM是以4个字节为单位处理数据,所以r13中存放的地址要以4个字节为单位往下移动,虽然这4个字节的地址 范围,只存放寄存器中的数据,如果是立即数,只占一个字节,剩余的地址空间内全部补0即可 mov ...
M : multi 多次F:full 满栈,SP指向最后一个数据E:empty 空栈,SP指向与最后一个数据相邻的下一个可写入存储单元D:descending 递减,代表栈的增长方向A:ascending 递增,代表栈的增长方向 STMFD/LDMFD指令详解 STMFD SP,{R0-R3} ;执行伪指令大致是: ;SP-4= R3 ;SP-8= R2 ;SP-12= R1 ;SP-16= R0 ;SP...
= OSTCBHighRdy str r6,[r4] ; set new current task TCB address ;8、根据任务栈结构,分别出栈,恢复新任务的现场ldmfd sp!,{r4 ARM指令集详解 ARM指令集详解 1. 汇编 1.1. 通用寄存器 通用寄存器 37个寄存器,31个通用寄存器,6个状态寄存器,R13堆栈指针sp,R14返回指针,R15为PC指针, cpsr_c代表的是这32...
指令中的缩写分解 LD : load 加载,出栈操作 ST : store 存储,入栈操作 M : multi 多次 F: full 满栈,SP指向最后一个数据 E: empty 空栈,SP指向与最后一个数据相邻的下一个可写入存储单元 D: descending 递减,代表栈的增长方向 A: ascending 递增,代表栈的增长方向 图解 STM_LDM.png...