已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术教学大纲课程名称:微机原理与接口技术适用专业:2016级机电一体化函授、机械制造与自动化(专科 函授)、汽车运用技术、机电一体化、机械制造与自动化(专科 业余)、2016级电气自动化技术(专科 业余函授)、2014级机械设计制造及其自动化 (高起本)、2016级 机械设计制造及其自动化 、车辆工程(专升本 函授)辅导教材:微型计算机原理与接口技术(第3版) 冯博琴、吴宁 主编 清华大学出版社一、本课程的地位、任务和作用本课程是计算机科学与工程系的信息与计算科学、信息管理与信息系统专业的任选课,通过本课程的学习可以使学生掌握计算机的组成、工作原理及汇编语言程序设计。并使学生了解存储器的组成及扩展方式、输入输出技术。为学生掌握好微型计算机的原理及进一步应用打下良好的基础。二、本课程的相关课程本课程的先修课程为计算机文化基础、高级语言程序设计、电工学等。通过对计算机文化和C语言程序设计及电工学的学习,可以使学生理解计算机工作的基本原理和计算机语言的一些基本概念及有关硬件基础知识,有助于学生对微机结构、原理的理解和掌握;另一方面为学生上机实践提供相应支持。三、本课程的基本内容及要求(一)基本内容:本课程阐述微型计算机系统的基本概念、原理和汇编语言程序设计方法,介绍8086指令系统及其编程、存储器的管理、输入/输出技术和中断系统等基本知识。主要内容如下:1、 微型计算机基础知识计算机的发展过程与分类、微型机中的数制与码制和微型计算机系统。2、8086微处理器8086CPU的内部结构、8086内部寄存器,及8086对存储器分段管理,8086CPU时序分析和80X86CPU简介。3、8086的指令系统与程序设计8086的寻址方式、8086指令系统、汇编语言程序设计和汇编语言上机。4、存储系统存储器基础知识、半导体存储器芯片的扩展与CPU的连接和外存储器简介。5、基本输入输出接口接口的基本概念和功能、I/O端口的编址方式和I/O数据的传输方式。6、中断系统中断的基本概念、中断处理过程、8086/8088中断系统和可编程中断控制器8259A。(二)基本要求:通过讲授基本概念、原理与学生上机实验实践相结合,在弄清楚8086指令系统及汇编语言程序设计和相关接口、中断技术基础上,通过具体汇编语言程序设计的实践,使学生达到对微型计算机的结构和基本原理及汇编语言编程的掌握。四、实验及要求实验共8学时,分配如下:1、 汇编语言上机步骤的熟悉和命令使用 2学时要求学生掌握汇编语言上机过程及基本的DEBUG调试命令2、 汇编语言顺序结构程序设计 2学时要求学生掌握汇编语言基本顺序结构程序设计及基本命令的使用3、 汇编语言分支结构程序设计 2学时要求学生掌握汇编语言基本分支结构程序设计及基本命令的使用4、 汇编语言循环结构程序设计 2学时要求学生掌握汇编语言基本循环结构程序设计及基本命令的使用五、习题数量及要求第1、2章 每章5-8题,掌握基本概念和方法;第3章 10-12题,掌握8086寻址方式、8086指令系统三种结构汇编语言程序设计;第四章4-6题,掌握存储器概念与扩展;第5章6-8题,掌握接口概念;第6章3-5题,掌握中断概念及过程。六、教学方式与考核方式补充说明:教学方式与考核方式教学方式:面授辅导、平时作业考核方式:考勤、作业和考试七、几点说明参考书如下:1、戴梅萼. 微机原理及接口技术. 北京:清华大学出版社,20052、孙家启.微型计算机原理及应用.安徽:安徽大学出版社,20053、王克义、鲁守智. 微机原理与接口技术. 北京:北京大学出版社,2004复习参考范围11计算机的发展过程与分类1传统计算机的发展 1946年1月诞生了世界上第一台计算机(ENIAC) 19466 世界上第一台设计的存取程序式计算机(EDVAC) 1949.5 世界上第一台实现了存取程序式计算机(EDSAC)(1)第一代计算机(19461952) 特征是采用电子管作为逻辑线路主要元件。主存为磁鼓,外存为纸带、卡片、磁带。 V:几千次几万次/秒,体积大,耗电量大。 软件方面确定了程序设计的概念,主要采用机器语言和汇编语言。(2)第二代计算机(19571964) 特征是采用晶体管作为逻辑线路主要元件。主存为磁芯,外存为 磁带 ,V:几万次 几十万次/秒,体积小,耗电量低。软件方面出现了一些高级语言,提出了OS的概念。(3)第三代计算机(19641970) 特征是采用中、小规模集成电路代替了分立元件晶体管。主存为半导体器件,外存以磁盘为主;V:几十万次几百万次/秒,体积更小,耗电量功耗低。软件方面形成了 三个独立的系统:操作系统、编辑系统和应用程序。(4)第四代计算机(1970至今) 特征是采用大、超大规模集成电路为计算机的主要功能元件。主存采用集成度更 高的半导体存取器,外存采用大容量的磁盘,V: 几十万次几百万次/秒,体积、重量、功耗等进一步减小。软件方面OS不断完善,数据库系统、高级语言以及软件工程标准化 进一步发展。 上述四代计算机都是几基于同一原理:“以二进制、程序内存以及指令和数据统一存取”为基础。2计算机的发展方向(1)多极化:巨型机、大型机、中型机、小型机、微型机(2)网络化:是将分布在世界各地的计算机通过通信线路连接起来,以达到资源共享的目的。(3)多媒体:是将计算机系统与图形、图象声音、视频等多种媒体信息结合与一体进行处理的技术。(4)智能化:使计算机具有人的某些智能。3微型机的发展(1) 第一代(1971):4位、8位,Intel 4004、8008(2) 第二代(1973):8位 Intel8080(3) 第三代(1978):16位Intel8086、Z8000(4) 第四代(1981):32位Intel80386、80486、80586等常见的几种微型机系统a) 微型机系统b) 单板计算机c) 单片计算机12 微型机中的数制与码制1 数制的基本概念: 数制:对数的一种统计规律十、二、八、十六进制有关数的几个要点:数码:09(十)01(二) 07(八)等进位规则:逢R进一位权:Rn-1基数 :数码的个数 R 数的两种表示方法:(1) 并列表示法:231、1101B、3476Q、 451FDH(2) 多项式表示法:N=2*102+3*101+1*100 N=1*23+1*22+0*21+1*20三种数制对照表:(见书)2 数制转换:(1)二、八、十六进制 十进制转换原则:按位权展开相加求和。10111B=1*24+0*23+1*22+1*21+1*20=23137Q=1*82+3*81+7*80=9535AH=3*162+5*161+10*160=368 (2) 十进制 二、八、十六进制 整数部分:除R取余直至商为0转换原则: 小数部分:乘R取整直至小数部分为0例:将47.125转换成二、八、十六进制数 二进制数为:101111.001B 八进制数为:57.1Q十六进制数:十六进制数为:2F.2H(3) 二进制、八进制、十六进制数间相互转换 (a) 二进制转换成八进制 转换原则:三位一合 例: .01101B=467.32Q 100 110 111. 011 0104 6 7. 3 2 ( b) 二进制转换成十六进制 转换原则:四位一合 例:.0111011B=18E.76H 000 1 1000 1110. 0111 0110 1 8 E . 7 6(c) 八进制转换成二进制 转换原则:一分为三 例:762.15Q=.001101B7 6 2. 1 5Q111 110 010. 001 101(d) 十六进制转换成二进制 转换原则:一分为四 例:95A1.D4H=0001.11010100B 9 5 A 1. D 4 1001 0101 1010 0001. 1101 0100(4) 八进制与十六进制相互转换:转换原则:通过二进制相互转换 例:4572Q=97AH4 5 7 2 八进制100 101 111 010 二进制1001 0111 1010 9 7 A 十六进制3.带符号数的表示方法原码、反码、补码(1)原码:正数的符号位用0表示,负数的符号位用1表示,数值部分保持不变。(2)反码:正数的反码等于该数的原码,负数的反码等于该数的原码的符号位不变,数值位按位取反(3)补码:正数的补码=正数的原码,负数的补码等于其反码末位加1 例: 机器的字长为16位,求 X1 = 369,X2 = -369 ,X3 = -0.369 的原、反、补码 X1原 = 0001B X1反 = 0001B X1补 = 0001B X2原 = 0001B X2反 = 1110B X2补 = 1111B X3原 = 1.011B X3反 = 1.0100B X3补 = 1.0101B补码的运算规则: (1) X+Y补 = X补 + Y补 (2) X-Y补 = X补 +-Y补 (3) X补补 = X原 4.机器内小数的表示方法(1) 定点表示法 (a) 定点整数表示法(b) 定点小数表示法(2) 浮点表示法 5. BCD码-用二进制数对每位十进制数数字的编码。0 00001 00012 0010. . . . 9 1001N=a3*w3+a2*w2+a1*w1+a0*w0 w3、w2 w1 w0 的位权分别为 8、4、2、1例:将975转换成BCD 码 ( 9 7 5)10 (1001 0111 0101)BCD将BCD 码 转换成十进制数 0110 0010 1001 ( 6 2 9)10 例:将BCD码 01011001的等值的二进制数0101 1001 5 959= (0111011)2 1.3 微型计算机系统1.微型机系统硬件的基本组成 (1)微处理器(CPU)核心部件组成:运算器、控制器、寄存器组、内部总线发展:80286、80386、80486、pentium (2)内存取器(a)在主机内直接同CPU交换消息的存取器称主存取器简称为内存。 RAM: 随机读写消息,一旦断电消息丢失 ROM: 只能读不能写,无论供电消息始终存在位:存放一位二进制代码的记忆单元字节:8个二进制位作为一个存取单元简称为字节 (b)内存的地址与配置内存地址:每个存取单元的编号。寻址范围:CPU的寻址范围由地址线的多少来定,地址线的根数为n则寻址范围=2,地址线为16 根则寻址范围为0000HFFFFH80386有32根地址线故寻址范围为232=4G(c)内存配置(略)(3) 输入/输出接口(I/O)定义:把主机与外设连接起来实现信息传输的电路。功能:使主机与外设在速度、时序、信号格式、类型等方面进行匹配。类型:并行打印接口卡、显示器适配卡、多功能卡、网卡、汉卡、防病毒卡(4) 外部设备 (a) 输入设备 (b) 输出设备 2微型机系统的软件(1) 系统软件:支持程序员方便地使用计算机和管理计算机的软件。其主要功能是对整个计算机系统进行调度、管理、监视和服务,还为用户提供方便,扩大机器功能提高机器利用率(a) 操作系统(系统软件的核心) 主要任务:CPU的管理、文件管理、存取器管理、作业管理、设备管理(b) 程序设计语言:机器语言:CPU直接识别和执行的语言汇编语言:用助记符来表示计算机的各种初中和操作数的语言高级语言:接近人们习惯使用的自然语言和数学语言C +、 C、 Pascal等 (c)实用程序:面向计算机维护的软件 (d)数据库管理系统()应用软件:是计算机用户为解决各自实际问题而编写的软件(a)字处理软件:WORD、WPS等(b) 表处理软件:Excel、 Lotus-1-2-3(c) 系统分析软件(d) 实时处理软件(e) 计算机辅助设计软件:CAD 、CAT、 CAM、CAI等 3.微型机系统的结构特点(1) 软件固化(2) 总线结构 (a)片内总线 (b)片间总线(c)内总线(d)外总线4微型机系统的性能指标 (1)字长:是指计算机运算部件能够同时处理的二进制位数。字长决定了计算机的精度、寻趾速度和处理能力。8位(8080)、16位(8086、80286)32位(80386、80486、pentium)和64位(2)主频:CPU的时钟频率,586/166MHZ(3)运算速度:每秒执行多少条指令来表示(4)存储容量:微型机所配置的内存总字节数,64MB、128MB(5)系统的可靠性: MTBF(6)系统的兼容性(7)系统的安全性(8)性能价格比5.微型机的基本组成和工作过程 (1)电子计算机的基本组成 结果数据程序控制器 运算器存取器输入设备输出设备 (2)电子计算机的工作原理程序存储与程序控制原理。(冯.诺依曼)计算机工作过程的实质计算机之所以能在没有人直接干预的情况下,自动地完成各种信息处理任务,是因为人们事先为它编制了各种工作程序,计算机的工作过程,就是执行程序的过程。 程序存储程序是由一条条指令组合而成的,而指令是以二进制代码的形式出现的,把执行一项信息处理任务的程序代码,以字节为单位,按顺序存放在存储器的一段连续的存储区域内,这就是程序存储的概念。程序控制 计算机工作时,CPU中的控制器部分,按照程序指定的顺序(由码段寄存器CS及指令指针寄存器IP指引),到存放程序代码的内存区域中去取指令代码,在CPU中完成对代码的分析,然后,由CPU的控制器部分依据对指令代码的分析结果,适时地向各个部件发出完成该指令功能的所有控制信号,这就是程序控制的概念,冯诺依曼概念,程序存储及程序控制的概念,是由美籍匈牙利人冯诺依曼提出的,因此又称为冯诺依曼概念。简单地讲,微型计算机系统的工作过程是取指令(代码)分析指令(译码)执行指令的不断循环的过程。 习题与思考:1微型计算机系统有哪些功能部件组成?它们各自具有什么结构?采用什么样的结构?2试说明程序存储及程序控制的概念。3请说明微型计算机系统的工作过程。4试说明微处理器字长的意义。5什么是微处理器?什么是微型计算机?什么是微机系统?它们之间的关系如何?第二章 8086 微处理器l 教学目的:了解8086CPU内部结构和外部引脚以及微型机中的时序、Intel CPU的发展过程和特点。掌握8086 CPU的寄存器结构和存储器组织。l 教学重点:8086CPU内部结构、8086 CPU内部寄存器结构和存储器组织。l 教学难点:8086CPU内部结构、微型机中的时序l 教学内容:8086CPU的内部结构、寄存器结构以及8086的外部引脚,微型机中的时序,存储器组织,8088/8086的比较,IBM PC机硬件基本结构l 方法及手段:采用课堂讲授教学方式,安排综合练习作业,适时安排习题课,便于巩固新知识。l 学时分配:4学时(课堂讲授)备课内容如下:21 8086CPU内部结构1执行部件(EU)功能:负责执行指令,而不与外部总线打交道。组成:16位算术逻辑单元(ALU)(1)运算器 16位状态标志寄存器(FR) 暂寸寄存器(2)通用寄存器组:AX、BX、CX、DX,SI、DI、SP、BP(3)控制单元2总线接口部件(BIU)功能:负责和总线打交道的部件,完成对取指令和数据传送的操作。组成:(1)指令队列缓冲器(2)16位指令指针寄存器IP3)地址产生器和段寄存器 PA = (段首址)*10H + 偏移地址 段寄存器:DS、CS、ES、SS(4)总线控制逻辑3总线接口部件和执行部件的关系 从上述BIU与EU的动作管理原则中,不难看出,它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086/8088可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令译码执行指令的串行工作方式,大大提高了工作效率,这正是8086/8088获得成功的原因之一。3 8086CPU内部结构图图2-1 8086CPU内部结构图22 8086CPU内部的寄存器结构1通用寄存器组 (1)数据寄存器(16) AX:累加器 AH、AL BX:基址寄存器:BH、BL CX:计数寄存器:CH、CL DX:数据寄存器:DH、DL(2)指针和变址寄存器(16) SP:栈顶指针寄存器 BP:栈中基址指针寄存器 SI: 源变址寄存器 DI:目标变址寄存器2. 段寄存器(16)(1)数据段段地址寄存器DS:用来存放数据段段首址的(2)堆栈段段地址寄存器SS:用来存放堆栈段段首址的(3)代码段段地址寄存器CS:用来存放代码段段首址的(4)附加段段地址寄存器ES:用来存放附加段段首址的3. 标志寄存器(16) (1) 状态标志位:用来反映EU执行算术运算或逻辑运算后的结果特征的.。 1:表示结果的最高位产生了进位或借位 CF = 0:表示结果的最高位无进位或借位产生 1:表示结果的低4位产生了进位或借位AF = 0:表示结果的低4位无进位或借位产生 1: 表示带符号数在算术运算后产生了算术溢出OF = 0: 无溢出产生 1:表示运算的结果为0值ZF = 0:表示运算的结果为非0值SF = 1:表示带符号数运算后结果为负值 0:表示带符号数运算后结果为正值 1:表示运算的结果中有偶数个1 PF = 0:表示运算的结果中有奇数个1 (2) 控制标志位 DF = 1:(STD)数据串指令将以地址递减的顺序对数据串进行处理 0:(CLD)数据串指令将以地址递增的顺序对数据串进行处理 IF = 1:(STI)允许接受外部中断请求 0:(CLI)不允许接受外部中断请求 1:8086进入单步各种状态 TF = 0:8086正常工作4指令指针寄存器 IP 存放EU将要执行的下一条指令的偏移地址,以实现对程序的执行过程的跟踪。58086和8088的比较 软件方面完全兼容,硬件结构稍有差别(1)外部数据总线位数上的差别 8086(16),8088(8)(2)指令队列容量上的差别8086(6个字节) 8088(4各字节)(3)引脚特性上差别23 8086CPU外部引脚18086CPU的两种工作方式 最小方式:是指微型机系统中只有一个处理器,在这种系统中,直接由CPU产生所有总线的控制信号,系统所需的外加其他总线控制单元较少,故称最小方式。 最大方式:是指微型机系统中含有两个或多个处理器,其中一个为主处理器,其他的为协处理器,在这种系统中,不直接由CPU产生所有总线的控制信号,由总线控制器8288对状态信号翻译后产生相应的控制信号。28086CPU的引脚 数据引脚:AD0 AD15地址引脚:AD0 AD15 A16/S3 A19/S6控制引脚:WR、RD、HOLD、ALE等25 存储器组织1存储器的标准结构8086CPU有20根地址线,它的寻址空间为1M字节,存储器按字节组成一个个单元,每个单元用唯一的一个地址码表示 字节:按顺序存放 信息的存放形式有: 字:高位字节存放高地址单元,低位字节存放低地址单元 双字:高位字存放高地址单元,低位字存放低地址单元各种数据在内存中存放的示意图P452存储器的分段 (1)为什么分段? (2)段的定义 (3)分段的优点:由于CPU内部的寄存器都是16位的,为了能够提供20位的物理地址,系统中采用了存储器分段的方法。规定存储器的一个段为64KB,由段寄存器来确定存储单元的段地址,由指令提供该单元相对于相应段起始地址的16位偏移量。 这样,系统的整个存储空间可分为16个互不重叠的逻辑段,如图2-3所示。存储器的每个段的容量为64KB,并允许在整个存储空间内浮动,即段与段之间可以部分重叠、完全重叠、连续排列,非常灵活,如图2-4所示。 图2-3 存储空间段结构 图2-4 分段逻辑结构3实际地址和逻辑地址 实际地址:也称为物理地址,是指CPU和存储器进行数据交换时使用的地址,用20位二进制数或5位16进制数表示的地址码。 逻辑地址:是指产生实际地址的两个地址分量由 段首址和偏移量组成。 PA = 段首址*10H + 偏移地址 逻辑地址源:P474 特殊的内存区域 8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如: 中断矢量区:00000H003FFH共1K字节,用以存放256种中断类型的 中断矢量,每个中断矢量占用4个字节,共2564=1024=1K 显示缓冲区:B0000HB0F9FH约4000(25802)字节,是单色显示器 的显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码;B8000H BBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏 幕显示象素的代码。 启动区:FFFF0HFFFFFH共16个单元,用以存放一条无条件转移指令 的代码,转移到系统的初始化部分。习题与思考:18086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调 工作的? 28086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各 在什么情况下置位? 38086/8088系统中储存器的逻辑地址和物理地址之间有什么关系?表示的范围各为多 少? 4已知当前数据段位于储存器的A1000H到B0FFFH范围内,问DS=? 5某程序数据段中存有两个数据字1234H和5A6BH,若已知DS=5AA0H,它们的偏 移地址分别为245AH和3245H,试画出它们在储存器中的存放情况。第三章8086的指令系统与程序设计l 教学目的:了解8086CPU的指令系统以及在指令中为取得操作数所使用的寻址方式;对机器的指令系统有一定的体会,并能读懂一般的汇编语言源程序以及能够编制一定的简单的汇编语言程序。l 教学重点:8086 CPU的七种寻址方式;基本指令中的数据传送指令、算术运算指令、控制转移指令、串操作指令以及中断指令五类;汇编语言源程序的格式,包括汇编语言的基本语句以及常用的伪指令;汇编语言程序设计中的三种基本的结构化程序设计:顺序结构、分支结构、循环结构以及子程序设计。l 教学难点:基本指令中的入栈和出栈指令;输入/输出型指令;算术运算中的几种BCD码调整指令以及串操作指令;伪指令(指示性语句);结构化程序设计中的循环结构和子程序设计。l 教学方法及手段:采用课堂讲授与上机练习相结合的教学方式,安排综合练习作业,其中一部分要求上机实现。适时安排习题课,便于巩固知新。l 学时分配:18个学时(其中10个学时的课堂讲授,8个学时的上机操作)l 教学内容:汇编语言及8086指令系统的基本概念、指令操作数的寻址方式、基本指令的用法以及一些简单的编程技巧;汇编语言编程的全过程,结构化的汇编语言程序设计方法以及程序的调试运行等等。l 自学内容:基本指令中的处理器控制指令;汇编语言语句中操作数中的数字常数和字符串常数以及IBM PC-DOS系统功能的调用。l 课外作业:课后习题:P125 3;P126 10、11;补充题:一题;P129 35、36备课笔记:3.1 8086的寻址方式1指令的组成及格式。指令的一般格式:操作码操作数操作数2指令的寻址方式寻址方式就是指令中用于说明操作数所在地址的方法, 8086的基本寻址方式有七种。(1)立即寻址 所提供的操作数直接包含在指令中。它紧跟在操作码 的后 面,与操作 码一起放在代码段区域中。如图所示。例如:MOV AX,3000H立即数可以是8位的,也可以是16位的。若是16位的,则存储时低位在前,高位在后。立即寻址主要用来给寄存器或存储器赋初值。(2)直接寻址 操作数地址的16位偏移量直接包含在指令中。它与操作码起存放在代码段区域,操作数一般在数据段区域中,它的地址为数据段寄存器DS加上这16位地址偏移量。如下图所示。例如: MOV AX,DS:2000H;(对DS来讲可以省略成 MOV AX,2000H, 系统默认为数据段)这种寻址方法是以数据段的地址为基础,可在多达64KB的范围内寻找操作数。8086中允许段超越,即还允许操作数在以代码段、堆栈段或附加段为基准的区域中。此时只要在指令中指明是段超越的,则16位地址偏移量可以与CS或SS或ES相加,作为操作数的地址。MOV AX,2000H ;数据段MOV BX,ES:3000H ;段超越,操作数在附加段即绝对地址(ES)*163000H(3)寄存器寻址 操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等。例如:MOV DS,AXMOV AL,BH(4)寄存器间接寻址 操作数是在存储器中,但是,操作数地址的16位偏移量包含在以下四个寄存器SI、DI、BP、BX之一中。可以分成两种情况:(1) 以SI、DI、BX间接寻址,则通常操作数在现行数据段区域中,即数据段寄存器(DS)16加上SI、DI、BX中的16位偏移量,为操作数的地址,例如: MOV AX, SI 操作数地址是:(DS)*16+(SI)(2) 以寄存器BP间接寻址,则操作数在堆栈段区域中。即堆栈段寄存器(SS)16与BP的内容相加作为操作数的地址, 例如:MOV AX,BP 操作数地址是:(SS)*16+(BP)若在指令中规定是段超越的,则BP的内容也可以与其它的段寄存器相加,形成操作数地址。例如: MOV AX,DS:BP 操作数地址是:(DS)*16+(BP)(5)寄存器相对寻址 由指定的寄存器内容,加上指令中给出的8位或16位偏移量(当然要由一个段寄存器作为地址基准)作为操作数的偏移地址。(操作数在存贮器中)可以作为寄存器变址寻址的四个寄存器是SI、DI、BX、BP。a. 若用SI、DI和BX作为变址,则与数据段寄存器相加,形成操作数的地址即默认在数据段;b. 若用BP变址,则与堆栈段寄存器相加,形成操作数的地址即默认在堆栈段例如: MOV AX,COUNTSI;操作数地址是:(DS)*16+(SI)+COUNT但是,只要在指令中指定是段超越的,则可以用别的段寄存器作为地址基准。(6) 基址变址寻址 把BX和BP看成是基址寄存器,把SI、DI看着是变址 寄存器,把一个基址寄存器(BX或BP)的内容加上一个变址寄存器(SI或DI)的内容,再加上指令中指定的8位或16位偏移量(当然要以一个段寄存器作为地址基准)作为操作数的偏移地址,如图所示。操作数在存贮器中,其偏移地址由(基址寄存器)(变址寄存器)相对偏移量形成基址寄存器BX:数据段、BP:堆栈段;变址寄存器SI、DI。例如:MOV AX,BXSI 或 MOV AX,BX+SI也可放置一个相对偏移量,如COUNT 、MASK等等,用于表示相对寻址。MOV AX,MASKBXSI MOV BH,COUNTDIBP;MOV BH,COUNTBP+DIl 若用BX作为基地址,则操作数在数据段区域l 若用BP作为基地址,则操作数在堆栈段区域但若在指令中规定段是超越的,则可用其它段寄存器作为地址基准。 表2-1 段寄存器使用的基本约定访问存储器类型默认段寄存器可指定段寄存器段内偏移地址来源取指令码CS无IP堆栈操作SS无SP串操作源地址DSCS、ES、SSSI串操作目的地址ES无DIBP用作基址寄存器SSCS、DS、ES根据寻址方式求得有效地址一般数据存取DSCS、ES、SS根据寻址方式求得有效地址(7) 相对基址变址寻址操作数的EA是一个基址R和一个变址R与8/16位位移量之和。PA=10H*(DS)+(BX)+(SI)/(DI)+dPA=10H*(SS)+(BP)+(SI)/(DI)+d 例如:MOV AX,MAXBXSI MOV DX,VALBPSI 为堆栈操作提供方便。3.2 8086的指令系统321 概述(1)指令系统的分类 8086指令系统共包含133条基本指令,按其实现的功能不同,可以分为7类:a.数据传送指令 b.算术运算指令c.逻辑运算、移位、循环移位指令 d.控制转移指令e.串操作指令 f.中断指令g.处理器控制指令(2) 指令格式描述的约定具体见课本P42322数据传输指令主要介绍 MOV,XCHG、堆栈和翻译指令一通用型1、数据传送MOV指令一般格式:MOV OPRD1,OPRD2MOV 是操作码,OPRD1和OPRD2分别是目的操作数和源操作数。功能:完成数据传送具体来说,一条数据传送指令能实现:(1)CPU内部寄存器之间数据的任意传送(除了代码段寄存器CS和指令指针IP以外)。(2)立即数传送至CPU内部的通用寄存器组(即AX、 BX、CX、DX、BP、SP、SI、DI)。(3)CPU内部寄存器(除了CS和IP以外)与存储器(所有寻址方式)之间的数据传送。(4)能实现用立即数给存储单元赋值对于MOV 指令应注意几个问题:见课本2、堆栈指令(简述堆栈的概念及存取特点,如先进后出)包括入栈(PUSH)和出栈(POP)指令两类。仅能进行字运算。(操作数不能是立即数)(1) 入栈指令PUSH一般格式:PUSH OPRD源操作数可以是CPU内部的16位通用寄存器、段寄存器(CS除外)和内存操作数(所有寻址方式)。入栈操作对象必须是16位数。功能:将数据压入堆栈执行步骤为:SP=SP-2;SP=操作数低8位;SP+1= 操作数高8位例如:PUSH BX执行过程为:SP=SP-1,SP=BH;SP=SP-1,SP=BL,图所示。 (2) 出栈指令POP一般格式:POP OPRD功能:将数据弹出堆栈对指令执行的要求同入栈指令。例如:POP AX POP BX POP DS3、交换指令 XCHG一般格式:XCHG OPRD1,OPRD2功能:完成数据交换这是条交换指令,把一个字节或一个字的源操作数与目的操作数相交换。交换能在通用寄存器与累加器之间、通用寄存器之间、通用寄存器与存储器之间进行。但段寄存器和立即数不能作为一个操作数,不能在累加器之间进行。3.2.3 算术运算指令8086提供加、减、乘、除四种基本算术操作。这些操作都可用于字节或字的运算,也可以用于带符号数与无符号数的运算。带符号数用补码表示。同时8086也提供了各种校正操作,故可以进行十进制算术运算。参与加、减运算的操作数可如上图所示。 1、加法指令 (Addition)(1)一般形式:ADD OPRD1,OPRD2 功能:OPRD1OPRD1+OPRD2完成两个操作数相加,结果送至目的操作数OPRD1。目的操作数可以是累加器,任一通用寄存器以及存储器操作数。 这些指令对标志位CF、DF、PF、SF、ZF和AF有影响。(2) 带进位的加法一般形式:ADC OPRD1,OPRD2;功能:OPRD1OPRD1+OPRD2 +CF这条指令与上条指令类似,只是在两个操作数相加时,要把进位标志CF的现行值加上去,结果送至目的操作数。ADC指令主要用于多字节运算中。若有两个四字节的数,已分别放在自FIRST和SECOND开始的存储区中,每个数占四个存储单元。存放时,最低字节在地址最低处,则可用以下程序段实现相加。这条指令对标志位的影响与ADD相同。(3) 加1指令一般形式:INC OPRD ;功能:OPRDOPRD+1完成对指定的操作数OPRD加1,然后返回此操作数。此指令主要用于在循环程序中修改地址指针和循环次数等。这条指令执行的结果影响标志位AF、OF、PF、SF和ZF,而对进位标志没有影响。2、减法指令(Subtraction)(1)一般形式:SUB OPRD1,OPRD2 ;功能:OPRD1OPRD1-OPRD2完成两个操作数相减,也即从OPRD1中减去OPRD2,结果放在OPRD1中。(2) 带借位的减法一般形式:SBB OPRD1,OPRD2 ;功能:OPRD1OPRD1-OPRD2-CF 这条指令与SUB类似,只是在两个操作数相减时,还要减去借位标志CF的现行值本指令对标志位AF、CF、OF、PF、SF和ZF都有影响。同ADC指令一样,本指令主要用于多字节操作数相减。(5)减1指令一般形式:DEC OPRD ;功能:OPRDOPRD-1-CF对指令的操作数减1,然后送回此操作数,在相减时,把操作数作为一个无符号二进制数来对待。指令执行的结果,影响标志AF、OF、PF、SF和ZF但对CF标志不影响(即保持此指令以前的值)。(6)求补指令一般形式:NEG OPRD 功能: (NEGDate)取补对操作数取补,即用零减去操作数,再把结果送回操作数。若在字节操作时对-128,或在字操作时对-32768取补,则操作数没变化,但标志OF置位。此指令影响标志AF、CF、OF、PF、SF和ZF。此指令的结果一般总是使标志CF=1。除非在操作数为零时,才使CF=0。(7) 比较指令一般形式:CMP OPRD1,OPRD2 ;功能: OPRD1-OPRD2比较指令完成两个操作数相减,使结果反映在标志位上,但并不送回结果(即不带回送的减法)。比较指令主要用于比较两个数之间的关系。在比较指令之后,根据ZF标志即可判断两者是否相等。l 相等的比较:若两者相等,相减以后结果为零,ZF标志为1,否则为0。若两者不相等,则可在比较指令之后利用其它标志位的状态来确定两者的大小。l 大小的比较:如果是两个无符号数(如CMPAX,BX)进行比较,则可以根据CF标志的状态判断两数大小。若结果没有产生借位(CF=0),显然AXBX;若产生了借位(即CF1),则AXBX。其它具体见课本所列图表所示。3、乘法指令(分为无符号乘法指令和带符号乘法指令两类)(1) 无符号乘法指令MUL 一般格式: MUL OPRD 完成字节与字节相乘、字与字相乘,且默认的操作数放在AL或AX中,而源操作数由指令给出。8位数相乘,结果为16位数,放在AX中;16位数相乘结果为32位数,高16位放在DX,低16位放在AX中。注意:源操作数不能为立即数。(2) 带符号数乘法指令IMUL 一般格式:IMUL OPRD ;OPRD 为源操作数这是一条带符号数的乘法指令,同MUL一样可以进行字节与字节、字和字的乘法运算。结果放在AX或DX,AX中。当结果的高半部分不是结果的低半部分的符号扩展时,标志位CF和OF将置位。(3)非压缩十进制数的乘法校正指令 具体见课本P734除法指令(1) 无符号数除法指令 DIV一般格式:DIV OPRD(2) 带符号数除法IDIV一般格式:IDIV OPRD该指令执行过程同DIV指令,但IDIV指令认为操作数的最高位为符号位,除法运算的结果商的最高位也为符号位。在除法指令中,在字节运算时被除数在AX中;运算结果商在AL中,余数在AH中。字运算时被除数为DX:AX构成的32位数,运算结果商在AX中,余数在DX中。例如:AX=2000H,DX=200H,BX=1000H,则 DIV BX执行后,AX=2002H ,DX=0000。除法运算中,源操作数可为除立即寻址方式之外的任何一种寻址方式,且指令执行对所有的标志位都无定义。由于除法指令中的字节运算要求被除数为16位数,而字运算要求被除数是32位数,在8086/80
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高分辨率成像系统性能验证方案
- 蚕茧烘烤工岗位职业健康及安全技术规程
- 重冶火法精炼工创新思维考核试卷含答案
- 公司润滑油调合操作工合规化技术规程
- 殡葬礼仪师岗后竞赛考核试卷含答案
- 兽医考证考试题库及答案
- 混凝土模板工保密意识水平考核试卷含答案
- 春望阅读考试题目及答案
- 纳米结构表面改性-第2篇-洞察与解读
- 秋季开学应急处置预案(3篇)
- 从实验室到病床的突破之旅
- 高三试卷:绵阳市高中2025届第一次诊断性考试数学
- 环境暴露组与表观组关联研究-洞察及研究
- 建筑工程技术标课件
- GB/T 21995-2025饲料中硝基咪唑类药物的测定液相色谱-串联质谱法
- 零碳园区建设实施方案
- 2024年湖北省蕲春县民政局公开招聘试题带答案详解
- 工程变更管理培训
- 《高级财务会计》形考任务1-5参考答案
- 儿童矮小症科普课件
- 2025至2030年中国碳纤维自行车行业竞争格局分析及未来发展潜力报告
评论
0/150
提交评论