L2_揭开钢琴的盖子

## L2_揭开钢琴的盖子

1-从白纸到图灵机

image-20220126103806252

原理:用控制器模拟人的大脑,用读写头模拟眼睛和笔,用纸带模拟书本纸,如图:控制器将3,2,+读入,然后控制器运用其加法逻辑,在纸带上给出运算结果5.

局限性:只能够做加法运算,无法像计算机一样完成更多操作。

2.从图灵机到通用图灵机

image-20220126105025660

原理:为了解决图灵机的局限性,在纸带上有-设置控制器的动作,也就是说该动作可用于修改控制器的运算逻辑(eg:把加法运算逻辑的程序载入进来,就可以运算加法;把QQ的程序载入进来就可以运行QQ,把微信程序载入进来就可以运行微信)。类比于生活,控制器相当于厨师,菜谱相当于控制器中的一套逻辑,每对厨师载入一个菜谱,他就能根据这套逻辑做出相应的菜肴,实现对数据的处理。

3.从通用图灵机到计算机

image-20220127154835123

原理:整体上是取指执行,每一个逻辑和数据都放到存储器中,每一个逻辑(即程序)以及数据都对应一个内存地址,当指向某一个逻辑,就是将该条指令载入到控制器,解释执行该指令即可。eg:图中IP指向 mov ax,[100] 这一个程序代码,控制器就会将该指令载入进来,解释执行即可(将内存地址为100上的数字赋值给ax,所以ax为0)。

4计算机开机时做了什么

image-20220127162402013

固化程序和引导扇区(一个扇区占512个字节)

1

5.引导扇区代码bootsect.s

引导扇区为什么不采用c语言呢?

2

image-20220127164914412

mov ax, #BOOTSEG
mov ds, ax
//ds == 0x07c0,得到段寄存器地址

mov ds, #INITSEG
mov es, ax
//es == 0x9000,得到段寄存器地址

sub si, si//两个相减,表明si==0x0000
sub di, di//两个相减,表明di==0x0000

rep movw//表明重复移用256个字(512个字节)
jmpi go, INITSEG//go是段偏移量,INITSEG是段基址,该指令目的是为了跳到go指令处执行

6.jimpi go, INITSEG(0x13读入磁盘扇区的中断)

image-20220127172501147

开始扇区,读入扇区的数量以及读入扇区的终止位置:

3

7.读入setup模块后:ok_load_setup(10号中断)

image-20220127174911217

8.read_it//读入system模块

image-20220127175245382

BOOTSECT的作用是将操作系统读进来,然后打出一个log,接下来BOOTSECT将控制权交给setup,使用

jmpi 0,SETUPSEG//setup位于0x90200---(ip==0x0000,cs==0x9020)将cs左移4位加上ip正好是先前计算的setup的位置
posted @ 2022-01-27 18:00  远道而重任  阅读(68)  评论(0)    收藏  举报