粉丝9.6万获赞43.9万


这一讲我要讲述的内容是继承器,继承器是什么呢?继承就是临时存放的意思, 那么继承器呢,就是临时存放数据的单元了,但是这个单元它有点特殊,它是坐在 cpu 器件之中啊。在前面的几讲中,我们都讲述了一个笑脸的程序, 这个程序的代码是这样的,我们现在要通过这个程序的代码深入的火系。 八零八六的寄存器,也就是说这个 d, l, a, h, 它是寄存器,那么它究竟在 cpu 的 什么地方呢?还有没有其他的寄存器呢? 下面我们来看一下八零八八的内部结构,八零八八的内部结构和八零八六的内部结构也就是一样的, 在这一个灰色的方框这个里面就是 cpu 的 内部结构。 在这个左下角 a, l, u 呢运算的部分上面这一组寄存器呢,我们通常叫做通用的寄存器,右边的这一块,比如 c, s, d, s, s, s, e, s, i, p 也是属于寄存器。 那么这个八零八六的内部寄存器呢,总共有十四个十六位的寄存器, 它们分为通用的寄存器,断寄存器和控制寄存器。这个通用的寄存器里面呢就有数据寄存器,这一个呢就是 a, b, c, d, 后面呢加个 x, 这个很好记, 还有一个地址和指征寄存器就是 b, p, s, p, s, i, d, i, 还有断继承器 c, s, d, s, e, s 和 s, s 都是以 s 结尾的,后面的呢是控制继承器,控制继承器里面有 ip 和 flag 这一些呢,我们要一步一步的来给大家呢进行讲述的。好,下面呢 我们就来看我们的程序里面是 d, l 和 a h 两个继承器,但是呢,从这个八零八六的内部继承器里面,我们并没有看到这一个 d, l 和 a h。 那么这一个 a, h 和 d l 究竟在什么地方呢?它就在这个 v, x 和 d x 里面。 a, b, c, d 这几个寄存器,高部分和低部分呢,可以呢分开使用。 v h 呢?在 v x 的 高把位部分, d, l 呢?在 d x 的 底把位部分, a, h 或 a l 或者是呢 ax, 它们常常做累加器使用,就是说经常能做加法这个方面的运算啊,使用 那个 b, h, b, l 啊,或者是 b x 呢,它们经常的说 做集纸寄存器使用,常用于地址的缩影,所谓地址的缩影呢,就是说用他们去查找,哦,这一个其他的地址 啊,所谓的集纸寄存器,就是说以哪一个地方哪一个地址为基准,然后加多少就成了谁,再减多少就成了谁的意思。 那么这一个 c, h, c, l 和 cx 呢?它们经常的用于计数, 常用于计数,就说你比如循环的计数器就常用于这一个啊, cx, cx 和 cx, 那 数据小的时候呢,就用 cx 和 cx, 数据大的时候呢就用 cx, 那么 d, h, d, l 和 d x 呢?常用于数据的传递,就是说它们呢还是有一定的分工的 好,这一讲呢,我们就上到这里,下面布置一个作业。 第一,八零八六的内部继承器有多少个十六位的继承器?第二,八零八六的继承器中有哪几个继承器是可以拆分成两个八位继承器的? 第三, a, l, a, h, a x 继承器一般用做什么用? 第四, b, l, b h, b x 寄存器一般用做什么用?当 b x 拆分成八位的寄存器之后,能不能再做地址寄存器使用? 第五, cx、 c、 l、 ch 继承器一般用什么用?一般做什么用?第六, d、 l、 d, h、 d、 x 继承器一般做什么用?

今天我们讨论一下嵌式中最核心的两个概念,控制器和寄存器。控制器是主控芯片里各种专用电路, uart, iphonec, 定时器等 每个控制器独立处理一类的应件任务。例如 iphonec 用于芯片间数据通讯。定时器控制器呢,用于精确定时。学习嵌式啊,就等于学习这些控制器。 继电器呢,就是操作控制器硬件的开关旋钮或者显示面板,当然这是用硬件来比拟的,实际上继电器就是一块展存区域,哎,我们读写这个继电器,每个控制器内部啊,都有专属的继电器, 哎,计算机是通过软件来操作控制器,然后进而操作所有外部设备的。所以最常见的三种计算机啊,第一个就是控制计算机哎,驱动是否使能,也就是给控制器呢,是否提供使用信号 状态?计算机就查看硬件控制器运行过程中的当前状态的,然后数据,那就是控制器收发实际的数据的核心的一句话, 哎,软件是通过读写寄存器的特定的位域来指挥控制器来进而操作外部设备。所以我们理解到这一层,无论你学习裸机 还是 free r o s 还是 linux, 你 最终都是通过代码读写寄存器,让控制器干活。然后呢,驱动重机电路或者重机芯片响应控制器的请求。