汇编语言第一章基础知识.ppt
《汇编语言第一章基础知识.ppt》由会员分享,可在线阅读,更多相关《汇编语言第一章基础知识.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言程序设计汇编语言程序设计北京理工大学北京理工大学 电子工程系电子工程系马永锋马永锋信息实验楼三层信息实验楼三层319-2简介简介主要内容:主要内容:学习关于计算机语言和学习关于计算机语言和CPU硬件方面的基础知识;硬件方面的基础知识;学习汇编语言的特性、基础知识及其编程技术;学习汇编语言的特性、基础知识及其编程技术;建立起建立起“机器机器/程序程序”、“空间空间/地址地址”的概念;的概念;为下学期为下学期计算机原理与应用计算机原理与应用课程打好基础。课程打好基础。学习建议:学习建议:充分注意充分注意“汇编汇编”课实践性强的特点,多读程序课实践性强的特点,多读程序,多写程序多写程序,多上
2、机调试程序;多上机调试程序;注意软、硬件结合,熟悉注意软、硬件结合,熟悉PC机的编程结构;机的编程结构;掌握汇编语言及其程序设计的基本概念、方法和技巧。掌握汇编语言及其程序设计的基本概念、方法和技巧。2简介简介参考资料:参考资料:1.80X86汇编语言程序设计汇编语言程序设计沈美明沈美明 温冬婵温冬婵 清华大学出版社清华大学出版社2.IBM PC 汇编语言与程序设计汇编语言与程序设计 PETER ABEL 编著编著 第第5版版 人民邮电出版社人民邮电出版社3.IBM PC 汇编语言与程序设计例题习题集汇编语言与程序设计例题习题集 温冬婵温冬婵 沈美明沈美明 清华大学出版社清华大学出版社3课程内
3、容课程内容 第第1章章 基础知识基础知识(3学时学时)第第2章章 指令与寻址方式指令与寻址方式(6学时学时)第第3章章 汇编语言程序组织汇编语言程序组织(6学时学时)第第4章章 程序结构及程序设计程序结构及程序设计(9学时学时)第第5章章 高级汇编技术高级汇编技术(3学时学时)4第第1章章 基础知识基础知识 1.1 计算机语言计算机语言1.2 计算机组织结构计算机组织结构1.3 计算机中数的表示计算机中数的表示5第第1章章 基础知识基础知识 1.1 计算机语言计算机语言计算机语言的层次计算机语言的层次 机器语言机器语言FORTRANFORTRANBASICBASICCOBOLCOBOLPASC
4、ALPASCALC/C+C/C+JAVA.JAVA.汇编语言汇编语言高级语言高级语言61.1 计算机语言计算机语言面向机器的语言面向机器的语言(1)机器语言)机器语言 机机器器语语言言程程序序由由机机器器指指令令构构成成,这这些些机机器器指指令令按按照照执执行行顺顺序序依次排列,运行时依次执行,完成某个特定的计算或任务;依次排列,运行时依次执行,完成某个特定的计算或任务;机机器器指指令令是是CPU能能直直接接识识别别并并执执行行的的指指令令,它它的的表表现现形形式式是是二进制编码。机器指令通常由操作码和操作数两部分组成。二进制编码。机器指令通常由操作码和操作数两部分组成。机机器器指指令令与与C
5、PU紧紧密密相相关关,所所以以不不同同种种类类的的CPU所所对对应应的的机机器器指指令令也也就就不不同同。如如80X86、Z80计计算算机机或或者者各各类类DSP使使用用不不同同的机器语言。的机器语言。71.1 计算机语言计算机语言(2)汇编语言)汇编语言 用用助助记记符符、符符号号地地址址等等表表示示的的机机器器指指令令称称作作汇汇编编指指令令,用用汇汇编指令编写的程序称作编指令编写的程序称作汇编指令程序汇编指令程序。汇编语言汇编语言是汇编指令集、伪指令集及其使用规则的统称。是汇编指令集、伪指令集及其使用规则的统称。汇编语言程序要比用机器指令编写的程序容易理解和维护。汇编语言程序要比用机器指
6、令编写的程序容易理解和维护。汇汇编编语语言言源源程程序序是是一一个个文文本本文文件件,80 x86汇汇编编语语言言源源程程序序扩扩展展名名是是.asm,它它必必须须经经过过翻翻译译才才能能够够变变成成可可执执行行的的机机器器语语言言程程序序,这个翻译过程称作这个翻译过程称作汇编汇编。8汇编汇编 用用汇汇编编语语言言编编写写的的程程序序大大大大提提高高了了程程序序的的可可读读性性,但但失失去去了了CPU能直接识别的特性。能直接识别的特性。把把汇汇编编语语言言源源程程序序翻翻译译成成CPU能能识识别别的的机机器器指指令令序序列列,我我们们称称该翻译程序为汇编程序。图该翻译程序为汇编程序。图1.1是
7、翻译程序的翻译过程示意图。是翻译程序的翻译过程示意图。常用的汇编程序有:常用的汇编程序有:MASM、TASM和和DEBUG等。等。面向机器的语言面向机器的语言图1.1 汇编语言指令到机器指令的示意图MOVDL,33H ;B233HMOVAH,2 ;B402HINT21H ;CD21HINT20H ;CD20H9非面向机器的计算机语言非面向机器的计算机语言非面向计算机的语言按照翻译程序的类型分为非面向计算机的语言按照翻译程序的类型分为编译型语言编译型语言和和解释解释型语言型语言;(1)编译型计算机语言)编译型计算机语言 翻译成机器语言的过程远比汇编的过程复杂,通常经过预处理翻译成机器语言的过程远
8、比汇编的过程复杂,通常经过预处理和多次扫描才能够变成机器语言,这个过程称作编译。编译后的和多次扫描才能够变成机器语言,这个过程称作编译。编译后的浮动二进制文件要经过连接,才能够生成可执行文件。可执行文浮动二进制文件要经过连接,才能够生成可执行文件。可执行文件运行时,不需要编译程序在场。件运行时,不需要编译程序在场。例如各种例如各种C语言都是编译型语言。语言都是编译型语言。(2)解释型计算机语言)解释型计算机语言 解释型计算机语言执行时需要翻译程序在场,边解释边执行。解释型计算机语言执行时需要翻译程序在场,边解释边执行。如如Basic语言、许多脚本语言(语言、许多脚本语言(Perl、Java S
9、cript语言等)是解语言等)是解释型语言。释型语言。10汇编语言主要特性汇编语言主要特性 面向机器的低级语言,通常是为特定的计算机或计算机系列面向机器的低级语言,通常是为特定的计算机或计算机系列专专门设计的;门设计的;保持了机器语言的优点,具有直接和简捷的特点;保持了机器语言的优点,具有直接和简捷的特点;可有效地访问、控制计算机的各种硬件设备可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、如磁盘、存储器、CPU、I/O端口等端口等 目标代码简短,占用内存少,执行速度快,是高效的程序设计目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。语言。经常与高级语言配合使用,应用十分广
10、泛。经常与高级语言配合使用,应用十分广泛。11汇编语言主要特性汇编语言主要特性举例:编程实现举例:编程实现123+456,结果保存到变量,结果保存到变量sum中。中。/C语言实现语言实现Main()int a,b,sum;a=123;b=456;sum=a+b;-机器语言实现机器语言实现输入程序代码:输入程序代码:-E CS:100 A1 0B 01 03 06 0D 01 A3 0F 01 C3设置数据:设置数据:-E DS 010B 7B 00 C8 01 00 00运行结果:运行结果:12F8:010F 43 0212汇编语言主要特性汇编语言主要特性-汇编语言实现汇编语言实现CODE S
11、EGMENTORG 100HASSUME CS:CODE,DS:CODEMAIN PROG NEARMOV AX,AADDAX,BMOV SUM,AXRET ADW 123 BDW 456SUM DW?MAIN ENDPCODE ENDSEND MAIN汇编语句与机器语句一一对应,它是汇编语句与机器语句一一对应,它是把每条指令及数据用便于记忆的符号把每条指令及数据用便于记忆的符号书写,是一种符号化了的机器语言,书写,是一种符号化了的机器语言,即用指令助记符、符号地址、标号等即用指令助记符、符号地址、标号等符号书写程序的语言符号书写程序的语言13汇编语言主要特性汇编语言主要特性程序设计语言程序设
12、计语言可执行程序占用字节数可执行程序占用字节数高级语言(高级语言(C)csum.exe4330汇编语言(汇编语言(MASM)17机器语言机器语言17程序占用字节数统计程序占用字节数统计汇编语言的特点:汇编语言的特点:占用空间少;占用空间少;执行速度快;执行速度快;10倍?倍?直接控制硬件能力强;直接控制硬件能力强;开发周期长、可移植性差、不易掌握;开发周期长、可移植性差、不易掌握;1470%70%以以上上的的系系统统软软件件是是用用汇汇编编语语言言编编写写的的,常常驻驻内内存存程程序序和和中中断服务例行程序几乎都用汇编语言编写;断服务例行程序几乎都用汇编语言编写;在在管管理理硬硬件件设设备备方
13、方面面提提供供了了更更多多的的控控制制方方法法,可可用用于于快快速速处处理理、位处理、编写位处理、编写I/OI/O驱动程序;驱动程序;生生成成更更加加紧紧凑凑的的可可执执行行模模块块,减减小小存存储储空空间间的的需需求求,程程序序执执行行效率更高、速度更快;效率更高、速度更快;有有助助于于理理解解程程序序与与操操作作系系统统、处处理理器器、存存储储器器、外外部部设设备备之之间间的关系和工作原理;的关系和工作原理;编写、调试程序的复杂性高;编写、调试程序的复杂性高;应应用用软软件件大大部部分分是是用用高高级级语语言言编编写写,但但对对于于执执行行效效率率要要求求苛苛刻刻的部分还需要用汇编语言进行
14、优化改进;的部分还需要用汇编语言进行优化改进;汇编语言应用汇编语言应用151.2 计算机组织结构计算机组织结构计算机系统组成:硬件计算机系统组成:硬件+软件软件硬件组成:中央处理器(硬件组成:中央处理器(CPU),存储器,输入输出子系统和),存储器,输入输出子系统和系统总线系统总线硬件:硬件:中央处理器中央处理器 CPU总线控制 逻辑接 口接 口存储器存储器大容量存储器I/O设备I/O子系统子系统系系统统总总线线.软件:软件:系统软件系统软件 用户软件用户软件16冯冯诺依曼结构诺依曼结构由运算器、控制器、存储器、输入设备和输出设备五大部分由运算器、控制器、存储器、输入设备和输出设备五大部分组成
15、;组成;数据和程序以二进制代码的形式不加区别地存放在存储器中,数据和程序以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式;存放位置由地址指定,地址码也是二进制形式;控制器根据存放在存储器中的指令序列(即程序)工作,并控制器根据存放在存储器中的指令序列(即程序)工作,并由一个程序计数器(由一个程序计数器(PC)控制指令的执行。控制器具有判断能)控制指令的执行。控制器具有判断能力,能够根据计算结果选择不同的动作流程力,能够根据计算结果选择不同的动作流程运算器运算器控制器控制器存储器存储器输入设备输入设备输出设备输出设备17微型计算机的工作过程微型计算机的工作过程
16、 微型计算机的工作过程就是执行程序的过程,而程序由指令微型计算机的工作过程就是执行程序的过程,而程序由指令序列组成,因此,执行程序的过程,就是执行指令序列的过程,序列组成,因此,执行程序的过程,就是执行指令序列的过程,即逐条地从存储器中取出指令并完成指令所指定的操作。即逐条地从存储器中取出指令并完成指令所指定的操作。由于执行每一条指令,都包括取指、译码和执行三个基本步由于执行每一条指令,都包括取指、译码和执行三个基本步骤,所以,微型计算机的工作过程,也就是不断地取指令、译骤,所以,微型计算机的工作过程,也就是不断地取指令、译码和执行的过程,直到遇到停机指令时才结束机器的运行。码和执行的过程,直
17、到遇到停机指令时才结束机器的运行。优点:优点:处理器简单通用,把处理器简单通用,把复杂问题转移到存放解释程复杂问题转移到存放解释程序存储器中,即把复杂的硬序存储器中,即把复杂的硬件设计转化为复杂的软件设件设计转化为复杂的软件设计。计。181.2.1 中央处理器中央处理器 主要由算术逻辑部件(主要由算术逻辑部件(ALU)、累加器、通用寄存器组、)、累加器、通用寄存器组、控制逻辑部件、内部总线等组成。主要用途是产生时序控制控制逻辑部件、内部总线等组成。主要用途是产生时序控制信号、指令译码信号、指令译码、执行算术运算和逻辑运算等。、执行算术运算和逻辑运算等。算术逻辑部件(算术逻辑部件(ALUALU)
18、:):完成算术运算(、完成算术运算(、)等操作;)等操作;完成逻辑运算(与、或、非、异)等操作;完成逻辑运算(与、或、非、异)等操作;通用寄存器组通用寄存器组:数据寄存器:数据寄存器:AX、BX、CX、DX 指针及变址寄存器:指针及变址寄存器:SP、BP、SI、DI、IP 标志寄存器:标志寄存器:FLAG 段寄存器:段寄存器:CS、DS、SS、ES 19寄存器寄存器-Register寄存器是有限存贮容量的高速存贮部件;寄存器是有限存贮容量的高速存贮部件;寄存器是寄存器是内存阶层内存阶层中的最顶端,也是系统获得操作资料的中的最顶端,也是系统获得操作资料的最快速途径;最快速途径;通常由触发器组成;
19、通常由触发器组成;宽度:宽度:8位,位,16位,位,32位,个别可按位访问;位,个别可按位访问;注意与注意与存储器存储器的区别;的区别;201.2.2 存储器存储器-Memory存储器存储器是计算机中用于保存信息的记忆设备;是计算机中用于保存信息的记忆设备;计计算算机机存存储储信信息息的的基基本本单单位位是是一一个个二二进进制制位位(bit):1或或0,每每8位位组成一个字节;组成一个字节;通常所说字长为通常所说字长为16位,由位,由2个字节组成;个字节组成;在在存存储储器器里里以以字字节节为为单单位位存存储储信信息息,为为了了正正确确存存取取信信息息,每每一一个个字字节单元给以一个节单元给以
20、一个存储器地址存储器地址。地址从地址从0开始编号,顺序每次加开始编号,顺序每次加1,地址也是以二进制数表示的;,地址也是以二进制数表示的;21存储单元的内容存储单元的内容 存储单元中所存放的二进制信息称为该存储单元的内容或存储单元中所存放的二进制信息称为该存储单元的内容或值,并且规定:值,并且规定:一个字节的内容是该字节单元内存放的二进制信息;一个字节的内容是该字节单元内存放的二进制信息;一个字的内容是该字地址所指向的单元及其后继一个单一个字的内容是该字地址所指向的单元及其后继一个单元的内容拼接而成;元的内容拼接而成;一个双字的内容是该字地址所指向的单元及其后三个单一个双字的内容是该字地址所指
21、向的单元及其后三个单元的内容拼接而成。元的内容拼接而成。在拼接在拼接“字内容字内容”时,按时,按“高高低低高高低低”的原则来处理,即:的原则来处理,即:高存储单元高存储单元(地址大的存储单元地址大的存储单元)的值是的值是“字内容字内容”的高的高8位,位,低存储单元低存储单元(地址小的存储单元地址小的存储单元)的值是的值是“字内容字内容”的低的低8位。位。在拼接在拼接“双字内容双字内容”时也是如此。时也是如此。存储器编址存储器编址22存储器分段管理模式存储器分段管理模式(1)存储器的分段)存储器的分段 计计算算机机的的内内存存单单元元是是以以“字字节节”为为最最小小单单位位进进行行线线性性编编址
22、址的的。为为了了标标识识每每个个存存储储单单元元,就就给给每每个个存存储储单单元元规规定定一一个个编编号号,此此编编号就是该存储单元的号就是该存储单元的物理地址物理地址。16位位微微机机把把内内存存空空间间划划分分成成若若干干个个逻逻辑辑段段,每每个个逻逻辑辑段段的的要要求求如下:如下:逻逻辑辑段段的的起起始始地地址址(通通常常简简称称为为:段段地地址址)必必须须是是16的的倍倍数数,即最低即最低4位二进制必须全为位二进制必须全为0;逻逻辑辑段段的的最最大大容容量量为为64K,这这由由16位位寄寄存存器器的的寻寻址址空空间间所所决决定。定。按按上上述述规规定定,1M内内存存最最多多可可分分成成
23、64K个个段段,即即65536个个段段(段段之之间相互重叠间相互重叠),至少可分成,至少可分成16个相互不重叠的段。个相互不重叠的段。238086内存分段管理模式内存分段管理模式24存储器分段管理模式存储器分段管理模式(2)物理地址的形成方式)物理地址的形成方式 存储单元的逻辑地址分为两部分:段地址和偏移量。由逻辑地存储单元的逻辑地址分为两部分:段地址和偏移量。由逻辑地址得到其物理地址址得到其物理地址(PAPhysical Address)的计算方法如下:的计算方法如下:物理地址物理地址PA段地址段地址16+偏移量偏移量存储器分段管理的优点存储器分段管理的优点:允许程序在存储器内重定位;允许程
24、序在存储器内重定位;允许实模式程序在保护模式下运行;允许实模式程序在保护模式下运行;有利于程序和数据的分离。有利于程序和数据的分离。251.2.3 输入输出接口输入输出接口在计算机系统中,在计算机系统中,主机(主机(CPU 和存储器)和存储器)与与外部设备外部设备(鼠标、(鼠标、键盘、显示器、硬盘等)键盘、显示器、硬盘等)的通信是通过的通信是通过输入、输出输入、输出接口接口(Interface)进行的,每个接口包括一组寄存器。)进行的,每个接口包括一组寄存器。数据寄存器:存放外设和主机间传送的数据数据寄存器:存放外设和主机间传送的数据;状态寄存器:保存外设或接口的状态信息状态寄存器:保存外设或
25、接口的状态信息;命令寄存器:保存命令寄存器:保存CPU发给外设或接口的控制命令发给外设或接口的控制命令外设中每个寄存器有一个端口(外设中每个寄存器有一个端口(Port)地址,构成)地址,构成一个独立于内存的一个独立于内存的 I/O 地址空间:地址空间:0000H FFFFH261.2.4 系统总线系统总线在计算机系统中,各个部件之间传送信息的公共通路叫总线。在计算机系统中,各个部件之间传送信息的公共通路叫总线。CPU存储器存储器I/O接口接口I/O设备设备地址总线地址总线AB数据总线数据总线DB控制总线控制总线CBI/O总线总线控制控制271.2.5 8086微处理器结构微处理器结构总线接口部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 第一章 基础知识
限制150内