微型计算机原理及应用教案_第1页
微型计算机原理及应用教案_第2页
微型计算机原理及应用教案_第3页
微型计算机原理及应用教案_第4页
微型计算机原理及应用教案_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型计算机原理及应用教案 微机原理及接口技术授课地点3教楼xx第一讲计算机基础知识本讲目的了解计算机中数的表示本讲要求掌握二进制、十六进制和带符号数的表示以及BCD码、ASCII码本讲重点十六进制数和补码本讲难点负数的补码表示授课内容 一、数与数制 1、十进制记数法在十进制记数中,用0,1,2,?,9这10个符号来表示数量,无论多大的数,都是用这10个符号的组合来表示的。 例如,十进制数3758可用上面的法则来表示 (3758)10=3103+7102+5101+8100根据同样的法则,也可以表示十进制小数,小数点的右边各位的权为10-1,10-2,10-3,?。 例如,十进制数275.368可以用上述法则写成(275.368)10=2102+7101+5100+310-1+610-2+810- 32、二进制记数法二进制记数法用来表示数量的符号只有两个,就是0和1。 二进制数中的任何一个0或1称为比特(bit)。 例如,二进制数110101可以表示为 (110101)2=125+124+023+122+021+1 203、二进制数与十进制数的相互转换二进制数转换成十进制数如上所述,只要将二进制数的每一位乘上它的权然后加起来就可以求得二进制数的十进制数值。 例如,二进制数101101.11换算成十进制数为(101101.11)2=125+024+123+122+021+120+12-1+12-2=(45.75)10十进制数转换成二进制数十进制数转换为二进制数的方法分两步进行。 例如,欲将十进制数175.71875转换为二进制数,其过程如下第一步1752=87-余数为-1872=43-1432=21-1212=10-1102=5-052=2-122=1-012=0-1得到结果 (175)10= (10101111)2。 第二步将十进制小数0.71875转换成二进制小数,其过程如下0.718752=1.4375-取整数部分-10.43752=0.875-00.8752=1.75-10.752=1.5-10.52=1.0-1微机原理及接口技术授课地点3教楼xx得到结果(0.71875)10=(0.10111)2。 综上所述,一个十进制整数的二进制转换方法就是“除2取余”;而一个十进制小数的二进制转换方法就是“乘2取整”。 若一个十进制数既包含整数部分又包含小数部分,它的二进制转换就是将它的整数部分和小数部分用上述方法分别进行转换,最后将转换好的两部分结合在一起形成要转换的二进制数,例如,(175.71875)10=(10101111.10111) 24、八进制记数法例如,八进制数372.01,根据各位的权不同可以写成(372.01)8=382+781+280+08-1+18-2将上式中各位与其权相乘而后加到一起,就可以得到八进制数372.01的十进制数为(372.01)8=(250.015625)10这也表明了八进制数转换为十进制数的过程。 十进制数转换为八进制数的方法是对于十进制整数采用“除8取余”的方法转换为八进制整数;对于十进制小数则采用“乘8取整”的方法转换为八进制小数。 例如,将十进制数194.46875转换成八进制数时,应将整数部分和小数部分分别转换,最后再合到一起就得到要转换的八进制数1948=24余数为20.468758=3.75整数部分3248=300.758=6.0638=03所以,(194.46875)10=(302.36)8二进制数转换成八进制数的方法就是从小数点起,把二进制数每三位分成一组,然后写出每一组的等值八进制数,顺序排列起来就得到所要求的八进制数。 例如,将二进制数11101111010.1011转换为八进制数(011101111010.101100)2(3572.54)8依据同样的思想,即一位八进制数用三位二进制数表示,就可以直接将八进制数转换成二进制数。 例如,将八进制数712.46转换为二进制数,其过程如下(712.46)8(111001010.100110) 25、十六进制记数法十六进制记数法中,09的表示与十进制相同,用A表示 10、B表示 11、C表示 12、D表示 13、E表示 14、F表示15。 “逢16进1”。 例如,十六进制数E5D7.A3可以表示为(E5D7.A3)16=E163+5162+D161+7160+A16-1+316-2又如,将(47632.78125)10转换成十六进制数,其过程如下整数部分4763216=2977余数016进制数0297716=186111816=1110A1116=011B小数部分0.7812516=12.5整数12C0.516=8.088最后得到(47632.78125)10=(BA10.C8)16。 微机原理及接口技术授课地点3教楼xx由于一位十六进制数可以用四位二进制数来表示,因此二进制数与十六进制数的相互转换就比较容易。 二进制数到十六进制数的转换是由小数点开始,每四位二进制数为一组,将每一组用相应的一位十六进制数来表示,即可得到正确的十六进制数,例如(11101010010110111.010111101010)2(1D4B7.5E A)16 二、十进制数与字符的编码表示 1、BCD码把十进制数转换为其等值的二进制数称之为BCD编码(如表1.1所示)。 表1.1BCD码与其它数制的对应关系根据上述说明,一个十进制数,能够很方便地用BCD码来表示。 例如,十进制数859用BCD码表示为 (859)10= (100001011001)BCD只要熟记十进制数09与BCD码的对应关系,则它们之间的相互转换是十分方便的。 例如(011010010101.001001111001)BCD=(695.279)10 2、ASCII码ASCII码是美国标准信息交换码的简称,现在为各国所广泛采用。 通常,ASCII码由7位二进制编码来表示,用于微处理机与它的外部设备之间进行数据交换以及通过无线或有线进行数据传送。 代表上述字符或控制功能的ASCII码是由一个4位组和一个3位组构成的,形成7位二进制编码,其格式为4位组3位组根据ASCII码的构成格式,可以很方便地从附录A中ASCII表查出每一个字符或特殊控制功能的编码。 例如,大写英文字母A,从表中查出其3位组为 (100)2,4位组为 (0001)2,故构成字母A的ASCII编码为 (1000001)2或 (41)16。 十进制数8421B CD码纯二进制数000000000100010001xx000103001100114010001005010101016011001107011101118100010009100110011000010000101011000100011011120001001011001300010011110114000101001110150001010111110123456微机原理及接口技术授课地点3教楼xx 三、二进制算术运算 1、二进制加法二进制加法与十进制加法相类似,所不同的是,二进制加法中是“逢二进一”,其法则为0+0=0;1+0=1;0+1=1;1+1=0并进位例如,两个二进制数相加10110101+ 100011101010000112、二进制减法在二进制减法中,同样有如下法则0-0=0;1-0=1;1-1=0;0-1=1有借位当不够减时需要借位,高位的1等于下一位的2,即“借一当二”。 例如,两个二进制数相减10110100- 01010111010111013、二进制乘法二进制乘法与十进制乘法是一样的。 但因为二进制数只由0和1构成,因此,二进制乘法更简单。 其法则如下00=0;10=0;01=0;11=1例如,二进制数1101.1与101.1相乘1101.1被乘数(13.5)10101.1乘数(5.5)10110111101100000+110111001010.01乘积(74.25)10再看下面的例子 (1011)2 (1101)21011被乘数 (11)101101乘数 (13)10101100001011+101110001111乘积 (143) 4、二进制除法二进制除法是乘法的逆运算,其方法与十进制除法是一样的,而且二进制数仅由0,1构成,做起来更简单。 例如,求二进制数100111除以110的商的方法如下微机原理及接口技术授课地点3教楼xx110.11101001111101111101101100 四、符号数的表示及其运算 1、符号数的表示方法表示一个带符号的二进制数有3种方法。 原码法例如,8位二进制符号数(45)10和(45)10,可以按如下写出(45)10= (00101101)2符号位数值位(45)10= (10101101)2符号位数值位反码法在计算机的早期,曾采用反码法来表示带符号的数。 对于正数,其反码与其原码相同。 例如,(45)10= (00101101)2也就是说正数用符号位与数值凑到一起来表示。 对于负数,用相应正数的原码各位取反来表示,包括将符号位取反,取反的含义就是将0变为1,将1变为0。 例如,(45)10的反码表示就是将上面(45)10的二进制数各位取反(45)10= (11010010)2同样,可以写出如下几个数的反码表示,以便读者对照(+4)10= (00000100)2(-4)10= (11111011)2(+7)10= (00000111)2(-7)10= (11111000)2(+122)10= (01111010)2(-122)10= (10000101)2补码法在微处理机中,符号数是用补码(对2的补码)来表示的。 用补码法表示带符号数的法则是正数的表示方法与原码法和反码法一样;负数的表示方法为该负数的反码表示加1。 例如,(+4)10的补码表示为 (00000100)2,而(-4)10用补码表示时,可先求其反码表示 (11111011)2,而后再在其最低位加1,变为 (11111100)2。 这就是(-4)10的补码表示,即(-4)10= (11111100)2。 同样,我们把前面提到的几个数的补码表示如下(+7)10= (00000111)2(-7)10= (11111001)2(+122)10= (01111010)2(-122)10= (10000110)2微机原理及接口技术授课地点3教楼 xx2、补码的运算例如,有两个二进制数10000100和00001110,当规定它们是不带符号的数时,则它们分别表示 (132)10和 (14)10。 将这两个二进制数相加10000100+0000111010010010当遇到两个数相减时,处理器就自动地将减数取补,而后将被减数和减数的补码相加来完成减法运算。 例如 (69)10 (26)10=?可以写成 (69)10+(26)10。 利用 (69)10的原码和 (26)10的补码相加,即可以得到正确的结果。 例如,两个带符号的数 (01000001)2(十进制数+65)与 (01000011)2(十进制数+67)相加01000001+0100001110000100(结果有溢出)再来看两个负数 (10001000)2和 (11101110)2的相加情况。 10001000+11101110101110110(结果有溢出)此外,在微处理机中还会遇到不带符号数的运算。 例如,两个无符号数 (11111101)2和 (00000011)2相加11111101+00000011100000000(最高位有进位) 五、数的定点表示和浮点表示 1、数的定点表示法当小数点固定在最高有效位的前面时,定点数为纯小数,其格式为当小数点固定在数的末尾时,定点数为整数。 2、数的浮点表示法在十进制中,一个数可以写成多种表示形式。 例如,83.125可写成1020.83125,1030.083125,1040.0083125等等。 同样,一个二进制数,也可以写成多种表示形式。 例如,二进制数1011.10101可以写成240.101110101,250.0101110101,260.00101110101等等。 可以看出,一个二进制数能够用一种普遍的形式来表示2F其中E称为阶码,F叫做尾数。 我们把用阶码和尾数表示的数叫做浮点数,这种表示数的方法称为浮点表示法。 在浮点表示法中,阶码通常为带符号的整数,尾数为带符号的纯小数。 浮点数的表示格式如下小数点符号MSB?LSB符号阶码符号尾数微机原理及接口技术授课地点3教楼xx很明显,浮点数的表示不是唯一的。 当小数点的位置改变时,阶码也随着相应改变,可以用多种形式来表示同一数。 若浮点数的表示格式为1位R位1位P位则可以看到,用这种编码所能表示的数的数值范围为?)12(22RP数值)12 (2)21(?RP前面的二进制数1011.10101可以用包括符号在内的8位阶码,16位尾数的规格化形式表示如下阶码尾数阶符尾符小数点 六、小结 1、数制、BCD码和ASCII码。 2、补码表示法及其运算。 七、习题P171.1,1.2,1.6,1.8第二讲微型计算机系统概述(一)本讲目的了解微型计算机系统的组成及各部分的功能本讲要求掌握微型计算机系统的基本结构本讲重点硬件系统和软件系统本讲难点最小模式、最大模式及微型计算机的工作过程授课内容 一、微型计算机系统的基本结构 1、微型计算机系统的组成及各部分的功能1.1硬件系统微型计算机硬件系统如图2.1所示。 符号阶码符号尾数000001000101110101000000微机原理及接口技术授课地点3教楼2018图2.1微型计算机的硬件结构微型计算机主要由如下几个部分组成微处理器或称中央处理单元(CPU)、内部存贮器(简称内存)、输入输出接口(简称接口)及系统总线。 (1)CPU CPU是一个复杂的电子逻辑元件,它包含了早期计算机中的运算器、控制器及其他功能,能进行算术、逻辑及控制操作。 (2)内存顾名思义,所谓内存就是指微型计算机内部的存贮器。 (3)系统总线所谓总线就是用来传送信息的一组通信线。 由图2.1可以看到系统总线将构成微型机的各个部件连接到一起,实现了微型机内部各部件间的信息交换。 (4)接口连接主机(CPU+内存)与外设间的通道。 由于微型计算机广泛地应用于各个部门和领域,所以连接的外部设备是各式各样的。 1.2软件系统微型计算机软件系统包括系统软件和应用软件两大类。 (1)系统软件系统软件用来对构成微型计算机的各部分硬件,如CPU、内存、各种外设进行管理和协调,使它们有条不紊高效率地工作。 (2)应用软件应用软件是针对不同应用,实现用户要求的功能软件,例如,Inter网点上的Web页、各部门的MIS程序、CIMS中的应用软件以及生产过程中的监测控制程序等等。 2、微型计算机的工作过程CPU进行简单的算术运算或逻辑运算,或从存贮器取数,将数据存放于存贮器,或由接口取数或向接口送数,这些都是一些基本动作,也称为CPU的操作。 用微型计算机求解“7+10=?”这样一个极为简单的问题,必须利用指令告诉计算机该做的每一个步骤,先做什么,后做什么。 具体步骤就是7AL AL+10AL其含义就是把7这个数送到AL里面,然后将AL中的7和10相加,把要获得的结果存放在AL里。 把它们变成计算机能够直接识别并执行的微机原理及接口技术授课地点3教楼2019程序如下1011000000000111第一条指令0000010000001010第二条指令11110100第三条指令利用助记符加上操作数来表示指令就方便得多了。 上面的程序可写成MOV AL,7ADD AL,10HLT程序中第一条指令将7放在AL中;第二条指令将AL中7加上10并将相加之和放在AL中;第三条指令是停机指令。 当顺序执行完上述指令时,AL中就存放着要求的结果。 二、8088 (8086)CPU 1、概述8088是8080和8085的改进型。 像8080和8085一样,它的指令是以字节为基础构成的,它的性能的提高,主要依赖于采取了以下一些特殊措施。 建立4字节的指令预取队列;设立地址段寄存器;在结构上和指令设置方面支持多微处理器系统。 图2.2为一般8位处理器与8088处理器指令执行过程对比。 2、8088CPU引线及其功能8088CPU是一块具有40条引出线的集成电路芯片,其各引出线的定义如图2.3所示。 为了减少芯片的引线,有许多引线具有双重定义和功能,采用分时复用方式工作,即在不同时刻,这些引线上的信号是不相同的。 2.1最小模式下的引线在最小模式下,8088CPU的引线如图2.3所示(不包括括号内的信号)。 图2.2一般8位处理器与8088处理器指令执行过程对比(a)一般8位处理器的指令执行过程;(b)8088处理器的指令执行过程微机原理及接口技术授课地点3教楼xx0RD图2.38088处理器芯片引线图表2.1S4,S3的状态编码S4S3所代表段寄存器00数据段寄存器01堆栈段寄存器10代码段寄存器或不使用11附加段寄存器8088CPU的引线信号分别是A16A19/S3S6:这是4条时间复用、三态输出的引线。 A8A15它们是三态输出引线。 在CPU寻址内存或接口时,由这些引线送出地址A8A15。 在某种特殊情况下,这些引线也可以处于高阻状态。 AD0AD7它们是地址、数据时分复用的输入输出信号线。 其信号是经三态门输出的。 IO/M它是CPU的输出(三态)控制信号,用来区分当前操作是访问存贮器还是访问I/O端口。 WR它是CPU的输出控制信号(三态)。 该引脚输出为低电平时,表示CPU正处于写存贮器或写I/O端口的状态。 DT/R:该引脚是CPU的输出控制信号(三态),用于确定数据传送的方向。 DEN这是CPU经三态门输出的控制信号。 ALE三态输出控制信号,高电平有效。 微机原理及接口技术授课地点3教楼xx1它是读选通输出信号(三态),低电平有效。 READY它是准备就绪输入信号,高电平有效。 INTR它是可屏蔽中断请求输入信号,高电平有效。 TEST它是可用WAIT指令对该引脚进行测试的输入信号,低电平有效。 NMI它是非屏蔽中断输入信号,边沿触发,正跳变有效。 RESET它是CPU的复位输入信号,高电平有效。 INTA它是CPU输出的中断响应信号,是CPU对外部输入的INTR中断请求信号的响应。 HOLD它是高电平有效的输入信号,用于向CPU提出保持请求。 SSO是一条状态输出线。 CLK这个是时钟信号输入端。 V CC它是5V电源输入引脚。 GND它是接地端。 表2.2复位后的内部寄存器状态内部寄存器内容内部寄存器内容状态寄存器清除SS寄存器0000H IP0000H ES寄存器0000H CS寄存器FFFFH指令队列寄存器清除DS寄存器0000H表2.3复位后各引脚的状态2.2最大模式下的引线当MN/MX加上低电平时,8088CPU工作在最大模式之下。 此时,除引线24到34之外,其他引线与最小模式完全相同。 微机原理及接口技术授课地点3教楼xxxxS SS这是最大模式下由8088CPU经三态门输出的状态信号。 10/GT RQGT RQ、它们是总线请求允许引脚。 LOCK它是一个总线封锁信号,低电平有效。 QS 1、QS0它是CPU输出的队列状态信号。 HIGH在最大模式时始终为高电平输出。 表2.1为S4,S3的状态编码,表2.2为复位后的CPU内部寄存器的状态,表2.3为复位后各引脚的状态 三、小结微型计算机的硬件系统和软件系统、微型计算机的工作过程以及8088 (8086)CPU的最小工作模式和最大工作模式 四、习题P1084.6,4.12第三讲微型计算机系统概述(二)本讲目的了解8088 (8086)CPU的内部结构和存贮器寻址本讲要求掌握8088 (8086)处理器中的内部寄存器和存贮器物理地址的计算本讲重点内部寄存器的使用和物理地址的形成本讲难点存贮器的分段和段寄存器的使用约定及标志寄存器授课内容 一、8088 (8086)CPU的内部结构 1、8088CPU的内部结构8088微处理器内部分为两个部分执行单元(EU)和总线接口单元(BIU),如图3.1所示。 EU单元负责指令的执行。 它包括ALU(运算器)、通用寄存器和状态寄存器等,主要进行16位的各种运算及有效地址的计算。 2、8088处理器中的内部寄存器在8088处理器中,用户能用指令改变其内容的,主要是一组内部寄存器,其结构如图3.2所示。 (1)数据寄存器 (2)指针寄存器 (3)变址寄存器 (4)控制(标志位)寄存器(如图3.3所示)C进位标志位Z零标志位I中断允许标志位P奇偶标志位A半加标志位S符号标志位D方向标志位O溢出标志位微机原理及接口技术授课地点3教楼xx3T陷阱标志位(单步标志位) (5)段寄存器表3.1为内部寄存器的主要用途。 二、存贮器寻址 1、由段寄存器、段偏移地址确定物理地址20位的物理地址是这样产生的(如图3.4所示)物理地址=段寄存器的内容16+偏移地址在第二讲的表2.2中已经表明,复位时CS的内容为FFFFH,IP的内容为0000H。 复位后的启动地址由CS段寄存器和IP的内容(作为偏移量)共同决定,即启动地址=CS16+IP=FFFF0H+0000H=FFFF0H 2、段寄存器的使用段寄存器的设立不仅使8088的存贮空间扩大到1MB,而且为信息按特征分段存贮带来了方便。 在存贮器中,信息按特征可分为程序代码、数据、微处理器状态等。 如图3.5所示。 图3.18088微处理器的内部结构微机原理及接口技术授课地点3教楼xx4图3.28088CPU的内部寄存器150图3.3状态寄存器图3.4物理地址的形成图3.5各段寄存器的使用情况下面对表3.2中的内容做简要说明如下在各种类型的存贮器访问中,其段地址要么由“默认”的段寄存器提供,要么由“指定”的段寄存器提供。 O DI TS ZA PC微机原理及接口技术授课地点3教楼xx5段寄存器DS、ES和SS的内容是用传送指令送入的,但任何传送指令不能向段寄存器CS送数。 表中“段内偏移地址”一栏指明,除了有两种类型访问存贮器是“依寻址方式求得有效地址”外,其它都指明使用一个16位的指针寄存器或变址寄存器。 3.1内部寄存器的主要用途表3.2段寄存器使用时的一些基本约定 三、小结8088 (8086)CPU的内部结构、存贮器寻址。 四、习题P1074.2,4.3,4.4第四讲微型计算机系统概述(三)本讲目的了解8088 (8086)CPU的时序和两种工作模式下的总线形成本讲要求掌握8088 (8086)CPU存贮器读写时序和最小、最大模式下的总线形成本讲重点存贮器读写时序和最小工作模式下的总线形成本讲难点时序图和总线信号的产生授课内容 一、时序微机原理及接口技术授课地点3教楼xx6在8088CPU中,CPU与内存或接口需进行通信。 如将一个字节写入内存一个单元(或接口),或者从内存某单元(或某接口)读一个字节到CPU,这种读(或)写的过程称为一个总线周期。 8088的读总线周期和写总线周期分别表示在图4.1和图4.2中。 图4.18088的读总线周期图4.28088的写总线周期 二、系统总线的形成 1、几种常用的芯片1.带有三态输出的锁存器在形成8088 (86)系统总线时,常用到具有三态输出的信号锁存器8282和8283。 除前者是正相输出而后者是反相输出外,8282和8283的其他性能完全一样。 其引线如图4.3所示。 2.单向三态门驱动器将数个三态门集成在一块芯片中构成单向三态门驱动器,其种类非常多。 其中74系列的244就是经常使用的一种三态门驱动器。 其引线如图4.4所示。 微机原理及接口技术授课地点3教楼xx7从图4.4可以看到,两个控制端分别控制4个三态门。 当其控制端加上低电平时,相应的4个三态门导通;加高电平时,三态门呈高阻状态。 3.双向三态门驱动器对于数据总线,可采用双向驱动器。 在构成系统总线时,常用8286和8287。 两者除8286是正相的,8287是反相的外,其他的完全相同。 8286和8287的框图如图4.5所示。 图4.3具有三态输出的锁存器 2、最小模式下的系统总线形成最小模式下,系统总线形成如图4.6所示。 这里说明两点系统总线的控制信号是8088CPU直接产生的。 若8088CPU驱动能力不够,可以加上74LS244进行驱动。 现在形成的系统总线上不能进行DMA传送,因为未对系统总线形成器件( 8282、8286)做进一步控制。 若需要时,可参阅本节后面的内容,当然也可以考虑用HLDA来参与控制。 微机原理及接口技术授课地点3教楼xx8图4.4单向三态门74LS244图4.5双向三态门驱动器 3、最大模式下的系统总线的形成在图4.7中,8282和8286可分别用74LS373和74LS245代替。 在此图中同样没有考虑在系统总线上实现DMA传送的问题。 下面提到的在PC/XT系统总线上所采用的DMA传送方法是一种解决方案。 总的原则就是,在进行DMA传送时,一定要保证总线形成电路的所有输出信号端都呈现高阻状态,即放弃对系统总线的控制。 微机原理及接口技术授课地点3教楼xx9图4.68088最小模式下总线形成图4.78088最大模式下总线形成 4、PC/XT微型机总线的形成PC/XT微型机选用8088CPU。 它同样工作在最大模式之下。 但是,与图4.7不同的是,在PC/XT系统总线上,可以实现DMA传送。 PC/XT微型机系统总线的形成如图4.8所示。 微机原理及接口技术授课地点3教楼xx0图4.8PC/XT微型机系统总线形成 三、小结存贮器读写时序图和最小工作模式下的总线形成。 四、习题P1084.8,4.10微机原理及接口技术授课地点3教楼xx1第五讲86系列微型计算机的指令系统(一)本讲目的学习8088 (8086)的各种寻址方式本讲要求掌握8088 (8086)各种寻址方式在指令中的应用本讲重点寻址方式本讲难点各种寻址方式的理解授课内容 一、8088的寻址方式 1、说明操作数所在地址的寻址方式1)立即寻址这种寻址方式所提供的操作数直接包含在指令中。 它紧跟在操作码的后面,与操作码一起放在代码段区域中,如图5.1所示。 例MOV AX,im其中,立即数im可以是8位的,也可以是16位的。 若是16位的,则imL在低地址字节,imH在高地址字节。 图5.1立即寻址示意图2)直接寻址操作数地址的16位段内偏移地址直接包含在指令中,它与操作码一起存放在代码段区域。 操作数一般在数据段区域中,它的地址为数据段寄存器DS加上这16位的段内偏移地址,如图5.2所示。 例MOV AX,DS2000H指令中的16位段内偏移地址的低字节在前,高字节在后。 这种寻址方法以数据段的段地址为基础,故可在多达64KB的范围内寻找操作数。 本例中,取数的物理地址就是DS的内容16(即左移4位),变为20位,再在其低端16位上加上偏移地址2000H。 偏移地址2000H是由指令直接给出的。 3)寄存器寻址操作数包含在CPU的内部寄存器中,例如AX、BX、CX、DX等,如图5.3所示。 例MOV DS,AX虽然操作数可存放在CPU内部任意一个通用寄存器中,而且它们都能参与算术或逻辑运算并存放运算结果,但是,AX是累加器,若将结果存放在AX中的话,通常指令执行时间要短一些。 微机原理及接口技术授课地点3教楼xx2图5.2直接寻址示意图图5.3寄存器寻址示意图4)寄存器间接寻址在这种寻址方式中,操作数存放在存贮器中,操作数的16位段内偏移地址却放在以下4个寄存器SI、DI、BP、BX中之一。 由于上述4个寄存器所默认的段寄存器不同,这样又可以分成两种情况若以SI、DI、BX进行间接寻址,则操作数通常存放在现行数据段中。 此时数据段寄存器内容加上SI、DI、BX中的16位段内偏移地址,即得操作数的地址,如图5.4所示。 例MOV AX,SI图5.4寄存器间接寻址示意图微机原理及接口技术授课地点3教楼xx3若以寄存器BP间接寻址,则操作数存放在堆栈段区域中。 此时堆栈段寄存器内容加上BP中的16位段内偏移地址,即得操作数的地址,如图5.5所示。 例MOV AX,BP图5.5BP间接寻址示意图5)寄存器相对寻址在这种寻址方式中,操作数存放在存贮器中。 操作数的地址是由段寄存器内容加上SI、DI、BX、BP之一的内容,再加上由指令中所指出的8位或16位相对地址偏移量而得到的,如图5.6所示。 在一般情况下,若用SI、DI或BX进行相对寻址时,以数据段寄存器DS作为地址基准,而用BP寻址时,则以堆栈段寄存器作为地址基准。 例MOV AX,DISPSI图5.6寄存器相对寻址示意图6)基址、变址寻址在8088中,通常把BX和BP作为基址寄存器,而把SI、DI作为变址寄存器。 将这两种寄存器联合起来进行的寻址就称为基址、变址寻址。 这时,操作数的地址应该是段寄存器内容加上基址寄存器内容(BX或BP内容),再加上变址寄存器内容(SI或DI内容)而得到的,如图5.7所示。 同理,若用BX作为基地址,则操作数应放在数据段DS区域中;若用BP作为基地址,微机原理及接口技术授课地点3教楼xx4则操作数应放在堆栈段SS区域中。 例MOV AX,BXSI图5.7基址、变址寻址示意图7)基址、变址、相对寻址这种方式实际上是第6种寻址方式的扩充。 即操作数的地址是由基址、变址方式得到的地址再加上由指令指明的8位或16位的相对偏移地址而得到的,如图5.8所示。 例MOV AX,DISPBXSI图5.8基址、变址、相对寻址示意图8)隐含寻址在有些指令的指令码中,不仅包含有操作码信息,而且还隐含了操作数地址的信息。 例如乘法指令MUL的指令码中只需指明一个乘数的地址,另一个乘数和积的地址是隐含固定的。 这种将操作数的地址隐含在指令操作码中的寻址方式就称为隐含寻址。 2、说明转移地址的寻址方式1)段内相对寻址在这种寻址方式中,指令应指明一个8位或16位的相对地址位移量DISP(它有正负符号,用补码表示)。 此时,转移地址应该是代码段寄存器CS内容加上指令指针IP内容,再加上相对地址位移量DISP,如图5.9所示。 微机原理及接口技术授课地点3教楼xx5例JMP DISP1图5.9段内相对转移示意图图5.9中,1000H是CPU读取这条指令的位移量50H后IP的内容。 所以,该指令使CPU转向21050H去执行。 图5.10段内间接寻址示意图2)段内间接寻址在这种寻址方式中,转移地址的段内偏移地址要么存放在一个16位的寄存器中;要么存放在存贮器的两个相邻单元中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论