通过反汇编一个简单的C程序理解计算机是如何工作的 |
您所在的位置:网站首页 › 简单叙述计算机是如何工作的 › 通过反汇编一个简单的C程序理解计算机是如何工作的 |
实验目的
通过反汇编一个C程序,分析汇编代码理解计算机是如何工作的。仔细分析汇编代码的工作过程中堆栈的变化,总结并阐明自己对“计算机是如何工作的”的理解。 实验步骤 我们可以先观察一下这个实验平台,在主目录里面,已经为我们创建好了许多文件夹,下面我们就将自己的.c文件写在Code目录下面: 进入终端,在当前目录下使用ls命令,可列出文件和目录。接着使用cd命令切换至Code目录。直接使用vim生成我们的.c程序,首先键入vim进入编辑器,出现vim的界面以后,再使用enter键进入编辑界面: 键入i之后,就可以开始编辑程序内容了。(这里笔者截图的时候打错了一个符号,后来改正过来了。要改正已经生成的文件,可以直接在文件所在目录下键入vim xxx.c,还要按i进入编辑模式才可以哦) 保存退出。编辑完成以后先使用一次ESC键,然后键入如下内容: 接着回车键确定: 做完这些操作接着键入:q退出就好啦。OK,现在按要求反汇编一下。使用gcc命令进行反汇编,第二个参数-S表示汇编后停下来,生成后缀为 .s 的汇编源文件。第三个和第四个参数确定输出文件的名称为main.s: 这里的-m32官方手册给出了解释:The ‘-m32’ option sets int, long, and pointer types to 32 bits, and generates code that runs on any i386 system. 文件生成啦: 或者直接用vim进去看看,里面原来是这样的: 汇编代码分析计算机是如何工作的 在汇编语言层面,通过寄存器指针的压栈和出栈操作,从而实现函数的调用。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |