汇编语言学习1~基础知识

目录

机器语言与汇编语言

存储器

内存地址空间

练习题:


机器语言与汇编语言

        1.机器语言:机器指令的集合

                优点:直接可以被机器解读执行,执行效率高;

                缺点:由于CPU的硬件设计和内部结构不同,不同的CPU有不同的指令集,造成复用性低;全为二进制代码组成,理解记忆性差。

        2.汇编语言:由符号式的程序设计语言,由汇编指令构成。直接在硬件之上工作的语言。

                优点:由符号组成,相对于机器语言记忆性理解性更强;

                缺点:需要汇编程序(编译器)进行编译,因此效率低于机器语言。

        3.汇编语言的组成:

                (1)汇编指令:机器码的助记符,有相对应的机器码;如mov,add等;

                (2)伪指令:没有对应码,由编译器识别;

                (3)其他符号:+-*/等,编译器识别,无对应机器码;

存储器

        1.电脑主机由CPU和存储器构成,应用汇编语言在硬件上进行操作,需要了解存储器的基本结构。

        2.指令与数据:

       现代计算机大都采用冯.诺依曼在研究EDVAC机时提出的“存储程序”的概念,即将程序(指令)与数据以同等的地位存储在存储器中。指令与数据由控制器进行区分,在内存中均以二进制形式进行存储。

        3.存储单元

        存储器(存储体)中存在着许多的存储单元,每个存储单元存储一串二进制代码(存储字),该二进制代码的长度(存储字长)。

        在计算机中最小的信息单位是1bit(二进制位,0/1)。一般的微型机的存储字长为8位,即一个存储单元可以存储8个二进制位,因此规定1Byte(=8bit)来作为存储器容量计算的最小单位。现代计算机一般的存储字长为16位,即每个存储单元的容量为2Byte。

        4.存储容量单位

          1Byte = 8bit        1KB=1024B        1MB=1024KB        1GB=1024MB

           均需要为2的次方。

        5.存储器读写方法

         因为指令与数据均以同等地位保存在存储器中,因此寻找他们可以直接以地址在存储器中寻找(冯.诺依曼机的另一特性:按址寻找)。CPU通过三类总线对于进行信息传递:

        (1)地址总线:CPU中的PC寄存器存储着指令地址通过地址总线向存储器中的MAD寄存器进行地址传导,进而在存储器中寻找相应地址的指令/数据。因为要寻找存储器中的所有的数据/指令,因此地址总线必须可以表示所有存储单元的地址。

        此处一根地址线可以表示0、1,使用地址总线具有的地址数量n作为地址总线的宽度(代表了地址总线的寻址能力),要寻找相应数量的内存单元,即2的n次方数==内存单元数

        (2)数据总线:在存储器中通过相应地址寻找到数据后,需要通过数据总线进行传输。因此数据总线的宽度代表了一次传输数据的大小(进而决定了数据传输的速度)。

        此处一根数据先可以表示0/1,8根数据线组成的数据总线一次最多传递1Byte,若要传递2Byte需要分两次传输,进而使速度变慢。

        (3)控制总线:CPU为中央处理器,需要对所有的器件进行控制,因此需要不同的控制线,构成了控制总线。因此控制总线的宽度代表了CPU对外部的器件的控制能力

内存地址空间

        1.随机存储器(RAM)random

        (1)主随机存储器:存储绝大部分的程序和数据,由装在主板上的RAM和拓展插槽的RAM;

        (2)接口卡上的RAM:对于输入输出的数据进行暂时的存储;如显示卡(显存)写入即出现在显示器上。

        (3)特点:可读可写,必须带电存储。

        2.只读存储器(ROM)output

        (1)特点:只能读取,不能写入,关机后内容不丢失;

        (2)BIOS是基本输入输出系统,可以利用硬件设备进行输入输出,如显卡上的BIOS系统装在显卡的ROM中,不能更改,只能读取使用。

        3.内存地址空间

        此下图为8086PC的地址内存空间分配:8086地址总线为20,可以存储2^{20}个存储单元,即内存编号从0~2^{20}-1,用十六进制表示为0~FFFFF。

        需注意:

        (1)00000~9FFFF为RAM,因此可读可写;

        (2)A0000~BFFFF为显存地址空间,向此处写入数据会在显示屏上展示;

        (3)C0000~FFFFF为ROM,此处数据只读不写,修改此处数据无效。

        

 

练习题:

(1)1个CPU的寻址能力为8KB,那么他的地址总线宽度为:

        寻址能力由地址总线的宽度决定,一根地址线传递1Byte即2^{^{1}}存储单元(!!!一个存储单元里面有8bit),8KB=2^{3}*2^{10}B,故地址总线宽度为13;

(2)1KB的存储器有__个存储单元,存储单元编号为__到__。

        一个存储单元中可存储1B的数据,因此1KB=2^{10}B,有1024个存储单元,编号从0开始至1023

(3)8080、8088、80286、80386的地址总线的宽度分别为16、20、24、32,寻址能力分别为

   8080:2^{16}Byte = 2^{6}B        8088: 2^{20}Byte = 1MB        8086:2^{24}=2^{4}MB        80386:2^{32}=2^{2}GB

 (4)8080、8088、8086、8086、80286、80386的数据总线的宽度分别为8、8、16、16、32,一次传送的数据分别为:

        一根数据线可以表示0/1即1bit,因此八根表示8bit = 1Byte,十六根表示16bit = 2Byte,三十二根表示32bit = 4Byte。

(5)从内存中读取1024字节的数据,8086至少要读__次,80386至少要读__次。

        由(4)可知8086一次可以读2B,1024字节要读512次,80386一次4B,1024要读256次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值