汇编语言详细教材第一章.ppt_第1页
汇编语言详细教材第一章.ppt_第2页
汇编语言详细教材第一章.ppt_第3页
汇编语言详细教材第一章.ppt_第4页
汇编语言详细教材第一章.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件学院 杨广明 ,汇编语言 程序设计,第 1 章,概 述,教学重点,第1章是用汇编语言进行程序设计所需要了解的基本知识。在课堂上,我们重点明确几个概念: PC机软硬件系统 认识汇编语言,第一节 微机系统组成,硬件子系统(Hardware) 控制器、运算器 存储器 输入设备和输出设备 软件子系统(Software) 系统软件 应用软件,一、硬件子系统,硬件子系统是指组成计算机系统的所有电子的、机械的、光学的和磁性的元部件。通常包括中央处理器CPU,主存储器,接口装置,外部设备(输入设备,输出设备,外存储器),外围设备(A/D转换器,D/A转换器,开关量的输入/输出设备)。,微机系统组成图,I/O 接 口,主存储器,系统总线,辅助存储器,输入设备,输出设备,控制台,微机的硬件,中央处理单元 CPU(Intel 80x86) 对汇编语言程序员,最关心其中的寄存器 存储器(主存储器) 呈现给汇编语言程序员的,是存储器地址 外部设备(接口电路) 汇编语言程序员看到的是端口(I/O地址),中央处理器(CPU),计算机硬件子系统的核心。 算术逻辑部件:完成算术和逻辑运算。 寄存器组:由若干寄存器组成。 标志寄存器:用于保存运算结果的状态和CPU用的逻辑控制标志。 控制部件:用于保存指令,对指令进行译码,产生控制各个部件的信号。,寄存器(Register),寄存器是CPU内部的高速存储单元 它们为处理器提供各种操作所需要的数据或地址等信息 汇编语言程序采用它们各自的符号名 例如,在Intel 8086/8088 CPU中有 AX BX CX DX SI DI BP SP,存储器,存储器分为内存储器和外存储器,简称为内存和外存。 内存:又称主存储器,用于存储计算机当前正在运行的程序,正在处理的原始数据、中间结果及最终结果等。 外存:又称为辅助存储器,如磁盘、磁带、光盘等。用于存放计算机当前没有执行的一些系统程序和用户程序。,存储器,内存容量:主存储器能存放信息的容量称为内存容量,通常用存储空间的多少来表示。存储空间的基本计量单位为字节(Byte),一个字节由8位二进制位(bit)组成。 1024B=1KB 1024KB=1MB 1024MB=1GB,存储器地址(Address),存储器是由大量存储单元组成。为了区别每个单元,我们将它们编号,这个编号就是存储器地址。 存储器地址是存储器中存储单元的编号 微机的每个存储单元存放一个字节量的数据 一个字节B(Byte)包含了8个二进制位b(bit) 通常采用十六进制数来表达地址 Intel 8086具有1兆字节(1MB)存储器容量 其存储器地址可以表示为:00000H FFFFFH 其中大写H(或小写h)表示是16进制数,存储器地址(Address),以8086/8088为CPU的微机内存空间最大为1MB。每个存储空间又称为一个单元,每个单元有一个唯一的编号,称为该单元的地址,向存储空间存数据或从存储空间读取数据时,都必须指出它的地址。,: : 12H 34H : :,单元的 内容,00000H,00001H,00002H,FFFFFH,FFFFEH,FFFFDH,:,:,20002H,20003H,单元的地址,端口(Port),对程序员来说,I/O接口电路由接口寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址。 端口就是指I/O地址,是微机系统对I/O接口电路中与程序设计有关的寄存器的编号 系统实际上就是通过这些端口与外设进行通讯的 通常采用十六进制数来表达端口 Intel 8086支持64K个8位端口 其I/O地址可以表示为:0000H FFFFH,接口装置,外部设备一般是机械设备,其工作速度与中央处理器的工作速度比起来低得多,而且不同的外部设备传输数据的编码格式、所需要的控制信号的种类、数量也不相同。因此,外部设备与CPU之间不能直接交换信息,在两者之间需要有一个具有若干个寄存器和逻辑控制电路的部件,作为两者交换信息的缓冲部件,该部件称为接口装置,简称接口。,输入输出设备,输入设备:用来向计算机的主存储器或CPU送入程序或数据的装置。如:键盘,鼠标等。 输出设备:用来将计算机的处理结果以某种形式输出给用户的装置。如:显示器,打印机,绘图仪等。,完成模拟量和开关量的输入/输出的设备,为和一般的外部设备相区别,称其为外围设备。 开关量:即一些只有两个状态的量。 模拟量:,传 感 器,放 大 器,A/D 转 换 器,计 算 机,D/A 转 换 器,电量,模拟量,数字量,数字量,模拟量,现场,现场信号,16/32位PC机,本课程采用16位或32位个人计算机 16位PC机是指采用16位80x86 CPU的IBM PC/XT/AT这三款个人微机或它们的兼容机。 32位PC机是指采用32位80x86 CPU而形成的微机,其基本结构仍然源于PC/AT机。 人们日常谈论的PC机或微机是上述微型计算机系统的统称。,二、软件子系统,软件子系统:是指为了充分发挥计算机硬件子系统的功能,方便用户使用计算机,提高计算机系统效率而编制的各种程序。由系统软件和应用软件组成。,二、软件子系统,1. 系统软件 2. 应用软件,1. 系统软件,(1)面向用户的软件 (2)面向计算机维护人员的软件 (3)面向计算机本身的软件,(1)面向用户的软件,语言加工软件:用来把用户用各种计算机语言编制的源程序转换为计算机硬件能直接处理的机器代码(目标程序)。如:汇编程序、编译程序、解释程序等。 辅助加工软件:用户借助辅助加工软件来编辑、修改自己的源程序,装配、连接、调试自己的目标程序,这类软件有编辑程序,连接程序,纠错程序等等。,(2)面向计算机维护人员的软件,如:诊断调试程序 日常事物受理程序等。,(3)面向计算机本身的软件,如:故障处理程序 操作系统等。,2. 应用软件,用户为解决自己的问题而编制的软件。,微机的软件,系统软件:DOS平台 MS-DOS 6.22 Windows 9.x的DOS实地址方式 MS-DOS虚拟环境 Windows 2000/XP 应用软件: 文本编辑软件 图形图像处理软件 各种管理软件,第二节 计算机语言,计算机语言是人与计算机之间交流信息的工具。 程序:用计算机语言描述的处理步骤。 程序设计:编制处理步骤的过程。 计算机语言可分为三类: 机器语言 汇编语言 通用语言,面向机器设计的,低级语言,:面向程序设计人员设计的,高级语言,计算机语言,一、机器语言 二、汇编语言 三、通用语言(高级语言),可以使计算机完成各种操作的“1”和“0”的不同组合的数码串称为机器指令。 机器语言就是与机器硬件有紧密联系的机器指令的集合。,一、机器语言,1010 0000 ;1号单元内容取入AL寄存器 0000 0001 0000 0000 1000 1010 ;2号单元内容取入AH寄存器 0010 0110 0000 0010 0000 0000 0000 0000 ;AL的内容与AH的内容相加,结 1110 0000 ;果存入AL中 1010 0010 ;AL的内容送入3号单元 0000 0011 0000 0000 1111 0100 ;停机,一、机器语言,一、机器语言,缺点: (1) 机器语言难记,程序难编,易错,调试困难; (2) 机器语言通用性差。 优点: (1) 计算机能直接认识、执行; (2) 算法刻画细致; (3) 程序紧凑,占用内存空间少,执行速度高; (4) 能充分发挥计算机的硬件功能。,二、汇编语言,随着计算机的发展,产生了符号语言,上面的程序用符号语言编写如下: MOV AL,DATA1 ;取第一个数据 MOV AH,DATA2 ;取第二个数据 ADD AL,AH ;求和 MOV RLT,AL ;保存结果 HLT ;停机,1010 0000 ;1号单元内容取入AL寄存器 0000 0001 0000 0000 1000 1010 ;2号单元内容取入AH寄存器 0010 0110 0000 0010 0000 0000 0000 0000 ;AL的内容与AH的内容相加,结 1110 0000 ;果存入AL中 1010 0010 ;AL的内容送入3号单元 0000 0011 0000 0000 1111 0100 ;停机,汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令 助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号 助记符一般就是表明指令功能的英语单词或其缩写,二、汇编语言,MOV AL,DATA1 ;取第一个数据,二、汇编语言,汇编语言: 符号语言的词法、语法规则及伪指令符号就构成了汇编语言。 汇编过程:把汇编语言程序翻译成机器语言程序的过程称为汇编过程。 汇编程序:完成汇编过程的程序称为汇编程序。 汇编语言程序:程序设计人员用汇编语言编写的程序,是汇编程序加工的对象,称为源程序。 目标程序:汇编程序产生的结果,也称作是目的程序。,DSEG SEGMENT ;数据段开始 DATA1 DB 15H DATA2 DB 26H RLT DB 0 DSEG ENDS ;数据段结束 CSEG SEGMENT ;代码段开始 ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG ;设置数据段基址 MOV DS,AX MOV AL,DATA1 ;取第一个数据 MOV AH,DATA2 ;取第二个数据 ADD AL,AH ;求和 MOV RLT,AL ;保存结果 HLT ;停机 CSEG ENDS ;代码段结束 END START ;源程序结束,二、汇编语言,用助记符表示的指令就是汇编语言中的汇编格式指令 汇编格式指令以及使用它们编写程序的规则就形成汇编语言(Assembly Language) 用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序 汇编程序将汇编语言程序“汇编”成机器代码目标模块,二、汇编语言,种类:80x86汇编,8051汇编等 形成过程:,二、汇编语言,编译程序,计算机,源程序,目标程序,连接,可执行程序,汇编语言的主要特点: 汇编语言程序与处理器指令系统密切相关 程序员可直接、有效地控制系统硬件 形成的可执行文件运行速度快、占用主存容量少,汇编语言程序与汇编程序是两个概念,二、汇编语言,二、汇编语言,优点: (1) 程序容易编制、出错机会少、容易调试; (2) 算法刻画细致; (3) 程序紧凑、占用内存空间少、执行速度高; (4) 能充分发挥计算机的硬件功能。 缺点: (1) 计算机不能直接认识、执行,必须经过汇编变为机器语言程序; (2) 通用性差。,通用语言:是用来对计算机操作步骤进行描述的一整套标记符号、表达格式、结构及其使用的语法规则。 种类:Pascal, BASIC, C, COBOL, Java等等 例子(C):,三、通用语言(高级语言),int i,j,k; k=i+j;,执行过程:,三、通用语言(高级语言),编译程序,计算机,源程序,目标程序,连接,可执行程序,三、通用语言(高级语言),优点: (1) 程序容易编制、出错机会少、容易调试; (2) 容易表达算法; (3) 通用性强。 缺点: (1) 计算机不能直接认识、执行,必须经过编译变为机器语言程序; (2) 编译后生成的机器语言程序冗长、占用内存空间多、执行速度低; (3) 不能充分发挥计算机的硬件功能。,汇编语言和高级语言(1),汇编语言与处理器密切相关 汇编语言程序的通用性、可移植性较差 高级语言与具体计算机无关 高级语言程序可以在多种计算机上编译后执行,汇编语言和高级语言(2),汇编语言功能有限、涉及硬件细节 编写程序比较繁琐,调试起来也比较困难 高级语言提供了强大的功能,不必关心琐碎问题 类似自然语言的语法,易于掌握和应用,汇编语言和高级语言(3),汇编语言本质上就是机器语言 可以直接、有效地控制计算机硬件 易于产生速度快、容量小的高效率目标程序 高级语言不针对具体计算机系统 不易直接控制计算机的各种操作 目标程序比较庞大、运行速度较慢,汇编语言和高级语言(4),汇编语言的优点: 直接控制计算机硬件部件 可以编写在“时间”和“空间”两方面最有效的程序 汇编语言的缺点: 与处理器密切有关 需要熟悉计算机硬件系统、考虑许多细节 编写繁琐,调试、维护、交流和移植困难,汇编语言和高级语言(5),汇编语言的优点使得它在程序设计中占有重要的位置,是不可被取代的 汇编语言的缺点使得人们主要采用高级语言进行程序开发工作 有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题,汇编语言的应用场合,程序要具有较快的执行时间,或者只能占用较小的存储容量 程序与计算机硬件密切相关,程序要直接、有效地控制硬件 大型软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论