微机原理与接口技术实用教程4.ppt
《微机原理与接口技术实用教程4.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术实用教程4.ppt(55页珍藏版)》请在三一办公上搜索。
1、第四章 汇编语言程序设计,2023/7/1,微机原理,2,本章要点,汇编语言的基本语法规则,汇编语言常用的伪指令和DOS功能调用,顺序、分支、循环和子程序设计基本方法,2023/7/1,微机原理,3,一、汇编语言与机器语言1、机器语言:是计算机能够识别直接执行的语言,这种形式也叫目标代码(机器码),全由01组成。(高级语言编的源程序在执行时也必须全翻译成机器语言)2、汇编语言:用机器语言指令的助记符来编写程序的语言称汇编语言(阅读理解方便,为程序员提供了完全控制目标代码的手段)。3、源程序:用各种语言编写的程序本身。4、汇编程序与编译程序:汇编语言源程序-汇编-目标代码高级语言源程序-编译-目
2、标代码5、汇编语言包含:指令 让微处理器执行操作的指令 伪指令 告诉汇编程序如何汇编的指令,汇编语言的基本概念,2023/7/1,微机原理,4,4.1 汇编语言的基本语法,汇编语言程序,数据段,代码段,堆栈段,存放常数、变量以及作为算术运算区和用来作为I/O接口传送数据的工作区,堆栈段用来在内存中建立一个堆栈区,以便在中断和过程调用时使用,堆栈还起承上启下的作用,用于模块间参数的传送。,2023/7/1,微机原理,5,4.1.1 语句格式,语句格式:名称 空格或冒号操作助记符空格操作数;注释,标志符的要求:(1)标识符是一个字符串,第一个字符必须是字母、“?”、“”、或下划线“_”这四种字符中
3、的一个。(2)从第二个开始,可以是字母、数字、“?”、“”、“_”;(3)一个标识符的长度可以由131个字符组成。,2023/7/1,微机原理,6,4.1.2 语句类型与结构,1.指令性语句的结构标号:前缀 指令助记符 操作数;注释(1)方括号表示的成分可以选用或缺省。(2)标号是后面紧跟“:”的一个标识符,标号代表该行指令在存储器中的首地址,标号可作为转移指令和调用指令的一个操作数。(3)前缀如重复前缀、总线封锁前缀等。(4)操作数可以是一个、两个或没有,由指令类型决定,若有两个操作数,前面为目的操作数,后面为源操作数,中间用逗号隔开。(5)注释是以“;”开始的字符串,不影响程序的汇编与执行
4、,仅用于增加源程序的可读性。,2023/7/1,微机原理,7,2.指示性语句的结构名字 伪指令助记符 操作数;注释说明:(1)名字可以是符号常量名、变量名、过程名、段名等,名字后面不能有“:”。(2)伪指令命令助记符共有40多个,按功能不同分成八类,本章介绍的常用五类共20多个。(3)操作数可少到一个没有,多到两个以上,操作数之间须用逗号分隔。,2023/7/1,微机原理,8,3.宏指令语句的结构宏名 宏操作助记符 操作数;注释说明:(1)宏名即宏指令名,是一标识符,宏名后面不能有“:”(2)宏操作助记符共有8个,分别是MACRO、ENDM、EXITM、LOCAL、REPT、IRPC、IRP、
5、PURGE。(3)其余同指示性语句。,2023/7/1,微机原理,9,4.1.3 汇编语言的表达式,1、常数:数值常数-可为各种数制,必须以数字打头,除十进制外,必须用后缀注明,如BOH等。字符串常数-由单引号括起的字符串,用来表示相应的ASCII码,如179是31H37H39H。2、表达式:由操作数和操作符(运算符)构成,表达式的值必须在汇编或连接时就确定。,2023/7/1,微机原理,10,4.1.4 汇编语言的运算符,算术运算符,逻辑运算符,关系运算符,分析运算符,分离运算符,组合运算符,2023/7/1,微机原理,11,1.算术运算符,2.逻辑运算符,3.关系运算符,+-*/(整除)M
6、OD(求二整数相除的余数),ANDORNOTXOR按位进行,EQ(相等)NE(不等)LT(小于)GT(大于)LE(小于等于)GE(大于等于),关系成立返回全1,关系不成立返回全0(16位),2023/7/1,微机原理,12,3.分析运算符,(1)SEG运算符取段地址运算符,该运算返回变量或标号所在段的段地址(字常量)。,(2)OFFSET运算符取段内偏移地址符,该运算返回变量或标号所在段的段内偏移地址。,(3)TYPE运算符取类型属性运算符,该运算返回变量或标号的类型值。若运算对象是标号,则返回标号的距离属性值,若运算对象是变量,则返回变量类型所占字节数。,(4)LENGTH运算符取数组变量元
7、素个数运算符,如果变量是用重复数据操作符DUP说明的,则返回DUP前面的数值(即重复次数);如果没有DUP说明,则返回值总是“1”。,2023/7/1,微机原理,13,5.分离运算符,(1)LOW运算符取地址表达式或16位绝对值低8位。,(2)HIGH运算符 取地址表达式或16位绝对值高8位。,(3)SHORT运算符当转移指令的目标地址与该指令之间的距离在-128+127字节范围内,可用SHORT运算符进行说明,以保证汇编程序能为该指令生成最短的机器码,从而提高运行效率。,2023/7/1,微机原理,14,6.组合运算符,(1)“:”运算符用来临时给变量、标号或地址表达式指定一个段属性。,(2
8、)PTR运算符赋予“表达式”指定的“类型”,新的类型只在所处的指令内有效。格式为:类型 PTR 表达式,(3)THIS运算符该运算符和“=”(或EQU)伪指令连用,把它后面指定的类型属性或距离属性赋给当前的变量或标号。常用的格式为:变量或标号=THIS 属性,(4)圆括号“()”运算符 用来改变被括运算符的优先级别。,2023/7/1,微机原理,15,4.2 伪指令,4.2.1 符号定义伪指令,1.EQU伪指令格式:名字 EQU 表达式 功能:是将数值或字符序列与一个指定的名字等价。有以下4种用法。(1)为常量定义一个符号,以便在程序中使用符号来表示常量。(2)为变量或标号定义新的类型属性并起
9、一个新的名字。(3)为由地址表达式指出的任意存储单元定义一个名字。(4)为汇编语言中的任何符号定义一个新的名字。,2023/7/1,微机原理,16,2.“=”伪指令“=”伪指令同EQU,但 a,对同一个名称可定义多次 b,表达式的值不得超过16位2进制数。,3.LABEL伪指令格式:变量或标号名 LABEL 类型功能:为当前存储单元定义一个指定类型的变量名或标号。,2023/7/1,微机原理,17,4.2.2 变量定义伪指令,常用的变量定义伪指令有DB、DW、DD、DQ、DT格式:变量名 DBDWDDDQDT 表达式,2.ASCII字符串,3.地址表达式,4.?表达式,5.nDUP表达式,表达
10、式,1.数值表达式,2023/7/1,微机原理,18,4.2.3 段定义伪指令,段名 SEGMENT 定位类型组合类型类别;语句 段名 ENDS 段名:是所定义段的名称。二个段名必须一致,具有段地址、偏移地址,以及后面用 括起来的三个可选属性。,2023/7/1,微机原理,19,定位类型:表示对该段起始边界(段基址、段起始地址)的要求。BYTE 字节边界,段起始地址可位于任何地方;WORD 字边界,段起始地址能被2整除;PARA 节边界,段起始地址能被16整除,是缺省的定位类型;PAGE 页边界,段起始地址能被256整除;因为段地址只能被16整除,前二种情况段内偏移地址不一定从0起。,2023
11、/7/1,微机原理,20,组合类型:表示该段与其他段的组合关系。NONE:缺省组合类型,表明本段与其他段逻辑上无关。PUBLIC:表明本段与其他模块中用PUBLIC说明的同名同类别段 可以相继连成一个段,使用同一个段地址。STACK:同 PUBLIC,但此组合类型,将来程序执行时SS与SP 自动被赋予堆栈的栈底。COMMON:表明连接时该段与其他模块中属于该类别的同名同类 别段可以相互重叠地放在一起,其长度为同名段中最 长者的长度。,2023/7/1,微机原理,21,类别:是用单引号括起来的字符串。连接时,连接程序将不同模块中相同类别的各段在物理上相应地连接在一起。当程序只有一个模块时,除堆栈
12、用STACK说明外,其他段的组合类别与类别均可省略。,MEMORY:连接时被放在所装载程序的最高地址区,当有多个 MEMORY类别段时,只将连接程序遇到的第一个 MEMORY段为MEMORY段,其他的均作COMMON。AT 表达式:表明该段的段地址由AT后的表达式给定,段内不应 有任何指令语句或含初值的变量定义语句。,2023/7/1,微机原理,22,4.2.4 过程定义伪指令,子程序通常以过程的形式编写。格式如下:过程名 PROC 类型 RET 过程名 ENDP,2023/7/1,微机原理,23,(1)过程名是为该过程取的名字,具有与语句标号相同的属性,即具有段地址、偏移地址和类型三类属性。
13、(2)地址属性是指过程中第一个语句的地址。(3)类型属性由格式中的类型指明,可以有NEAR和FAR两种。若类型缺省或为NEAR时,表示该过程只能为所在段的程序调用;若为FAR时,则可被跨段调用。(4)RET为过程返回指令,不能省,否则过程将无法返回。返回指令属于段内返回还是段间返回与过程类型有关。(5)过程既允许嵌套定义,也允许嵌套调用。,2023/7/1,微机原理,24,4.2.5 模块定义与通信伪指令,1.NAME和END格式:NAME 模块名 END 标号,2.PUBLIC格式:PUBLIC 符号表,2023/7/1,微机原理,25,3.EXTRN格式:EXTRN 符号:类型,,4.IN
14、CLUDE格式:INCLUDE 文件名,2023/7/1,微机原理,26,4.3 宏指令,宏指令是一组汇编语言语句序列的缩写,是程序员事先自定义的“指令”,此后在宏指令出现的地方,汇编程序自动把它们替换成相应的语句序列。,宏指令的概念,2023/7/1,微机原理,27,宏指令的使用,(1)宏定义 格式:宏指令名 MACRO 形参,形参 ENDM,(2)宏调用格式:宏指令名 实参,实参,(3)宏扩展当汇编程序扫描到源程序中的宏调用时,就把对应宏定义的宏体指令序列插入到宏调用所在处,用实参替代形参,并在插入的每条指令前面加上一个“+”号,这一过程就称为宏扩展。,2023/7/1,微机原理,28,用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实用教程
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5381468.html