汇编语言与编程实例(电子教案)

汇编语言与编程实例(电子教案)

ID:1036935

大小:115.50 KB

页数:24页

时间:2017-11-07

汇编语言与编程实例(电子教案)_第1页
汇编语言与编程实例(电子教案)_第2页
汇编语言与编程实例(电子教案)_第3页
汇编语言与编程实例(电子教案)_第4页
汇编语言与编程实例(电子教案)_第5页
资源描述:

《汇编语言与编程实例(电子教案)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、汇编语言程序设计2005第四章汇编语言程序设计回顾:8086的内部结构、寄存器功能和工作过程,指令格式、寻址方式和功能。本讲重点:了解汇编的概念及其方法,掌握汇编程序的基本格式,常用运算符的使用方法,汇编的步骤。4.1汇编语言的基本元素一、汇编语言的语句格式由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是:[标号]指令助记符[操作数][;注解]其中用方括号括起来的部分,可以有也可以没有。每部分之间用空格(至少一个)分开,一行最多可有132个字符。1.标识符给指令或某一存储单元地址所起的名字。可由下列字符组成:字母:A~z;数

2、字:0~9;特殊字符:?、·、@、一、$。数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符最长为31个字符。当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。2.指令助记符表示不同操作的指令,可以是8086的指令助记符,也可以是伪指令。3.操作数指令执行的对象。依指令的要求,可能有一个、两个或者没有,例如:RET;无操作数COUNT:INCCX;一个操作数如果是伪指令,则可能有多个操作数,例如:COSTDB3,4,5,6,7;5个操作数MOVAX,[BP+4];第二个操作数为表达式4.注解该项可

3、有可无,是为源程序所加的注解,用于提高程序的可读性。二、汇编语言的运算符1.算术运算符、逻辑运算符和关系运算符-24-汇编语言程序设计2005算术运算符可以应用于数字操作数,结果也是数字。而应用于存储器操作数时,只有+、-运算符有意义。2.取值运算符SEG、OFFSET、TYPE、SIZE和LENGTH·SEG和OFFSET分别给出一个变量或标号的段地址和偏移量。例如,定义:SLOTDW25则:MOVAX,SLOT;从SLOT地址中取一个字送入AXMOVAX,SEGSLOT;将SLOT所在段的段地址送入AXMOVAX,OFFSETSLOT;将SLOT所在段的段内偏移地址送A

4、X·TYPE操作符返回一个表示存储器操作数类型的数值。各种存储器地址操作数类型部分的值如表4-1所示。表4-1存储器操作数的类型属性及返回值字节1字2双字4NEAR-1FAR-2·LENGTH和SIZE操作符只应用于数据存储器操作数。(用DB/DW/DD等定义的操作数)LENGTH返回一个与存储器地址操作数相联系的单元数,SIZE操作数返回一个为存储器操作数分配的字节数。例如:若MULT-WORDDW50DUP(0)则LENGTH(MULT-WORD)=50SIZE(MULT-WORD)=100注意:SIZE(X)=(LENGTHX)*(TYPEX)3.属性运算符属性运算符

5、用来给指令中的操作数指定一个临时属性,而暂时忽略当前的属性。常用的有:(1)合成运算符PTR它作用于操作数时,则忽略了操作数当前的类型(字节或字)及属性(NEAR或FAR),而给出一个临时的类型或属性,一般格式:类型PTR表达式功能:建立一个存储器地址操作数,它与其后的存储器地址操作数有相同的段地址偏移量,但有不同的类型。例如:SLOTDW25-24-汇编语言程序设计2005此时SLOT已定义成字单元。若我们想取出它的第一个字节内容,则可用PTR对其作用,使它暂时改变为字节单元,即MOVAL,BYTEPTRSLOT三、表达式由运算符和操作数组成的序列,在汇编时产生一个确定的

6、值。这个值可以仅表示一个常量,也可以表示一个存储单元的偏移地址,相应的表达式称为常量表达式和地址表达式。1.常数汇编语言语句中出现的常数可以有7种:①二进制数后跟字母B,如01000001B。②八进制数后跟字母Q或O,如202Q或202O。③十进制数后跟D或不跟字母,如85D或85。④十六进制数后跟H,如56H,0FFH。注意,当数字的第一个字符是A~F时,在字符前应添加一个数字0,以示和变量的区别。另有,十进制浮点数、十六进制实数、字符和字符串2.常量操作数常量操作数是一个数值操作数,一般是常量或者是表示常量的标识符。可以为数字常量操作数或字符串常量操作数。前者可采用二进

7、制、八进制、十进制或十六进制等计数形式;而后者则为相应字符的ASCII码。3.存储器操作数存储器操作数是一个地址操作数,代表一个存储单元的地址,通常以标识符的形式出现。存储器操作数可以分为变量及标号两种类型,如果存储器操作数所代表的是某个数据在数据段、附加段或堆栈段中的地址,那么这个存储器操作数就称为变量;如果存储器操作数所代表的是某条指令代码在代码段中的地址,那么这个存储器操作数称为标号。变量所对应的存储单元内容在程序的运行过程中是可以改变的,标号通常作为转移指令或调用指令的目标操作数,在程序运行过程中不能改变。

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

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

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