通过反汇编一个简单的C程序理解计算机是如何工作的

您所在的位置:网站首页 简单叙述计算机是如何工作的 通过反汇编一个简单的C程序理解计算机是如何工作的

通过反汇编一个简单的C程序理解计算机是如何工作的

2024-07-15 10:35| 来源: 网络整理| 查看: 265

实验目的

通过反汇编一个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