zoukankan      html  css  js  c++  java
  • 汇编语言之第一章基础知识

    一,汇编语言介绍:

      汇编语言是直接在硬件上工作的编程语言,它的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆,但同样需要编程者将每一步具体的操作,用命令的形式写出来。

      程序员——>汇编指令(英文缩写的标识符)——>编译器(能够将汇编指令转换成机器语言的翻译程序)——>机器码(二进制数字)——>高低电平——>计算机

    二,汇编语言由3种指令组成:(1)汇编指令:机器码的助记符,有对应的机器码。

                  (2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。

                  (3)其他符号:如+、-、*、/等,有编译器识别,没有对应的机器码。

      汇编语言的核心是汇编指令,它决定了汇编语言的特性。

    三,CPU、储存器、储存单元、指令、数据。

      CPU操控整个计算机的运作并进行运算。而让CPU工作、对CPU进行指挥的指令和数据,就需要一个地方存放着。那就是存储器,也叫内存。 在一台计算机中,内存的重要性仅次于CPU。CPU直接可以使用的信息在存储器中存放。

      储存器被划分为若干个储存单元,一个二进制位是电子计算机的最小信息单元,为bit。8个bit组成一个Byte。1024个Byte组成一个KB。1024个KB组成一个MB。1024个MB组成一个GB。1024个GB组成一个TB。1024个TB组成一个PB。

      数据、指令要读取到内存中才可以被CPU接收到。指令和数据在结构上没有任何区别,都是二进制信息。只是因为信息在不同的地方被赋予不同的意义。

    四,CPU对储存器的读写。

      储存器被划分为多个存储单元,存储单元从零开始顺序编号,这些编号即可以看作是存储单元在存储器中的地址。CPU想在存储器中进行数据的读写,就得指定要找的数据在哪里放着,即存储单元的地址(地址)。还要说明CPU要干嘛,是要读还是写数据,即控制。所以这就需要一条条交通通道把CPU和存储器连接起来,也就是导线。根据传送数据的不同,把导线从逻辑上分为3类,地址总线、控制总线和数据总线。

      地址总线:CPU是通过地址总线来指定存储器单元的,所以地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。因为一根导线可以传送一位二进制数据,所以假设一个CPU有N根地址线,则CPU的地址总线的宽度为N,最多可以寻找2的N次方个内存单元,这2的N次方个内存单元也叫做这个CPU的内存地址空间。地址总线的宽度决定了CPU的寻址能力。

      数据总线:CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。若一次传输不完,即分为多次。数据总线的宽度决定了CPU和外界额数据传送速度。

      控制总线:CPU对外部器件的控制是通过控制总线来进行的。所以,控制总线的宽度决定了CPU对外部器件的控制能力。

    五、主板、接口卡

      主板上有CPU、存储器、外围芯片组、扩展插槽,通过总线相连。

      CPU(控制一切工作的设备)——>总线——>接口卡(插在扩展插槽上)——>外部设备(显示器、音响、打印机)

    六、各类存储器芯片、内存地址空间

      一台计算机装有多个存储器芯片

      从读写属性分为随机存储器(RAM)和只读存储器(ROM)。随机存储器可读可写,但必须带电存储,关机后存储内容丢失。只读存储器只能读不能写入,关机后内容不丢失。

      从功能和连接上分为随机存储器,装有BIOS的 ROM和接口卡的ROM。随机存储器例如装在主板上的RAM和插在扩展插槽的RAM。

    七、内存地址空间

      所有的物理存储器被看作一个有若干存储器单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有一个地址段,即地址空间。CPU在这段地址空间读写数据,就是在相对的物理存储器中读取数据。所以,我们在基于一个计算机硬件系统编程时,必须知道这个系统中的内存地址空间的分配情况。

     ————如有错误,请多指教,谢谢!————

      

  • 相关阅读:
    Property [*****] not found on type [com.erp.pojo.ErpSupplier]
    python 杀死线程的两种方式
    docker的学习之认识docker(一)
    Ubuntu下 MySQL不支持中文解决办法
    Django项目创建
    git介绍
    python 实现链表的逆置
    python 实现链表的增删改查(双向链表)
    python----super
    python面向对象
  • 原文地址:https://www.cnblogs.com/bowentianxia/p/9709333.html
Copyright © 2011-2022 走看看