微机第五章汇编语言程序设计

上传人:san****019 文档编号:70803937 上传时间:2019-01-18 格式:PPT 页数:58 大小:411.31KB
返回 下载 相关 举报
微机第五章汇编语言程序设计_第1页
第1页 / 共58页
微机第五章汇编语言程序设计_第2页
第2页 / 共58页
微机第五章汇编语言程序设计_第3页
第3页 / 共58页
微机第五章汇编语言程序设计_第4页
第4页 / 共58页
微机第五章汇编语言程序设计_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《微机第五章汇编语言程序设计》由会员分享,可在线阅读,更多相关《微机第五章汇编语言程序设计(58页珍藏版)》请在金锄头文库上搜索。

1、第五章 汇编语言程序设计,内容摘要:, 从汇编语言程序的基本概念出发,介绍汇编语言语法规则、汇 编语言程序段结构、伪指令、上机操作环境等基础知识。 通过对程序的基本结构 顺序、分支、循环、子程序结构 的介绍,举例讨论其程序设计方法和技巧。,学习要点:, 熟悉汇编语言的语法规则 掌握汇编语言程序的基本结构及书写格式 掌握等伪指令的语句格式、功能及应用 掌握汇编语言源程序的建立、汇编、连接、调试及运行 掌握汇编语言程序的设计方法和技巧,第五章 汇编语言程序设计,本章主要内容,51 基础知识 52 汇编语言程序的设计思想 53 常用DOS功能调用 54 汇编语言程序上机调试过程 55 汇编语言程序设

2、计 实验一:汇编语言上机实验 实验二:分支、循环程序设计实验 试验三:DOS 系统功能调用实验 实验四:子程序结构设计实验,51 基础知识,5.1.1 汇编语言和汇编程序,一、汇编语言, 是一种面向机器的程序设计语言,它是助记符来表示操作码和 操作数,用符号地址表示操作数地址。 与机器语言相比,具有易记、易读、易修改和易交流的优点。 用汇编语言编写的程序称为汇编语言源程序,它就是机器语言 程序的符号表示,汇编语言源程序与其经过编译所产生的目标 代码程序之间存在一一对应关系。 汇编语言源程序能够直接利用硬件系统的特性对位、字节、字、 寄存器、存储单元、I/O 端口等进行处理,可直接使用CPU指令

3、 系统的寻址方式编制出高质量的程序,程序不但占用空间少, 而且执行速度快。,5.1.1 汇编语言和汇编程序,二、汇编程序, 将汇编语言源程序编译成目标代码程序(机器语言程序)的程序 称为汇编程序。它是一种系统软件。 常用的汇编程序有:Microsoft 公司推出的宏汇编程序 MASM 和 Borland公司推出的TASM,本书只介绍MASM。, 汇编程序以汇编语言源程序文件作为输入,经编译后产生两个 输出文件:目标程序文件、源程序列表文件。 目标程序文件经连接定位后,才可以被计算机执行; 源程序列表文件列出源程序、目标程序的机器语言代码及符号表。 符号表是汇编程序所提供的一种诊断手段,它包括程

4、序中所用的 所有符号和名字以及这些符号和名字所指定的地址,如果程序出 错,设计者较容易地从符号表中检查出错误。,5.1.1 汇编语言和汇编程序,二、汇编程序, 汇编程序和汇编语言源程序是两种不同类型的程序。 汇编程序是将汇编语言源程序编译成机器代码程序的系统程序; 汇编程序可识别指令助记符和汇编程序提供的对汇编过程起控制 作用的伪指令,即汇编命令。 汇编程序是最成熟的一种系统软件,其主要功能有: 1检查汇编语言源程序中的语法错误,并给出错误信息。 2产生汇编语言源程序的目标程序文件和列表文件。 编写汇编语言源程序时,应严格遵守汇编语言程序的书写规范, 否则就会出错。,5.1.2 汇编语言程序的

5、语法规则,一、汇编语言语基本语法(词法), 汇编语言源程序是汇编语言语句的有序集合; 语句是由一个具有独立定义的单词按一定的句法组合而成; 而单词是语言的基本元素字符按一定的词法规则构成。,5.1.2 汇编语言程序的语法规则,一、汇编语言语基本语法(词法),1字符集(基本元素) 汇编语言中所有的操作符、助记符、标识符都由基本元素按词法 规则构成。,2标识符(标识符号), 标识符是编程人员为便于记忆而自己创造的一些有意义的符号, 用来给程序中的标号、变量、结构、过程、段 等起名字; 标识符的创造应符合词语规则: 1)第一个字符必须是字母、“ ? ”、“ ” 或 “ - ”; 2)第二个字符开始可

6、以是字母、数字、问号、“ ” 或 “ - ”; 3)一个标识符的最大长度为 31个字符,5.1.2 汇编语言程序的语法规则,一、汇编语言语基本语法(词法),3保留字:是不能用来做标识符的一些单词 寄存器名、指令助记符、各种操作符等系统专用的保留字,4语句:8086汇编语言有三类语句 (1)指令语句:可产生机器指令代码的语句,是执行性语句。 (2)汇编命令语句:也称伪指令语句,是一种指示性语句,用以 指示汇编程序如何对汇编语言源程序进行编译,以产生正确 的目标代码程序。 (3)宏指令语句:宏汇编中的指示性语句,由宏命令构成。 汇编命令语句和宏指令语句都不产生可执行的机器指令代码, 仅在汇编和宏汇

7、编的过程中起汇编(编译)的指示作用。,5.1.2 汇编语言程序的语法规则,一、汇编语言语基本语法(词法),5程序结构 汇编语言源程序的结构是段式结构。 一个源程序最多有 四种段: 即:代码段、数据段、堆栈段、扩展段。 每种段在源程序中的先后顺序(位置)可任意。但个数不受限。 每个段必须有段名。 指令语句必须安排在代码段中,代码段中可以定义过程。 例:完整段定义的汇编语言源程序结构 ( 如下),5.1.2 汇编语言程序的语法规则,二、汇编语言语句(句法),1指令语句(执行性语句) 标号:前缀指令 助记符 操作数,操作数;注释 标号是指令语句在代码段内的地址,2汇编命令语句(指示性语句) 名字 助

8、记符 操作数,操作数, ;注释 名字和标号一样,都是符号地址,反映所属对象的逻辑地址EA; 不同的伪指令,其名字的叫法也不同: 变量名:所定义的存储单元在数据段中的地址。 段名:表示相应段的段首地址(段基址)。 过程名:表示相应子程序在代码段中的起始地址。,5.1.2 汇编语言程序的语法规则, 标号和名字一经定义,便具有以下三种属性值: (1)段值:所属段的段基址。 (2)偏移值:在段内的偏地址。 (3)类型值: 标号、过程名具有 NEAR 和 FAR 类型。 变量名的类型有:BYTE,WORD,DWORD。,指令性语句 指示性语句,CPU执行的语句 经汇编后能够生 成目标代码,汇编程序执行的

9、语句 不产生目标代码 CPU 不执行,指令性语句与指示性语句的区别,5.1.2 汇编语言程序的语法规则,二、汇编语言语句(句法), 在写程序中,往往需要在不同地方重复使用某几条语句。为使 源程序书写精练、可读性好,可以先将这几条语句定义为一条 宏指令语句。 写程序时,可以用宏指令语句来代替这几条语句。 汇编时,汇编程序按照宏指令的定义,在出现宏指令的地方将 其展开还原。 引入宏指令语句的目的仅仅在于简化汇编语言源程序的书写, 但并不能缩小目标代码文件,更谈不上节省内存空间。 宏指令语句是由标号、宏指令和注释组成。,3宏指令语句,5.1.2 汇编语言程序的语法规则, 引入“域”的概念,将三种语句

10、结构统一,汇编语言的语句可由14个“域”组成。 标号/名字域 操作数域 注释域,1)此域是标识符,可选项;应按照标识符的命名规则进行命名。 2)标号和名字的区别: 标号是指令所在单元的符号地址,在汇编语言源程序中,标号 出现在代码段,后面跟有冒号“:”。 名字可以是变量、段名、过程名、符号名等,在汇编语言的源 程序中,名字出现在伪指令语句中,其后不允许出现冒号“:”。,第一部分:标号/名字域,5.1.2 汇编语言程序的语法规则,第一部分:标号/名字域,3)标号和变量的属性: 变量是某操作数所存放单元的符号地址。 标号和变量都表示单元的符号地址,因此具有相同的三种属性: 段属性 偏移地址属性 类

11、型属性,变量的属性,标号的属性,下一页,段属性 偏移地址属性 类型属性,变 量 的 属 性, 数据定义伪指令 DB、DW、DD 前的名字,称为变量 例:DATA DB 24H,31H,A,B,100,64H 段属性:表示变量所在的逻辑段的段基地址。 偏移量属性:表示变量所在逻辑段的段内有效地址EA。 类型属性:表示变量占用存储单元的字节数,有三种类型: BYTE(字节)、WORD(字)、DWORD(双字),返回,段属性 偏移地址属性 类型属性,标 号 的 属 性,返回, 标号对应该指令代码第一个字节在代码段中的偏移地址EA。 段属性:表示指令代码所在逻辑段的段基地址。 偏移地址属性:表示指令代

12、码所在逻辑段的段内偏移地址。 类型属性:表示标号是在段内或段间引用 NEAR (近)类型,在本逻辑段内被引用的标号; FAR(远) 类型,在段间引用的标号。,5.1.2 汇编语言程序的语法规则,第二部分:指令助记符域, 指令、伪指令、宏指令的助记符,是必选项。 指令是指CPU指令系统中的指令,汇编程序能将其编译成对应 的机器指令代码; 伪指令不能被编译成对应的指令代码,只是在汇编过程中完成 相应的控制操作,所以又称为汇编控制指令或指示性指令。 作用:定义并分配存储单元、赋值、控制汇编开始或结束等。 宏指令是有限的一组指令的代号,编译时将根据其定义展开成 相应的指令。,表达式,常数,5.1.2

13、汇编语言程序的语法规则,第三部分:操作数域, 操作数是指令的操作对象,可以有一个、多个或隐含操作数, 当有两个、两个以上的操作数时,各操作数之间用逗号隔开。 操作数可使用常数、寄存器、标号、变量、表达式等形式。 操作数分为数值型:常数、数值表达式 地址型:标号、变量、过程名及地址表达式等, 操作符:汇编语言可提供相关的操作符,表达式是由操作数和 8086汇编中的运算符及操作符构成。,下一页,5.1.2 汇编语言程序的语法规则,第三部分:操作数域,1运算符与常数、寄存器名、标号、变量等一起共同构成表达式, 在编译过程中,汇编程序先运算表达式的值,然后再进行编译。 2运算符的优先级别决定了运算的顺

14、序,同时也决定了运算的结果。 3当一个表达式中包含有多个运算符时,其运算按以下规则进行: 优先级高的先运算,优先级低的后运算; 优先级相同时,按表达式中从左到右的顺序运算; 括号可以提高运算的优先级,括号内的运算优先于相邻的运算。, 各类运算符的优先级别 见教材 108页表 53,下一页,5.1.2 汇编语言程序的语法规则,第四部分:注释域,下一页, 注释域是从分号“;”开始。 注释用来说明一段程序或几条指令的功能,便于程序阅读。 注释可有可无,在编译时不会处理注释。,常 数,常数是指令中出现的固定数值。如:立即数、直接地址等。, 常数只能作为源操作数,不能作为目标操作数。 1数值常数: 二进

15、制数“以B结尾”;十进制数;十六进制数“以H结尾” 以字母开始的十六进制常数,必须在字母前面加上“0”,作为 十六进制常数的标识,以与标识符相区别。 2字符常数: 是以单引号括起来的一个或多个字符。 由字符的ASCII码值构成字符或字符串常数,字符常数的长度 必须为一个字节或一个字,以便与目标操作数的长度相匹配。 3符号常数:用一个标识符表示一个常数值。,返回,表 达 式 的 构 成,表达式由操作数和 8086 汇编中的运算符或操作符构成, 运算符或操作符的运算,是在汇编过程中进行的。, 表达式可分为:数值表达式和地址表达式 数值表达式的运算结果是一个常数,在指令中做为操作数使用 地址表达式的运算结果是一个存储单元的地址。在指令中做为 存储器操作数使用,下一页, 操作符:汇编语言提供的操作符有以下五种:,算术运算符,逻辑运算符,关系运算符,属性操作符,数值回送符,算 术 运 算 符, 举例 : MOV AL,NUM 3 MOV AL,2003H MOV AL,BX 10H MOV AL,1210H MOV BX,40H 2 MOV BX,80H NUM:符号常数,BX=1200H, 算术运算符用于完成算术运算,算术运算符有: 加 “” 、减 “”、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号