欢迎来到天天文库
浏览记录
ID:40959922
大小:277.46 KB
页数:44页
时间:2019-08-11
《MASM汇编语言知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章ASM汇编语言知识(3学时)4.1ASM汇编语言格式4.2汇编语句表达式4.3伪指令开始4.1ASM汇编语言格式4.1.1指令语句格式4.1.2伪指令语句格式返回本章首页4.1.1指令语句格式指令语句的一般格式如下:[标号:]指令助记符操作数;注释标号:标号是机器指令语句存放地址的符号表示,代表该指令目标代码的第一个字节地址,后面必须紧跟冒号“:”。指令助记符:指令助记符为语句的核心成分,表示了该语句的操作类型。操作数:操作数表示指令助记符的操作对象。注释:注释均以分号开始,它可占一行或多行,一般放在一条语句的后面。返
2、回本节4.1.2伪指令语句格式伪指令语句格式如下:[符号名]伪指令符操作数;注释符号名:符号名是伪指令语句的一个可选项。伪指令符:伪指令符指定汇编程序要完成的具体操作,如数据定义伪指令DB、DW、DD,段定义伪指令SEGMENT,假定伪指令ASSUME等。操作数:伪指令后面的操作数可以是常数、字符串、变量、表达式等,其个数由具体的伪指令决定,各个操作数之间必须以“逗号”分隔。注释:伪指令的注释必须以“;”开始,其作用同指令语句中的注释部分。返回本节4.2汇编语句表达式4.2.1常量4.2.2变量4.2.3标号4.2.4表达式
3、中的运算符4.2.5运算符的优先级返回本章首页4.2.1常量1.数值常量2.字符串常量1.数值常量表4.1各种形式数字常量格式对照表2.字符串常量字符串常量是用单引号引起来的一个或多个字符。字符串常量是以各字符的ASCⅡ码表示的。如‘A’用41H表示,字符串‘A1B2’用41H,31H,42H,32H表示。返回本节4.2.2变量1.变量2.变量的定义(1)段属性(2)偏移地址属性(3)类型属性(DB/DW/DD)1.变量表达式项是给变量或指定存储单元赋予初值,它有以下几种形式:(1)数值表达式(2)字符串表达式(3)?表达式
4、(4)带DUP的表达式2.变量的定义数据定义伪指令可以为一个或连续的存储单元设置数值初值。【例4.1】为数据段分配存储单元。DATASEGMENTADB11H,12H,13HBDW1122H,3344HCDD12345678HDATAENDS上述变量(A、B、C)的存储单元分配及初始化情况如下图4-1所示。(1)数值表达式图4-1数据段中数据存储分配图1112132211443378563412ABCDATA字符串表达式中的字符串必须用引号引起来。DB、DW、DD伪指令将字符串中的各字符均以ASCⅡ码形式存放在相应的存储单元
5、,但表示形式各不相同。【例4.2】为字符串分配存储单元。DATASEGMENTSTR1DB‘123’STR2DW‘AB’,‘A’STR3DD‘AB’DATAENDS其存储单元分配如下图4-2所示。(2)字符串表达式图4-2数据段中存储分配图3132334142004100004142STR1STR2STR3DATA(3)?表达式:?表达式只分配存储单元,不赋值。例如:CNTDB?BUFDW?在表达式中使用重复数据操作符DUP,可以为连续的存储单元提供重复数据,其格式为:NDUP(表达式)其中N为重复因子,只能取正整数,表示定
6、义了N个重复数据存储单元,其类型由它前面的数据定义伪指令确定,而每个数据存储单元中的初值由DUP后面圆括号中的表达式给定。例如:BUFDB100DUP(0)以上语句定义了以BUF为首址,大小为100个字节,初值为0的数据存储单元。(4)带DUP的表达式返回本节4.2.3标号标号是一条指令语句的符号地址。在汇编源程序中,只有在需要转向一条指令语句时,才为该指令语句设置标号,以便在转移类指令(含子程序调用指令)中直接引用这个标号。因此,标号可作为转移类指令的操作数,即转移地址。【例4.3】符号地址表示。NEXT:MOVAL,[S
7、I];带标号NEXT的指令┆DECCXJNENEXT1.段属性2.偏移地址属性3.类型属性(NEAR/FAR)标号也具有三种属性返回本节4.2.4表达式中的运算符1.算术运算符2.逻辑运算符3.关系运算符4.属性运算符5.数值返回运算符算术运算符包括:+(加)、-(减)、*(乘)、/(除)、MOD(求模)、SHL(左移)、SHR(右移)几种,它既可以用于数值表达式又可用于地址表达式。1.算术运算符┆NUM1EQU25*4–50;NUM1=50NUM2EQUNUM1/7;NUM2=7NUM3DBNUM1MOD7;NUM3=1V
8、AR1DB1,2,3,4,5VAR2DB‘12345’NUM4EQUVAR2-VAR1;NUM4=5NUM5EQU0FH┆MOVAL,NUM5SHL4;(AL)=11110000BMOVBL,NUM5SHR4;(BL)=00000000B【例4.4】用算术运算符进行数值表达式运算。逻辑运算
此文档下载收益归作者所有