微机原理第五章:汇编语言程序设计.ppt
《微机原理第五章:汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《微机原理第五章:汇编语言程序设计.ppt(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)第二个字符开始可以是字母、数字、问号、“”或“-”;3)一个标识符的最大长度为 31个字符,5.1.2 汇编语
6、言程序的语法规则,一、汇编语言语基本语法(词法),3保留字:是不能用来做标识符的一些单词 寄存器名、指令助记符、各种操作符等系统专用的保留字,4语句:8086汇编语言有三类语句(1)指令语句:可产生机器指令代码的语句,是执行性语句。(2)汇编命令语句:也称伪指令语句,是一种指示性语句,用以 指示汇编程序如何对汇编语言源程序进行编译,以产生正确 的目标代码程序。(3)宏指令语句:宏汇编中的指示性语句,由宏命令构成。汇编命令语句和宏指令语句都不产生可执行的机器指令代码,仅在汇编和宏汇编的过程中起汇编(编译)的指示作用。,5.1.2 汇编语言程序的语法规则,一、汇编语言语基本语法(词法),5程序结构
7、 汇编语言源程序的结构是段式结构。一个源程序最多有 四种段:即:代码段、数据段、堆栈段、扩展段。每种段在源程序中的先后顺序(位置)可任意。但个数不受限。每个段必须有段名。指令语句必须安排在代码段中,代码段中可以定义过程。例:完整段定义的汇编语言源程序结构(如下),5.1.2 汇编语言程序的语法规则,二、汇编语言语句(句法),1指令语句(执行性语句)标号:前缀指令 助记符 操作数,操作数;注释 标号是指令语句在代码段内的地址,2汇编命令语句(指示性语句)名字 助记符 操作数,操作数,;注释 名字和标号一样,都是符号地址,反映所属对象的逻辑地址EA;不同的伪指令,其名字的叫法也不同:变量名:所定义
8、的存储单元在数据段中的地址。段名:表示相应段的段首地址(段基址)。过程名:表示相应子程序在代码段中的起始地址。,5.1.2 汇编语言程序的语法规则,标号和名字一经定义,便具有以下三种属性值:(1)段值:所属段的段基址。(2)偏移值:在段内的偏地址。(3)类型值:标号、过程名具有 NEAR 和 FAR 类型。变量名的类型有:BYTE,WORD,DWORD。,指令性语句指示性语句,CPU执行的语句经汇编后能够生成目标代码,汇编程序执行的语句不产生目标代码CPU 不执行,指令性语句与指示性语句的区别,5.1.2 汇编语言程序的语法规则,二、汇编语言语句(句法),在写程序中,往往需要在不同地方重复使用
9、某几条语句。为使 源程序书写精练、可读性好,可以先将这几条语句定义为一条 宏指令语句。写程序时,可以用宏指令语句来代替这几条语句。汇编时,汇编程序按照宏指令的定义,在出现宏指令的地方将 其展开还原。引入宏指令语句的目的仅仅在于简化汇编语言源程序的书写,但并不能缩小目标代码文件,更谈不上节省内存空间。宏指令语句是由标号、宏指令和注释组成。,3宏指令语句,5.1.2 汇编语言程序的语法规则,引入“域”的概念,将三种语句结构统一,汇编语言的语句可由14个“域”组成。标号/名字域 操作数域 注释域,1)此域是标识符,可选项;应按照标识符的命名规则进行命名。2)标号和名字的区别:标号是指令所在单元的符号
10、地址,在汇编语言源程序中,标号 出现在代码段,后面跟有冒号“:”。名字可以是变量、段名、过程名、符号名等,在汇编语言的源 程序中,名字出现在伪指令语句中,其后不允许出现冒号“:”。,第一部分:标号/名字域,5.1.2 汇编语言程序的语法规则,第一部分:标号/名字域,3)标号和变量的属性:变量是某操作数所存放单元的符号地址。标号和变量都表示单元的符号地址,因此具有相同的三种属性:段属性 偏移地址属性 类型属性,变量的属性,标号的属性,下一页,段属性 偏移地址属性 类型属性,变 量 的 属 性,数据定义伪指令 DB、DW、DD 前的名字,称为变量 例:DATA DB 24H,31H,A,B,100
11、,64H 段属性:表示变量所在的逻辑段的段基地址。偏移量属性:表示变量所在逻辑段的段内有效地址EA。类型属性:表示变量占用存储单元的字节数,有三种类型:BYTE(字节)、WORD(字)、DWORD(双字),返回,段属性 偏移地址属性 类型属性,标 号 的 属 性,返回,标号对应该指令代码第一个字节在代码段中的偏移地址EA。段属性:表示指令代码所在逻辑段的段基地址。偏移地址属性:表示指令代码所在逻辑段的段内偏移地址。类型属性:表示标号是在段内或段间引用 NEAR(近)类型,在本逻辑段内被引用的标号;FAR(远)类型,在段间引用的标号。,5.1.2 汇编语言程序的语法规则,第二部分:指令助记符域,
12、指令、伪指令、宏指令的助记符,是必选项。指令是指CPU指令系统中的指令,汇编程序能将其编译成对应 的机器指令代码;伪指令不能被编译成对应的指令代码,只是在汇编过程中完成 相应的控制操作,所以又称为汇编控制指令或指示性指令。作用:定义并分配存储单元、赋值、控制汇编开始或结束等。宏指令是有限的一组指令的代号,编译时将根据其定义展开成 相应的指令。,表达式,常数,5.1.2 汇编语言程序的语法规则,第三部分:操作数域,操作数是指令的操作对象,可以有一个、多个或隐含操作数,当有两个、两个以上的操作数时,各操作数之间用逗号隔开。操作数可使用常数、寄存器、标号、变量、表达式等形式。操作数分为数值型:常数、
13、数值表达式 地址型:标号、变量、过程名及地址表达式等,操作符:汇编语言可提供相关的操作符,表达式是由操作数和 8086汇编中的运算符及操作符构成。,下一页,5.1.2 汇编语言程序的语法规则,第三部分:操作数域,1运算符与常数、寄存器名、标号、变量等一起共同构成表达式,在编译过程中,汇编程序先运算表达式的值,然后再进行编译。2运算符的优先级别决定了运算的顺序,同时也决定了运算的结果。3当一个表达式中包含有多个运算符时,其运算按以下规则进行:优先级高的先运算,优先级低的后运算;优先级相同时,按表达式中从左到右的顺序运算;括号可以提高运算的优先级,括号内的运算优先于相邻的运算。,各类运算符的优先级
14、别 见教材 108页表 53,下一页,5.1.2 汇编语言程序的语法规则,第四部分:注释域,下一页,注释域是从分号“;”开始。注释用来说明一段程序或几条指令的功能,便于程序阅读。注释可有可无,在编译时不会处理注释。,常 数,常数是指令中出现的固定数值。如:立即数、直接地址等。,常数只能作为源操作数,不能作为目标操作数。1数值常数:二进制数“以B结尾”;十进制数;十六进制数“以H结尾”以字母开始的十六进制常数,必须在字母前面加上“0”,作为 十六进制常数的标识,以与标识符相区别。2字符常数:是以单引号括起来的一个或多个字符。由字符的ASCII码值构成字符或字符串常数,字符常数的长度 必须为一个字
15、节或一个字,以便与目标操作数的长度相匹配。3符号常数:用一个标识符表示一个常数值。,返回,表 达 式 的 构 成,表达式由操作数和 8086 汇编中的运算符或操作符构成,运算符或操作符的运算,是在汇编过程中进行的。,表达式可分为:数值表达式和地址表达式 数值表达式的运算结果是一个常数,在指令中做为操作数使用 地址表达式的运算结果是一个存储单元的地址。在指令中做为 存储器操作数使用,下一页,操作符:汇编语言提供的操作符有以下五种:,算术运算符,逻辑运算符,关系运算符,属性操作符,数值回送符,算 术 运 算 符,举例:MOV AL,NUM 3 MOV AL,2003H MOV AL,BX 10H
16、MOV AL,1210H MOV BX,40H 2 MOV BX,80H NUM:符号常数,BX=1200H,算术运算符用于完成算术运算,算术运算符有:加“”、减“”、乘“”、除“/”求余“MOD”、左移“SHL”、右移“SHR”其中加、减、乘、除运算都是整数运算,结果也是整数;除运算得到商的整数部分;求余运算得到两数整除后的余数;特别注意:算术运算符用于地址表达式时,只有加、减运算才有 实际意义,要求进行加或减的两个地址必须在同一段内,其物理 意义表示在原地址基础上偏移了若干单元。,返 回,逻 辑 运 算 符,举例:MOV AX,00FFH AND 0FF0H MOV AX,0000H MO
17、V AL,35H XOR 0FH MOV AL,0CAH AND BL,32 OR 64 AND BL,60H,逻辑运算是对常数值操作数进行按位操作。逻辑运算符有:与“AND”、或“OR”、异或“XOR”、非“NOT”。NOT是单操作数运算符,其它逻辑运算符为双操作数运算符。逻辑运算符与指令中的逻辑运算指令不同,它在汇编过程中产生 一个逻辑运算值,不会影响标志位。需要注意的是:逻辑运算符只能用于数值表达式,不能用于地址表达式。,返 回,关 系 运 算 符,关系运算符有六种:相等“EQ”小于“LT”小于或等于“LE”、不等“NE”大于“GT”大于或等于“GE”。用于连接两个操作数,操作数应为数值
18、或同一逻辑段内的地址。关系运算的结果只有两种情况:关系成立、不成立。若关系成立,关系运算的逻辑结果值为“真”,结果全1,如:MOV CX,5 NE 3;汇编后为:MOV CX,0FFFFH 若关系不成立,其结果的逻辑值为“假”,结果全0,如:MOV AL,56 LT 24;汇编后为:MOV AL,0,返 回,数 值 回 送 符,数值回送符是对存储器地址进行运算,又称为分析运算符。它可以将存储器地址的三个重要属性:段、偏移量和类型分离出来,其返回值作为地址操作数使用。,数值回送符是一类获取符号地址属性的操作符,有五个:SEG、OFFSET、TYPE、LENGTH、SIZE,下一页,数 值 回 送
19、 符,1格式:SEG 名字/标号 功能:获取名字/标号所属段的段基址,以数字形式表达出。2格式:OFFSET 名字/标号 功能:获取名字/标号的有效地址EA,以数值型形式表达出。3格式:TYPE 变量/标号 功能:获取变量/标号的类型值,以数值形式表达出。类型与类型值对照表见 105 页 表 5.14格式:LENGTH 变量 功能:对用 DUP重复定义符定义的数组变量,获取其重复定义 的变量个数,不分字节、字或双字。对于其他变量,则给出的值为 1。5格式:SIZE 变量 功能:获取变量所占的字节数。,举 例,XX1 DW 40 DUP(?)VR1 DB AB VR2 DW 20,64H MOV
20、 BX,OFFSET XX1;取变量 XX1 的有效地址送 BXMOV SS,SEG XX1;取变量 XX1 的段基地址送 SSMOV AL,LENGTH XX1;取变量 XX1 被重复定义的次数送 ALMOV DL,TYPE VR1;取变量 VR1 的类型值送 DLMOV DH,TYPE VR2;取变量 VR2 的类型值送 DHMOV CL,SIZE XX1;取变量 XX1 所占的字节数送 CL SIZE XX1 TYPE XX1 LENGTH XX180 DUP 重复定义符(复制操作符)表达式 1 DUP(表达式 2)表达式1:为重复定义的数量。表达式2:为重复定义的内容,可以是数字,或字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 第五 汇编语言 程序设计
链接地址:https://www.31ppt.com/p-6572832.html