ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:62.04KB ,
资源ID:8243366      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8243366.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理课件.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理课件.docx

1、微机原理课件第一章 计算机基础知识第一节 计算机中的运算基础一、数制及其转换 1)任意进制数的共同特点(n进制)n=2、8、10、16 、n进制数最多是由n个数码组成十进制数的组成数码为:09二进制数的组成数码为:0、1八进制数的组成数码为:07十六进制数的组成数码为:09、AF十六进制数和十进制数的对应关系是:09相同,A-10,B-11,C-12,D-13,C-14,F-15、n进制数的基数或底数为n,作算术运算时,有如下特点:低位向相邻高位的进位是逢n进1(加法);低位向相邻高位的借位是以1当本位n(减法)。、各位数码在n进制数中所处位置的不同,所对应的权也不同。以小数点为分界点:向左(

2、整数部分):各位数码所对应的权依次是n0、n1、n2,向右(小数部分):各位数码所对应的权依次是n-1、n-2、n-3,权:数制每一位所具有的值。2)数制的转换 、非十进制数十进制数转换方法:按位权展开求和例:101.11B = 1*22+1*20+1*2-1+1*2-2= 4+1+0.5+0.25= 5.75F94H = 15*162+9*161+4*160= 3988注意点:只有十进制数的下标可以省略,其他进制数不可以省略。、十进制数非十进制数(K进制数)转换方法:分成小数和整数分别转换。整数部分:除K取余,直至商为0,先得的余数为低位;小数部分:乘K取整,先得的整数为高位。例:把3988

3、转换成16进制数例:0001,1010,1110,1101,1011.0100B 1 A E D B 4 H若十六进制数转换为二进制数,则将每一位拆成4位。3)模的概念 模:恒量一个存储单元的最大容量也是一个机器所能处理的最大数据。若a和b除以M,余数相等,则称a和b对于M 是同余的,则可以写成:a = b(mod M)容器的最大容量称为模。可写成:KM + X = X (mod M)4)有符号数在计算机中的表示方法在计算机中,一个有符号数可以用原码、补码和反码表示。A) 共同规律:、用0表示正号,用1表示负号,且摆放在数据的最高位,有符号数和无符号数表示的根本区别在于无符号数的最高位是数值位

4、,有符号数的最高位是符号位;、同一正数的原、补、反码都相同。、定义区间均对模2n而言,其中n表示有符号数的二进制代码 位数。B)其它规律:、任一负数的原码和对应的正数(绝对值相等)的原码仅是符号位不同;、任一负数的反码是表示其符号位为1,数值位取反;、任一负数的补码是其反码的最低位加1;、从定义区间上看原码和反码的定义区间相同,是 2n-1X2n-1;补码的定义区间是 2n-1X2n-1;、0的原码、反码有+ 0和- 0之分;0的补码只有一种表达方式。例1:设X = +97 求X原、X反、X补 (mod 28)解:97=110 0001BX原=0110 0001B;X反=X补=0110 000

5、1B。例2:设X = -97, 求X原、X反、X补 (mod 28)解:97=110 0001BX原=1110 0001B;X反=1001 1110B;X补=1001 1111B。例3:设X = -137 求X原、X反、X补 (mod 29)解:137=1000 1001BX原=11000 1001B;X反=10111 0110B;X补=10111 0111B。5)带符号数运算时的溢出问题A)、溢出和进位的区别:进位是指最高位向更高位的进位溢出是指运算结果超出数所能表示的围。带符号数所能表示的范围:(若用n位二进制数码表示)原码:-(2n-1-1)X2n-1-1补码:-2n-1X2n-1-1反

6、码:-(2n-1-1)X2n-1-1B)、溢出的判断方法:设CD_A是符号位向更高位的进位,CD_B是数值位向符号位的进位,则溢出可用V=CD_ACD_B判断,V=1表示有溢出,V=0表示无溢出。对于加减法,也可以这样判断,只有下述4中情况有可能产生溢出:正数+正数,结果应为正,若为正,则无溢出;若为负,则有溢出。负数+负数,结果应为负,若为负,则无溢出;若为正,则有溢出。正数-负数,结果应为正,若为正,则无溢出;若为负,则有溢出。负数-正数,结果应为负,若为负,则无溢出;若为正,则有溢出。对于乘(除)法,乘积(商)超过了能存放的范围有溢出,否则无溢出。其它情况肯定无溢出。C)、注意点:无符号

7、数和带符号数表示方法的区别:无符号数:无符号位,所有位都是数值位,即最高位也是数值位;带符号数:有符号数,且在最高位,其余各位才是数值位。二进制数的减法运算例如:Y11(10)8(10)=? (mod 25)Y11(10)8(10)11(10)(8(10)11(10)补(8(10)补11(10)原01011B8(10)原11000B8(10)反10111B8(10)补11000B01011B11000B00011B6)、基本名词位 :BIT,缩写为b; 字节 :BYTE,由8位二进制数代码表示,缩写为B; 字 : WORD,取决于计算机CPU的字长,内部寄存器的位数,其中8086CPU为16位

8、,386、486CPU为32位; 千字节:1KB = 1024B = 210B , 兆字节:1MB = 220B, 吉字节:1GB = 230B=1024MB 太字节:1TB = 240B=1024GB 第二节:计算机中数据的编码一、十进制数在计算机中的表示方法BCD(Binary Coded Decimal)是用4位二进制代码表示一位十进制数,由于4位二进制代码表示16种状态,而十进制数只取其中10种状态。选择不同的对应规律,可以得到不同形式的BCD码。最常用的是8421BCD码。由于在机内采用BCD码进行运算绕过了二进制、十进制间的复杂转化环节,从而节省了机器时间。例:59 = (0101

9、,1001)BCD 465 = (0100,0110,0101)BCD (011010000010)BCD = (0110,1000,0010)BCD = 682注意点:BCD码与二进制数之间不能直接转换,需将BCD码先转换成十进制数,再由十进制数转换为二进制数。与十六进制数的区别在于:组内逢2进1,组间逢十进1。二、字符在计算机中的表示方法由于大、小写英文字母、09数字字符、标点符号、计算机特殊控制符一共不超过128个,所以只要用七位二进制数码来表示,称为ASCII码。国际标准为ISO-646,我国国家标准为GB1988。在计算机中,一个字符通常用一个字节(八位)表示,最高位通常为0或用于奇

10、偶校验位。例: A= 41H = 01000001B 0= 30H = 00110000B a= 61H = 01100001B ; = 3BH = 00111011BISO2022标准在兼容ISO646的基础上扩展成8位码,可表示256个字符,扩充了希腊字母、数学符号、非拉丁字符、商用图符,游戏符号等。三、机器数和真值机器数:是摆在计算机寄存器或存储器或I/O端口中的数;真 值:描述机器数对应于某一确定的码制就有唯一确定的值。例:机器数34H,用原码表示为+52;用反码表示为+52;用补码表示为+52;用BCD码表示为34;用ASCII码表示为4。即+52原=+52反=+52补=34H34B

11、CD = 34H4ASCII = 34H机器数97H,用原码表示为-23;用反码表示为-104;用补码表示为-105;用BCD码表示为97;用ASCII码表示为ETB。第三节:数的定点和浮点表示一、数的定点和浮点表示定点表示:又称整数表示,小数点在数中的位置是固定不变的;浮点表示:又称实数表示,小数点在数中的位置是浮动的。一个任意实数,在计算机内部可以用指数(为整数)和尾数(为纯小数)来表示,用指数和尾数表示实数的方法称为浮点表示法。对于任意一个二进制数N,可用N=S*2P表示,其中S为尾数(二进制数),表示N的全部有效数字P为阶码(二进制数)指明小数点的位置2为阶码的底,当阶码P为固定值时,

12、数的这种表示法称为定点表示,这样的数称为定点数;当阶码为可变时,数的这种表示法称为浮点表示,这样的数称为浮点数。一个实数可表示成一个纯小数与一个乘幂之积。如 1011.101=0.10111012100 -0.0010011=-0.10011210-110001101=-0.11000110121001表示浮点数时指数选用什么编码?尾数的格式和小数点位置如何确定?起初不同的计算机有不同的规定,产生了相互间数据格式的不兼容。为此,IEEE制定了有关标准,并被普遍采用。浮点数的长度可以是32位、64位甚至更长,分阶码和尾数两部分。阶码位数越多,可表示的数的范围越大;尾数越多,所表示的数的精度越高。

13、第二章 8086/8088微处理器及其系统结构第一节 8086/8088CPU一、总线接口部件BIU与执行部件EU1、总线接口部件BIU:由4个16位段寄存器,一个16位指针寄存器。20位物理地址加法器,6字节指令队列(8088为4字节)及总线控制电路组成。负责与存储器及I/o端口 的数据传送,既BIU。根据执行部件EU计算出的16位偏移地址及16位段积存器提供的16位段地址,通过地址加法器产生20位物理地址。根据EU单元的请求,用20位物理地址对存储器进行读/写操作,也可对I/O口进行读/写操作。无论8086还是8088都会在执行指令的同时,从内存中取下面一条或几条指令放在指令队列中。2、执

14、行部件EU:执行部件由ALU、寄存器阵列、标志寄存器FR、控制器等几个部分组成。其任务就是从指令队列中流取出指令,然后分析和执行指令,还负责计算操作数的16位偏移地址。3、BIU和EU的管理BIU和EU非同步工作,其管理原则为:(1)指令队列有2个字节节空(8086)时, BIU会自动把下一条指令取到指令队列中。(2)EU在执行指令过程中,如果必须访问存储器或I/O设备,则EU会自动请求BIU进入总线周期去完成访问存储器或I/O操作,此时若BIU空闲,就会立即完成EU请求。否则BIU将首先完成自己,将指令取至指令队列中的任务,再响应EU的请求。(3)当指令队列已满,而EU又无请求时,BIU进入

15、空闲状态。(4)当EU执行转移类,调用及返回指令时,EU将不再用指令队列中顺序装入的指令。此时指令队列中原有的内容被自动清除,而BIU会接着将另一程序段的指令装入指令队列EU和BIU这种并行的工作方式极大地提高了CPU的工作效率。二、系统总线总线是部件之间进行数据(电信号)交换的通道。80x86计算机的系统总线分为3类:数据总线地址总线控制总线1、数据总线数据总线是用来传递数据的,定义了CPU在每个内存周期所能存取数据的位数。80x86系列CPU的数据总线为8位、16位、32位或64位。这就是“为什么通常的数据存取是以8位、16位、32位或64位进行的”。数据总线越宽,处理能力越强。具有N位数

16、据总线并不意味着CPU只能处理N位数据。2. 地址总线地址总线用来指出数据的地址(内存或I/O)。地址总线的位数决定了最大可编址的内存与I/O空间。对于N位地址总线,CPU可以提供2N个不同地址:02N -1。地址总线由内存与I/O子系统共享使用(I/O只用低16位)。3. 控制总线控制总线用来控制CPU与内存和I/O设备之间的数据传送方(如传送方向)。三、80x86 CPU的寄存器组1. 通用寄存器8位通用寄存器8个:AL、AH、BL、BH、CL、CH、DL、DH。16位通用寄存器8个:AX、BX、CX、DX、SI、DI、BP、SP。32位通用寄存器8个:EAX、EBX、ECX、EDX、ES

17、I、EDI、EBP、ESP。AL与AH、BL与BH、CL与CH、DL与DH分别对应于AX、BX、CX和DX的低8位与高8位。AX、BX、CX、DX、SI、DI、BP和SP分别对应于EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP的低16位。AX:累加器,用累加器进行的操作可能需要更少时间,累加器可用于乘、除、输入/出操作,它的使用频率很高。BX:基地址寄存器,可作为存储器指针来使用。CX:计数寄存器,在循环和字符串操作时,要用它来控制循环次数,在位操作中,当移多位时,要用CL来指明移位的位数。DX:数据寄存器,在进行乘、除时,可作默认的操作数参与运算,也可用于存放I/O的端口地址

18、。寄存器:由触发器组成成一个触发器就是一个一位寄存器,由多个触发器可以组成一个多们寄存器。缓冲寄存器-用以暂存数据。移位寄存器-能够提供所有存注数据一位一位地向左或 向右移。计数器-一个计数脉冲到达时,会按二进制数的规律累 计脉冲数。累加器-用以暂存每次ACU中计算的中间结果。存储器:是计算机的主要组成部分,它即可用来存储数据,也可用以存放计算机的运算程序。存储器由寄存器组成,可以看作是一个程序寄存器堆。每个存储单元数据实际上相当于一个缓冲寄存器,可分为只读存储器(ROM),随机存储器(RAM)。数据寄存器:主要用来存储保存操作数和运算结果等信息,从而节省读取操作数所须占用总线和访问存储器的时

19、间。SI、DI称为变址寄存器,它们主要用于存放存储单元在内的偏移量,用它们可实现多种存储器操作数的寻址方式。为以不同的地址形式访问存储单元提供方便。变址寄存器不可分割成8位寄存器,作为通用寄存器,也可存放逻辑运算的操作数和运算结果。BP、SP称为指针寄存器,主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式。乃以不同的地址形式访问存储单元提供方便。同上,不可分,也可存数据。它们主要用于访问堆栈内的存储单元,并且规定:BP为基指针寄存器,用它可直接存取堆栈中的数据。SP为堆栈指针寄存器,用它只可访问栈顶。SI和DI分别用来存放字符串处理时,源操作数段内偏移地址和目的操作数

20、段内偏移地址,故分别称作源变址寄存器和目的变址寄存器。2. 专用寄存器指令指针:EIP(32位)、IP(16位)。IP是EIP的低16位。标志寄存器:EFLAGS(32位)、FLAGS(16位)。FLAGS是EFLAGS的低16位。表2-1 寄存器的隐含用法标志寄存器标志寄存器(Flag Register)共有16位,其中7位未用。标志寄存器内容如图所示:(1)状态(条件)标志 (2)控制标志OFDFIFTFSFZFAFPFCF3. 段寄存器6个16位的段寄存器:CS、DS、ES、SS、FS和GS。FS、GS以及所有32位寄存器是从80386 CPU开始引入的。第二节 堆栈的概念一、堆栈的概念

21、堆栈是在存储器中划出的一块连续存储区,这个连续存储区的底端是固定的。另一端是活动的,可以上下进行浮动。所有出入这个存储区的信息都要从活动的一端出入,即堆栈中的数据遵循先进后出,后进先出的原则。在任何时刻,栈顶总是指向最后一个存入堆栈的数据的存储单元。由图可知当TOP小于等于BOTTOM时堆栈为空,不存放任何数据;当堆栈存有数据时候,TOP大于BOTTOM。二、8086/8088堆栈的组织在8086/8088系统中堆栈是由堆栈寄存器SS指定一段内存储区。堆栈的底P是堆栈段的最大地址单元。堆栈顶P(栈顶)由堆栈指针SP指向,SP中始终包含有段地址(起始地址)与栈顶之间的距离(字节数)。当堆栈初始化

22、,SP的值为堆栈的长度(这时它指向栈底+1的单元)。如上图所示,由于SP是16位寄存器,因此堆栈的深度(长度,即能存放的字节数)最大是64KB.(88)。8086/8088堆栈是按字进行组织,每次在堆栈中存取的数据都是两个字节。第三节 8086的系统组一、8086存储器的分段结构8086 CPU中有四个段寄存器:CS,DS,SS和ES,这四个段寄存器存放了CPU当前可以寻址的四个段的基值,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段,如图2-7所示。图2-7 当前可寻址的存储器段(堆栈段和附加段重叠)二8086存储器的逻

23、辑地址与物理物理地址:内存单元的实际地址,也就是出现在地址总线上的地址。逻辑地址:或称分段地址,记作段地址: 段内偏移地址 段地址表示段在内存中的起始位置,通常被保存在某个段寄存器中。段内偏移地址表示内存单元相对于段起始位置的位移,简称偏移地址,也叫有效地址EA。段地址与偏移地址都是16位。系统采用下列方法将逻辑地址自动转换为20位的物理地址:物理地址 = 段地址 16 + 偏移地址每个内存单元具有唯一的物理地址,但可由不同的逻辑地址描述。8086存储器的逻辑地址与物理地址8086 CPU中的每个存储元在存储体中的位置都可以使用实际地址和逻辑地址来表示。逻辑地址可表示为段首地址:偏移地址CPU

24、访问存储器时,要形成20位的物理地址,即先找到某段,再找到该段内的偏移量。换句话说,CPU是以物理地址访问存储器的, 三8086存储器20位物理地址的形成在80868088存储空间中,把16字节的存储空间称作一节(Paragraph)。为了简化操作,要求各个逻辑段从节的整数边界开始,也就是说段首地址低4位应该是“0”,因此就把段首地址的高16位称为“段基址”,存放在段寄存器DS或CS或SS或ES中,段内的偏移地址存放在IP或SP中。 例如,代码段寄存器CS2000H,指令指针寄存器存放的是偏移地址IP2200H,存储器的物理地址为20000H+2200H22200H 第三章 8086的寻址方式

25、第一节 概述一、 概念1、指 令:让计算机完成某种操作的命令。指令的集合称作指令系统。指令的符号用规定的英文字母组成称为助记符。2、语 言:计算机中真正可以处理的只是由 “0” “1”组成的二进制代码。这种指令代码易出错且不易修改,由于依赖于机器,使 用极不方便,使人们发明了“指令的助记符”,用几个字母(往往就是其含义的英文单词或缩写)代替某条指令。如加法用ADD表示,这种符号系统的扩大就是汇编语言,使用汇编语言编程。优点是运行效率高,可直接对硬件内部进行控制。缺点是对硬件有更深入的了解,而且编程效率不高,并且与机器的体系结构仍有一定的依赖关系。3、汇编程序:由于机器并不能直接识别和运行用汇编

26、程序编制出的程序,必须先转换成对应的机器代码指令,这项工作不用手工完成,仅须交给称为“汇编程序”的软件处理一下,即可得到可以直接运行的程序。人们将用汇编程序编出的程序称为“源程序”称用汇编程序处理后的程序为“目的程序”。二、指令的组成指令的组成指令由操作码和操作数两部分组成操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分用一个唯一的助记符表示(指令功能的英文缩写),对应着机器指令的一个二进制编码操作数是指令执行的参与者,即各种操作的对象,可以是一个具体的数值,可以是存放数据的寄存器,或指明数据在主存位置的存储器地址例:START:MOV AL,80H

27、;将16进制数80H送入AL标号是给指令所在地址取的名字注释本身只用来对指令功能加以说明,给阅读程序带来方便,汇编程序对它不做任何处理。有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数三、寻址方式指令系统设计了多种操作数的来源寻找操作数的过程就是操作数的寻址操作数采取哪一种寻址方式,会影响机器运行的速度和效率如何寻址一个操作数对程序设计很重要第二节 8086的机器代码格式一、8086的机器代码格式1/2字节0/1字节0/1/2字节0/1/2字节mov ax,BP+0 ;机器代码是 8B 46 00前一个字节8B是操作码(含w1表示字操作)中间一个字节46(

28、01 000 110)是 “mod reg r/m”字节reg000表示目的操作数为AXmod01和r/m110表示源操作数为BP+D8最后一个字节就是8位位移量D800二、 其他机器代码形式 mov al,05 ;机器代码是B0 05前一个字节B0是操作码(含一个操作数AL),后一个字节05是立即数mov ax,0102H ;机器代码是B8 02 01前一个字节B8是操作码(含一个操作数AX),后两个字节02 01是16位立即数(低字节02在低地址)三、指令的助记符格式操作码 操作数1,操作数2 ;注释操作数2,称为源操作数 src,它表示参与指令操作的一个对象操作数1,称为目的操作数 de

29、st,它不仅可以作为指令操作的一个对象,还可以用来存放指令操作的结果分号后的内容是对指令的解释传送指令MOV的格式 MOV dest,src ;destsrc MOV指令的功能是将源操作数src传送至目的操作数dest,例如: MOV AL,05H ;AL05H MOV BX,AX ;BXAX MOV AX,SI ;AXDS:SI MOV AX,BP+06H ;AXSS:BP+06H MOV AX,BX+SI ;AXDS:BX+SI传送指令MOV的功能第三节 立即数寻址方式一、 定义指令中的操作数直接存放在机器代码中,紧跟在操作码之后(操作数作为指令的一部分存放在操作码之后的主存单元中)这种操

30、作数被称为立即数imm,它可以是8位数值i8(00HFFH)也可以是16位数值i16(0000HFFFFH),立即数寻址方式常用来给寄存器赋值二、 立即数寻址指令MOV AL,05H ;AL05HMOV AX,0102H ;AX0102H第四节 寄存器寻址方式一、 定义操作数存放在CPU的内部寄存器reg中,可以是:8位寄存器r8:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器r16:AX、BX、CX、DX、SI、DI、BP、SP4个段寄存器seg:CS、DS、SS、ES二、 寄存器寻址指令MOV AX,1234H ;AX1234HMOV BX,AX ;BXAX第五节 存储器寻址方式一、 定义及分类指令中给出操作数的主存地址信息(偏移地址,称之为有效地址EA),而段地址在默认的或用段超越前缀指定的段寄存器中8086设计了多种存储器寻址方式 1、直接寻址方式

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1