微机接口ppt课件第5章汇编语言程序设计.ppt
《微机接口ppt课件第5章汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《微机接口ppt课件第5章汇编语言程序设计.ppt(76页珍藏版)》请在三一办公上搜索。
1、微机原理与接口技术,作者:徐建平 成贵学,第5章 汇编语言程序设计,【本章内容提要】,掌握汇编语言程序的编辑、汇编、连接和调试掌握汇编语言的概念、助记符和语句格式,以及常数、表达式、标号、变量和运算符的定义和用法掌握汇编语言的常用伪指令的格式和用法,以及源程序的结构掌握汇编程序设计的基本方法掌握高级汇编程序设计方法,5.1 汇编语言程序的编辑、汇编、连接和调试,5.1.1 源程序编辑器EDIT5.1.2 汇编程序MASM 5.1.3 连接程序LINK 5.1.4 程序的运行和调试,5.2 汇编语言入门,5.2.1 汇编语言概述,由于计算机只能识别和执行由二进制代码组成的机器指令,而这种二进制机
2、器语言人很难理解于是人们采用字母、符号等来表示机器指令的二进制代码,这就是汇编语言。汇编语言又称为符号语言。,5.2.2 汇编语言中的助记符,三种助记符1指令助记符2伪指令助记符3其他助记符,1指令助记符,指令助记符是汇编语言的基本助记符,它在汇编时被转换成二进制的指令代码每一条指令代码都对应着CPU的一种操作。由指令助记符构成的可执行语句称为指令语句。指令系统中的每条指令都是指令语句。,2伪指令助记符,伪指令助记符是在汇编过程中用来控制汇编程序的一些特定的助记符它在汇编时不产生机器码,也不产生任何操作,它在汇编语言源程序中可以构成独立的语句。由伪指令助记符构成的语句称为伪指令语句,又称指示性
3、语句。,3其他助记符,在汇编语言中,还有另一些常见的助记符,如标号、常量、变量和表达式等,这些助记符是可以由用户自己定义的。关于这些助记符的相关概念我们将在后面的内容中作详细介绍。,5.2.3 汇编语言的语句格式,汇编语言的语句有指令语句和伪指令语句两种。指令语句的格式为:标号:指令助记符 操作数,操作数;注释伪指令语句的格式为:名字伪指令助记符操作数,操作数;注释,(1)标号和名字,标号可作为指令语句的符号地址,用来代表该指令语句在存储器中的地址。伪指令语句中的名字可以是变量名、段名、过程名、符号名等,用来代表它们在存储器中的地址。指令语句中的标号后面有冒号,而伪指令语句中的名字后面是空格。
4、,(2)助记符,助记符是汇编语句中必不可少的部分。指令助记符规定了指令语句的操作类型,伪指令助记符规定了伪指令语句的伪操作功能。,(3)操作数,操作数可以是寄存器、存储器、常数、变量、标号和表达式。指令语句的操作数可能是一个、两个或没有,它们之间用逗号分隔。伪指令语句的操作数根据伪操作命令的不同而不同,有的伪指令不允许有操作数,有的伪指令允许带多个操作数。,(4)注释,以分号开头,直到行尾结束,用来对语句或程序的功能加以说明,增加程序的可读性。它不是程序的可执行部分,在汇编时不产生任何代码。,5.2.4 汇编语言的常数和表达式,1常数数值常数:可以是二进制常数、八进制常数、十进制常和十六进制常
5、数。其中,不同的数制要用后缀表明。例如,6BH,10110111B等。字符串常数:由单引号括起来的一个或多个字符,例如,I AM A STUDENT。,2表达式,汇编语言中的表达式分为数字表达式和地址表达式两种。汇编时对表达式进行计算,如果表达式的结果是一个数值,则称为数字表达式;如果表达式的结果是一个存储单元的地址,则称为地址表达式。,表达式是由操作数和运算符组成的。操作数可以是常数、标号、变量、寄存器或表达式;运算符有3类,分别是算术运算符、逻辑运算符和关系运算符,如表5-1所示。,(1)算术运算符,算术运算符常用于数字表达式或地址表达式中,将其用于地址表达式中时,必须保证运算有意义。例如
6、,若COUNT的偏移地址为1000H,则 LEA SI,COUNT+5等效于:LEA SI,1005H。,(2)逻辑运算符,逻辑运算符只能用于数字表达式中,不能用于地址表达式中。运算时是将两个数字操作数分别按位进行运算。例如:MOV AL,0ABH AND 0FH等效于:MOV AL,0BH。,(3)关系运算符,关系运算符连接的两个操作数必须都是数字操作数或者都是地址操作数运算结果是一个逻辑值:如果关系为真,则结果为0FFFFH;如果关系为假,则结果为0。例如:MOV AX,NUM GT 100,如果NUM大于100,则等效于 MOV AX,0FFFFH否则,将等效于MOV AX,0。,5.2
7、.5 汇编语言的标号和变量,1标号,标号是指令语句的标识符,用来表示该指令所在内存单元的地址。在汇编语言程序中,标号常用在第一条指令、转移和循环的目标指令,以及子程序的第一条指令之前,并作为转移指令、循环指令或子程序调用指令的操作数,从而确定程序转移的目标地址。,标号有3个属性:,段地址(SEG):定义标号所在段的起始地址偏移地址(OFFSET):定义标号所在位置与段的起始地址之间的偏移量;类型(TYPE):可以是NEAR(段内转移)或FAR(段间转移),一般默认为NEAR。,2变量,变量主要用来定义存放在存储单元中的数据,一般都在数据段或附加段中定义,并且在程序中可以随时修改其值。每个变量都
8、有一个变量名,作为存储单元的名字或符号地址,我们通过变量名对存储单元中的数据进行访问。,变量的定义格式为:,变量名 DB 表达式;定义字节变量变量名 DW 表达式;定义字变量变量名 DD 表达式;定义双字变量变量名 DQ 表达式;定义8字节变量变量名 DT 表达式;定义10字节变量,变量具有5种属性:,段地址(SEG):定义变量所在段的起始地址;偏移地址(OFFSET):定义变量的位置与段的起始地址之间的偏移量;类型(TYPE):定义变量所占存储单元的字节数,用DB、DW和DD伪指令定义的变量类型分别是字节(BYTE)、字(WORD)和双字(DWORD)。长度(LENGTH):定义变量的个数。
9、大小(SIZE):分配给变量的总字节数。,5.2.6 汇编语言的属性运算符和表达式,用来获取或重新定义变量或标号属性的运算符称为属性运算符。,(1)取地址运算符SEG,格式:SEG 变量或标号功能:返回变量或标号的段地址。例如,MOV AX,SEG COUNT指的是将变量COUNT的段地址送入AX。,(2)取偏移地址运算符OFFSET,格式:OFFSET 变量或标号功能:返回变量或标号的偏移地址。例如,MOV SI,OFFSET COUNT指的是将变量COUNT的偏移地址送入SI。,(3)取类型运算符TYPE,格式:TYPE 变量或标号功能:返回变量或标号的类型值。如表5-2所示。例如,指令:
10、MOV AX,TYPE COUNT指的是将变量COUNT的类型值送入AX。,(4)取变量长度运算符LENGTH,格式:LENGTH 变量功能:返回变量的长度(即变量中元素的个数),可以是以字节、字或双字为单位。例如,定义 COUNT DW 100 DUP(1),则LENGTH COUNT的值为100。,再如,定义 BUFF DD 1,2,3则LENGTH BUFF的值为1。,(5)取变量总字节数运算符SIZE,格式:SIZE 变量功能:返回变量所包含的总字节数。例如,定义 COUNT DW 100 DUP(1)SIZE COUNT的值为200。,(6)类型运算符PTR,格式:类型 PTR 变量
11、、标号或表达式功能:对已定义的变量、标号或表达式,临时转换其类型,类型可以是BYTE、WORD、DWORD、NEAR或FAR。例如,指令:MOV AX,WORD PTR COUNT指的是将变量COUNT临时转换成字类型。,(7)类型定义运算符THIS,格式:变量或标号 EQU THIS 类型功能:指定变量或标号的类型,但不为其分配存储单元,所定义变量的段地址和偏移地址与下一个存储单元地址相同。,例如,COUNT EQU THIS BYTERESULT DW 100 DUP(?)该语句定义COUNT为字节类型,其地址与RESULT完全相同。注意,这里RESULT是字型类型。,(8)段超越前缀:,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 ppt 课件 汇编语言 程序设计

链接地址:https://www.31ppt.com/p-5975790.html