第3章8086CPU指令系统(1)-精品文档资料系列.ppt
《第3章8086CPU指令系统(1)-精品文档资料系列.ppt》由会员分享,可在线阅读,更多相关《第3章8086CPU指令系统(1)-精品文档资料系列.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 8086CPU指令系统指令系统第第3章章 8086CPU指令系统指令系统2022-7-212本本 章章 要要 求求 全面掌握全面掌握 80868086指令系统的使用,包括指令的功指令系统的使用,包括指令的功能、寻址方式及其书写格式、对标志位的影响、使用能、寻址方式及其书写格式、对标志位的影响、使用注意事项。注意事项。 掌握掌握汇编语言程序设计所汇编语言程序设计所必须必须的伪指令,并由此的伪指令,并由此构成汇编语言程序的完整结构。构成汇编语言程序的完整结构。 了解了解变量、常量及伪指令的使用和一些常用的基变量、常量及伪指令的使用和一些常用的基本程序设计方法。本程序设计方法。 通过阅读
2、程序,通过阅读程序,了解了解各种跳转指令和循环控制指各种跳转指令和循环控制指令在分支程序设计与循环程序设计中的合理使用,特令在分支程序设计与循环程序设计中的合理使用,特别要注意应避免出现死循环。别要注意应避免出现死循环。第第3章章 8086CPU指令系统指令系统2022-7-213 了解了解子程序调用过程中参数的各种传递方式及子程序调用过程中参数的各种传递方式及其实现,以及其实现,以及堆栈堆栈在调用与返回过程中的使用。在调用与返回过程中的使用。 字符串操作是汇编语言程序设计中的两个难点,字符串操作是汇编语言程序设计中的两个难点,要求要求了解了解字符串操作指令的使用。(字符串操作指令的使用。(*
3、 * * *选学选学* * * *) 第第3章章 8086CPU指令系统指令系统2022-7-2143.1 3.1 汇编语言指令汇编语言指令一一. .汇编语言与机器语言的相关概念汇编语言与机器语言的相关概念 汇编语言与机器语言属于低级语言,它们与高汇编语言与机器语言属于低级语言,它们与高级语言有较大的区别,级语言有较大的区别,汇编语言中的语句与机器的型汇编语言中的语句与机器的型号密切相关号密切相关。不同的。不同的CPUCPU具有不同的指令系统,程序具有不同的指令系统,程序语句的书写格式也就不同,如语句的书写格式也就不同,如Intel 8086Intel 8086系列系列CPUCPU、Intel
4、 8031Intel 8031系列单片系列单片CPUCPU等。等。第第3章章 8086CPU指令系统指令系统2022-7-215高级语言高级语言成年人成年人汇编语言汇编语言儿童儿童只需写出做什么只需写出做什么必须写明详细的操必须写明详细的操作步骤作步骤机器语言机器语言机器人机器人将步骤用二进制语将步骤用二进制语言书写言书写第第3章章 8086CPU指令系统指令系统2022-7-2161.1.机器语言机器语言 机器(机器(CPUCPU)能直接认识的一种二进)能直接认识的一种二进制代码语言。能完成某个功能的一组二进制代码制代码语言。能完成某个功能的一组二进制代码就是一条机器指令。就是一条机器指令。
5、二、计算机语言的种类二、计算机语言的种类第第3章章 8086CPU指令系统指令系统2022-7-217如:如:B0HB0H12H12H; ;这这一组二进制代码一组二进制代码,就是告诉,就是告诉CPUCPU将将AL 12HAL 12H。称为一条指令代码,或者机器语言代码。称为一条指令代码,或者机器语言代码。05H05H02H02H00H00H; ;这这一组二进制代码一组二进制代码,告诉,告诉CPUCPU将(将(AXAX)+2 AX+2 AX。第第3章章 8086CPU指令系统指令系统2022-7-2182.2.机器语言程序机器语言程序 采用机器语言编写的程序,即二进采用机器语言编写的程序,即二进
6、制代码程序。制代码程序。优点:优点:程序送入计算机后,程序送入计算机后,CPUCPU可以直接执行,可以直接执行,不需翻译。不需翻译。缺点:缺点:不易书写,难以记忆,编写程序十分困难。不易书写,难以记忆,编写程序十分困难。第第3章章 8086CPU指令系统指令系统2022-7-2193.3.汇编语言汇编语言 为了克服机器语言不易书写、记为了克服机器语言不易书写、记忆复杂等缺点,人们用一组字母、数字和符忆复杂等缺点,人们用一组字母、数字和符号来代替一条二进制代码指令,这些表示指号来代替一条二进制代码指令,这些表示指令的符号称为令的符号称为助记符助记符。 这种用一组符号代替一条指令来这种用一组符号代
7、替一条指令来编写程序时采用的语言,称为汇编语言。编写程序时采用的语言,称为汇编语言。第第3章章 8086CPU指令系统指令系统2022-7-2110上例中:上例中:B0HB0H12H12H05H05H02H02H00H00H用用MOV AL , 12HMOV AL , 12H 代替代替用用ADD AX , 0002HADD AX , 0002H 代替代替称为一条汇编指令,分为操作码和操作数称为一条汇编指令,分为操作码和操作数第第3章章 8086CPU指令系统指令系统2022-7-2111优点:优点:比机器指令清晰,书写容易,记忆比机器指令清晰,书写容易,记忆方便。方便。缺点:缺点:CPUCPU
8、不能直接执行。必须经过汇编,不能直接执行。必须经过汇编,将其翻译成机器语言格式后将其翻译成机器语言格式后CPUCPU才能执行。才能执行。第第3章章 8086CPU指令系统指令系统2022-7-21124.4.汇编语言程序汇编语言程序 用汇编指令编写的程序称为汇编用汇编指令编写的程序称为汇编语言语言源程序源程序。这种编程方法称为汇编语言程。这种编程方法称为汇编语言程序设计。序设计。汇编语言源程序名必须为汇编语言源程序名必须为文件文件名名.ASM.ASM。 把汇编语言源程序翻译成机器把汇编语言源程序翻译成机器语言程序的过程称为语言程序的过程称为汇编汇编。 把汇编语言源程序翻译成机器把汇编语言源程序
9、翻译成机器语言程序的系统程序称为语言程序的系统程序称为汇编程序汇编程序。80868086宏宏汇编程序为汇编程序为MASM.EXEMASM.EXE。第第3章章 8086CPU指令系统指令系统2022-7-2113如:如:汇编源程序汇编源程序MOV AL , 12HMOV AL , 12HADD AX , 0002HADD AX , 0002H机器语言源程序机器语言源程序05 02 0005 02 00B0 12B0 12汇编汇编汇编程序为汇编程序为MASM.EXEMASM.EXE在在DEBUG.EXEDEBUG.EXE下进行下进行反汇编反汇编第第3章章 8086CPU指令系统指令系统2022-7
10、-2114从汇编语言源程序到可执行程序所经过的处理过程从汇编语言源程序到可执行程序所经过的处理过程用全屏幕编辑软件编辑汇用全屏幕编辑软件编辑汇编语言源程序编语言源程序 文件名文件名.ASM.ASM用汇编程序用汇编程序MASM.EXEMASM.EXE对源程序对源程序 文件名文件名.ASM.ASM 进行汇编进行汇编有语法错误有语法错误吗?吗?在磁盘上形成目标程序文件在磁盘上形成目标程序文件 文件名文件名.OBJ.OBJ用连接程序用连接程序LINK.EXELINK.EXE对对 文件名文件名.OBJ.OBJ 进行连接进行连接有错误吗?有错误吗?在磁盘上形成了可执行文件在磁盘上形成了可执行文件 文件名文
11、件名.EXE.EXE 有有没没有有没没第第3章章 8086CPU指令系统指令系统2022-7-2115二二. .汇编语言程序中语句的种类汇编语言程序中语句的种类1. 1. 指令语句:指令语句:汇编后能产生机器语言代码,是汇编后能产生机器语言代码,是CPU能执行的语句。能执行的语句。2. 2. 伪指令语句:伪指令语句:完成汇编程序要完成的具体操完成汇编程序要完成的具体操作,不产生机器语言代码,主要用于常量、变作,不产生机器语言代码,主要用于常量、变量、符号以及段的定义等。量、符号以及段的定义等。* *3. 3. 宏指令语句宏指令语句: :是用户自己定义的一条能完成是用户自己定义的一条能完成某一特
12、定功能的新指令,是若干指令的集合。某一特定功能的新指令,是若干指令的集合。第第3章章 8086CPU指令系统指令系统2022-7-2116三三. .汇编语言中语句的组成汇编语言中语句的组成 汇编语言源程序(文件名汇编语言源程序(文件名.ASM.ASM)中每条语句由四)中每条语句由四部分组成:部分组成:标识符标识符操作助记符操作助记符操作数操作数注释注释 标识符标识符 操作助记符操作助记符空格空格 操作数操作数 ;注释;注释 第第3章章 8086CPU指令系统指令系统2022-7-2117 :指出该条语句要:指出该条语句要做什么,是做什么,是必须有必须有的部分。的部分。 :在指令语句在指令语句中
13、为标号名,中为标号名,以冒号结以冒号结尾尾;在伪指令语句中为变量名或者段名,;在伪指令语句中为变量名或者段名,以空格以空格结尾结尾。 :指出该条语句的操作对象,有些指:指出该条语句的操作对象,有些指令可以没有操作数,令可以没有操作数,若有多个操作数以逗号分隔。若有多个操作数以逗号分隔。 :对该条语句进行必要的注解。:对该条语句进行必要的注解。 例:例:L1: MOV AL,08HL1: MOV AL,08H ADD AL,05H ;ADD AL,05H ;实现两个数相加实现两个数相加 第第3章章 8086CPU指令系统指令系统2022-7-2118 第一个字符必须是字母,不能为数字,总字符第一
14、个字符必须是字母,不能为数字,总字符个数不能超过个数不能超过3131个。个。 在给标识符起名时,不能用在给标识符起名时,不能用80868086指令系统中的指令系统中的专用符来给标识符起名称,如专用符来给标识符起名称,如 ADDADD、MOVMOV等。等。 起名时,尽量起的有点意义。起名时,尽量起的有点意义。汇编语言中对标识符的取名约定:汇编语言中对标识符的取名约定:第第3章章 8086CPU指令系统指令系统2022-7-2119四四. .汇编语言中的常数与表达式汇编语言中的常数与表达式 在汇编语言程序中,语句中的操作数项在汇编语言程序中,语句中的操作数项既可以是常数或表达式(立即数),也可以既
15、可以是常数或表达式(立即数),也可以是指明操作数是指明操作数所在地址所在地址的一种说明。如果操的一种说明。如果操作数是常数或表达式,则有以下几种形式:作数是常数或表达式,则有以下几种形式:第第3章章 8086CPU指令系统指令系统2022-7-2120如:将(如:将(ALAL) 1212,则有:,则有:MOV AL , MOV AL , 12D12D ;12 ;12为十进制数,为十进制数,D D可忽略可忽略MOV AL , MOV AL , 0CH0CH ;0CH ;0CH为十六进制数为十六进制数MOV AL , MOV AL , 00001100B00001100B ;00001100B ;
16、00001100B为二进制数为二进制数MOV AL , MOV AL , 14O14O ; 14O ; 14O为八进制数为八进制数1.1.数值常数数值常数第第3章章 8086CPU指令系统指令系统2022-7-21212.2.字符串常数字符串常数 字符串常数是由单引号字符串常数是由单引号 括起来括起来的一串字符或者单个字符。的一串字符或者单个字符。如:如:MOV DL , MOV DL , A A ; ; DL 41H DL 41H BUF DB BUF DB 12Aa 12Aa ;将;将12Aa12Aa字符串定义字符串定义给给 ;变量;变量BUFBUF以下连续的(以下连续的(4 4个个 ;字
17、节)存储器单元。;字节)存储器单元。 第第3章章 8086CPU指令系统指令系统2022-7-2122算术操作符算术操作符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.3.表达式表达式第第3章章 8086CPU指令系统指令系统2022-7-2
18、123逻辑操作符逻辑操作符MOV AL , 0CCH AND 0F0HMOV AL , 0CCH AND 0F0HAND AL , 0CCH AND AL , 0CCH ANDAND 0F0H 0F0HMOV AL , 0C0HMOV AL , 0C0H等等效效于于AND AL , 0C0HAND AL , 0C0H等等效效于于汇编程序汇编时完成的操作汇编程序汇编时完成的操作CPUCPU执行时完成的操作执行时完成的操作第第3章章 8086CPU指令系统指令系统2022-7-2124关系操作符关系操作符若关系成立,则为真,取值全若关系成立,则为真,取值全1 1;若关系不成立,则为假,取值全若关系
19、不成立,则为假,取值全0 0。如:如: MOV AL , 05H EQ 05H ;MOV AL , 05H EQ 05H ;关系成立为真关系成立为真MOV AL , MOV AL , 等等效效于于第第3章章 8086CPU指令系统指令系统2022-7-2125属性操作符属性操作符MOV BX , OFFSET TABLE ; BX MOV BX , OFFSET TABLE ; BX 取变量取变量TABLETABLE单元的单元的偏移地址偏移地址MOV AX , SEG TABLE ; AX MOV AX , SEG TABLE ; AX 取变量取变量TABLETABLE单单 元的元的段段地址地
20、址MOV DL , TYPE TABLE ; DL MOV DL , TYPE TABLE ; DL 取变量取变量TABLETABLE 的的类类型型(1,2,4,8(1,2,4,8等等) )变量的三个变量的三个最基本属性最基本属性第第3章章 8086CPU指令系统指令系统2022-7-2126属性修改操作符属性修改操作符 MOV BL ,02HMOV BL ,02HDSDS:(BX):(BX)00H00H02H02H00 02 H00 02 H MOV BX ,02HMOV BX ,02H MOV BX ,02HMOV BX ,02H MOV WORD PTR BX ,02HMOV WORD
21、PTR BX ,02H ?传送一个字传送一个字传送一个字节传送一个字节 MOV BYTE PTR BX ,02HMOV BYTE PTR BX ,02H X第第3章章 8086CPU指令系统指令系统2022-7-2127五五. .标号、变量及伪指令标号、变量及伪指令 在汇编语言程序设计中,为方便记忆或为编程在汇编语言程序设计中,为方便记忆或为编程需要,有时要将直接访问的存储器单元的实际地址需要,有时要将直接访问的存储器单元的实际地址符号化符号化,即给要访问的存储单元起一个标识符名,即给要访问的存储单元起一个标识符名,而标识符有标号名、变量名等。而标识符有标号名、变量名等。 如果存储单元里存放的
22、是数据(数据单元),用如果存储单元里存放的是数据(数据单元),用以标识该单元的标识符称为以标识该单元的标识符称为变量变量; 即为如果存储单元里存放的是程序(代码单元),即为如果存储单元里存放的是程序(代码单元),用以标识该单元的标识符称为用以标识该单元的标识符称为标号标号。第第3章章 8086CPU指令系统指令系统2022-7-21281.1.标号标号 指示某条指示某条的位置(地的位置(地址)。指令中的标号位于一条指令语句的址)。指令中的标号位于一条指令语句的操作码之前,以冒号作为与操作码的分隔。操作码之前,以冒号作为与操作码的分隔。 标号标号。第第3章章 8086CPU指令系统指令系统202
23、2-7-2129如:如: MOV DL,0MOV DL,0 MOV BL,10 MOV BL,10L1L1: ADD DL,BLADD DL,BL DEC BL DEC BL JNZ L1JNZ L1标号名标号名第第3章章 8086CPU指令系统指令系统2022-7-2130标号一旦定义,就具有了以下三个属性:标号一旦定义,就具有了以下三个属性:段地址段地址 标号对应的指令所在段的段地址标号对应的指令所在段的段地址段内偏移地址段内偏移地址 标号对应指令所在的段标号对应指令所在的段内内EAEA类型类型NEARNEAR型型 该标号与转移指令在同该标号与转移指令在同一一 代码段代码段。FARFAR型
24、型 该标号与转移指令不在同该标号与转移指令不在同一一 代码段。代码段。第第3章章 8086CPU指令系统指令系统2022-7-21312.2.变量变量 用以指示用以指示的存储器单的存储器单元的符号地址。变量所指存储器单元的值,元的符号地址。变量所指存储器单元的值,在程序运行期间可以改变。在程序运行期间可以改变。第第3章章 8086CPU指令系统指令系统2022-7-2132变量定义伪指令变量定义伪指令(也称为数据定义伪指令(也称为数据定义伪指令 或者称为存储器分配伪指令)或者称为存储器分配伪指令) 这类伪指令用来给某个存储器单元或某这类伪指令用来给某个存储器单元或某个存储区个存储区分配数据或预
25、留空间分配数据或预留空间。第第3章章 8086CPU指令系统指令系统2022-7-2133 变量名变量名 DB DB 表达式表达式 ;定义;定义字节型变量字节型变量 变量名变量名 DW DW 表达式表达式 ;定义;定义字型变量字型变量 变量名变量名 DD DD 表达式表达式 ;定义;定义双字型变量双字型变量 变量名变量名 DQ DQ 表达式表达式 ;定义;定义长字型变量长字型变量 变量名变量名 DT DT 表达式表达式 ;定义;定义一个一个1010字节的变量字节的变量 常用的变量定义伪指令有常用的变量定义伪指令有DBDB、DWDW、DDDD。第第3章章 8086CPU指令系统指令系统2022-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 8086CPU指令系统1-精品文档资料系列 8086 CPU 指令系统 精品 文档 资料 系列
限制150内