第四章汇编语言程序设计ppt课件.ppt

第四章汇编语言程序设计ppt课件.ppt

ID:58670396

大小:128.00 KB

页数:69页

时间:2020-10-05

第四章汇编语言程序设计ppt课件.ppt_第1页
第四章汇编语言程序设计ppt课件.ppt_第2页
第四章汇编语言程序设计ppt课件.ppt_第3页
第四章汇编语言程序设计ppt课件.ppt_第4页
第四章汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《第四章汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章汇编语言程序设计第一节汇编语言源程序汇编语言是用指令的助记符、符号地址、标号和伪指令等来书写程序一、汇编语言源程序的结构一个完整的汇编语言源程序通常由若干个逻辑段(SEGMENT)组成,包括代码段、数据段、附加段和堆栈段,它们分别映射到存储器中的物理段上[例4-1]两个字(A6B8H,206DH)相加的完整的汇编语言程序DATASEGMENT;定义数据段DATA1DW0A6B8H;定义被加数DATA2DW206DH;定义加数SUMDW2DUP(?);定义和DATAENDS;数据段结束CODESEGMENT;定义代码段ASSEMECS:CODE,DS:DATA;段寄存器说明STAR

2、T:MOVAX,DATAMOVDS,AX;初始化DSLEASI,SUM;存放结果的偏移地址送SIMOVAX,DATA1;取被加数ADDAX,DATA2;两数相加MOV[SI],AX;和送入SUMMOVAH,4CHINT21H;返回DOSCODEENDS;代码段结束ENDSTART;源程序结束二、汇编语言语句类型及格式指令性语句的格式:[标号:][前缀]操作码[操作数[,操作数]][;注释]例如指令性语句:START:MOVAX,DATA;将立即数DATA送累加器AX指示性语句的格式:[名字]伪操作[操作数[,操作数,…][;注释]例如指示性语句:DATA1DB56H,78H,9AH;定

3、义字节型数据,“DB”是伪操作指令性语句与指示性语句在格式上的区别:⑴指令性语句中的“标号”表示指令的符号地址,其后面通常要加上“:”。指示性语句中的“名字”通常表示变量名、段名和过程名等,其后不加“:”。名字在多数情况下表示的是变量名,用来表示存储器中一个数据区的地址。⑵指令性语句中的操作数最多为两个操作数,也可以没有操作数。而指示性语句中的操作数可根据需要有多个,当操作数有不止一个时,相互之间用逗号隔开。汇编语言语句中的操作数三、数据项及表达式操作数可以是寄存器、存储器单元或数据项。而数据项又可以是常量、标号、变量和表达式1.常量•二进制常量•十进制常量•十六进制常量•字符串常量2

4、.标号指令的标号是由编程者确定的,它不能与指令助记符或伪指令重名,也不允许由数字开头,标号的字符个数不超过31个。指令性语句中的标号代表存放一条指令的存储单元的符号地址,其后通常加一个冒号。标号具有3种属性:段、偏移量和类型。•标号的段属性是就是标号所在段的段地址。•标号的偏移量就是标号所在段的起始地址到定义该标号的地址之间的字节数(即偏移地址)。偏移量是一个16位无符号数。•标号的类型有NEAR和FAR两种。前一种标号称为近标号,只能在段内被引用,地址指针为2个字节。后一种标号称为远标号,可以在其他段被引用,地址指针为4个字节。3.变量变量名由字母开头,长度不超过31个字符。变量是存

5、储器中某个数据区的名字,因为数据区中的内容是可以改变的,因此变量的值也可以改变。变量在指令中可以作为存储器操作数引用。变量也具有3种属性,即:段、偏移量和类型。•变量的段属性就是它所在段的段地址。因为变量一般在存储器的数据段或附加段中,所以变量的段值在DS或ES寄存器中。•变量的偏移量属性是该变量所在段的起始地址到变量地址之间的字节数。•变量的类型有BYTE(字节)、WORD(字)、DWORD(双字)、QWORD(四字)、TBYTE(十个字节)等,表示数据区中存取操作对象的大小。使用变量时需注意以下两点:⑴变量的类型与指令的要求要相符。例如指令MOVAX,VAR中,要求VAR必须定义为

6、字类型变量。⑵在定义变量时,变量名对应的是数据区的首地址。如果数据区中有多个数据,则对其他数据操作时,需修改地址。例如:BUFFERDB56H,78H,9AH…MOVAL,BUFFER+2;将9AH送(AL)4.表达式表达式是由常数、操作数、操作符和运算符组合而成表达式中常用的运算符有以下几种:⑴算术运算符算术运算符有+(加)、-(减)、*(乘)、/(除)、MOD(取余)等⑵逻辑运算符逻辑运算符包括AND(与)、OR(或)、NOT(非)、XOR(异或)例如:指令MOVAL,0A6HXOR0CEH等价于MOVAL,68H⑶关系运算符关系运算符包括EQ(等于)、NE(不等于)、LT(小于)

7、、GT(大于)、LE(小于等于)、GE(大于等于)。关系运算符连接的必须是两个数值,或同一段中的两个存储单元地址。关系运算符的运算结果是一个逻辑值,当关系不成立(为假)时,结果为0;当关系成立(为真)时,结果为0FFFFH⑷取值运算符取值运算符用来分析一个存储器操作数的属性•OFFSET利用运算符OFFSET可以得到一个标号或变量的偏移地址。例如:MOVSI,OFFSETDATA1;将变量DATA1的偏移地址送SI该指令等同于以下指令:LEAS

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

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

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