欢迎来到天天文库
浏览记录
ID:38796965
大小:283.02 KB
页数:68页
时间:2019-06-19
《《宏汇编语言》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章宏汇编语言5.1汇编源程序的语句类型一个完整的汇编程序至少应包含两类语句:一类是指令性语句;另一类是指示性语句。指令性语句的书写格式如下:标号:符号指令;注释变量名伪指令;注释返回本章首页LEAbx,bufabc:MOVal,0MOVdl,[bx]SUBal,dlCLCROLal,1JZrrrMOVNOT0,dlJMPqqqINCbxrrr:MOVminus,dlqqq:JMPabc指令语句的一般格式如下:[标号:]指令助记符操作数;注释1.标号:标号是机器指令语句存放地址的符号表示,代表该指令目标代码的第一个字节地址,后面必须
2、紧跟冒号“:”。2.指令助记符:指令助记符为语句的核心成分,表示了该语句的操作类型。3.操作数:操作数表示指令助记符的操作对象。4.注释:注释均以分号开始,它可占一行或多行,一般放在一条语句的后面。返回本节伪指令语句格式伪指令语句格式如下:[符号名]伪指令符操作数;注释1.符号名:符号名是伪指令语句的一个可选项。2.伪指令符:伪指令符指定汇编程序要完成的具体操作,如数据定义伪指令DB、DW、DD,段定义伪指令SEGMENT,假定伪指令ASSUME等。3.操作数:伪指令后面的操作数可以是常数、字符串、变量、表达式等,其个数由具体的伪指令
3、决定,各个操作数之间必须以“逗号”分隔。4.注释:伪指令的注释必须以“;”开始,其作用同指令语句中的注释部分。返回本节返回本章首页5.2宏汇编基本语法5.2.1标号、变量和常数1标号和变量2常量:立即数,字符串常数,符号常数5.2.2运算符1数值运算符(1)算术运算符(2)逻辑运算符(3)关系运算符2修改属性的运算符3返回属性或数值的运算符(1)SEG运算符(2)OFFSET运算符(3)TYPE运算符(4)$运算符4方括号运算符和地址表达式5.3数据定义伪指令1等值伪指令(EQU)2等号伪指令(=)3字节定义伪指令4字定义伪指令5双字
4、定义伪指令6多字节定义伪指令5.4宏汇编语言基本语法1方式选择伪指令2段定义伪指令3段约定语句4过程定义语句5定位语句6汇编结束语句字符串常量字符串常量是用单引号或双引号引起来的一个或多个字符。字符串常量是以各字符的ASCⅡ码表示的。如‘A’用41H表示,字符串‘A1B2’用41H,31H,42H,32H表示。返回本节变量1.变量2.变量的定义(1)段属性(2)偏移地址属性(3)类型属性1.变量表达式项是给变量或指定存储单元赋予初值,它有以下几种形式:(1)数值表达式(2)字符串表达式(3)地址表达式(只适用DW和DD两个伪指令)(4
5、)?表达式(5)带DUP的表达式2.变量的定义数据定义伪指令可以为一个或连续的存储单元设置数值初值。【例3.1】为数据段分配存储单元。DATASEGMENTADB11H,12H,13HBDW1122H,3344HCDD12345678HDATAENDS上述变量的存储单元分配及初始化情况如下图3.1所示。(1)数值表达式图3.1数据段中数据存储分配图字符串表达式中的字符串必须用引号引起来。DB、DW、DD伪指令将字符串中的各字符均以ASCⅡ码形式存放在相应的存储单元,但表示形式各不相同。【例3.2】为字符串分配存储单元。DATASEGM
6、ENTSTR1DB‘1234’STR2DW‘AB’,‘CD’,‘A’STR3DD‘AB’DATAENDS其存储单元分配如下图3.2所示。(2)字符串表达式图3.2数据段存储分配图(3)地址表达式(只适用DW和DD两个伪指令)如果该地址表达式为一变量(或标号)名,用DW伪指令则是取它的偏移地址来初始化变量,用DD伪指令则是取它的段首址和偏移地址来初始化变量。例如:BUF1DWABUF2DDB在表达式中使用重复数据操作符DUP,可以为连续的存储单元提供重复数据,其格式为:NDUP(表达式)其中N为重复因子,只能取正整数,表示定义了N个重复
7、数据存储单元,其类型由它前面的数据定义伪指令确定,而每个数据存储单元中的初值由DUP后面圆括号中的表达式给定。例如:BUFDB100DUP(0)以上语句定义了以BUF为首址,大小为100个字节,初值为0的数据存储单元。(5)带DUP的表达式返回本节标号标号是一条指令语句的符号地址。在汇编源程序中,只有在需要转向一条指令语句时,才为该指令语句设置标号,以便在转移类指令(含子程序调用指令)中直接引用这个标号。因此,标号可作为转移类指令的操作数,即转移地址。【例3.3】符号地址表示。┆NEXT:MOVAL,[SI];带标号NEXT的指令┆D
8、ECCXJNENEXT;标号NEXT作转移指令的操作数1.段属性2.偏移地址属性3.类型属性标号也具有三种属性返回本节4表达式1.操作数2.算术运算符3.逻辑运算符4.关系运算符5.属性运算符6.数值返回运算符算术运算符
此文档下载收益归作者所有