高级汇编语言的语法.ppt

高级汇编语言的语法.ppt

ID:52532718

大小:382.55 KB

页数:45页

时间:2020-04-09

高级汇编语言的语法.ppt_第1页
高级汇编语言的语法.ppt_第2页
高级汇编语言的语法.ppt_第3页
高级汇编语言的语法.ppt_第4页
高级汇编语言的语法.ppt_第5页
资源描述:

《高级汇编语言的语法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.1汇编语句表达式4.2汇编伪指令语句第四章高级汇编语言的语法4.1汇编语句的表达式4.1.1汇编语言语句格式4.1.2数值表达式4.1.3标号变量与地址表达式4.1.4特殊运算符4.1.1汇编语言语句格式1.指令语句的一般格式如下:[标号:][指令前缀]助记符[操作数][;注释]标号:标号是机器指令语句存放地址的符号表示,代表该指令目标代码的第一个字节地址,后面必须紧跟冒号“:”。指令助记符:指令助记符为语句的核心成分,表示了该语句的操作类型。操作数:操作数表示指令助记符的操作对象。注释:注释均以分号开始,它可占一行或多行,一般放在一条语句的后面。4.1.2数值表

2、达式1常量2算术运算符3逻辑运算符4关系运算符各种形式数字常量格式对照表4.1.2数值表达式1.常量(1)整常量(2)字符串常量字符串常量是用单引号或双引号引起来的一个或多个字符。字符串常量是以各字符的ASCⅡ码表示的。如‘A’用41H表示,字符串‘A1B2’用41H,31H,42H,32H表示。1.常量4.1.2数值表达式(3)符号常量用等价语句EQU或者“=”语句定义的名字来表示常量,可以直接写在汇编与句中能提高程序的可读性,使用修改也很方便。COUNT=60*60;COUNT=3600MOVECX,COUNT1.常量4.1.2数值表达式算术运算符包括:+(加)、

3、-(减)、*(乘)、/(除)、MOD(求模)、SHL(左移)、SHR(右移)几种,它既可以用于数值表达式又可用于地址表达式。2.算术运算符4.1.2数值表达式【例】用算术运算符进行数值表达式运算。┆NUM1EQU25*4–50;NUM1=50NUM2EQUNUM1/7;NUM2=7NUM4DBNUM1MOD7;NUM4=1VAR1DB1,2,4,4,5VAR2DB‘12445’NUM4EQUVAR2-VAR1;NUM4=5NUM5EQU0FH┆MOVAL,NUM5SHL4;(AL)=11110000BMOVBL,NUM5SHR4;(BL)=00000000B4.1.2

4、数值表达式2.算术运算符逻辑运算符包括:逻辑乘(AND)、逻辑加(OR)、按位加(XOR)、逻辑非(NOT)四种运算。由于逻辑运算是按位操作,且在汇编过程中完成,因而运算的结果仍为整数常量。【例】用逻辑运算符进行运算。MOVAL,44HAND0FH;04H→ALMOVBL,05HOR40H;45H→BLMOVCX,NOT00FFH;0FF00H→CXMOVDX,789AHXOR000FH;7895H→DX3.逻辑运算符4.1.2数值表达式关系运算符包括:相等(EQ),不等(NE),小于(LT),大于(GT),小于等于(LE)及大于等于(GE)。【例】用关系运算符进行数

5、值表达式运算。NUM1DB10LT5;NUM1=0NUM2DB0AAAAHGT7FFFH;NUM2=0FFFFHMOVAX,‘A‘EQ41H;0FFFFH→AXMOVBX,NUM2LTNUM1;0→BX4.关系运算符4.1.2数值表达式4.1.3标号与地址表达式标号是一条指令语句的符号地址。在汇编源程序中,只有在需要转向一条指令语句时,才为该指令语句设置标号,以便在转移类指令(含子程序调用指令)中直接引用这个标号。因此,标号可作为转移类指令的操作数,即转移地址。NEAR(近程)类型标号表示段内标号。需要用2字节(16位方式)或者4字节(32位方式)给出标号所在的段内E

6、A。FAR(远程)类型标号表示段间标号。需要用2字节(16位方式)或者4字节(32位方式)给出标号所在的段地址以及EA1.标号4.1.3标号与地址表达式2.变量变量是内存中一个数据区的的名字,作为指令的存储器操作数来使用。具有三种属性:段地址,EA和类型。EA是汇编时汇编地址计数器LC的值。变量的类型有:DB,DW,DD,DQ和DT来定义。例如:COUNTDB5;定义变量COUNT类型是字。VARDB‘A’,’B’;定义字符AB的ASCII码MOVAL,VAR;语句正确,AL和VAR类型相符MOVEAX,VAR;VAR和EAX类型不符汇编语句的地址表达式形成的结果是存

7、储器的地址,用来表示指令中的标号或者变量操作数,有三个属性:段地址,EA和类型。变量仅对应于数据区的第一个数据项,如果对其他数据项操作,必须要用地址表达式指出那一个数据项是指令的操作数。例如:ARRAYDD2,0,0,2,6,1,8,9,40,4;定义10个双字类型的数据MOVEAX,ARRAY+36;取第10个元素MOVESI,36;第10个元素的地址偏移量送;ESISUBESI,4;ESI–4->ESIADDEAX,ARRAY[ESI];EA=ARRAY+ESI,EAX与;第9个元素相加3.地址表达式4.1.3标号与地址表达式(1)强制类型转换P

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。