微机原理课件第3章1.ppt

上传人:sccc 文档编号:5385223 上传时间:2023-07-02 格式:PPT 页数:59 大小:397.01KB
返回 下载 相关 举报
微机原理课件第3章1.ppt_第1页
第1页 / 共59页
微机原理课件第3章1.ppt_第2页
第2页 / 共59页
微机原理课件第3章1.ppt_第3页
第3页 / 共59页
微机原理课件第3章1.ppt_第4页
第4页 / 共59页
微机原理课件第3章1.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《微机原理课件第3章1.ppt》由会员分享,可在线阅读,更多相关《微机原理课件第3章1.ppt(59页珍藏版)》请在三一办公上搜索。

1、第3章 8086CPU指令系统,内 容 简 介,本章全面掌握8086/8088指令系统的使用,包括指令的功能、寻址方式及其书写格式、对标志位的影响、使用注意事项。,本教案内容,第3章 8086CPU指令系统汇编语言指令8086指令分类数据与转移地址的寻址方式数据传送类指令算术运算类指令逻辑运算类指令移位类指令标志位操作指令,转移指令循环控制指令子程序调用返回指令中断调用返回指令字符串操作指令I/O输入输出指令其它指令宏指令,3.1 汇编语言指令,汇编语言与机器语言属于低级语言,它们与高级语言有较大的区别,汇编语言中的语句与机器的型号密切相关。如Intel 8086系列CPU、Intel8031

2、系列单片CPU等,若CPU型号不同,其指令系统就不同,当然语句的书写格式也就不同。,在高级语言中,完成某个加法功能,我们可采用语句 X=A+B,只要给变量A和B赋一确定值,此加法就可以实现了。在汇编语言中则不同,程序必须指出A、B存放在何处,相加后的结果又存放在何处,然后才能实现这一加法运算。显然,汇编语言在通过程序告诉计算机做什么和如何做时,显得更加具体。正是这种具体,使得该语言与计算机(处理器)紧密相关,从而也要求学习和使用汇编语言的人对处理器的结构有更加深入的了解。,3.1 汇编语言指令,1.机器语言,3.1 汇编语言指令,如:,;这一组二进制代码,就是告诉CPU将AL 12H。,3.1

3、 汇编语言指令,2.机器语言程序,采用机器语言编写的程序,即二进制代码程序。,优点:程序送入计算机后,CPU可以直接执行。,缺点:不易书写,不易检查,编写程序十分困难。,3.1 汇编语言指令,3.汇编语言,3.1 汇编语言指令,4.汇编语言程序,用汇编语言编写的程序称为汇编语言程序,或者称为汇编语言源程序。这种编程方法称为汇编语言程序设计。汇编语言源程序名必须为文件名.ASM。,3.1 汇编语言指令,如:,B0H,12H,05H,02H,00H,用MOV AL,12H 代替,用ADD AX,0002H 代替,3.1 汇编语言指令,优点:要比一串二进制代码清晰多了,书写 容易,记忆也方便。,缺点

4、:CPU不能直接执行。用汇编语言编写的 汇编语言源程序必须经过汇编,将其翻 译成机器语言格式,CPU才能执行。,3.1 汇编语言指令,5.汇编,把汇编语言源程序翻译成机器语言程序的过程称为汇编。,3.1 汇编语言指令,MOV AL,12H B0H 02H,ADD AX,0002H 05H 02H 00H,6.汇编程序,能把汇编语言源程序翻译成机器语言程序的系统程序(语言加工程序)。8086宏汇编程序为MASM.EXE。,3.1 汇编语言指令,如:,机器语言程序,汇编程序为MASM.EXE,源程序,MOV AL,12H,ADD AX,0002H,05 02 00,B0 12,汇编,反汇编,在DE

5、BUG.EXE下进行,3.1 汇编语言指令,7.从汇编语言源程序到可执行程序所经过的处理过程,用全屏幕编辑软件编辑汇编语言源程序 文件名.ASM,用汇编程序MASM.EXE对源程序 文件名.ASM 进行汇编,有语法错误吗?,在磁盘上形成目标程序文件 文件名.OBJ,用连接程序LINK.EXE对 文件名.OBJ 进行连接,有错误吗?,在磁盘上形成了可执行文件 文件名.EXE,有,没,有,没,3.1 汇编语言指令,在汇编语言程序设计中,程序中的语句有三类:,指令语句,伪指令语句,宏指令语句,3.1 汇编语言指令,1.指令语句,汇编后能产生机器语言代码,是程序执行阶段CPU能执行的语句。,3.1 汇

6、编语言指令,2.伪指令语句,汇编后不能产生机器语言代码,是程序执行阶段CPU不能执行的语句。它只是告诉汇编程序(MASM.EXE)应如何汇编。,3.1 汇编语言指令,3.宏指令语句,它是8086指令系统中没有的指令,是用户自己根据宏指令定义的方法定义的一条能完成某一特定功能的新的指令。,3.1 汇编语言指令,汇编语言源程序(文件名.ASM)是由一条条语句组成的。语句则由 四部分组成。,其基本格式如下:,3.1 汇编语言指令,其中,操作助记符指出该条语句的基本操作功能,是必须有的部分。而 项可有可无,视情况而定。,若是指令语句,标识符就是一个标号名,以冒号结尾;若是伪指令语句,标识符就是变量名或

7、者段名等,以空格结尾。,3.1 汇编语言指令,标识符的第一个字符必须是字母,不能为数字,总字符个数不能超过31个。在给标识符起名时,不能用8086指令系统中的专用符来给标识符起名称,如 ADD、MOV等。起名时,尽量起的有点意义。,3.1 汇编语言指令,在汇编语言程序中,语句中的操作数项既可以是常数或表达式(立即数),也可以是指明操作数所在处的一种说明。如果操作数是常数或表达式,则有以下几种形式。,3.1 汇编语言指令,1.数值常数,若为数值常数,则按其基数的不同,可,有 等不同的表达式。,3.1 汇编语言指令,如:将(AL)12,则有:,MOV AL,12;12为十进制数,MOV AL,0C

8、H;0CH为十六进制数,MOV AL,00001100B;00001100B为二进制数,MOV AL,14O;14O为八进制数,3.1 汇编语言指令,MOV AL,0C0H 0C0H为十六进制数,2.字符串常数,字符串常数是由单引号“”括起来的一串字符或者单个字符。,如:MOV DL,A;DL 41H,BUF DB 12Aa;将12Aa字符串定义给;变BUF以下连续的(4个字;节)存储器单元。,3.1 汇编语言指令,3.表达式,语句中的操作数项也可以是表达式。表达式由操作数和操作符组成。操作符有:,3.1 汇编语言指令,算术操作符:+、-、*、/、MOD,逻辑操作符:AND、OR、XOR、NO

9、T,关系操作符:EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于或等于)、GE(大 于或等于),属性操作符:SEG、OFFSET、TYPE、LENGTH、SIZE,属性修改操作符:PTR,3.1 汇编语言指令,算术操作符,MOV AL,5+2*3 等效于 MOV AL,11,MOV AL,11/2 等效于 MOV AL,05H;取商,MOV AL,11 MOD 2 等效于MOV AL,01H;取余,3.1 汇编语言指令,逻辑操作符,等效于,等效于,CPU执行时完成的操作,汇编程序汇编时完成的操作,3.1 汇编语言指令,关系操作符,若关系成立,则为真,取值全1;若关系不成立,则

10、为假,取值全0。,如:MOV AL,04H LT 05H;关系成立为真,MOV AL,0FFH,等效于,3.1 汇编语言指令,属性操作符,MOV BX,OFFSET TABLE;BX 取变量TABLE单 元的偏移地址,MOV AX,SEG TABLE;AX 取变量TABLE单 元的段地址,MOV DL,TYPE TABLE;DL 取变量TABLE 的类型,SRC均为立即数寻址,3.1 汇编语言指令,属性修改操作符,MOV WORD PTR BX,02H,DS:(BX),3.1 汇编语言指令,属性修改操作符,MOV BYTE PTR TABLE,AL,(AL),TABLE,只是在本条语句中用PT

11、R将TABLE变量临时修改为字节型变量,脱离了本条语句,变量TABLE的类型恢复原样。,3.1 汇编语言指令,前面已经讲过,在汇编语言程序设计中,为了方便记忆,将直接访问的存储器单元的实际地址符号化,即给要访问存储器单元起一个标识符名,而标识符有标号名、变量名等。,3.1 汇编语言指令,1.标号,3.1 汇编语言指令,如:,JMP LAB1 LAB1:MOV AX,0,标号名,3.1 汇编语言指令,标号一但定义,就具有了以下三个属性:,段地址 标号对应的指令所在段的段地址,段内偏移地址 标号对应指令所在的段内EA,类型,NEAR型 该标号与转移指令在同一 代码段。,FAR型 该标号与转移指令不

12、在同一 代码段。,3.1 汇编语言指令,2.变量,3.1 汇编语言指令,变量定义伪指令(也称为数据定义伪指令 或者称为存储器分配伪指令),变量定义伪指令主要应用在数据段,是用来给变量名所对应的存储器单元分配数据或预留空间。变量定义伪指令有以下五种:,3.1 汇编语言指令,变量名 DB 表达式;定义字节型变量,变量名 DW 表达式;定义字型变量,变量名 DD 表达式;定义双字型变量,变量名 DQ 表达式;定义长字型变量,变量名 DT 表达式;定义一个10字节的变量,常用的变量定义伪指令有DB、DW、DD。伪指令左边的变量名可有可无,若有必须以空格结尾。,3.1 汇编语言指令,变量定义伪指令语句中

13、的表达式有以下几种情况:,1个或多个常数或表达式。当为多个时,其间 用逗号分割。,带引号的字符串。,一个问号(?)。(用来将此单元保留,存放结果),重复方式。其格式为:var4 db 重复次数 DUP(表达式),3.1 汇编语言指令,Var1 db 2,3,-1,Var2 db here,Var3 db?,伪指令DW、DD的特殊用法:,DW 常数这里定义的为字型地址指针,其内容为常数或常数的段内偏移地址。例如:AD1 DB 100 DUP(?)AD2 DW AD1;指向变量AD1的起始地址AD3 DW AD1+10;指向变量AD1的起始地址+10,DD 常数这里定义的变量名1为双字型地址指针,

14、第一个字存放常数或常数的段内偏移地址,第二个字存放其段地址。例如:AD4 DD AD1;指向变量AD1的起始地址,3.1 汇编语言指令,结果如图所示,3.1 汇编语言指令,假设AD1的段地址为0100H,段内偏移地址为2157H,AD1 DB 100 DUP(?)AD2 DW AD1AD3 DW AD1+10AD4 DD AD1,变量定义举例,若(DS)=1500H,且在数据段0000H偏移地址开始有以下变量定义。,3.1 汇编语言指令,DAT1 DB 12,-12,12H,DAT2 DB 2*3,3+2,DAT1,OCH,OF4H,12H,O6H,1500H:0000H,0003H,汇编程序

15、对本段汇编后,各变量对应存储器单元的内容如下图。,DAT2,3.1 汇编语言指令,05H,DAT1 DB 12,-12,12H,DAT2 DB 2*3,3+2,DAT3 DW 02H,567AH,DAT1,OCH,OF4H,12H,O6H,1500H:0000H,0003H,DAT2,DAT3,0005H,05H,02H,O0H,7AH,56H,1,2,3.1 汇编语言指令,DAT4 DD 89H,DAT4,89H,00H,00H,00H,1500H:0009H,000DH,DAT5,DAT6,DAT5 DB THIS,DAT6 DW AB,C,0011H,T,H,I,S,B,3.1 汇编语言

16、指令,DAT6,O0H,1500H:0011H,0015H,DAT7,DAT8,DAT6 DW AB,C,DAT7 DB 3 DUP(00H),DAT8 DW 3 DUP(?),0018H,00H,00H,O0H,?,?,B,A,C,3.1 汇编语言指令,DAT8,?,?,?,?,1500H:0018H,DAT9,DAT10,DAT9 DW DAT6,DAT8 DW 3 DUP(?),DAT10 DD DAT8,DAT11 DW$+2,3 DUP(?),001EH,?,?,11H,00H,18H,0020H,1,2,3.1 汇编语言指令,DAT1 DB 12,-12,12H,DAT2 DB 2

17、*3,3+2,DAT3 DW 02H,567AH,DAT4 DD 89H,1500H:0020H,DAT10,DAT5 DB THIS,DAT6 DW AB,C,DAT7 DB 3 DUP(00H),DAT9 DW DAT6,DAT8 DW 3 DUP(?),DAT10 DD DAT8,DAT11 DW$+2,2 dup(?),0024H,26H,15H,00H,18H,00H,DAT11,3.1 汇编语言指令,?,?,?,?,00H,变量的属性,一个变量一但定义了,就具有了以下五个属性:,3.1 汇编语言指令,其中,段地址为变量所在段的段地址,段内偏移地址为变量对应单元 的偏移地址,3.1

18、汇编语言指令,类型,为每个变量所占的字节数,对于DB、DW、DD、DQ、DT定义的变量其类型分别为1,2,4,8,10。通常又将DB、DW、DD所定义的变量称为BYTE类型,WORD类型和DWORD类型变量。,3.1 汇编语言指令,变量定义语句中,第一个DUP前的系数,表示变量重复的次数,当变量定义语句中没有出现DUP或者第一个为数据时,则其长度为1。,长度:,3.1 汇编语言指令,变量定义时,变量所占用的所有字节数,它等于变量的长度与类型(字节数)之积。即:SIZE=LENGTHTYPE,大小,3.1 汇编语言指令,MOV AX,SEG DAT10;(AX)=1500H,MOV AX,OFF

19、SET DAT3;(AX)=0005H,MOV AL,TYPE DAT3;(AL)=02H,3.1 汇编语言指令,DAT1 DB 12,-12,12H,DAT2 DB 2*3,$+2,DAT3 DW 02H,567AH,DAT4 DD 89H,DAT5 DB THIS,DAT6 DW AB,C,DAT7 DB 3 DUP(00H),DAT9 DW DAT6,DAT8 DW 3 DUP(?),DAT10 DD DAT8,DAT11 DW$+2,2 dup(?),MOV AX,SEG DAT1;(AX)=1500H,例:对于前面变量定义例子中各变量的定义,我们有:,MOV AX,LENGTH DA

20、T3;(AX)=0001H,MOV AX,LENGTH DAT8;(AX)=0003H,MOV AX,SIZE DAT3;(AX)=0002H,MOV AX,SIZE DAT8;(AX)=0006H,3.1 汇编语言指令,DAT1 DB 12,-12,12H,DAT2 DB 2*3,$+2,DAT3 DW 02H,567AH,DAT4 DD 89H,DAT5 DB THIS,DAT6 DW AB,C,DAT7 DB 3 DUP(00H),DAT9 DW DAT6,DAT8 DW 3 DUP(?),DAT10 DD DAT8,DAT11 DW$+2,2 dup(?),MOV AX,SIZE DAT11;(AX)=0002H,MOV AX,LENGTH DAT11;(AX)=0001H,作业,1 2,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号