汇编语言-底子知识

源代码 2024-9-20 02:13:06 94 0 来自 中国
汇编语言是直接在硬件之上工作的编程语言,使用硬件体系的编程结构和指令集有效机动地控制体系举行工作是汇编课程的研究重点。
1.1 呆板语言

呆板语言是呆板指令的聚集,呆板指令睁开来讲就是一台呆板可以准确实行的下令。电子盘算机的呆板指令是一列二进制数字。盘算机将之转变为一列高低电平,以使盘算机的电子器件收到驱动,举行运算。
当代盘算机中做这项工作的电子器件是CPU芯片。由于CPU的硬件操持和内部结构的差别,就必要用差别的电平脉冲来控制,使它工作,以是每一种CPU都有本身的呆板指令集。
由于呆板码的晦涩难明和不易查错,誊写和阅读呆板码步伐不是一件简朴的工作。于是汇编语言产生了。
1.2 汇编语言

汇编语言的主体是汇编指令。汇编指令相对于呆板指令更加便于阅读和影象。
比方:呆板指令1000 1001 1101 1000表现把寄存器BX的内容送到寄存器AX中。汇编指令则写成mov ax ,bx。(寄存器:简朴地讲是CPU可以存储数据的器件,一个CPU中有多个寄存器。AX是此中一个寄存器的代号,BX是别的一个寄存器的代号)
盘算性能读懂的只有呆板指令,以是汇编指令和高级语言一样,必要由编译器将其转换为呆板指令。
1.3 汇编语言的构成

汇编语言由3类指令构成。

  • 汇编指令:由编译器转换为呆板码,它是汇编语言的核心。
  • 伪指令:没有对应的呆板码,由编译器实行,盘算机并不实行。
  • 其他符号:如+、-、*、/等,由编译器辨认,没有对应的呆板码。
1.4 存储器

要想CPU举行运算,就必须向它提供指令和数据。指令和数据在存储器中存放。这里的存储器就是我们寻常说的内存。想要机动地使用汇编语言编程,起主要了解CPU是如何从内存中读取信息,以及向内存中写入信息的。
1.5 指令和数据

指令和数据是应用上的概念,在内存大概磁盘上,指令和数据没有任何区别,都是二进制信息。CPU在工作的时间把有的信息看作指令,有的信息看作数据,为同样的信息赋予了差别的意义。
比方:内存中的二进制信息 1000 1001 1101 1000,盘算机可以把它看作巨细为 89D8H的数据来处理处罚,也可以将其看作指令mov ax ,bx来实行。
1.6 存储单位

存储器被分别为多少个存储单位,每个存储单位从0开始顺序编号,比方一个存储器有128个内存单位,编号从0~127.如下图所示:


电子盘算机的最小存储单位是bit,8个bit构成一个Byte(字节)。微型盘算机存储器的存储单位可以存储一个字节,以是一个拥有128个存储单位的存储器可以存储128个字节。
1.7 CPU对存储器的读写


  • CPU和外部器件举行哪些信息的交互?
    存储器被分别为多个存储单位,存储单位从0开始顺序编号。CPU要想举行数据的读写,起主要确定存储单位的编号,也就是地点。
    一台微型机中,不但有存储器一个器件。CPU要想举行数据的读写,其次要指明对哪个器件举行读写。
    可见,CPU要想举行数据的读写,必须和外部器件举行下面3类信息的交互。

  • 存储单位的地点(地点信息)。
  • 器件的选择,读或写的下令(控制信息)。
  • 读或写的数据(数据信息)。


  • CPU如何将地点信息、控制信息以及数据信息传到存储器?
    由于电子盘算性能处理处罚、传输的信息都是电信号、电信号固然必要用导线传送。在盘算机中专门有毗连CPU和其他器件的导线,通常成为总线。总线从物理上讲,就是一根根导线的聚集。根据传输信息的差别,总线从逻辑上又分为3类:地点总线、控制总线和数据总线。


  • 如何下令盘算机举行数据的读写呢?
    要让盘算机工作,应向它输入可以或许驱动它举行工作的电平信息(呆板码)。如下所示:
    呆板码:10100001 00000011 00000000
    汇编指令:MOV AX ,[3]
    寄义:传送3号单位的内容入AX
1.8 地点总线

CPU是通过地点总线来指定存储器单位的,可看法址总线能传送多少个差别的信息,CPU就可以对多少个存储单位举行寻址。
假设,一个CPU有10根地点总线。电子盘算机中,一根导线可以传送的稳固状态只有两种,高电平或低电平。用二进制表现就是0,1。10根导线可以传送10位二进制数据。而10位二进制数可以2的10次方个数据,最小为0,最大为1023.
以是一个CPU有N根地点线,则可以说这个CPU的地点总线的宽度为N.最多可以探求2的N次方个内存单位。

1.9 数据总线

CPU与其他器件之间的数据传送是通过数据总线举行的。数据总线的宽度决定了CPU与外界的数据传送速率。8根数据总线一次可传送一个8位二进制数据(即一个字节)。16根数据总线一次可传送两个字节。

4.png
5.png
由于8088CPU的数据总线宽度为8,8086CPU的数据总线宽度为16,以是传输雷同的89D8H数据,8086CPU可以一次传送完成,而8088CPU要分两次完成。
1.10 控制总线

CPU对外部器件的控制是通过控制总线来举行的,控制总线是一些差别控制线的聚集。有多少根控制总线,就意味着CPU对外部器件有多少种控制。以是控制总线的宽度决定了CPU对外部器件的控制本领。
此中有一根称为“读信号输出”的控制线负责由CPU向外传送读信号;有一根称为“写信号输出”的控制线则负责传送写信号。
检测点1.1


  • 1个CPU的寻址本领为8KB,那么它的地点总线的宽度为?
    2的N次方 = 8KB,N = 13
  • 1KB的存储器有多少个存储单位。存储单位的编号最小值和最大值是多少?
    存储单位以1字节为一个单位,1KB = 1024字节。以是1KB的存储器有1024个存储单位,存储单位编号的最小值是0,最大值是1023.
  • 1KB的存储器可以存储多少个bit,多少个Byte?
    1KB = 1024Byte = 1024 * 8 = 8192 个bit。
  • 1GB、1MB、1KB分别是多少Byte?
    1KB = 1024B 1MB = 10241024Byte 1GB = 10241024*1024Byte
  • 8080、8088、80286、80386的地点总线宽度分别是16根、20根、24根、32根,则它们的寻址本领分别为?
    分别是2的16次方/1024KB = 64KB,2的20次方/1024/1024MB = 1MB,2的24次方/1024/1024KB = 16MB,2的32次方/1024/1024/1024GB = 4GB。
  • 8080、8088、8086、80286、80386的地点总线宽度分别为16根、20根、24根、32根,则它们一次可以传送的数据为多少B?
    分别是2的16次方 = 65536B,2的20次方 = 1048576B,2的24次方 = 16777216B,2的32次方 = 4294967296B.
  • 从内存中读取1024字节的数据,8086至少要读多少次?80386至少要读多少次?
    8086有16根数据线,一次可以读2个字节的数据,1024个字节,8086至少读512次。
    80386有32根数据线,一次可以读4个字节的数据,1024个字节,80386至少读256次。
  • 在存储器中,数据和步伐以什么情势存放?
    以二进制的格式存放的。
1.11 内存地点空间(概述)

一个CPU的地点总线宽度为10,那么可以寻址1024个内存单位,这1024个可寻到的内存单位就构成这个CPU的内存地点空间。
1.12 主板

主板上有核心器件,比如说CPU,也有一些紧张器件,比如存储器、扩展插槽等。扩展插槽上一样寻常插有各类接口卡。
这些器件通过总线(地点总线、数据总线、控制总线)相连。
1.13 接口卡

CPU并不直接控制外部装备。直接控制外部装备的插在扩展插槽上的接口卡。扩展插槽通过总线和CPU相连,以是接口卡也通过总线和CPU相连。CPU通过控制接口卡,间接控制CPU外设。常见的接口卡有显卡、网卡、内存条等。
1.14 各类存储器芯片

从读写属性上看分为两类:随机存储器(RAM) 和 只读存储器(ROM)。随机存储器可读可写,但必须带电存储,关机后存储的内容丢失;只读存储器智能读取不能写入,关机后此中的内容不丢失。
从功能和毗连上分为三类:

  • 随机存储器
    用于存放CPU使用的绝大部门步伐和数据。一样寻常由装在主板上的RAM和插在扩展插槽上的RAM.
  • 装有BIOS(根本输入/输出体系)的ROM
    BIOS是由主板和各类接口卡(显卡、网卡等)厂商提供的软件体系,可以通过它使用该硬件装备举行最根本的输入输出。在主板和接口卡上插有存储相应BIOS的ROM。比方:主板上的ROM中存储主板的BIOS(通常称为体系BIOS)。
  • 接口卡上的RAM
    某些接口卡必要对大批量输入、输出数据举行临时存储,在其上装有RAM.比如最范例的显存。表现卡将显存中的数据向表现器上输出。


1.15 内存地点空间

以上存储器芯片,物理上都是独立的器件,但有两个共同点:

  • 都和CPU的总线相连
  • CPU对它们举行读大概写的时间都通过控制线发出内存读写下令。
    也就是说,CPU在操控它们的时间,把它们当做内存来对待,把它们总的看作一个多少存储单位构成的逻辑存储器,这个逻辑存储器就是我们所说的内存地点空间。


    8.png
    全部的物理存储器被看作一个由多少存储单位构成的逻辑存储器,每个物理存储器在这个逻辑存储器中占据一个地点段。CPU在这段地点空间中读写数据,机上就是在相对应的物理存储器中读写数据。
参考

汇编语言第4版本 王爽著 清华大学出书社
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2025-3-15 09:52, Processed in 0.176753 second(s), 36 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表