1.有用当即数
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 *** ANDS TEQ *** EORS
指令尽管食之无味,但用之则多多益善。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/260044.html