汇编学习--6.13--基础知识

1. 汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。

2. 寄存器:CPU里可以存储数据的器件,一个CPU里多个寄存器。
 
3. 编译器:一个能够将汇编指令转换成机器指令的翻译程序。程序员用汇编语言编写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。

4. 汇编指令:机器码的助记符,有对应的机器码。
  
   伪指令: 没有对应的机器码,由编译器执行,计算机不执行。

   其他符号: + - * %等, 由编译器识别,没有对应的机器码。


5. CPU是计算机的核心部件,控制着整个计算机的运行。如果向CPU提供指令和数据,那么CPU就进行工作。指令和数据都存放在存储器(即内存)


6. 指令和数据 在内存或磁盘里都是二进制信息,没有任何区别。cpu在工作时,将机器码定义为指令,或者数据。


7. 一个存储器被划分为若干个存储单元,每个存储单元(字节)都有一个编号标识着,这些编号可以看作存储单元在存储器中的地址。

   存储单元可以存储一个字节,即八个二进制位。


8. CPU要从内存里读取数据,首先要指定内存(存储单元)的地址,然后才可以读取这个地址的数据。同理,CPU要往内存写入数据,首先要指定内存(存储单元)的地址,然后才可以往这个地址写入数据。

   CPU读写数据:

   1.  存储单元的地址
   2.  器件的选择,读或写的命令(控制信息)
   3.  读或写的数据(数据信息)


9.  总线从物理上讲,就是一根根导线的集合。根据传送不同的信息,分为3类:地址总线,控制总线,数据总线。

    CPU如何进行读数据呢? CPU如何进行写数据呢?

    1. CPU通过地址线将地址信息发出
   
    2. CPU通过控制线发出内存读或写命令,选中存储器芯片,并通知它,将要从中读取或写入数据

    3. 存储器将那个单元的数据通过数据线传送到CPU,或CPU通过数据线将数据传送到指定的内存单元里。


10.  CPU通过地址总线来指定内存单元的(存储器单元)。

     一个CPU有N根地址线,则表示CPU地址总线的宽度为N。这样CPU最多可以访问 2 的N次方 个内存单元


     CPU与内存或其他器件之间的数据传送都是通过数据总线来实现的。

     数据总线的宽度决定CPU和外界的数据传送速度。 8088CPU的数据总线宽度为8, 8086CPU的数据总线宽度为16。


     CPU对外部器件的控制是通过控制总线来进行的。 有多少根控制总线,就可以实现对外部器件多少种控制, 即控制总线的宽度决定CPU对外部器件的控制能力。

根据提供的引用内容,可以看出6.12和6.13是关于赫夫曼编码的编码和解码算法。下面是对这两个算法的简要介绍: 6.12 赫夫曼编码算法 赫夫曼编码是一种可变长度编码,用于将字符编码为比特串。它是一种前缀编码,即没有任何一个字符的编码是另一个字符编码的前缀。这种编码方式可以有效地压缩数据,因为出现频率高的字符可以用较短的编码表示,而出现频率低的字符可以用较长的编码表示。 赫夫曼编码算法的基本思想是:根据字符出现的频率构建一棵赫夫曼树,然后对每个字符进行编码。具体步骤如下: 1. 统计每个字符出现的频率,并将它们存储在一个频率表中。 2. 将频率表中的每个字符作为一个叶子节点,构建一棵赫夫曼树。构建赫夫曼树的方法是:将频率最小的两个节点合并成一个新节点,新节点的权值为两个节点的权值之和。重复这个过程,直到所有节点都被合并成一个根节点。 3. 对赫夫曼树进行遍历,对每个字符生成一个编码。从根节点开始,如果向左走就在编码的末尾添加一个0,如果向右走就在编码的末尾添加一个1。当遍历到一个叶子节点时,就得到了该字符的编码。 4. 将每个字符的编码存储在一个编码表中。 6.13 赫夫曼解码算法 赫夫曼解码算法的基本思想是:根据赫夫曼编码表和赫夫曼树,将比特串解码为字符。具体步骤如下: 1. 从比特串的开头开始,沿着赫夫曼树向下走,直到遇到一个叶子节点。 2. 如果遇到的是一个叶子节点,就将该节点对应的字符输出,并返回到根节点。 3. 如果遇到的是一个内部节点,就根据比特串的下一位向左或向右走,重复步骤1和步骤2,直到遇到一个叶子节点。 --相关问题--: 1. 赫夫曼编码有哪些应用场景? 2. 如何实现赫夫曼编
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值