实验:通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的

我把它写成实验报告模式,而不像是一篇文章。目的很明确,我只想学会这门课并且获得证书。但是无耐必须用真名才能获得证书,可是我不想再往上暴露自己。所以到时候就以“Zhengda”的名义获得证书吧。

希望学有所成。

在实验楼的截图:



将Code文件夹下载到本机上。进行代码阅读。

C语言代码

将C用GCC编译成汇编:gcc –S –o main.s main.c -m32


汇编解释:

查阅

IBM社区的帖子《Linux 汇编语言开发指南》

程序开始:


(eip应为10) (eax应为8) (eax应为8) (eax应为8) (eax应为8) (eax应为8) (eax应为8)

程序结束。

终于画好了。画的好辛苦~~

我对计算机是如何工作的理解:

计算机只能购识别数字逻辑。汇编语言十分接近计算机最底层的硬件。通过这一实验,我对计算机的工作有更进一步的了解。比起C语言,汇编更加繁琐与复杂。但却充分显示出计算机硬件是一步步进行寄存器操作的。

程序无非就是硬件电路在寄存器之间不断的存取读写,再将数据送到ALU进行各种运算。这正是冯洛伊曼的思想。

sunfy + 原创作品转载请注明出处 + 《Linux操作系统分析》MOOC课程http://www.xuetangx.com/courses/course-v1:ustcX+USTC001+_/about

发表评论

电子邮件地址不会被公开。 必填项已用*标注