How computer work?

编程入门 行业动态 更新时间:2024-10-27 00:35:56

How <a href=https://www.elefans.com/category/jswz/34/1770063.html style=computer work?"/>

How computer work?

czh + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程
实验要求:通过反汇编一个简单的C程序,分析汇编代码并理解计算机如何工作.

一、实验过程.
1. 编写一个简单的c程序,如图所示:

2. 使用 gcc -S -o filename.s filename.c -m32进行编译,如图所示:

3. 编译后并对无关的指令进行删除后的汇编代码,如图所示:

二、分析汇编代码.
汇编代码如下:

g:pushl   %ebpmovl    %esp, %ebpmovl    8(%ebp), %eaxaddl    $1024, %eaxpopl    %ebpret
f:pushl   %ebpmovl    %esp, %ebpsubl    $4, %espmovl    8(%ebp), %eaxmovl    %eax, (%esp)call    gleaveret
main:pushl   %ebpmovl    %esp, %ebpsubl    $4, %espmovl    $8, (%esp)call    faddl    $1, %eaxleaveret

执行C程序是从main函数开始,汇编程序也是从main函数,以下执行一行汇编代码所对应的堆栈图的执行。
1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

三、计算机工作原理:
根据%eip寄存器(程序计数器)的值,从内存中取响应的指令并执行,改变函数堆栈,再根据%eip中的值循环执行以上步骤,直到程序结束。

更多推荐

How computer work?

本文发布于:2024-02-17 08:16:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1693301.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:computer   work

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!