如果想保证指令全部郑唯为四字节对旁丛薯齐,需要在编译时强制编译arm
mk中编译选项为LOCAL_ARM_MODE := arm
你这个是ARM7 CPU的指令码格式,早期的ARM架构,是ARMV4T,而且只是其数据处理类指令的指令编码格式(4位编码,配合这其余位,如I位,Rn,Rm,第二 *** 作数等编码位,可以编码出很多条数据处理指令。)。所以说,并不是25-27位激或喊没有使用。在其它类型的指令中就有使用25-27,如图明野2.
团州 图1 ARM7 CPU数据处理指令的编码格式。
图2 ARM7 CPU的单字节传输(LAD,STR)指令编码格式
具体请自己查找官方手册,在arm官网可以找到对应资料。
ARM 体系结构参考手册ARMv7-A和ARMv7-R版:DDI0406C_C_arm_architecture_reference_manual.pdf 的A5章节,193页起都是讲这个的。
ARM 架构的指令长度是固定的,在 arm 状态下是 32 bits 的,在 thumb 状态下是 16 bits的。如神败果你想通过程序计算的话,可以先考虑保存当前PC的值,然后在下一条指令中用新的 PC
值去减去你所保存下来的前一PC值,即可得出指令的长度。
////////////////////////////////困瞎差///////////////////////////////////////////////////汪皮/////////////////////////////////////////////////////
就专业程度和实在程度而言,杭州巨立安(JulianTec)
是您在arm架构下学习嵌入式Linux研发的上佳指导!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)