微机原理与接口技术楼顺天-第3章1共61页文档课件.ppt

上传人(卖家):三亚风情 文档编号:2931189 上传时间:2022-06-12 格式:PPT 页数:61 大小:351KB
下载 相关 举报
微机原理与接口技术楼顺天-第3章1共61页文档课件.ppt_第1页
第1页 / 共61页
微机原理与接口技术楼顺天-第3章1共61页文档课件.ppt_第2页
第2页 / 共61页
微机原理与接口技术楼顺天-第3章1共61页文档课件.ppt_第3页
第3页 / 共61页
微机原理与接口技术楼顺天-第3章1共61页文档课件.ppt_第4页
第4页 / 共61页
微机原理与接口技术楼顺天-第3章1共61页文档课件.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、1第第3 3章章 8086CPU8086CPU指令系统指令系统内内 容容 简简 介介 全面掌握全面掌握8086/80888086/8088指令系统的使用,包括指令指令系统的使用,包括指令的功能、寻址方式及其书写格式、对标志位的影响、的功能、寻址方式及其书写格式、对标志位的影响、使用注意事项。使用注意事项。掌握掌握汇编语言程序设计所必须的伪汇编语言程序设计所必须的伪指令,并由此构成汇编语言程序的完整结构。指令,并由此构成汇编语言程序的完整结构。掌握掌握变量、常量及伪指令的使用和一些常用的基本程序变量、常量及伪指令的使用和一些常用的基本程序设计方法。在分支程序设计中,要特别注意每个分设计方法。在分

2、支程序设计中,要特别注意每个分支的完整性和分支条件的合理使用;在循环程序设支的完整性和分支条件的合理使用;在循环程序设计中,计中,掌握掌握循环程序的基本结构,特别要注意应避循环程序的基本结构,特别要注意应避免出现死循环;在子程序设计中,着重掌握参数的免出现死循环;在子程序设计中,着重掌握参数的2内内 容容 简简 介介各种传递方式及其实现,对堆栈这种特殊的存储区各种传递方式及其实现,对堆栈这种特殊的存储区域进行了详细的描述,切实域进行了详细的描述,切实掌握堆栈的使用掌握堆栈的使用。宏指。宏指令和字符串操作是汇编语言程序设计中的两个难点,令和字符串操作是汇编语言程序设计中的两个难点,教材中对此也作

3、了详细的介绍,要求教材中对此也作了详细的介绍,要求掌握正确使用掌握正确使用宏指令和字符串操作指令。宏指令和字符串操作指令。 教材中简要介绍了教材中简要介绍了DOSDOS功能调用的方法和常用功能调用的方法和常用的一些的一些DOSDOS功能,要求能熟练使用功能,要求能熟练使用INT 21H INT 21H 的的0101、0202、0909、0AH0AH和和4CH4CH号等功能。号等功能。第三章第三章 8086CPU8086CPU指令系统指令系统3本教案内容本教案内容第第3章章 8086CPU指令系统指令系统n汇编语言指令汇编语言指令n8086指令分类指令分类n数据与转移地址的数据与转移地址的寻址方

4、式寻址方式n数据传送类指令数据传送类指令n算术运算类指令算术运算类指令n逻辑运算类指令逻辑运算类指令n移位类指令移位类指令n标志位操作指令标志位操作指令n转移指令转移指令n循环控制指令循环控制指令n子程序调用返回子程序调用返回指令指令n中断调用返回指中断调用返回指令令n字符串操作指令字符串操作指令nI/O输入输出指令输入输出指令n其它指令其它指令n宏指令宏指令43.1 3.1 汇编语言指令汇编语言指令一一. .汇编语言与机器语言的相关概念汇编语言与机器语言的相关概念 汇编语言与机器语言属于低级语言,汇编语言与机器语言属于低级语言,它们与高级语言有较大的区别,它们与高级语言有较大的区别,汇编语汇

5、编语言中的语句与机器的型号密切相关言中的语句与机器的型号密切相关。如。如Intel 8086Intel 8086系列系列CPUCPU、Intel8031Intel8031系列单系列单片片CPUCPU等,若等,若CPUCPU型号不同,其指令系统型号不同,其指令系统就不同,当然语句的书写格式也就不同。就不同,当然语句的书写格式也就不同。5 在高级语言中,完成某个加法功能,我们可采在高级语言中,完成某个加法功能,我们可采用语句用语句 X=A+B X=A+B ,只要给变量,只要给变量A A和和B B赋一确定值,此赋一确定值,此加法就可以实现了。在汇编语言中则不同,程序必加法就可以实现了。在汇编语言中则

6、不同,程序必须指出须指出A A、B B存放在何处,相加后的结果又存放在何存放在何处,相加后的结果又存放在何处,然后才能实现这一加法运算。显然,汇编语言处,然后才能实现这一加法运算。显然,汇编语言在通过程序告诉计算机做什么和如何做时,显得更在通过程序告诉计算机做什么和如何做时,显得更加具体。正是这种具体,使得该语言与计算机(处加具体。正是这种具体,使得该语言与计算机(处理器)紧密相关,从而也要求学习和使用汇编语言理器)紧密相关,从而也要求学习和使用汇编语言的人对处理器的结构有更加深入的了解。的人对处理器的结构有更加深入的了解。3.1 3.1 汇编语言指令汇编语言指令61.1.机器语言机器语言 机

7、器(机器(CPUCPU)能直接认识的一种)能直接认识的一种二进制代码语言。二进制代码语言。CPUCPU能认识的一组二能认识的一组二进制代码就是一条指令。进制代码就是一条指令。3.1 3.1 汇编语言指令汇编语言指令7如:如:B0HB0H12H12H05H05H02H02H00H00H; ;这这一组二进制代码一组二进制代码,就是告诉,就是告诉CPUCPU将将AL 12HAL 12H。就是一条指令代码,或者机器语言代码。就是一条指令代码,或者机器语言代码。; ;这这一组二进制代码一组二进制代码,告诉,告诉CPUCPU将(将(ALAL)+2 AX+2 AX。3.1 3.1 汇编语言指令汇编语言指令8

8、2.2.机器语言程序机器语言程序 采用机器语言编写的程序,即二进制代采用机器语言编写的程序,即二进制代码程序。码程序。优点:优点:程序送入计算机后,程序送入计算机后,CPUCPU可以直接执行。可以直接执行。缺点:缺点:不易书写,不易检查,编写程序十分困难。不易书写,不易检查,编写程序十分困难。3.1 3.1 汇编语言指令汇编语言指令93.3.汇编语言汇编语言 为了克服机器语言不易书写、记忆为了克服机器语言不易书写、记忆复杂等缺点,人们采用一组字母、数字和复杂等缺点,人们采用一组字母、数字和符号来代替一条二进制代码指令,这种表符号来代替一条二进制代码指令,这种表示指令的符号称为助记符,这种用一组

9、符示指令的符号称为助记符,这种用一组符号来代替一条指令编写程序时采用的语言,号来代替一条指令编写程序时采用的语言,称为汇编语言。称为汇编语言。3.1 3.1 汇编语言指令汇编语言指令104.4.汇编语言程序汇编语言程序 用汇编语言编写的程序称为汇用汇编语言编写的程序称为汇编语言程序,或者称为汇编语言编语言程序,或者称为汇编语言源程源程序序。这种编程方法称为汇编语言程序。这种编程方法称为汇编语言程序设计。设计。汇编语言源程序名必须为汇编语言源程序名必须为文件文件名名.ASM.ASM。3.1 3.1 汇编语言指令汇编语言指令11如:如:B0HB0H12H12H05H05H02H02H00H00H用

10、用MOV AL , 12H MOV AL , 12H 代替代替用用ADD AX , 0002H ADD AX , 0002H 代替代替3.1 3.1 汇编语言指令汇编语言指令12优点:优点:要比一串二进制代码清晰多了,书写要比一串二进制代码清晰多了,书写 容易,记忆也方便。容易,记忆也方便。缺点:缺点:CPUCPU不能直接执行。用汇编语言编写的不能直接执行。用汇编语言编写的 汇编语言源程序必须经过汇编,将其翻汇编语言源程序必须经过汇编,将其翻 译成机器语言格式,译成机器语言格式, CPUCPU才能执行。才能执行。3.1 3.1 汇编语言指令汇编语言指令135.5.汇编汇编 把汇编语言源程序翻译

11、成机器把汇编语言源程序翻译成机器语言程序的过程称为汇编。语言程序的过程称为汇编。3.1 3.1 汇编语言指令汇编语言指令146.6.汇编程序汇编程序 能把汇编语言源程序翻译成机能把汇编语言源程序翻译成机器语言程序的系统程序(语言加工程器语言程序的系统程序(语言加工程序)。序)。80868086宏汇编程序为宏汇编程序为MASM.EXEMASM.EXE。3.1 3.1 汇编语言指令汇编语言指令15如:如:机器语言程序机器语言程序汇编程序为汇编程序为MASM.EXEMASM.EXE源程序源程序MOV AL , 12HMOV AL , 12HADD AX , 0002HADD AX , 0002H05

12、 02 0005 02 00B0 12B0 12汇编汇编反汇编反汇编在在DEBUG.EXEDEBUG.EXE下进行下进行3.1 3.1 汇编语言指令汇编语言指令167.7.从汇编语言源程序到可执行程序所经过的处理过程从汇编语言源程序到可执行程序所经过的处理过程用全屏幕编辑软件编辑汇用全屏幕编辑软件编辑汇编语言源程序编语言源程序 文件名文件名.ASM.ASM用汇编程序用汇编程序MASM.EXEMASM.EXE对源程序对源程序 文件名文件名.ASM.ASM 进行汇编进行汇编有语法错误有语法错误吗?吗?在磁盘上形成目标程序文件在磁盘上形成目标程序文件 文件名文件名.OBJ.OBJ用连接程序用连接程序

13、LINK.EXELINK.EXE对对 文件名文件名.OBJ.OBJ 进行连接进行连接有错误吗?有错误吗?在磁盘上形成了可执行文件在磁盘上形成了可执行文件 文件名文件名.EXE.EXE 有有没没有有没没3.1 3.1 汇编语言指令汇编语言指令17二二. .汇编语言程序中语句的种类汇编语言程序中语句的种类 在汇编语言程序设计中,程序中的语句有在汇编语言程序设计中,程序中的语句有三类:三类:指令语句指令语句伪指令语句伪指令语句宏指令语句宏指令语句3.1 3.1 汇编语言指令汇编语言指令181.1.指令语句指令语句 汇编后能产生机器语言代码,汇编后能产生机器语言代码,是是CPUCPU能执行的语句。能执

14、行的语句。3.1 3.1 汇编语言指令汇编语言指令192.2.伪指令语句伪指令语句 汇编后不能产生机器语言代汇编后不能产生机器语言代码,是码,是CPUCPU不能执行的语句。它不能执行的语句。它只是告诉汇编程序(只是告诉汇编程序(MASM.EXEMASM.EXE)应如何汇编。应如何汇编。3.1 3.1 汇编语言指令汇编语言指令203.3.宏指令语句宏指令语句 它是它是80868086指令系统中没有的指指令系统中没有的指令,是用户自己根据宏指令定义的方令,是用户自己根据宏指令定义的方法定义的一条能完成某一特定功能的法定义的一条能完成某一特定功能的新的指令。新的指令。3.1 3.1 汇编语言指令汇编

15、语言指令21三三. .汇编语言中语句的组成汇编语言中语句的组成 汇编语言源程序(文件名汇编语言源程序(文件名.ASM.ASM)是由一条条语句)是由一条条语句组成的。语句则由组成的。语句则由 四部分组成。四部分组成。标识符标识符操作助记符操作助记符操作数操作数注释注释其基本格式如下:其基本格式如下:3.1 3.1 汇编语言指令汇编语言指令22 标识符标识符 操作助记符操作助记符空格空格 操作数操作数 ;注释;注释 其中,操作助记符指出该条语句的基本操其中,操作助记符指出该条语句的基本操作功能,是必须有的部分。而作功能,是必须有的部分。而 项可有可无,项可有可无,视情况而定。视情况而定。 若是指令

16、语句,标识符就是一个标号名,若是指令语句,标识符就是一个标号名,以以冒号结尾冒号结尾;若是伪指令语句,标识符就是变量;若是伪指令语句,标识符就是变量名或者段名等,名或者段名等,以空格结尾以空格结尾。3.1 3.1 汇编语言指令汇编语言指令23 标识符的第一个字符必须是字母,不能为标识符的第一个字符必须是字母,不能为数字,总字符个数不能超过数字,总字符个数不能超过3131个。在给标识符个。在给标识符起名时,不能用起名时,不能用80868086指令系统中的专用符来给指令系统中的专用符来给标识符起名称,如标识符起名称,如 ADDADD、MOVMOV等。起名时,尽等。起名时,尽量起的有点意义。量起的有

17、点意义。3.1 3.1 汇编语言指令汇编语言指令24四四. .汇编语言中的常数与表达式汇编语言中的常数与表达式 在在汇编语言程序中,语句中的操作数项汇编语言程序中,语句中的操作数项既可以是常数或表达式(立即数),也可以既可以是常数或表达式(立即数),也可以是指明操作数是指明操作数所在处所在处的一种说明。如果操作的一种说明。如果操作数是常数或表达式,则有以下几种形式。数是常数或表达式,则有以下几种形式。3.1 3.1 汇编语言指令汇编语言指令251.1.数值常数数值常数 若为数值常数,则按其基数的不同,可若为数值常数,则按其基数的不同,可二进制数二进制数十进制数十进制数八进制数八进制数十六进制数

18、十六进制数有有 等不同的表达式。等不同的表达式。3.1 3.1 汇编语言指令汇编语言指令26如:将(如:将(ALAL) 1212,则有:,则有:MOV AL , MOV AL , 1212D D ;12 ;12为十进制数为十进制数MOV AL , MOV AL , 0C0CH H ;0CH ;0CH为十六进制数为十六进制数MOV AL , MOV AL , 0000110000001100B B ;00001100B ;00001100B为二进制数为二进制数MOV AL , MOV AL , 1414Q Q ; 14Q ; 14Q为八进制数为八进制数3.1 3.1 汇编语言指令汇编语言指令27

19、2.2.字符串常数字符串常数 字符串常数是由单引号字符串常数是由单引号“ “ ”括起括起来的一串字符或者单个字符。来的一串字符或者单个字符。如:如:MOV DL , MOV DL , A A ; ; DL 41H DL 41HBUF DB BUF DB 12Aa12Aa;将;将 12Aa12Aa字符串定义给字符串定义给 ;变;变BUFBUF以下连续的(以下连续的(4 4个字个字 ;节)存储器单元。;节)存储器单元。 3.1 3.1 汇编语言指令汇编语言指令283.3.表达式表达式 语句中的操作数项也可以是表达式。语句中的操作数项也可以是表达式。表达式由操作数和操作符组成。操作符表达式由操作数和

20、操作符组成。操作符有:有:3.1 3.1 汇编语言指令汇编语言指令29算术操作符:算术操作符:+ +、- -、* *、/ /、MODMOD逻辑操作符:逻辑操作符:ANDAND、OROR、XORXOR、NOTNOT关系操作符:关系操作符:EQ(EQ(相等相等) )、NE(NE(不等不等) )、LT(LT(小于小于) )、 GT(GT(大于大于) )、LE(LE(小于或等于小于或等于) )、GE(GE(大大 于或等于于或等于) )属性操作符:属性操作符:SEGSEG、OFFSETOFFSET、TYPETYPE、LENGTHLENGTH、SIZESIZE属性修改操作符:属性修改操作符:PTRPTR3

21、.1 3.1 汇编语言指令汇编语言指令30算术操作符算术操作符MOV AL , 5+2MOV AL , 5+2* *3 3 等效于等效于 MOV AL , 11 MOV AL , 11 MOV AL , 11/2 MOV AL , 11/2 等效于等效于 MOV AL , 05H;MOV AL , 05H;取商取商 MOV AL , MOV AL , 11 MOD 211 MOD 2 等效于等效于MOV AL , 01H;MOV AL , 01H;取余取余 3.1 3.1 汇编语言指令汇编语言指令31逻辑操作符逻辑操作符MOV AL , 0CCH AND 0F0HMOV AL , 0CCH A

22、ND 0F0HMOV AL , 0C0HMOV AL , 0C0HAND AL , 0CCH OR 0F0HAND AL , 0CCH OR 0F0HAND AL , 0FCHAND AL , 0FCH等等效效于于等等效效于于CPUCPU执行时完成的操作执行时完成的操作汇编程序汇编时完成的操作汇编程序汇编时完成的操作3.1 3.1 汇编语言指令汇编语言指令32关系操作符关系操作符若关系成立,则为真,取值全若关系成立,则为真,取值全1 1;若关系不成立,则为假,取值全若关系不成立,则为假,取值全0 0。如:如: MOV AL , 04H LT 05H ;MOV AL , 04H LT 05H ;

23、关系成立为真关系成立为真MOV AL , 0FFHMOV AL , 0FFH等等效效于于3.1 3.1 汇编语言指令汇编语言指令33属性操作符属性操作符MOV BX , OFFSET TABLE ;BX MOV BX , OFFSET TABLE ;BX 取变量取变量TABLETABLE单单 元的元的偏移地址偏移地址MOV AX , SEG TABLE ;AX MOV AX , SEG TABLE ;AX 取变量取变量TABLETABLE单单 元的元的段地址段地址MOV DL , TYPE TABLE ;DL MOV DL , TYPE TABLE ;DL 取变量取变量TABLETABLE 的

24、的类型类型SRCSRC均为立即数寻址均为立即数寻址3.1 3.1 汇编语言指令汇编语言指令34属性修改操作符属性修改操作符 MOV WORD PTR BX ,02HMOV WORD PTR BX ,02HDSDS:(BX):(BX)00H00H02H02H00 02 H00 02 H3.1 3.1 汇编语言指令汇编语言指令35属性修改操作符属性修改操作符MOV BYTE PTR TABLE ,ALMOV BYTE PTR TABLE ,AL(AL)(AL)TABLETABLE 只是在本条语句中用只是在本条语句中用PTRPTR将将TABLETABLE变量临时修变量临时修改为字节型变量,脱离了本条

25、语句,变量改为字节型变量,脱离了本条语句,变量TABLETABLE的类型恢复原样。的类型恢复原样。3.1 3.1 汇编语言指令汇编语言指令36五五. .标号、变量及伪指令标号、变量及伪指令 前面已经讲过,在汇编语言程序设计中,前面已经讲过,在汇编语言程序设计中,为了方便记忆,将直接访问的存储器单元的为了方便记忆,将直接访问的存储器单元的实际地址符号化,即给要访问存储器单元起实际地址符号化,即给要访问存储器单元起一个标识符名,而标识符有标号名、变量名一个标识符名,而标识符有标号名、变量名等。等。3.1 3.1 汇编语言指令汇编语言指令371.1.标号标号 用以指示某条指令语句的位置用以指示某条指

26、令语句的位置(地址)。其定义方法就是在指令语(地址)。其定义方法就是在指令语 句的操作助记符前加上标号名,以冒句的操作助记符前加上标号名,以冒号结尾。它可以作为程序转移指令的号结尾。它可以作为程序转移指令的操作数。操作数。3.1 3.1 汇编语言指令汇编语言指令38如:如: JMP LAB1JMP LAB1 LAB1: MOV AX ,0LAB1: MOV AX ,0 标号名标号名3.1 3.1 汇编语言指令汇编语言指令39标号一旦定义,就具有了以下三个属性:标号一旦定义,就具有了以下三个属性:段地址段地址 标号对应的指令所在段的段地址标号对应的指令所在段的段地址段内偏移地址段内偏移地址 标号

27、对应指令所在的段内标号对应指令所在的段内EAEA类型类型NEARNEAR型型 该标号与转移指令在同该标号与转移指令在同一一 代码段代码段。FARFAR型型 该标号与转移指令不在同该标号与转移指令不在同一一 代码段。代码段。3.1 3.1 汇编语言指令汇编语言指令402.2.变量变量 用以指示存放数据的存储器单用以指示存放数据的存储器单元的符号地址。变量所指明的存储器元的符号地址。变量所指明的存储器单元的值,在程序运行期间是可以改单元的值,在程序运行期间是可以改变的。变的。3.1 3.1 汇编语言指令汇编语言指令41变量定义伪指令变量定义伪指令(也称为数据定义伪指令(也称为数据定义伪指令 或者称

28、为存储器分配伪指令)或者称为存储器分配伪指令) 变量定义伪指令主要应用在数据段,变量定义伪指令主要应用在数据段,是用来给变量名所对应的存储器单元分配是用来给变量名所对应的存储器单元分配数据或预留空间。变量定义伪指令有以下数据或预留空间。变量定义伪指令有以下五种:五种:3.1 3.1 汇编语言指令汇编语言指令42 变量名变量名 DB DB 表达式表达式 ;定义;定义字节型变量字节型变量 变量名变量名 DW DW 表达式表达式 ;定义;定义字型变量字型变量 变量名变量名 DD DD 表达式表达式 ;定义;定义双字型变量双字型变量 变量名变量名 DQ DQ 表达式表达式 ;定义;定义长字型变量长字型

29、变量 变量名变量名 DT DT 表达式表达式 ;定义;定义一个一个1010字节的变量字节的变量 常用的变量定义伪指令有常用的变量定义伪指令有DBDB、DWDW、DDDD。伪指令左。伪指令左边的变量名可有可无,若有必须以空格结尾。边的变量名可有可无,若有必须以空格结尾。3.1 3.1 汇编语言指令汇编语言指令43变量定义伪指令语句中的表达式有以下几种情况:变量定义伪指令语句中的表达式有以下几种情况:1 1个或多个常数或表达式。当为多个时,其间个或多个常数或表达式。当为多个时,其间 用逗号分割。用逗号分割。带引号的字符串。带引号的字符串。一个问号(?一个问号(?) )。(用来将此单元保留,存放结果

30、)(用来将此单元保留,存放结果)重复方式。其格式为:重复方式。其格式为: 重复次数重复次数 DUP DUP (表达式)(表达式)3.1 3.1 汇编语言指令汇编语言指令44伪指令伪指令DWDW、DDDD的特殊用法的特殊用法: : DW DW 常数常数这里定义的这里定义的 1为字型地址指针,其内容为为字型地址指针,其内容为 常数或常数或 2常数的段内偏移地址。例如:常数的段内偏移地址。例如:AD1 DB 100 DUP(?)AD1 DB 100 DUP(?)AD2 DW AD1AD2 DW AD1;指向变量;指向变量AD1AD1的起始地址的起始地址AD3 DW AD1+10AD3 DW AD1+

31、10 DD DD 常数常数这里定义的变量名这里定义的变量名1 1为双字型地址指针,第一个字存放为双字型地址指针,第一个字存放 常数或常数或 2常数的段内偏移地址,常数的段内偏移地址,第二个字存放其段地址。例如:第二个字存放其段地址。例如: AD4 DD AD1AD4 DD AD1;指向变量;指向变量AD1AD1的起始地址的起始地址3.1 3.1 汇编语言指令汇编语言指令结果如图所示453.1 3.1 汇编语言指令汇编语言指令假设AD1的段地址为0100H,段内偏移地址为2157H 46变量定义举例变量定义举例 若(若(DSDS)=1500H=1500H,且在数据段,且在数据段0000H0000

32、H偏移地址开始有以下变量定义。偏移地址开始有以下变量定义。3.1 3.1 汇编语言指令汇编语言指令47DAT1 DB 12DAT1 DB 12,-12-12,12H12HDAT2 DAT2 DBDB 2 2* *3 3,$+2$+2DAT1DAT1OCHOCHOF4HOF4H12H12HO6HO6H1500H:0000H1500H:0000H0003H0003H汇编程序对本段汇编后,各变汇编程序对本段汇编后,各变量量对应存储器单元的内容如下图。对应存储器单元的内容如下图。此时,此时,MASM.EXEMASM.EXE中的软中的软件位置计数器件位置计数器$=0000H$=0000HDAT2DAT2

33、3.1 3.1 汇编语言指令汇编语言指令48DAT1 DAT1 DBDB 12 12,-12-12,12H12HDAT2 DB 2DAT2 DB 2* *3 3,$+2$+2DAT3 DW 02HDAT3 DW 02H,567AH567AHDAT1DAT1OCHOCHOF4HOF4H12H12HO6HO6H1500H:0000H1500H:0000H0003H0003HDAT2DAT2DAT3DAT30005H0005H05H05H02H02HO0HO0H7AH7AH56H56H123.1 3.1 汇编语言指令汇编语言指令49DAT4 DD 89HDAT4 DD 89HDAT4DAT489H8

34、9H00H00H00H00H00H00H1500H:0009H1500H:0009H000DH000DHDAT5DAT5DAT6DAT6DAT5 DB THISDAT5 DB THISDAT6 DAT6 DWDW AB, C AB, C0011H0011HTTHHIISSBB3.1 3.1 汇编语言指令汇编语言指令50DAT6DAT6O0HO0H1500H:0011H1500H:0011H0015H0015HDAT7DAT7DAT8DAT8DAT6 DW AB, CDAT6 DW AB, CDAT7 DB 3 DUP (00H)DAT7 DB 3 DUP (00H)DAT8 DAT8 DWDW

35、 3 DUP (?) 3 DUP (?)0018H0018H00H00H00H00HO0HO0H? ? ?BBAACC3.1 3.1 汇编语言指令汇编语言指令51DAT8DAT8? ? ? ? ?1500H:0018H1500H:0018HDAT9DAT9DAT10DAT10DAT9 DW DAT6DAT9 DW DAT6DAT8 DW 3 DUP (?)DAT8 DW 3 DUP (?)DAT10 DAT10 DDDD DAT8 DAT8DAT11 DAT11 DBDB ? ?001EH001EH? ? ?11H11H00H00H18H18H0020H0020H123.1 3.1 汇编语言指

36、令汇编语言指令52DAT1 DAT1 DBDB 12 12,-12-12,12H12HDAT2 DAT2 DBDB 2 2* *3 3,$+2$+2DAT3 DAT3 DWDW 02H 02H,567AH567AHDAT4 DAT4 DDDD 89H 89H1500H:0020H1500H:0020HDAT10DAT10DAT5 DAT5 DBDB THIS THISDAT6 DAT6 DWDW AB, C AB, CDAT7 DAT7 DBDB 3 DUP (00H) 3 DUP (00H)DAT9 DAT9 DWDW DAT6 DAT6DAT8 DAT8 DWDW 3 DUP (?) 3

37、DUP (?)DAT10 DD DAT8DAT10 DD DAT8DAT11 DB ?DAT11 DB ?0024H0024H? ?15H15H00H00H18H18H00H00HDAT11DAT113.1 3.1 汇编语言指令汇编语言指令53变量的属性变量的属性 一个变量一但定义了,就具有了一下一个变量一但定义了,就具有了一下五个属性:五个属性:段地址(段地址(SEGSEG)段内偏移地址(段内偏移地址(OFFSETOFFSET)类型(类型(TYPETYPE)长度(长度(LENGTHLENGTH)大小(大小(SIZESIZE)3.1 3.1 汇编语言指令汇编语言指令54其中,其中,段地址段地址

38、为变量所在段的段地址为变量所在段的段地址 段内偏移地址段内偏移地址为变量对应单元为变量对应单元 的偏移地址的偏移地址3.1 3.1 汇编语言指令汇编语言指令55类型类型 为每个变量所占的字节数,对于为每个变量所占的字节数,对于DBDB、DWDW、DDDD、DQDQ、DTDT定义的变量其类型分别定义的变量其类型分别为为1 1,2 2,4 4,8 8,1010。通常又将。通常又将DBDB、DWDW、DDDD所定义的变量称为所定义的变量称为BYTEBYTE类型,类型,WORDWORD类类型和型和DWORDDWORD类型变量。类型变量。3.1 3.1 汇编语言指令汇编语言指令56变量定义语句中,第一个

39、变量定义语句中,第一个DUPDUP前的系数,前的系数,表示变量重复的次数,当变量定义语句表示变量重复的次数,当变量定义语句中没有出现中没有出现DUPDUP或者第一个为数据时,则或者第一个为数据时,则其长度为其长度为1 1 。长度:长度:3.1 3.1 汇编语言指令汇编语言指令57 变量定义时,变量所占用的所有字变量定义时,变量所占用的所有字节数,它等于变量的长度与类型(字节节数,它等于变量的长度与类型(字节数)之积数)之积 。 即:即: SIZE=LENGTHSIZE=LENGTHTYPETYPE大小大小3.1 3.1 汇编语言指令汇编语言指令58MOV AX , MOV AX , SEG D

40、AT1 SEG DAT1 ; (AX)=1500H ; (AX)=1500H例:对于前面变量定义例子中各变量的定义,例:对于前面变量定义例子中各变量的定义, 我们有:我们有:MOV AX , MOV AX , SEG DAT10SEG DAT10 ; (AX)=1500H ; (AX)=1500HMOV AX , MOV AX , OFFSET DAT3OFFSET DAT3 ; (AX)=0005H ; (AX)=0005HMOV AL , MOV AL , TYPE DAT3TYPE DAT3 ; (AL)=02H ; (AL)=02H3.1 3.1 汇编语言指令汇编语言指令59MOV A

41、X , MOV AX , LENGTH DAT3LENGTH DAT3 ; (AX)=0001H ; (AX)=0001HMOV AX , MOV AX , LENGTH DAT8LENGTH DAT8 ; (AX)=0003H ; (AX)=0003HMOV AX , MOV AX , SIZE DAT3SIZE DAT3 ; (AX)=0002H ; (AX)=0002HMOV AX , MOV AX , SIZE DAT8SIZE DAT8 ; (AX)=0006H ; (AX)=0006H以上指令中,以上指令中,SRCSRC均为立即数寻址均为立即数寻址3.1 3.1 汇编语言指令汇编语言指令60作业1 2谢谢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(微机原理与接口技术楼顺天-第3章1共61页文档课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|