💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长。
🔍 博客内容包括:
- Java核心技术与微服务:涵盖Java基础、JVM、并发编程、Redis、Kafka、Spring等,帮助您全面掌握企业级开发技术。
- 大数据技术:涵盖Hadoop(HDFS)、Hive、Spark、Flink、Kafka、Redis、ECharts、Zookeeper等相关技术。
- 开发工具:分享常用开发工具(IDEA、Git、Mac、Alfred、Typora等)的使用技巧,提升开发效率。
- 数据库与优化:总结MySQL及其他常用数据库技术,解决实际工作中的数据库问题。
- Python与大数据:专注于Python编程语言的深度学习,数据分析工具(如Pandas、NumPy)和大数据处理技术,帮助您掌握数据分析、数据挖掘、机器学习等技术。
- 数据结构与算法:总结数据结构与算法的核心知识,提升编程思维,帮助您应对大厂面试挑战。
🌟 我的目标:持续学习与总结,分享技术心得与解决方案,和您一起探索技术的无限可能!在这里,我希望能与您共同进步,互相激励,成为更好的自己。
📣 欢迎订阅本专栏,与我一起在这个知识的海洋中不断学习、分享和成长!💻🚀
📍版权声明:本博客所有内容均为原创,遵循CC 4.0 BY-SA协议,转载请注明出处。
计算机语言 x86汇编语言:从实模式到保护模式(操作系统引导课) 原书作者李忠制作 少量字幕
文章内的图片,素材等来源,全部于上处视频,李忠老师。感兴趣可以直达。
一、 二进制加法机
ps: 社会第一代电子计算机
工作原理
他的工作原理也是很简单,该模型左侧,下侧的两个八位二进制电路,分别代表两个数字,然后通过右侧的这一排导线送出相加结果。
譬如上图模型(打开代表0,合并代表1):
左侧电路: 01000100 = 68
右侧电路: 01100001 = 97
结果: 10100101 = 165
二、 寄存器
寄存器原理和认知
观察左侧输入,可以发现,输入的内容是二进制 11000101 。 且锁存命令为开关形式,按下会连带着上图所有锁存器工作,当我们按下锁存开关的时候,锁存器会立即锁存,出现在寄存器内部。
在同时,锁存的数据也会被输出端输送出来。也就是说,一旦被锁存,即使是原先的输入撤销掉了,也不影响我们正常输出。
ps: 原来都是实时的,输入端撤销,输出端也会跟着输入端产生的变化而变化。
如果需要,寄存器也可以随时锁存新的数字,以前锁存的数字,会被新的数字冲掉。任何数字,都是临时保存在这里。不会长久。这也就是寄存器的由来。
带寄存器的加法机
观察上面模型,其实也可以大致猜到其工作流程。
1. 左边的内容,先输入如下(00000101)
2. 然后按预置按钮,将这个数字保存到寄存器R,然后输出灯亮起(实时输出)
3. 接下来继续把左侧的数字换成其他数字,然后按一下相加按钮。此时寄存器内 你的数字会和原有的5相加,然后输出为相加后的数字。以此类推。
四则运算
同加法寄存器没差多少,能理解即可。
三、机器指令
如若和之前只存在一个寄存器,那么操作内容是很少的,且相对复杂,如若加入另外一个寄存器,那么可以实现什么呢:
- 向寄存器R中存数字,四则运算
- 向寄存器Z中存数字,四则运算
- 将寄存器R中的数据复制到寄存器Z中
- 将寄存器Z中的数据复制到寄存器R中
- 寄存器Z的数字与寄存器R的数字相加
- 寄存器Z的数字与寄存器R的数字四则运算
- ......
虽然但是,有n多种,可要是实现这些内容,我们每一个都需要在底部加一个操作指令。如图五条肯定是不能全部实现的。这还仅仅是两根寄存器,如果后续增加其他寄存器,开关将会更多。
于是变成了以下模型
后续继续写