新闻中心

EEPW首页>嵌入式系统>设计应用> ARM指令系统的几点见解(二)

ARM指令系统的几点见解(二)

作者: 时间:2016-11-24 来源:网络 收藏

1.有效立即数

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

ARM指令集编码中,立即数的只分配了12位空间。==>有效立即数

【有效立即数】 = immed_8【8位常数】循环右移(rotate_imm【4位循环右移值】 * 2)

例:immed_8 = 0x3f, rotate_imm = 0xe; ==> immediate = 0x3f0【immed_8循环右移[e(14) * 2]28位】

2.跳转指令 B

B{ } <== 得到目标地址 target_address

a. 取有符号的24位偏移量

b. 用符号位扩展为32位【符号是1就补1,是0就补0】

c. 左移2位,形成字偏移【这是在ARM体系中,32位】

d. 加到PC寄存器中,得到有效偏移量26位

3.指令比较【前者不保留结果,后者保留结果】

CMP *** SUBSCMN *** ADDS

TST *** ANDSTEQ *** EORS

指令虽然食之无味,但用之则多多益善。



关键词:ARM指令系

评论


技术专区

关闭