微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM汇编指令集之六——加载/存储指令

ARM汇编指令集之六——加载/存储指令

时间:11-09 来源:互联网 点击:

{类型}为以下几种情况:

IA每次传送后地址加1;

IB每次传送前地址加1;

DA每次传送后地址减1;

DB每次传送前地址减1;

FD满递减堆栈;

ED空递减堆栈;

FA满递增堆栈;

EA空递增堆栈;

{!}为可选后缀,若选用该后缀,则当数据传送完毕之后,将最后的地址写入基址寄存器,否则基址寄存器的内容不改变。

基址寄存器不允许为R15,寄存器列表可以为R0~R15的任意组合。

{∧}为可选后缀,当指令为LDM且寄存器列表中包含R15,选用该后缀时表示:除了正常的数据传送之外,还将SPSR复制到CPSR。同时,该后缀还表示传入或传出的是用户模式下的寄存器,而不是当前模式下的寄存器。

指令示例:

STMFD R13!,{R0,R4-R12,LR};将寄存器列表中的寄存器(R0,R4到R12,LR)存入堆栈。

LDMFD R13!,{R0,R4-R12,PC};将堆栈内容恢复到寄存器(R0,R4到R12,LR)。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top