实验部分

(以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同)

使用

  1. gcc –S –o main.s main.c -m32

命令编译成汇编代码,

  1. int g(int x)
  2. {
  3. return x + 6;
  4. }
  5. int f(int x)
  6. {
  7. return g(x);
  8. }
  9. int main(void)
  10. {
  11. return f(13) +2;
  12. }

1. 实验截图

复制代码到实验楼

编译,打开main.s(打开前忘记截图,改完后截的图)

删完冗余部分,剩下的汇编代码

2.分析汇编代码的工作过程中堆栈的变化

3.总结部分需要阐明自己对“计算机是如何工作的”理解。

首先是了解计算机的工作模型://图以及解说源自百度

(冯·诺依曼体系结构:把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。数字计算机的数制采用二进制;计算机应该按照程序顺序执行。)

按老师给的图也挺好理解://图及解说源自云课堂截图

IP:寄存器,总是指向内存的代码段。                       内存:保存数据和指令。

CPU:CPU从IP指向的内存地址取指令执行,执行之后IP自加一,然后继续执行。

然后我们可以大概了解计算机是如何工作的:

先在内存中运行第一条指令,然后根据其指令的内容及要求,从存储器中取出相应的数据在CPU中执行,最后根据地址将结果返回到内存之中。

重复这样的步骤直到停止指令出现或完成所有指令。

注:

姓名:林涵锦

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

转载于:https://www.cnblogs.com/20135213lhj/p/5225247.html

Linux内核分析— —计算机是如何工作的(20135213林涵锦)相关推荐

  1. Linux内核分析——操作系统是如何工作的

    姓名:王晨光 学号:20133232 王晨光+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000 ...

  2. Linux内核分析--操作系统是如何工作的

    "平安的祝福 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000  ...

  3. 庖丁解牛Linux内核分析01:操作系统工作原理基础

    目录 1 存储程序计算机工作模型 2 IA-32汇编基础 2.1 寄存器概述 2.1.1 通用寄存器 2.1.2 段寄存器 2.1.3 标志寄存器 2.2 数据格式 2.3 寻址方式 2.3.1 立即 ...

  4. 《Linux内核分析》第一周笔记 计算机是如何工作的

    一.计算机是如何工作的? 1.存储程序计算机工作模型 1)冯诺依曼体系结构 学习研究计算机的基本概念.就是指存储程序计算机.所有的有计算功能的电子设备小到计算器,大到超级计算机核心部分都可以用这种体系 ...

  5. 《Linux内核分析》 第一节 计算机是如何工作的

    第一节 计算机是如何工作的 张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-100002900 ...

  6. Linux内核分析第一周——计算机是如何工作的

    冯诺依曼体系结构 核心思想 1.冯诺依曼是:数字计算机的数制采用二进制:计算机应该按照程序顺序执行. 2.采用二进制作为计算机数值计算的基础,以0.1代表数值.不采用人类常用的十进制计数方法,二进制使 ...

  7. 《Linux内核分析》MOOC课程之从汇编语言角度看计算机是如何工作的

    2019独角兽企业重金招聘Python工程师标准>>> piratezgw 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study. ...

  8. LINUX内核分析第二周学习总结——操作系统是如何工作的

    LINUX内核分析第二周学习总结--操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  9. Linux内核分析第二周:操作系统是如何工作的

    第一讲 函数调用堆栈 计算机是如何工作的? (总结)--三个法宝 1,存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 2,函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆 ...

最新文章

  1. 无法解析的外部符号 class boost::system::error_category const __cdecl boost::system::system_category(void)
  2. 关于双机热备,你该知道那些问题?
  3. .DLL文件是什么?
  4. boost::log::attribute_value用法的测试程序
  5. web worker技术-js新线程
  6. Redis布隆过滤器
  7. Canvas-drawImage 绘制图片模糊问题
  8. Qt4_Ticker定时器事件
  9. pythonnumpy详解_Python:Numpy详解
  10. Mimikatz 攻防杂谈
  11. 计算机房用还原保护软件,“小哨兵”还原卡v9.1在机房的巧妙应用
  12. 初识数据分析利器SPSS
  13. G-sensor概述及常用概念整理【转】
  14. 自动化测试(定位元素的方式,浏览器操作)
  15. 在QPixmap的图片上添加文字
  16. 3D打印机硬件驱动-马林固件最新版本2.0.X中文注释(1)marlin 2.0.9.2 截至发稿时间2021年12月16日
  17. 暗影精灵双系统(win10和Ubuntu16.04)安装+Cuda和tensorflow安装-深度学习环境配置
  18. java 实现繁简字体转换(笨方法)
  19. puppeteer在linux上模拟浏览器截图——截取微信公众号文章全文实例
  20. Magnetic Actuation for Full Dexterity Microrobotic Control Using Rotating Permanent Magnets

热门文章

  1. html设置table border,用css来设置table的border
  2. android studio 测试工具,使用Android Studio进行单元测试
  3. security 底层原理_spring security 实现remeber me(免登陆功能)的原理
  4. 腾讯 java_2019腾讯的面试题(腾讯qq音乐部门)
  5. 【图像超分辨率】MSAN:Scene-Adaptive RS Img SR a Multiscale Attention
  6. 数学--数论--广义欧拉降幂(模板)
  7. elasticsearch 5.6.x单机环境构建(集成head插件和IK中文分词)
  8. AI有道干货 --- 126 篇 AI 原创文章精选(ML、DL、资源、教程)
  9. 【IT笔试面试题整理】二叉树中和为某一值的路径--所有可能路径
  10. 谷歌 MapReduce 初探