新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Thumb指令集之:Thumb数据处理指令

Thumb指令集之:Thumb数据处理指令

作者:时间:2013-09-30来源:网络收藏

本文引用地址://m.amcfsurvey.com/article/257041.htm

11.4.7SP相关加法指令ADD(6)

(1)编码格式

寄存器加法指令ADD(6)的编码格式如图11.13所示。

图11.13ADD(6)指令的编码格式

该指令将一个立即数和SP值相加,并将SP相关地址写入目标寄存器。立即数可以是0~1020范围内的任意4的倍数。该指令不更新程序状态字的标志位。

(2)指令的语法格式

ADDRd>,SP,#immed_8>×4

①Rd>

指令的目的寄存器,存放指令的操作结果。

②SP

SP相关地址。

③immed_8>

该立即数的4倍将与SP值相加。

(3)指令操作的伪代码

Rd=SP+(immed_82)

11.4.8SP相关加法指令ADD(7)

(1)编码格式

寄存器加法指令ADD(6)的编码格式如图11.14所示。

该指令将一个立即数和SP值相加,并将SP相关地址写回SP寄存器。立即数可以是0~508范围内的任意数值的4倍。该指令不更新程序状态字的标志位。

图11.14ADD(7)指令的编码格式

(2)指令的语法格式

ADDSP,#immed_7>×4

①SP

SP相关地址,同时也为指令的目标寄存器。

②immed_7>

指定的7位立即数,该立即数的4倍将与SP值相加。

11.4.9逻辑与指令AND

(1)编码格式

逻辑与指令AND的编码格式如图11.15所示。

图11.15AND指令的编码格式

AND指令实现两个寄存器值的按位“与”操作。程序状态字的标志位根据指令的执行结果更新。

(2)指令的语法格式

ANDRd>,Rm>

①Rd>

操作数寄存器,包含指令的第一个操作数。同时也为指令操作结果的目的寄存器。

②Rm>

操作数寄存器,保护指令的第二个操作数。

(3)指令操作的伪代码

Rd=RdANDRm

NFlag=Rd[31]

ZFlag=ifRd==0then1else0

CFlag=unaffected

VFlag=unaffected

(4)对应的指令

ANDSRd>,Rd>,Rm>



评论


相关推荐

技术专区

关闭