欢迎来到天天文库
浏览记录
ID:50143077
大小:519.50 KB
页数:39页
时间:2020-03-09
《微型计算机原理与汇编语言程序设计 曲凤娟 第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章汇编语言的基本表达及其运行本章主要教学内容l汇编语言和汇编程序的基本概念l汇编源程序书写规则、语句格式及程序分段l伪指令语句的格式、功能及应用l汇编语言源程序的建立、汇编、连接、调试及运行第5章汇编语言的基本表达及其运行5.1汇编语言和汇编程序的基本概念5.2汇编语言源程序书写格式5.38086汇编语言中标识符、表达式和运算符5.5汇编语言程序上机过程5.4伪指令语句5.1汇编语言和汇编程序的基本概念5.1.1汇编语言面向CPU指令系统的程序设计语言采用助记符表示操作码和操作数用符号地址表示操作数地址用汇编语
2、言编写程序占用内存空间少,执行速度快将汇编语言源程序翻译成目标程序的过程称为汇编,所用的软件称为汇编程序。ASM和宏汇编MASM汇编产生目标程序文件和源程序列表文件:目标程序文件经连接定位后由计算机执行源程序列表文件将列出源程序、目标程序的机器语言代码及符号表5.1.2汇编程序语句类型8086宏汇编MASM使用的语句分成3种类型:指令语句:能够产生目标代码,CPU可执行伪指令语句:为汇编程序和连接程序提供的管理性语句,不产生目标代码宏指令语句:可包括多条指令或伪指令5.2汇编语言语句的格式一般情况下,汇编语言的语句
3、可以由1~4部分组成:[名字]操作码项[操作数][;注释]名字项是一个符号。操作项是一个操作码的助记符,它可以是指令、伪操作或宏指令。操作数项由一个或多个表达式组成,它提供为执行所要求的操作而需要的信息。注释项用来说明程序或语句的功能,分号(;)为识别注释项的开始,也可以从一行的第一个字符开始,此时整行都是注释,常用来说明下面一段程序的功能。其中带方括号的部分表示任选项,即可以选用,也可以不用。下机分别说明每一项的作用及表示方法。5.2.1名字项5.2.1名字项名字项可以是语句标号或标量。标号是可执行指令语句的符号
4、地址,在代码段中定义,用作转移指令或调用指令的操作数,表示转移地址;变量通常是指存放数据的存储器单元符号地址,它在除段码段以外的其它段中定义,可以用作指令的操作数。名字和变量统称为标识符。1.组成名字的字符及规则它是由字母打头的字符串,可由下列字符组成:①字母A~Z,a~z。②数字0~9。③专用字符?、.、@、-、$。除数字0~9外,其他字符都可以放在名字的第一个位置。字符“.”只能出现在名字的第一个位置,其他位置不允许出现。名字最长由31个字符组成。汇编程序对31个以后的字符不予理会,所以,当两个名字的前31个字
5、符完全相同而从第32个字符开始有不同字符时,汇编程序将它们视为同一名字。2.标号和变量的区别标号是某条指令所存放单元的符号地址,而变量是某操作数据所存放单元的符号地址。在汇编语言程序中,指令语句中的名字一般采用标号,这个标号可以是任选的,即可以不写。标号出现在代码段,后面跟着冒号“:”。3变量和标号的属性标号和名字一经定义便具有两类三种属性:①段值标号和名字对应存储单元的段地址②偏移值标号和名字对应存储单元的偏移地址③类型标号、子程序名的类型可以是NEAR(近)和FAR(远),分别表示段内或段间变量名的类型可以是B
6、YTE(字节)、WORD(字)和DWORD(双字)等地址属性类型属性5.2.3操作数项操作数项是操作符的操作对象。操作符在完成相应的操作时要求有一系列的操作数。当有两个或两个以上的操作数时,各操作数之间用逗号隔开。对于指令语句,操作数项一般给出操作数地址,它们可能一个或多个,或一个也没有。对于伪指令和宏指令语句,操作数项则给出所要求的参数。操作数一般有常数、寄存器、标号、变量和表达式等几种形式。1.常数常数是操作数位置出现的数值数据或字符型数据,它的值在汇编时已完全确定,程序运行过程中,不会发生变化。在8086宏汇
7、编中,允许有以下几种常数:①二进制常数:是一串0和1数字的组合,以字母B结尾。②八进制常数:由数字0~7组成,必须以字母O结尾。③十进制常数:这是最常用的一种常数,后跟字母D或不跟任何字母。④十六进制常数:由数字0~9和字母A~F组成,这类数据必须以字母H结尾。⑤字符串常数:用单引号括起来的字符以及字符串,其各个字符的ASCII码值构成字符串常数。字符串常数可以和整数常数等价使用,但这些字符串常数的长度必须为一个字节或一个字,以便与目标操作数的长度相匹配。在指令中,常数通常被称为立即数,它只能用作源操作数,不能作为
8、目标操作数。它的允许取值范围由指令中的目标操作数的形式自动确定为8位或16位。2表达式和运算符指由运算符连接的各种常数构成的表达式汇编过程中计算表达式得数值程序运行之前,已算出结果增强程序可读性2、表达式和运算符(1)算术运算符+-*/MOD(2)逻辑运算符ANDORXORNOT(3)移位运算符SHLSHR(4)关系运算符EQNEGTLTGELE(5)分析运
此文档下载收益归作者所有