zoukankan      html  css  js  c++  java
  • 《汇编语言》——王爽 第一章 基础知识

    2019-12-27

    23:31:42

    对于计算机一般的结构,功能,性能的研究在一门称为《组成原理》的理论层次更高的课程中进行。汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作

    1.1机器语言

    电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行计算。

    以后我们提到的计算机是指由CPU和其他受CPU直接或间接控制的芯片,器件,设备组成的计算机系统,比如我们最常见的PC机。

    每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。所以每一种微处理器都有自己的机器指令集,也就是机器语言。

    1.2汇编语言的产生

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

    可是,计算机能读懂的只有机器指令,那么如何让计算机执行程序员用汇编指令编写的程序呢?这时,就需要有一个能够将汇编指令转换为机器指令的翻译程序,这也的程序我们称其为编译器。

    1.3汇编语言的组成

    汇编语言有以下3类指令组成:

    1汇编指令:机器码的助记码,有对应的机器码

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

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

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

    1.4存储器

    在一台PC机中内存的作用仅次于CPU。离开了内存,性能再好的CPU也无法工作。这就像再聪明的大脑,没有了记忆也无法进行思考。

    要灵活地利用汇编语言编程,我们首先要了解CPU是如何从内存中读取信息,以及向内存中写入信息的。

    1.5指令和数据

    在内存和磁盘上,指令和数据没有任何区别,都是二进制信息。CPU在工作的时候把有的信息看作指令,有的信息看作数据,为同样的信息赋予了不同的意义

    1.6存储单元

    1.7CPU对存储器的读写

    CPU在读写数据时还要指明,它要对哪一个器件进行操作,进行哪种操作,是从中读出数据,还是向里面写入数据。

    CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互:
    存储单元的地址(地址信息)

    器件的选择,读或写的命令(控制信息)

    读或写的数据(数据信息)

    电子计算机能处理,传输的信息都是电信号,电信号当然要用导线传送。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。总线从物理上来说,就是一根根导线的集合。根据传送信息的不同,总线从逻辑上又分为3类,地址总线,控制总线和数据总线

    从上面我们知道了CPU是如何进行数据读写的。可是,如何命令计算机进行数据的读写呢?

    要让一个计算机或微处理器工作,应向它输入能够驱动它进行工作的电平信息(机器码) 也就是指令。

    1.8地址总线

    地址总线的宽度决定了CPU的寻址能力

    1.9数据总线

    数据总线的宽度决定了CPU和外界的数据传送速度。

    8088CPU的数据总线宽度为8,8088CPU分两次传送89D8,第一次传送D8,第二次传送89.(先低位后高位)

    1.10 控制总线

    在这里控制总线是个总称,控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部器件的控制能力。

    前面所讲的内存读或写命令是由几根控制线综合发出的。其中有一根称为“读信号输出”的控制线负责由CPU向外传送读信号,CPU向该控制线上输出低电平表示将要读取数据。

    1-1~1.10小节:

    (见书)

    1.11 内存地址空间(概述)

    1.12 主板

    在每一台PC机上,都有一个主板,主板上由核心器件和一些主要器件,这些器件通过总线(地址总线,数据总线,控制总线)相连。这些器件有CPU,存储器,外围芯片组,扩展插槽等。扩展插槽上一般插有RAM内存条和各类接口卡。

    1.13 接口卡

    直接控制这些设备进行工作的是插在扩展插槽上的接口卡。扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连。CPU可以直接控制这些接口卡,从而实现CPU对外设的间接控制。简单地讲,就是CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设进行工作。

    1.14 各类存储器芯片

    一台PC机中,装有多个存储器芯片,这些存储器芯片从物理连接上看是独立的,不同的器件。从读写属性上看分为两类:随机存储器(RAM)和只读存储器(ROM)。

    随机存储器:用于存放供CPU使用的绝大部分程序和数据,主随机存储器一般由两个位置上的RAM组成,装在主板上RAM和插在扩展插槽上的RAM(内存条)

    装有BIOS的ROM:

    BIOS是由主板和各类接口卡(显卡,网卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口卡上插有存储相应BIOS的ROM。例如,主板上的ROM中存储着主板的BIOS;显卡上的ROM中存储着显卡的BIOS;

    接口卡上的RAM:最典型的是显示卡上的RAM,一般称为显存。显示卡随时将显存中的数据向显示器上输出。换句话说,我们将需要显示的内容写入显存,就会出现在显示器上。

  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/JasonPeng1/p/12110064.html
Copyright © 2011-2022 走看看