《通过本内容教学》ppt课件

上传人:tian****1990 文档编号:81034978 上传时间:2019-02-20 格式:PPT 页数:111 大小:434.50KB
返回 下载 相关 举报
《通过本内容教学》ppt课件_第1页
第1页 / 共111页
《通过本内容教学》ppt课件_第2页
第2页 / 共111页
《通过本内容教学》ppt课件_第3页
第3页 / 共111页
《通过本内容教学》ppt课件_第4页
第4页 / 共111页
《通过本内容教学》ppt课件_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《《通过本内容教学》ppt课件》由会员分享,可在线阅读,更多相关《《通过本内容教学》ppt课件(111页珍藏版)》请在金锄头文库上搜索。

1、通过本内容教学,让学生掌握和理解8086汇编语言源程序格式;常用的几个系统功能调用;汇编语言程序设计方式和汇编语言上机过程;了解模块化程序设计方法。,学习目的,5汇编语言程序设计,汇编语言和汇编程序: 用汇编语言编写的程序称为汇编语言源程序(简称汇编语言程序)。 计算机必须将汇编语言程序翻译成由机器代码组成的目标程序才能执行。这个翻译过程称为汇编。自动完成汇编过程的软件叫汇编程序。,5.1汇编语言和汇编程序,5汇编语言程序设计,5.1汇编语言和汇编程序,5汇编语言程序设计,汇编语言源程序(.ASM),汇编程序,目标文件程序(.OBJ),源程序列表(.LST),汇编程序的执行过程,汇编语言程序语

2、句格式: 名字 操作符 操作数 ;注释 其中各项之间必须用空格(space)符隔开,名字项与操作数项间一般使用“,”作分隔符,操作数项之间一般使用“,”作分隔符,操作数项与注释项间使用“;”作分隔符。带方括号的项可有可无。 例: START:MOV AX,3344H ; 立即数送往寄存器AX ADD AX,BX,5.2汇编语言程序语句格式,5汇编语言程序设计,名字项: 名字项可以是语句标号或变量。 标号是可执行指令语句的符号地址,在代码段中定义,用作转移指令或调用指令的操作数,表示转移地址; 变量通常是指存放数据的存储器单元的符号地址。,5.2汇编语言程序语句格式,名字项的使用需要注意以下问题

3、: 1组成名字的字符 2组成名字的规则 3指令语句和伪指令语句名字的区别 4标号和变量的属性。,5.2汇编语言程序语句格式,操作符项: 操作符项可以是指令、伪指令或宏指令的助记符。 1、指令就是CPU指令系统中的所有指令,汇编程序将其翻译为对应的机器码。 2、伪指令没有对应的机器码,只是在汇编过程中完成相应的控制操作。 3、宏指令则是对若干条指令进行定义的代号,此代号称为宏名,汇编程序将宏名所定义的指令翻译为对应的机器码。,5.2汇编语言程序语句格式,操作数项: 操作数项由一个或多个表达式组成,操作数项之间用分隔符“,”分开。在指令中,操作数项一般为寄存器名、操作数地址或立即数;在伪指令或宏指

4、令中,操作数项给出所要求的参数。,5.2汇编语言程序语句格式,操作数项组成: 1、常数 2、寄存器 3、标号 4、变量 5、表达式,5.2汇编语言程序语句格式,常数: 常数是没有属性的纯数,其数值在汇编过程中被确定,并在程序运行时保持不变。 常数可以有以下几种类型: (1)二进制数 (2)八进制数 (3)十进制数 (4)十六进制数 (5)实数 (6)字符串常数 总之,常数主要以立即数、位移量的形式出现在指令语句或数据定义伪指令中。,5.2汇编语言程序语句格式,常数: 例: SUB DH,22H ;常数22H为立即数 MOV BX,SI十32H ;常数32H作位移量 DB 12H ;定义一个字节

5、数据 DW 1234H ;定义一个字数据 DD 12345678H ;定义一个双字数据 DB 9BD ;定义三个字节的字符串数据,在内存中就是39H、42H、44H,5.2汇编语言程序语句格式,表达式及运算符: 表达式由常数、寄存器、标号、变量与一些运算符组合而成,分为数字表达式和地址表达式。汇编过程中,汇编程序按照一定的优先规则,对表达式进行计算后得到一个数值或地址,用作指令的操作数。,5.2汇编语言程序语句格式,算术运算符: 算术运算符有+(加法)、一(减法)、X(乘法)、(除法)和MOD(求余)等。 算术运算符可以用于数字表达式或地址表达式,当它用于地址表达式时,只能对同一段的地址进行加

6、减操作,否则不会得到有效地址。 例: MOV BL,DATA+2 ;将DATA+2字节单元的内容送往BL MOV DX,BUF+(5-1)2 ;把首址为BUF字型数组中的第5个字传送到DX寄存器。,5.2汇编语言程序语句格式,逻辑运算符: 逻辑运算符包括AND(与)、OR(或)、X()R(异或)和NOT(非)。它能够对二进制数, 进行按位的操作。 例: MOV AX,00FFH AND 0FF00H 汇编为:MOV AX,0000H AND BX,5500H AND 0F00H 汇编为:AND BX,0500H 逻辑运算符的功能与逻辑指令不同,前者在汇编时产生指令操作数的数值,而后者在执行程序

7、时完成逻辑操作。,5.2汇编语言程序语句格式,关系运算符: 关系运算符包括EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于或等于)和GE(大于或等于)共6种。 关系运算符必须对两个性质相同的操作数进行关系运算,比如都是数字或是同一段内的两个存储器地址。运算结果关系成立时逻辑值为真,用0FFFFH表示;关系不成立逻辑值为假,用0表示。 例: MOV CX,5 NE 3 汇编为:MOV CX,0FFFFH 此指令表5不等于3关系成立。,5.2汇编语言程序语句格式,分析运算符: 此运算符有TYPE、LENGTH、SIZE、OFFSET、SEG共5种。他们把标号或变量所指存储器地址的

8、属性(段、偏移量和类型)或一些特征分离出来,作为操作数使用。,5.2汇编语言程序语句格式,SEG运算符: SEG求出变量或标号的段地址值 格式为: SEG 变量或标号名 例 已知数据段从存储器的23000H地址开始,DBUF是该段中的一个变量名。 MOV BX,SEG DBUF 汇编为:MOV BX,2300H。,5.2汇编语言程序语句格式,OFFSET运算符: OFFSET求出变量或标号的段内偏移地址值,格式为: OFFSET 变量或标号名 例 已知标号START的段地址为2100H,物理地址为21200H。 MOV DX,OFFSET START 汇编为:MOVDX,0200H这条指令与指

9、令LEADX,START功能相同。,5.2汇编语言程序语句格式,TYPE运算符: TYPE求出存储器操作数的类型,格式为: TYPE 变量或标号 对于变量,汇编程序将求出该变量的类型:DB为1,DW为2,DD为4,DQ为8,DT为10。 对于标号,汇编程序则将求出代表该标号类型的数值:NEAR为-1,FAR为-2。 例 已定义ARRAY DB 22,33 指令 ADDSI,TYPEARRAY 汇编为:ADD SI,1,5.2汇编语言程序语句格式,LENGTH运算符: LENGTH 求出数组包含变量的个数,格式为: LENGTH 变量 此运算符只适用于DUP定义变量的情况,汇编程序求出分配给该变

10、量的单元数。 其他情况则为1。 例: 已定义DA50 DW 50 DUP(1) 指令 MOVCX,LENGTH DA50 汇编为: MOVCX,50 已定义ADR DW 10,2AH 指令 M()V CX,LENGTH ADR 汇编为: MOVCX,1,5.2汇编语言程序语句格式,SIZE运算符: SIZE求出数组包含变量的总字节数,格式为: SIZE 变量 此运算符只适用于DUP定义变量的情况,汇编程序求出分配给该变量的字节数。 对于DUP括号内为单个数据项时,此值是I。ENGTH值和TYPE值的乘积。 例: MOV CX,S1ZE DA50 汇编为: MOV CX,100 MOV CX,S

11、IZE ADR 汇编为: MOVCX,2,5.2汇编语言程序语句格式,综合运算符: 此运算符的作用是为存储器地址操作数建立一个新的属性。,5.2汇编语言程序语句格式,PTR运算符: PTR 定义新的类型属性,格式为: 类型 PTR 地址表达式 格式中的类型可以是BYTE、WORD、DWORD、NEAR、FAR等,地址表达式可以是符号、作为地址指针的寄存器、变量和数值的组合。 如果地址表达式指定了一个存储器单元,它的类型已被定义,再运行PTR运算符,将把一种新的类型赋予此地址表达式,使其对应的地址又具有另一种类型属性。,5.2汇编语言程序语句格式,PTR运算符: 例题: 已定义数据如下: DAl

12、 DW 1234H ; DAl 的类型是WORD(TYPE DAl=2) 为 DAl单元开始的两个字节赋予新类型的定义如下: DA2 EQU BYTE PTR DAl ;DA2的类型是BYTE(TYPEDA2=1) DA3 EQU BYTE PTR DAl+1;DA3的类型是BYTE(TYPE DA3=1) 此时 DAl和DA2具有相同的段地址及偏移地址,但是他们的类型属性不同。前者为字型,后者为字节型。 注意: PTR只是用来建立一个符号地址,它本身并不分配存储器。 PTR运算符可以用来确定指令操作数的类型是字节型还是字型,以保证指令的正确使用。,5.2汇编语言程序语句格式,段属性前缀运算符

13、: 段属性前缀运算符“:”,格式为: 段寄存器名:地址表达式 或 段名:地址表达式 或 组名:地址表达式 此运算符用来表示一个标号、变量或地址表达式的段属性。 例: 用段前缀指定附加段内操作数的地址 MOV AL,ES:DATA ; 指令源操作数在附加段DATA地址单元中,5.2汇编语言程序语句格式,SHORT运算符: SHORT : 此运算符决定JMP指令中转移地址的属性指定转移地址是在下一条指令地址的-128+127字节范围之内。 例题: LT0: ; : LT1: JMP SHORT LT3(LT0) LT2: ADD AH,BH ; LT3: : 转移指令以标号LT2为基准,当转向地址

14、是LT3时,LT3与LT2之间的最大距离是+127;当转向地址是LT0时,LT0与LT2之间的最大距离是+128。,5.2汇编语言程序语句格式,注释项运算符: 注释项以分隔符“;”开始,可以是行注释或语句注释。行注释一般用来说明一段程序的功能,语句注释用来说明一条或几条指令的功能。适当地书写注释项,可以增加程序的可读性。,5.2汇编语言程序语句格式,伪指令: 汇编语言程序语句除可执行指令以外,还可以由伪指令和宏指令等组成。伪指令是控制汇编过程的命令,又称为汇编控制命令。它具有数据定义、存储区分配、指示程序的开始与结束等功能,但是没有对应的机器码。将汇编语言源程序翻译为目标程序后,其作用消失。,

15、5.3伪指令,5汇编语言程序设计,数据定义及存储器分配: 此类伪指令的作用是将程序需要的数据存人指定的存储器单元,或者只分配存储器空间待程序中使用并不存入确定的数值。 指令格式:变量名 助记符 ;注释 变量名 DB ;从变量名所代表的地址单元开始定义字节变量。 变量名 DW ;从变量名所代表的地址单元开始定义字变量。 变量名 DD ;从变量名所代表的地址单元开始定义双字变量。 变量名 DQ ;从变量名所代表的地址单元开始定义四字变量。 变量名 DT ;从变量名所代表的地址单元开始定义十字节变量。 变量名后不跟“:”,其值为所定义第一个数据的偏移地址。助记符可以是DB、DW、DD、DQ或DT。表

16、达式可以是常数、表达式或字符串。多个表达式之间用“,”分隔。,5.3伪指令,5汇编语言程序设计,例题: DBYTE DB 20, A,2 10;从DBYTE地址单元开始存放三个字节数据: 14H,41H和14H DWORD DW 256,-2 ;从DWORD地址单元开始存放两个字型数据0100H和FFFEH,低字节数存在低字节地址单元、高字节数存在高字节地址单元 DBUF DB ?、?、? ;从DBUF地址单元开始保留三个字节的存储空间,5.3伪指令,5汇编语言程序设计,重复操作符DUP : 注意:可以使用重复操作符DUP定义数据,DUP操作可以嵌套。 指令格式: 变量名 DBDWDDDQDT DUP 为重复次数,为重复的内容,重复内容可以是问号?、数据表格或表达式。?表示该单元不初始化,由汇编程序预置任意数值。 例: D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号