0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

汇编语言基础知识:基本概念

CHANBAEK 来源:上下求索电子er 作者:上下求索电子er 2023-10-26 14:29 次阅读

汇编语言:基本概念

1 机器语言和汇编语言

1.1 机器语言

机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。早期的程序设计均使用机器语言。程序员们将用0、1 数字编成的程序代码打在纸带或卡片上,1打孔,0 不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。

机器语言难于辨别和记忆, 给整个产业的发展带来了障碍。于是汇编语言产生了。

1.2 汇编语言

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

例如:机器指令1000100111011000表示把寄存器BX的内容送到AX 中。汇编指令则写成mov ax,bx。这样的写法与人类语言接近,便于阅读和记忆。

「编译器」 是能够将汇编指令转换成机器指令的翻译程序,程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。

2 CPU对存储器的读写

2.1 概述

CPU要从内存中读数据,首先要指定 「存储单元的地址」 。另外还要指明它要对 「哪一个器件」 进行操作,进行 「哪种操作」 ,是从中读出数据,还是向里面写入数据。

即CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互。

  • 存储单元的地址(地址信息);
  • 器件的选择,读或写的命令(控制信息);
  • 读或写的数据(数据信息)。

在计算机中专门有为CPU和其他部件之间提供信息(地址信息、控制信息、数据信息)的传输通道,通常称为总线。总线从物理上来讲,就是一根根导线的集合。根据传送信息的不同,总线从逻辑上又分为3类,地址总线、控制总线和数据总线。8086CPU有20条地址总线、16条控制总线和16条数据总线。

要让一个计算机或微处理器工作,应向它输入能够驱动它进行工作的电平信息(机器码)。例如:传送3 号单元的内容入AX

  • 机器码:10100001 00000011 00000000
  • 对应的汇编指令:MOV AX,[3]

2.2 地址总线

「地址总线(AB)」 用来传递地址信息。因地址总是从CPU送出去的,所以地址总线通常是单向的。假设,一个CPU有10根地址总线,如图所示,它发出地址信息11时10根地址线上传送的高低电平信号的二进制信息就为11对应的二进制数00 0000 1011。

图片

一 个 CPU有 N 根地址线,则可以说这个CPU的地址总线的宽度为N这样的CPU最多可以寻找次方个内存单元。8086CPU的20根地址线(A19A16,A15A0)可以全部用来给外部存储器提供地址,所以8086可寻址的外部存储器地址空间达字节即1MB。

2.3 数据总线

「数据总线(DB)」 用来传输数据。数据总线是双向的,即数据既可以从CPU送到其他部件,也可以从其他部件送到CPU。

数据总线的宽度 决定了CPU和外界的数据传送速度。8根数据总线一次可传送一个8位二进制数据(即一个字节),16根数据总线一次可传送两个字节。

例如,8086有16根数据线,可一次传送16位数据,所以可一次传送数据89D8H;而 8088只有 8 根数据线,一次只能传8 位数据,所以向内存写入数据89D8H时需要进行两次数据传送。

图片

图片

2.4 控制总线

「控制总线(CB)」 用来传输控制信号。其中包括CPU送往存储器和输入/输出接口的控制信号,还包括其他部件送到CPU的信号。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部器件的控制能力。

3 各类存储器芯片

3.1 随机存储器和只读存储器。

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

「随机存储器」 可读可写,但必须带电存储,关机后存储的内容丢失; 「只读存储器」 只能读取不能写入, 关机后其中的内容不丢失。下展示了 PC系统中各类存储器的逻辑连接情况。

图片

3.2 内存地址空间

CPU在操控存储器的时候,把它们都当作内存来对待,把它们总的看作一个由若干存储单元组成的一个逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。下图展示了CPU将系统中各类存储器看作一个逻辑存储器的情况

图片

内存地址空间的大小受CPU地址总线宽度的限制。8086CPU的地址总线宽度为20, 可以传送 个不同的地址信息,即可以定位个内存单元,则8086PC的内存地址空间大小为1MB。下图展示了 8086PC机内存地址空间分配的基本情况。

图片

从地址0〜9FFFF的内存单元中读取数据,实际上就是在读取主随机存储器中的数据;向地址AOOOO-BFFFF的内存单元中写数据,就是向显存中写入数据, 这些数据会被显示卡输出到显示器上;我们向地址C0000〜 FFFFF的内存单元中写入数据的操作是无效的,因为这等于改写只读存储器中的内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7423

    浏览量

    163489
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10798

    浏览量

    210708
  • 计算机
    +关注

    关注

    19

    文章

    7337

    浏览量

    87616
  • 汇编语言
    +关注

    关注

    14

    文章

    407

    浏览量

    35676
  • 编译器
    +关注

    关注

    1

    文章

    1615

    浏览量

    49007
收藏 人收藏

    评论

    相关推荐

    《微机原理与汇编语言汇编语言程序设计知识

    `《微机原理与汇编语言汇编语言程序设计知识[hide][/hide]`
    发表于 03-19 10:15

    《微机原理与汇编语言》微机基础知识

    `《微机原理与汇编语言》微机基础知识[hide][/hide]`
    发表于 04-05 13:00

    什么是汇编语言

    文章目录前言一、 汇编语言简介1.1 什么是汇编语言1.2机器语言简介1.3 汇编语言的演变史1.4 汇编语言的广义组成二、硬件与软件2.1
    发表于 02-24 07:01

    ARM汇编语言入门

    本指南介绍了使用A64指令集的Arm汇编语言基本概念,向您展示了如何使用Arm Development Studio创建和运行汇编代码,并提供了汇编代码示例供您进行实验。
    发表于 08-08 07:28

    汇编语言程序设计下载

    professional assembly language 汇编语言程序设计本书分为三部分。第一部分讲解汇编语言程序设计环境基础,第二部分研究汇编语言程序设计,最后一部分讲解高级汇编语言
    发表于 10-21 17:42 0次下载
    <b class='flag-5'>汇编语言</b>程序设计下载

    汇编语言编程艺术(PDF)

    汇编语言编程艺术从简单的Hello程序开始,系统而详细地阐述了X86微机汇编语言编程的行种基础知识和编程技巧,内容涉及到数据表示、存储器管理、各种数据类型、过程、与汇编
    发表于 10-21 18:04 0次下载
    <b class='flag-5'>汇编语言</b>编程艺术(PDF)

    汇编语言自学教程

    汇编语言自学教程 汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label
    发表于 03-15 14:24 511次下载

    汇编语言程序结构

    实 验   汇编语言程序结构 一、实验目的 1.掌握汇编语言程序上机过程。    2.掌握汇编语言结构。
    发表于 09-28 23:11 2836次阅读

    Linux中的汇编语言

    在阅读Linux源代码时,你可能碰到一些汇编语言片段,有些汇编语言出现在以.S为扩展名的汇编文件中,在这种文件中,整个程序全部由汇编语言组成。有些
    发表于 04-07 20:43 55次下载

    汇编语言

    汇编语言举例,比如读寄存器内容的源代码、汇编语言制作的光带菜单及源程序、获得操作系统版本的汇编源代码等
    发表于 12-31 10:40 33次下载

    汇编语言学习课件_微处理器基础知识

    汇编语言学习课件 第二章 微处理器基础知识 2.1 Intel公司80x86系列微处理器简介 2.2 程序可见寄存器组 2.3 存储器 2.4 PC机操作系统的发展 2.5 DOS内存布局 2.6 外部设备及I/O地址空间 2.7
    发表于 12-31 10:39 0次下载

    汇编语言学习课件_汇编语言程序组织

    第四章 汇编语言程序组织 4.1 汇编语言语句格式 4.2 汇编语言源程序结构 4.3 常用伪指令 4.4 汇编语言操作符 4.5
    发表于 12-31 10:41 0次下载

    汇编语言程序设计

    电子专业单片机相关知识学习教材资料——汇编语言程序设计
    发表于 09-01 16:40 0次下载

    《微机原理与汇编语言》微机基础知识

    《微机原理与汇编语言》微机基础知识
    发表于 12-14 15:07 0次下载

    单片机基础教程之汇编语言程序设计知识的详细资料说明

    本文档的主要内容详细介绍的是单片机基础教程之汇编语言程序设计知识的详细资料说明包括了:1 编程的步骤、方法和技巧,2 汇编语言源程序的编辑和汇编
    发表于 01-28 16:47 10次下载
    单片机基础教程之<b class='flag-5'>汇编语言</b>程序设计<b class='flag-5'>知识</b>的详细资料说明