- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
宏汇编语程序设计
第3章 宏汇编语言程序设计
3.1 教 学 要 求
·熟悉汇编语言程序的结构及其语句的结构。
·熟悉伪指令及其功能。
·掌握汇编语言结构化程序设计方法,即顺序结构、分支结构和循环结构的设计。
·熟悉过程(子程序)和宏指令的定义及使用规则。
·熟悉DOS调用功能及其规则。
3.2 内 容 提 要
3.2.1 汇编语言的语句结构
汇编语言程序是由语句组成的。语句的格式如下
[名称[:]] 操作助记符 操作数[,操作数][;注释]
汇编语言语句的分成包含名称、操作助记符、操作数、注释四个域。语句格式“[ ]”中的内容为可选项,根据实际情况而使用。
1. 操作助记符域
操作助记符域是指令中唯一不可缺少的部分,由指令、伪指令或宏指令构成。
(1)指令
指令是计算机可以执行的基本操作,汇编时可以转换为机器代码。操作助记符为指令的语句称为指令语句,每条指令语句在执行时都对应一条机器指令。例如MOV、ADD、SUB等皆为指令。
(2)伪指令
伪指令是在汇编语言源程序中使用的指令,用来定义段、定义数据、分配存储器、指示程序结束等。伪指令语句只在汇编语言源程序中使用,不会转换成机器代码,机器不能执行。例如,SEGMENT、DB、END等皆是伪指令。
(3)宏指令
宏指令是由用户自己定义的指令。
2. 名称域
名称包括标号和变量。名称在汇编语言源程序中定义和使用,名称应以字母开头,后跟若干字母、数字或特殊符号(“_”、“.”、“?”、“$”、“@”)组成,符号个数不超过31个。
(1)标号
标号在代码段中定义和使用,标号后面需要加“:”号,例如“START:”。标号用来表示代码段中某条语句的地址,因此也称为代码的符号地址。利用标号可以方便实现程序的转移和循环的控制。
标号有段属性、偏移属性和类型属性。段属性代表定义标号的段地址;偏移属性代表标号的偏移地址;类型属性代表标号的使用范围,NEAR类型属性的标号只能在段内使用,而FAR类型属性的标号可以在不同段之间使用。
(2)变量
变量在除代码段以外的其他段(DS,SS,ES)定义,后不跟“:”号。变量用来表示数据的地址,因此也称为数据的符号地址。变量定义格式为
变量名 变量属性伪指令 表达式
变量属性伪指令包括DB(定义变量属性为字节)、DW(定义变量属性为字)、DD(定义变量属性为双字)、DQ(定义变量属性为四字)、DT(定义变量属性为五字)。
表达式包括
① 一个或多个常量或表达式,中间以“,”号分隔。例如
DAT1 DB 20H,30H,40H;
② 用单引号括起来的字符或字符串。例如
DAT2 DB ’A’,’1234’;
用DB伪指令定义字符串时,字符串包含的字符个数不受限制,而用DW、DD、DQ和DT伪指令定义字符串时,字符个数不允许超过2个。
③ 一个“?”号,表示数据未定,常用于预留存储空间。例如
DAT3 DW ?;
④ 重复方式。重复方式的格式为
重复次数 DUP (表达式);
例如,用DAT4变量名预留256个字空间的定义语句为
DAT4 DW 256 DUP(?)。
变量定义的目的是确定变量的属性和安排数据的存储单元。变量的属性包括段属性SEG(定义变量的段地址)、偏移属性OFFSET(定义变量的偏移地址)、类型属性TYPE(表示一个变量数据所占的字节数)、长度属性LENGTH(表示定义变量的重复次数,在DUP重复方式下同一变量名的长度属性为重复次数,非重复方式定义的变量长度均为1)、大小属性SIZE(SIZE=TYPE×LENGTH)。
变量的类型属性包括字节类型BYTE(占1字节)、字类型WORD(占2字节)、双字类型DWORD(占4字节)、四字类型(占8字节)和 五字类型 (占10字节)。
例如:DAT1 DW 10 DUP(10H),TYPE DAT1的值为2。
3. 操作数域
操作数是参与操作的数据或数据所在的地址。操作数包括常数、变量和表达式。
(1)常数
常数有数值常数和用单引号括起来的字符常数。数值常数可用二进制数(后缀加B)、十进制数(后缀加D或不加后缀)、十六进制数(后缀加H)和八进制数(后缀加Q)。例如
MOV AL,’A’;
MOV AL,20H;
MOV AL;
都是用常数作为操作数的程序语句。
(2)变量
变量必须在定义后才能使用。由于变量是符号地址,因此变量代表的操作数表示数据所在的地址。例如,在程序语句“MOV AL,DAT1”中,是用变量DAT1来表示操作数的。
(3)表达式
表达式是用运算操作符将常量、变量连接起来的式子。
① 算术运算操作符。算术运算操作符有+(加)、-(减)、*(乘)、/(除)、MOD(求余)、SHL(左移)、SHR(右移)。
② 逻辑操作符。逻辑操作符有AND(与)、OR(或)、NOT(非
文档评论(0)