欢迎来到天天文库
浏览记录
ID:33343033
大小:262.50 KB
页数:39页
时间:2019-02-25
《宏汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章宏汇编语言程序设计3.1教学要求·熟悉汇编语言程序的结构及其语句的结构。·熟悉伪指令及其功能。·掌握汇编语言结构化程序设计方法,即顺序结构、分支结构和循环结构的设计。·熟悉过程(子程序)和宏指令的定义及使用规则。·熟悉DOS调用功能及其规则。3.2内容提要3.2.1汇编语言的语句结构汇编语言程序是由语句组成的。语句的格式如下[名称[:]]操作助记符操作数[,操作数][;注释]汇编语言语句的分成包含名称、操作助记符、操作数、注释四个域。语句格式“[]”中的内容为可选项,根据实际情况而使用。1.操作助记符域操作助记符域
2、是指令中唯一不可缺少的部分,由指令、伪指令或宏指令构成。(1)指令指令是计算机可以执行的基本操作,汇编时可以转换为机器代码。操作助记符为指令的语句称为指令语句,每条指令语句在执行时都对应一条机器指令。例如MOV、ADD、SUB等皆为指令。(2)伪指令伪指令是在汇编语言源程序中使用的指令,用来定义段、定义数据、分配存储器、指示程序结束等。伪指令语句只在汇编语言源程序中使用,不会转换成机器代码,机器不能执行。例如,SEGMENT、DB、END等皆是伪指令。(3)宏指令宏指令是由用户自己定义的指令。2.名称域名称包括标号和变量
3、。名称在汇编语言源程序中定义和使用,名称应以字母开头,后跟若干字母、数字或特殊符号(“_”、“.”、“?”、“$”、“@”)组成,符号个数不超过31个。(1)标号标号在代码段中定义和使用,标号后面需要加“:”号,例如“START:”。标号用来表示代码段中某条语句的地址,因此也称为代码的符号地址。利用标号可以方便实现程序的转移和循环的控制。标号有段属性、偏移属性和类型属性。段属性代表定义标号的段地址;偏移属性代表标号的偏移地址;类型属性代表标号的使用范围,NEAR类型属性的标号只能在段内使用,而FAR类型属性的标号可以在不
4、同段之间使用。(2)变量变量在除代码段以外的其他段(DS,SS,ES)定义,后不跟“:”号。变量用来表示数据的地址,因此也称为数据的符号地址。变量定义格式为变量名变量属性伪指令表达式变量属性伪指令包括DB(定义变量属性为字节)、DW(定义变量属性为字)、DD(定义变量属性为双字)、DQ(定义变量属性为四字)、DT(定义变量属性为五字)。表达式包括①一个或多个常量或表达式,中间以“,”号分隔。例如DAT1DB20H,30H,40H;②用单引号括起来的字符或字符串。例如DAT2DB’A’,’1234’;用DB伪指令定义字符串
5、时,字符串包含的字符个数不受限制,而用DW、DD、DQ和DT伪指令定义字符串时,字符个数不允许超过2个。③一个“?”号,表示数据未定,常用于预留存储空间。例如DAT3DW?;④重复方式。重复方式的格式为重复次数DUP(表达式);例如,用DAT4变量名预留256个字空间的定义语句为DAT4DW256DUP(?)。变量定义的目的是确定变量的属性和安排数据的存储单元。变量的属性包括段属性SEG(定义变量的段地址)、偏移属性OFFSET(定义变量的偏移地址)、类型属性TYPE(表示一个变量数据所占的字节数)、长度属性LENGTH
6、(表示定义变量的重复次数,在DUP重复方式下同一变量名的长度属性为重复次数,非重复方式定义的变量长度均为1)、大小属性SIZE(SIZE=TYPE×LENGTH)。变量的类型属性包括字节类型BYTE(占1字节)、字类型WORD(占2字节)、双字类型DWORD(占4字节)、四字类型(占8字节)和五字类型(占10字节)。例如:DAT1DW10DUP(10H),TYPEDAT1的值为2。3.操作数域操作数是参与操作的数据或数据所在的地址。操作数包括常数、变量和表达式。(1)常数常数有数值常数和用单引号括起来的字符常数。数值常数
7、可用二进制数(后缀加B)、十进制数(后缀加D或不加后缀)、十六进制数(后缀加H)和八进制数(后缀加Q)。例如MOVAL,’A’;MOVAL,20H;MOVAL,B;都是用常数作为操作数的程序语句。(2)变量变量必须在定义后才能使用。由于变量是符号地址,因此变量代表的操作数表示数据所在的地址。例如,在程序语句“MOVAL,DAT1”中,是用变量DAT1来表示操作数的。(3)表达式表达式是用运算操作符将常量、变量连接起来的式子。①算术运算操作符。算术运算操作符有+(加)、-(减)、*(乘)、/(除)、MOD(求余)、SHL(
8、左移)、SHR(右移)。②逻辑操作符。逻辑操作符有AND(与)、OR(或)、NOT(非)、XOR(异或)。③关系操作符有EQ(等于)、NE(不等于)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于)。关系表达式的结果为逻辑值。当关系成立时,结果为全“1”,即为“真”;当关系不成立时,结果为全“0”,即为
此文档下载收益归作者所有