欢迎来到天天文库
浏览记录
ID:48415684
大小:379.00 KB
页数:58页
时间:2020-01-19
《微机原理汇编语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本章主要教学内容l汇编语言和汇编程序的基本概念l汇编语言源程序书写规则、语句格式及程序分段l伪指令语句的格式、功能及应用l汇编语言源程序的建立、汇编、连接、调试及运行第5章汇编语言的基本表达及其运行5.1汇编语言和汇编程序的基本概念5.1.1汇编语言汇编语言是一种面向CPU指令系统的程序设计语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址表示操作数地址。5.1.2汇编程序用汇编语言编写的源程序在输入计算机后,需要将其翻译成目标程序,计算机才能执行相应指令,这个翻译过程称为汇编,完成汇编任务的程序称为汇编程序。有基本汇编AS
2、M(Assembler)和宏汇编MASM(MacroAssembler)两种。汇编程序以汇编语言源程序文件作为输入,并由它产生两种输出文件:目标程序文件和源程序列表文件。目标程序文件经连接定位后由计算机执行;源程序列表文件将列出源程序、目标程序的机器语言代码及符号表。5.2汇编语言源程序书写格式5.2.1汇编语言源程序的分段结构汇编源程序一般由3个逻辑段组成,即数据段、堆栈段和代码段。每个逻辑段以SEGMENT语句开始,以ENDS语句结束。整个源程序以END语句结束。数据段用来在内存中建立一个适当容量的工作区,以存放常数、变量等操作数
3、据。堆栈段用来在内存中建立一个适当的堆栈区,以便在中断、子程序调用时使用。代码段包括了许多以符号表示的指令,其内容就是程序要执行的指令。注:必须用ASSUME伪指令告诉汇编程序,哪一段和哪一个段寄存器相对应,即某一段地址应该放入哪一个段寄存器在DOS环境下,通常采用DOS的4CH号中断功能调用使汇编语言返回DOS。不需要再对CS和SS进行初始化5.2.2汇编语言源程序的语句类型和语句格式1.语句类型8086宏汇编MASM使用的语句可以分成3种类型:指令语句:这类指令能够产生目标代码,是CPU可以执行的能够完成特定功能的语句,主要由机器
4、指令组成。在汇编时一条指令语句被翻译成对应的机器码,对应着特定的操作。伪指令语句:伪指令语句是为汇编程序和连接程序提供一些必要控制的管理性语句,它不产生目标代码,仅仅在汇编过程中告诉汇编程序应如何汇编,并完成相应的伪操作。例如:告诉汇编程序源程序有几个段,段名,定义变量和定义过程,给变量分配存储单元,给符号赋值,给数字或表达式命名。宏指令语句:可包括多条指令或伪指令。在汇编时,按照宏指令的定义,在出现宏指令的地方将其展开还原。2.语句格式一般情况下,汇编语言的语句可以由以下几部分组成:[名字]操作符[操作数][;注释]1)名字是一个符
5、号,它表示本条语句的符号地址。一般来说,名字可以是标号和变量,统称为标识符。名字的组成字母A-Z,a-z;数字0-9;专用字符?.@-$注:数字不能为名字的第一个位置.只能出现在名字的第一个位置名字最长31个字符组成2)指令语句和伪指令语句中名字的区别指令语句的名字之后要用冒号,而伪指令语句名字后不用例:LAB1:MOVAX,2050H;指令语句,LAB1是名字,也是指令第一字节的符号地址VAR1DW1200H;伪指令语句,VAR1是名字,也是符号地址,VAR1和VAR1+1存放0012指令语句中的名字一般采用标号NEXT:MOVAX
6、,1234H一个标号与一条指令的地址相联系,因此标号可以作为JMP和CALL指令的操作数JNZNEXTCALLAPAR伪指令语句中的名字可以是变量名、段名、过程名、符号名等BUFDW1234HCODESEGMENTAPARPROC3)标号和变量的属性标号和变量都具备3种属性:段属性、偏移属性及类型属性。段属性:该属性定义了标号和变量的段起始地址标号的段由CS指示变量的段通常由DS或ES指示偏移属性:表示标号和变量相距段起始地址的字节数,16位类型属性:标号是在本段内引用NEAR还是在其他段中引用FAR。变量有几个字节长度。由定义变量的
7、伪指令DB、DW和DD等决定。2.操作符字段操作符可以是机器指令、伪指令和宏指令的助记符。操作数字段是操作符的操作对象。当有两个及以上的操作数时,用逗号隔开。注释字段是以“;”开头的说明部分,可以用英文或者中文书写。注释字段是语句的非执行部分。5.38086汇编语言中的标识符、表达式和运算符5.3.1标识符汇编语言每条语句的第一个字段是它的名字字段,名字可以是标号或变量,这两者又称为标识符。重点是要掌握其组成规则和它的3个属性。5.3.2表达式和运算符在表达式中,运算符充当着重要的角色。8086宏汇编有算术运算符、逻辑运算符、关系运算
8、符、分析运算符和综合运算符共5种。下面分别讨论5种运算符的作用:(1)算术运算符用于完成算术运算,有+(加法)、-(减法)、×(乘法)、/(除法)、MOD(求余)、SHL(左移)、SHR(右移)共7种运算。例如,将字数组
此文档下载收益归作者所有