购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 指令集与机器码对应表

本节列出了CM4F部分指令与机器码的对应关系表,这是因为在一些深入细致的调试分析中,需要分析机器码,有了这张表便于进行这项工作。初学者了解即可。

CM4F部分指令集与机器码对应关系如表2-20所示。机器码一列中,v代表immed_value, n代表Rn,m代表Rm,s代表Rs,r代表register_list,c代表condition,d代表Rd,l代表label。机器码均为大端对齐方式,即高位字节在低地址中,便于从左到右顺序阅读。

表2-20 CM4F部分指令集与机器码对应关系

续表

续表

以上是部分指令集对应的机器码,如果读者需要自己确定某个指令的机器码,则可以按照以下方式进行操作。

(1)在集成环境里对工程进行设置,能够生成.lst文件,具体设置方法参见附录D。

(2)在指令中按照正确的格式为变量赋值,写入 main 函数中编译,编译结束后查看main.o.lst文件,找到指令对应的十六进制机器码并进行记录,注意这里可能存在大端或小端格式的问题,本书介绍的芯片采用大端格式,所以记录时要改成小端格式并且换算成二进制格式。对每个变量取不同的值,多次进行编译并记录,然后找出规律,确定每个变量变化所改变的机器码的部分,这就可以完全确定这个指令所对应的机器码。 C2K4Z6Sc0boaN7GZkmSsdPmyaI44i0H6VxNgArWEQyLAcEjOTBp0VZ+/Gx7gVe+w

点击中间区域
呼出菜单
上一章
目录
下一章
×