从最简单的例子,带你轻松学习ARM指令集.doc
《从最简单的例子,带你轻松学习ARM指令集.doc》由会员分享,可在线阅读,更多相关《从最简单的例子,带你轻松学习ARM指令集.doc(3页珍藏版)》请在三一文库上搜索。
1、从最简单的例子,带你轻松学习ARM指令集首先编辑一个最简单的函数,包含变量分配及初始化:test1.c1.#include 2.3.voidmain()4.5.intd=4;6.然后编译:arm-linux-gnueabihf-gcc test.c -o test1然后看看汇编代码:arm-linux-gnueabihf-objdump -D test1;每一句的含义我已经给出详细注释。首先对输出的文件格式说明,对于如下的输出,左边是程序地址(各种函数地址等等),第二列是指令码的十六进制表示也俗称机器码,剩下的就是给人类看的指令助记符号,举例举例:835c: b480 push r7这里,83
2、5c是main函数的地址,b480是机器码表示的指令,push r7就是给我们人类看的了。下面看test1的输出:0000835c :程序用到了r7寄存器,所以需要保护以免破坏之前的数据1 835c: b480 push r7堆栈向下增长栈用的不多,只需要12个字节就够用了: int d需要4个,多出来的8个没有使用2 835e: b083 sub sp, #12因为r0-r7是通用寄存器,可以使劲用,堆栈寄存器sp只有没办法的时候才使用。只好用r7 = sp + 0这种笨办法3 8360: af00 add r7, sp, #0参与int d = 4这条语句的是r3,这是通用寄存器,spec
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 例子 轻松 学习 ARM 指令
链接地址:https://www.31doc.com/p-3374805.html