电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

汇编语言基础知识

12页
  • 卖家[上传人]:ni****g
  • 文档编号:481361961
  • 上传时间:2022-10-12
  • 文档格式:DOCX
  • 文档大小:178.65KB
  • / 12 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、汇编语言基础知识汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。1.1 微型计算机概述微型计算机由中央处理器(CentralProcessingUnit,CPU)、存储器、输入输出接口电路和总线构成。CPU如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。存储器包括随机存储器(RandomAccessMemory,RAM)和只读存储器(ReadOnlyMemory,ROM)。输入输出接口电路用来连接外部设备和微型计算机。总线为CPU和其他部件之间提供数据、地址和控制信息的传输通道。如图1.1所示为微型计算机的基本结构。地址总线图1.1微型计算机基本结构外部设备特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。一个部件只要符合总线结构标准,就可以连接到采用这种总线结构的系统中,

      2、使系统功能得到扩展。数据总线用来在CPU与内存或其他部件之间进行数据传送。它是双向的,数据总线的位宽决定了CPU和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了CPU可以直接寻址的内存范围。如CPU的地址总线的宽度为N,则CPU最多可以寻找2N个内存单元。控制总线用来传输控制信号,其中包括CPU送往存储器和输入输出接口电路的控制信号,如读信号、写信号和中断响应信号等;也包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号等。1.2 Intel公司微处理器简介自20世纪70年代开始出现微型计算机以来,CPU经历了飞速的发展。1971年,Intel设计成功了第一片4位微处理器Intel4004;随之又设计生产了8位微处理器8008;1973年推出了8080;1974年基于8080的个人计算机(PersonalComputer,PC)问世,Micr

      3、osoft公司的创始人BillGates为PC开发了BASIC语言解释程序;1977年Intel推出了8085。自此之后,Intel又陆续推出了8086、80386、Pentium等80x86系列微处理器。各种微处理器的主要区别在于处理速度、寄存器位数、数据总线宽度和地址总线宽度。下面简要介绍不同时期Intel公司制造的几种主要型号的微处理器,这些微处理器都曾经或正在广为流行。180x86系列微处理器1) 8088微处理器具有多个16位的寄存器、8位数据总线和20位地址总线,可以寻址1MB的内存。虽然这些寄存器一次可以处理2个字节,但数据总线一次只能传送1个字节。该处理器只能工作在实模式。2) 8086微处理器指令系统与8088完全相同,具有多个16位的寄存器、16位数据总线和20位地址总线,可以寻址1MB的内存,一次可以传送2个字节。该处理器只能工作在实模式。3) 80286微处理器比8086运行更快,具有多个16位的寄存器、16位数据总线和24位地址总线,可以寻址16MB内存。它既可以工作在实模式,也可以工作在保护模式。4) 80386微处理器具有多个32位的寄存器、32位数据总线

      4、和32位地址总线,可以寻址4GB内存。它提供了较高的时钟速度,增加了存储器管理和相应的硬件电路,减少了软件开销,提高了效率。它既可以工作在实模式,也可以工作在保护模式。5) 80486微处理器具有多个32位的寄存器、32位数据总线和32位地址总线。它比80386增加了数字协处理器和8KB的高速缓存,提高了处理速度。它既可以工作在实模式,也可以工作在保护模式。6) Pentium(奔腾)具有多个32位的寄存器、64位数据总线和36位地址总线。因为它采用了超标量体系结构,所以每个时钟周期允许同时执行两条指令,处理速度得到了进一步提高,性能比80486优越得多。它既可以工作在实模式,也可以工作在保护模式。以上介绍了Intel80x86系列的一些主要微处理器,表1.1给出了该系列部分微处理器的数据总线和地址总线宽度。实际上80x86系列的功能还在不断改进和增强,它们的速度将会更快,性能将会更优越。但无论怎样变化,它们总会被设计成是完全向下兼容的,就像在8086上设计和运行的软件可以不加任何改变地在Pentium4机上运行一样。对于汇编语言编程人员来讲,掌握16位计算机的编程十分重要,它是学习高

      5、档计算机及保护模式编程的基础,也是掌握实模式程序设计的唯一方法。2.CPU的主要性能指标1)机器字长机器字长和CPU内部寄存器、运算器、内部数据总线的位宽相一致。如8086CPU,它的内部寄存器是16位的、运算器能完成两个16位二进制数的并行运算、数据总线的位宽为16位,则它的机器字长为16位,也称其为16位计算机。通常,机器字长越长,计算机的运算能力越强,其运算精度也越高。2)速度CPU的速度是指单位时间内能够执行指令的条数。速度的计算单位不一,若以单字长定点指令的平均执行时间计算,用每秒百万条指令(MillionIstructionsPerSecond,MIPS)作为单位;若以单字长浮点指令的平均执行时间计算,则用每秒百万条浮点运算指令(MillionFloating-pointOperationsPerSecond,MFLOPS)表示。现在,采用计算机中各种指令的平均执行时间和相应的指令运行权重的加权平均法求出等效速度作为计算机运算速度。3)主频主频又称为主时钟频率,是指CPU在单位时间内产生的时钟脉冲数,以MHz/s(兆赫兹每秒)为单位。由于计算机中的一切操作都是在时钟控制下完

      6、成的,因此,对于机器结构相同或相近的计算机,CPU的时钟频率越高,运算速度越快。表1.1Inte180x86系列微处理器总线宽度CPU数据总线宽度地址总线宽度CPU数据总线宽度地址总线宽度80861620Pentium64368088820Pentium口6436802861624Pentiumm643680386SX1624Pentium4643680386DX3232Itanium64448048632321.3 计算机语言及汇编语言特点1.3.1 计算机语言概述计算机语言的发展经历了由机器语言、汇编语言到高级语言这样一个由低级到高级的发展过程。1 .机器语言机器语言是计算机唯一能直接识别和执行的计算机语言。由于计算机硬件本身只能识别二进制代码,在计算机发展的初期,人们使用二进制代码构成机器指令来编写程序,这种二进制编码的计算机语言就是机器语言。机器语言描述的程序称为目标程序,只有目标程序才能被CPU直接执行。指令用于指出计算机所进行的操作和操作对象的代码,一条指令通常由操作码和操作数两部分组成。其中,操作码指出计算机所进行的具体操作,如加法、减法等;操作数说明操作的对象。操作码比

      7、较简单,只需对每一种操作指定确定的二进制代码就可以了;操作数比较复杂,首先它可以有一个、两个或三个,分别称为单操作数、双操作数或三操作数,其次,操作数可能存放在不同的地方,既可以存放在寄存器中,也可以存放在存储器中,甚至直接存放在指令中,通常要用寻址方式来说明。一台计算机全部指令的集合构成该计算机的指令系统。指令系统是计算机基本功能的体现,不同的机器指令对应的二进制代码序列各不相同。机器语言是面向机器的,不同机器之间的语言是不通用的,这也是机器语言是“低级”语言的含义所在。用二进制代码编写程序相当麻烦,写出的程序也难以阅读和调试。2 .汇编语百早期的程序员们很快就发现了使用机器语言带来的麻烦,它是如此难于辨别和记忆,给整个产业的发展带来了障碍,于是产生了汇编语言。汇编语言是一种采用指令助记符、符号地址、标号等符号书写程序的语言,它便于人们书写、阅读和检查。汇编语言指令与计算机指令基本上是一一对应的,汇编语言与计算机有着密不可分的关系,处理器不同,汇编语言就不同,因此它是一种低级语言,同时它也是唯一能够充分利用计算机硬件特性并直接控制硬件设备的语言。利用汇编语言进行程序设计体现了计算机硬

      8、件和软件的结合。用汇编语言编写的程序称为汇编源程序(或称汇编语言程序),计算机不能直接识别,必须将其翻译成由计算机指令组成的程序后,CPU才能执行,这一过程称为“汇编”。用于将汇编源程序翻译成计算机语言的程序称为汇编程序,这种由源程序经过计算机翻译转换成的计算机语言程序也称为目标程序。目标程序还不能直接交给CPU执行,它还需要通过连接程序装配成可执行程序才能被执行。连接程序具有将多个目标程序装配在一起的功能,它也可以将目标程序与预先编写好的一些放在子程序库中的子程序连接在一起,构成较大的可执行程序。它们之间的关系如图1.2所示。图1.2汇编程序与目标程序、可执行程序之间的关系3 .局级语百高级语言是一种与具体的计算机硬件无关,独立于计算机类型的通用语言,比较接近人类自然语言的语法,用高级语言编程不必了解和熟悉计算机的指令系统,更容易掌握和使用。高级语言采用接近自然语言的词汇,其程序的通用性强,易学易用,这些语言面向求解问题的过程,不依赖具体计算机。高级语言也要翻译成机器语言才能在计算机上执行。其翻译有两种方式,一种是把高级语言程序翻译成机器语言程序,然后经过连接程序连接成可执行文件,再

      9、在计算机上执行,这种翻译方式称为编译方式,大多数高级语言如PASCAL语言、C语言等都是采用这种方式;另一种是直接把高级语言程序在计算机上运行,一边解释一边执行,这种翻译方式称为解释方式,如BASIC语言就采用这种方式。高级语言源程序是在未考虑计算机结构特点情况下编写的,经过翻译后的目标程序往往不够精练,过于冗长,加大了目标程序的长度,占用较大存储空间,执行时间较长。1.3.2 汇编语言的特点汇编语言使用助记符和符号地址,所以它要比机器语言易于掌握,与高级语言相比较,汇编语言有以下特点。1)汇编语言与计算机关系密切汇编语言中的指令是机器指令的符号表示,与机器指令是一一对应的,因此它与计算机有着密切的关系,不同类型的CPU有不同的汇编语言,也就有各种不同的汇编程序。汇编语言源程序与高级语言源程序相比,其通用性和可移植性要差得多。2)汇编语言程序效率高由于构成汇编语言主体的指令是用机器指令的符号表示的,每一条指令都对应一条机器指令,且汇编语言程序能直接利用计算机硬件系统的许多特性,如它允许程序员利用寄存器、标志位等编程。用汇编语言编写的源程序在编译后得到的目标程序效率高,主要体现在空间效率和时间效率上,即目标程序短、运行速度快这两个方面,在采用相同算法的前提下,任何高级语言程序在这两个方面的效率与汇编语言相比都望尘莫及。3)特殊的使用场合汇编语言可以实现高级语言难以胜任甚至不能完成的任务。汇编语言具有直接和简捷的特点,用它编制程序能精确地描述算法,充分发挥计算机硬件的功能。在过程控制、多媒体接口、设备通信、内存管理、硬件控制等方面的程序设计中,用汇编

      《汇编语言基础知识》由会员ni****g分享,可在线阅读,更多相关《汇编语言基础知识》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.