【机器码、汇编语言、C语言】

第一章  世界上最简单的、没有CPU的电脑

一 、材料: 开关一个 、LED灯一个;

二 、电路图:

        

三 、硬件说明:

1. 这里 K0 就是键盘,只有一个按键K0;

2. 这里 LED 就是显示屏,当 K0 闭合时,屏幕只显示一个亮点(LED亮);

当 K0 断开时,屏幕没有显示(LED灭);

四 、软件说明:

1. 当 K0 闭合时,用 1 表示; 当 K0 断开时,用 0 表示;

2. 此时电脑只有一个字节,这个字节只有一位;

3. 此时电脑没有 CPU, 也没有 MEMROY ,就是还不用 CPU 和 内存;

4. 机器码就是 1 或者 0;

第二章   电脑硬件、软件可能是这么来的

一 、硬件升级说明:

1. 假设一个开关 K0 变成了三个开关 K0 、K1 、 K2 ;

2. 假设一个 LED 灯 变成了八个 LED 灯 L0 、L1 、L2、L3 、L4 、L5、L6 、L7 ;

3. 这里键盘有三个按键,K0 、K1 、K2;

4. 这里显示屏有八个灯,全亮时如图:

二 、软件升级说明:

1. 要用三个按键,K0 、K1 、K2 控制八个灯各自的亮灭,就要编码,

如果按键闭合用 1 表示,反之按键断开用 0 表示。三个按键编码结果只能有八组如下:

000, 001, 010, 100, 011, 101, 110, 111 分别代表了八个灯L0 、L1 、L2、L3 、L4 、L5、L6 、L7;

2. 我们约定:每个字节三位,此时电脑有八个字节,这就是三位的计算机;

3. 这种写法:000, 001, 010, 100, 011, 101, 110, 111, 表示使用了二进制编码,就是BIN文件;

换一种写法:0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111,即对应

0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 则表示使用了十六进制编码,就是HEX文件;

4. 机器码就是:000, 001, 010, 100, 011, 101, 110, 111;

三 、硬件、软件再次升级说明:

1. 再增加 CPU, 即八个灯的亮灭控制器;

2. 增加内存,即可以把000, 001, 010, 100, 011, 101, 110, 111的各种状态存放在内存里面;

3.要知道到哪找到000, 001, 010, 100, 011, 101, 110, 111 其中的一个或全部,就要对内存的地址编码,如果内存有16个存储单元,则最少共有16个地址唯一编码,代表了各个内存单元的位置;

4.控制数据在CPU和内存之间流动,例如:MOV   a,  0x02 编程,就是汇编语言编程;

5. 再往前一步,例如规定 int a =2 等,就是C语言了;

6.例如再把很多的 int a=2, int b=3 等封装起来, 就变成了 C++语言或者JAVA语言;

7. 还继续封装变成更简单的使用语言,就是 C# 或 其他语言;

8. 不管采取何种语言编程,最终目的是:通过编程控制八个LED灯的亮灭;

四 、这只是一个说明:

1. 如果上述作为一个系统,控制器和各个部件之间除了需要知道地址,还需要知道什么时候、干什么,则要有个时钟、指令的(类似关键字);

2. 什么地方去取需要的数据,则要指针或者说是存放数据的地址吧;

3. 高级语言按解决问题,编写不同的类和对象,这是现代编程的对象化编程;

4. 把这些东西全部封装在一个芯片里,就是单片机;如果CPU电路、内存电路等等,各种电路独立存在就是个人电脑(PC)。

5. 当然,电脑远比这里说的东西复杂得多,不必太认真。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

watsonbu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值