计算机是如何工作的? ----李泽源
李泽源
《Linux内核分析》MOOC课程 http://mooc.study.163.com/course/USTC-1000029000#/info
知识准备
冯诺依曼体系结构
核心思想
1.冯诺依曼是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。
2.采用二进制作为计算机数值计算的基础,以0、1代表数值。不采用人类常用的十进制计数方法,二进制使得计算机容易实现数值的计算。
3.程序或指令的顺序执行,即预先编好程序,然后交给计算机按照程序中预先定义好的顺序进行数值计算。
汇编语言的五种寻址模式
· 寄存器寻址 registermode: %寄存器 例如:%edx 访问寄存器edx
· 立即寻址 immediate: $数字 例如:$0x123 数值0x123
· 直接寻址 direct:数字 例如:0x123访问地址0x123指向的内存
· 间接寻址 indirect: (%寄存器) (%ebx) 例如:访问寄存器ebx中的地址指向的内存
· 变址寻址 displaced:偏移量(%寄存器) 4(%ebx):访问寄存器ebx中的地址再加4指向的内存;
几个重要的汇编指令
Example instruction |
What it does |
Pushl %eax |
Subl $4, %esp //栈顶指针减4,栈在向下生长一个位置 Movl %eax, (%esp) //将eax中的值放入栈顶指针指向的内存位置 |
Popl %eax |
Movl (%esp), %eax //从栈顶指针指向的内存中的值放入eax中 Addl $4, %esp //栈顶指针加4,栈在向上收缩 |
Call 0x12345 |
Pushl %eip //ip压栈 Movl $0x12345, %eip //将0x12345放入eip中 |
Ret |
Popl %eip //ip出栈 |
命令行截图:
生成的汇编代码截图:
图解代码:
计算机是如何工作的?
用户将编制好的程序通过输入设备送入计算机, 放在存贮器里保存起来,通过输 入设备向计算机发出执行程序的命令。 于是,在控制器的控制下,计算机便按照程序要求自动地进行工作。 计算机工作时,控制器从存贮器取出一条指令程序, 分析这条指令要求计算机进行哪一种操作,然后执行所规定的操作, 执行完一条指令后,再从存贮器中取出下一条指令,再分析和执行…… 这样重复进行,直到程序执行完毕。
转载于:https://www.cnblogs.com/jorilee/p/5224672.html
计算机是如何工作的? ----李泽源相关推荐
- java开发入门实验报告_Java实验二实验报告 20135108 李泽源
北京电子科技学院(BESTI) 实 验 报 告 课程:Java 班级: 1351 姓名:李泽源 学号:20135108 成绩: 指导教师:娄嘉 ...
- 20135108李泽源 Java实验一
实验一.Java开发环境的熟悉 实验内容 1. 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与 ...
- 实验三:跟踪分析Linux内核的启动过程 ----- 20135108 李泽源
实验要求: 使用gdb跟踪调试内核从start_kernel到init进程启动 详细分析从start_kernel到init进程启动的过程并结合实验截图撰写一篇署名博客,并在博客文章中注明" ...
- 计算机学院李泽昊,中国美院动画系学生作品问鼎昂西动画节学生竞赛单元“水晶奖”...
6月19日,昂西动画电影节官方传来好消息:中国美术学院影视与动画艺术学院动画系2020届本科毕业生李泽昊的毕业创作动画短片<海马>(Hippocampus)荣获昂西学生毕业创作单元&quo ...
- java海城同泽中学图书仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
java海城同泽中学图书仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java海城同泽中学图书仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源 ...
- 稚晖君官宣离开华为创业,被曝已获得天使投资,网友猜测来自李泽湘
Pine 发自 凹非寺 量子位 | 公众号 QbitAI 前几天热议的离职创业传闻,稚晖君出面回应了:传言属实,已离开华为,准备创业. 至于大家备受关注的B站up主身份,稚晖君称不会全职做,但会填好之 ...
- 李青源:高清体验和带宽节省,瞄准方向深耕
在LiveVideoStackCon 2018前夕,金山云资深产品专家李青源接受了LiveVideoStack的采访.他聊到了金山云在"视频+AI"和"编解码" ...
- 李泽湘教授给未来创业者的一封信
李泽湘教授给未来创业者的一封信 亲爱的同学: 你好! 2020年春天起,一场突如其来的新冠疫情改变了你.我和世界上众多人群的生活和命运.我们不得不长期蜗居在自己熟悉又陌生的家中,在这方寸之间学习.工作 ...
- 【CCAI 2016】大疆李泽湘:智能机器人解决实际问题的路径
8月26日至27日,在中国科学技术协会.中国科学院的指导下,由中国人工智能学会发起主办.中科院自动化研究所与CSDN共同承办的2016中国人工智能大会(CCAI 2016)在北京辽宁大厦盛大召开,这也 ...
最新文章
- (10)Spring Boot修改端口号【从零开始学Spring Boot】
- The Life Cycle of a Servlet
- 求100之内的自然数中能被13整除的最大数
- 面下个对象 多态特性
- 祝师傅新婚快乐 :-)
- 线性代数回顾.pptx
- Linux free -m命令查看内存使用情况
- NXP S32K144开发(一)环境搭建和新建工程
- 机器学习 缺陷检测_球检测-体育中的机器学习。
- [导入]C# Tips 2 右键单击listBox时弹出右键菜单并选中单击的行
- 点云数据生成三维模型_可直接编辑的高质量3D生成模型:三维深度生成方法SDM-NET...
- 中raise抛出异常_Python 异常处理知识点汇总,五分钟就能学会 !
- redis docker安装、进入命令行后启动服务
- JS中prototype、__proto__以及原型链
- Docker详解(十一)——Docker容器CPU资源限额实战
- xmpp即时通讯协议的特性---长处和缺点!
- 新型 EGFR 小分子抑制剂(克服 L858R/T790M 突变)
- 域用户本地管理员密码破解
- Gartner发布:全球联络中心基础设施魔力象限
- 模拟慢网速的一些测试工具介绍(Fiddler|NetLimiter|Network Delay Simulator)
热门文章
- python 字典的常见方法
- 关于考试作弊引发的关于诚信的思考
- 计算机应用基础实训室,计算机应用基础实训
- ProgressBar.js – 漂亮的响应式 SVG 进度条
- DWZ的Ajax表单
- BLE_BQB Test_Stable Modulation Characteristics, uncoded data at 1 Ms/s_RF-PHY/TRM/BV-09-C
- 深度学习入门与快速实践
- 【题解】arc101 C - Ribbons on Tree
- 江苏统考计算机英语作文,2017年高考江苏卷英语作文题目
- 做数据分析,连趋势分析法都不会,就白混了!