第一章计算机的运算基础与微型机

上传人:M****1 文档编号:568224602 上传时间:2024-07-23 格式:PPT 页数:70 大小:1.10MB
返回 下载 相关 举报
第一章计算机的运算基础与微型机_第1页
第1页 / 共70页
第一章计算机的运算基础与微型机_第2页
第2页 / 共70页
第一章计算机的运算基础与微型机_第3页
第3页 / 共70页
第一章计算机的运算基础与微型机_第4页
第4页 / 共70页
第一章计算机的运算基础与微型机_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《第一章计算机的运算基础与微型机》由会员分享,可在线阅读,更多相关《第一章计算机的运算基础与微型机(70页珍藏版)》请在金锄头文库上搜索。

1、 微型计算机 原理及应用 (64学时) 主讲教师:主讲教师: 左冬红左冬红 TEL: 61048876 前言前言一、目的一、目的 学习微型计算机的学习微型计算机的基本组成原理、结基本组成原理、结构、特点、接口、指令、汇编语言程序构、特点、接口、指令、汇编语言程序设计设计软件硬件结合软件硬件结合,以达到,以达到把手伸到把手伸到计算机内部计算机内部的目的。的目的。 本课程以本课程以Intel 80X86微机,即微机,即PC系系列微机为硬件范例,来讨论微机的构成列微机为硬件范例,来讨论微机的构成原理,以及存储器、输入输出接口芯片原理,以及存储器、输入输出接口芯片与与CPU的接口方法。的接口方法。二、

2、特点二、特点技术性,实践性较强实验课单独设课:计划学时48,课表学时48296计算机硬件系列课程:微机原理,微机原理实验,微机应用系统课程设计,单片机(任选)。三、教材及参考书三、教材及参考书微机原理与接口技术 (北方交大)朱定华微机应用系统设计 (华工)朱定华等谢瑞和等编著/微型计算机原理与接口技术基础教程 / 科学出版社/ 2005.8四、成绩与考试平时成绩20作业,上机调试。期末考试80闭卷。五 教学内容安排运算基础与微型机的基本结构运算基础与微型机的基本结构(1 1章)章)汇编语言和汇编程序设计汇编语言和汇编程序设计(2 2,3,3章章)8086/80888086/8088的总线与时序

3、的总线与时序 (4 4章)章)微机接口技术微机接口技术v存储器和存储器和I/OI/O接口接口(5,65,6章)章)v中断中断(Interrupt)(Interrupt)控制控制(7 7章)章)v常用可编程接口芯片常用可编程接口芯片 (8(8章章) )第一章第一章 计算机的运算基础与微型计算机的运算基础与微型机的基本结构机的基本结构 1.1 计计算机的数和算机的数和编码编码系系统统一一.计计算机中的算机中的数制数制-任何数都可以用一组统一的符号和规则表示.1.常用数制常用数制-二,十,十六进制.* 计算机的数是以器件的物理状态来表示的,计算机由数字器件组成,所以全部用二进制表示.* 因为目前微机

4、都是8,16,32位,都是四的整数倍,24=16,为书写方便,而广泛使用十六进制数.* 为符合人们日常习惯,而使用十进制数.2.为防止二义性为防止二义性,约定约定:* 数后带D或不带任何符号,则为十进制数;* 带B为二进制数;* 带H为十六进制数.如如: 100,即一百;100B,即四;100H,即256.3. 十十,二二,十六进制十六进制数间的关系数间的关系如下表如下表(P1.表表1-1).4.任一个任一个J进制数进制数N都可表示为都可表示为按权展开多项式按权展开多项式 NJ=Ki*Ji其中:Ki可取0,1,(J-1)的任一数码符号. Ji-权(即数的基值). J-基数,常用J=2,10,1

5、6.例例:525.15=5*102+2*101+5*100+1*10-1+5*10-2 1101.11B=1*23+1*22+0*21+1*20+1*2-1+1*1-2 4CD.2H=4*162+12*161+13*160+2*16-15.数制间的数制间的转换转换 二十六:从小数点开始,每四位一组,与表对应即可.如:0010 1011 1101 B 3 A 5 C H 2 B D H 0011 1010 0101 1100 B十二,十六:二,十六十:利用按权展开多项式,相乘,相加,即可.如:11.11B=1*21+1*20+1*2-1+1*2-2=3.75 11H=1*161+1*160=17

6、十十二二,十六十六:整数-除“基”取余法, 小数-乘“基”取整法.如:39=27H=100111B 16 39 2 39 16 2 7 2 19 1 0 2 2 9 1 2 4 1 2 20 2 10 01即用基16或2不断地去除待转换的十进制数, 直到商为0,将其余数倒序排列即可.如如: 0.75=0.11B=0.1100B=0.CH 0.75 0.75 * 2 * 16 1.50 450 * 2 + 75 1.0 12.00即用基2或16不断地去乘待转换的十进制小数, 将每次所得的整数依次排列, 直到乘积为0或满足精度要求为止.二二.带符号数的表示带符号数的表示1.机器数与真值机器数与真值

7、-连同符号位在一起编码的数机器数;其数值部分为机器数的真值. 机器中的数也应有正负之分,约定一个数的最高位为符号位: 0正数,1负数.如:X1=+91=0101 1011B=5BH ; +101 1011B,即91为其真值。如:X2=-91=1101 1011B=DBH ; -101 1011B 若把机器数的符号位也当作数值的数无符号数;如无符号数: DBH=219为了运算方便,带符号数有三种表示法原码,反码,补码.2.原码原码 按上述表示按上述表示,正数的符号正数的符号0,负数的符负数的符号号1,数值部分用其绝对值表示数值部分用其绝对值表示. 如: 91原=0101 1011B=5BH 91

8、原=1101 1011B=DBH 注:以A-F开头的数,约定前面加0;即写 成:0DBH原码表示的数,8位数中,D7位为符号位,其余7位为数值位(为真值的绝对值).原码表示简单易懂,且与真值转换方便,但内部运算复杂,为简化计算机结构,而引进反码和补码.3.反码反码正数的反码与原码相同正数的反码与原码相同,负数的反码为负数的反码为它的它的正数的反码按位取反正数的反码按位取反.如:X1=+91反=0101 1011B=5BH X2=-91反=1010 0100B=0A4H如:+4反=0000 0100B=04H -4反=1111 1011B=0FBH +127反=0111 1111B=7FH -1

9、27反=1000 0000B=80H +0反=0000 0000B=00H -0反=1111 1111B=0FFH注:一个负数的反码的数值部分并不是其真值的绝对值,要按位取反才能求得真值的绝对值.4.补码补码正数的补码与原码相同正数的补码与原码相同,负数的补码为它的负数的补码为它的正数的补码按位求反正数的补码按位求反,且在最低位加且在最低位加1(求反加求反加1).如: +91补=0101 1011B=5BH -91补=1010 0101B=0A5H如: +4补=0000 0100B=04H -4补=1111 1100B=0FCH +127补=0111 1111B=7FH -127补=1000

10、0001B=81H +0补=0000 0000B=00H -0补=0000 0000B=00H注:一个补码表示的数,最高位为0正数,其余位为其真值;最高位为1负数,其余位并不表示真值的绝对值,必需再求补,才得其真值的绝对值.如:已知X补=94H=1001 0100B数值位求补 -110 1100B=-6CH=-108说明:微机中,凡是带符号数约定用补码表示(除非特殊申明).数可用8位或16位或32位(即2位或4位或8位16进制数)表示一个数称为字节,字,双字类型.如:+4补=04H 字节表示 +4补=0004H字表示 -4补=1111 1100B=0FCH字节表示 -4补=1111 1111

11、1111 1100B=0FFFCH字表示例说明16位补码实际上是8位补码的符号扩展,即一个二进制数的补码的符号位向左扩展若干位后,仍是该数的补码. 值得注意的是:只有最高位才是符号位,字节为D7位,字为D15位.* 进行数的转换时,应考虑数的表示范围:* 8位无符号数所能表示的范围:00H0FFH,即0255,即028-1.* 16位无符号数所能表示的范围:0000H0FFFFH,即065535,即0216.* 8位补码数所能表示的范围:80H7FH,即-128+127,即-27+27-1.* 16位补码数所能表示的范围:8000H7FFFH,即-32768+32767,即-215+215-1

12、. .引进补码的好处是为了内部简化运算,从而简化计算机硬件结构(因为2的补码,只要求反加1,硬件易于实现).例: 127-12=115 127+(-12)=115 0111 1111 0111 1111 - 0000 1100 + 1111 0100 0111 0011 1 0111 0011 因为超出表示范围,进位自然丢掉.(注意只是内部运算将减法变为补码加).作业: 第一章:1. 64,100,255 2. 2CH,0CADH,100H 3. +18,-18,+347,-347,+65530,-65530 4. 71H,0F8H,9350H三三.二进制数的运算二进制数的运算数字系统中可进行

13、两种基本运算:加减运算,利用加减运算可进行乘除及其它运算.1.二进制加法规则:0+0=00+1=1+0=11+1=0进位11+1+1=1进位1 ;实际两数相加,每位都有三个数操作.2.二进制减法规则:0-0=01-0=11-1=00-1=1借位1 ;实际两数相减,每位都有三个数操作3.无符号数的运算无符号数的运算(即即8位或位或16位均表示数值位均表示数值).(1).两个无符号数相加两个无符号数相加-两数相加两数相加,其和超过其所表其和超过其所表示的范围时示的范围时,就向更高位就向更高位产生进位产生进位-用用CF标志标志表表示示.如:3BH+0A4H=0DFH0FFH 0011 1011 01

14、11 1110 + 1010 0100 + 1100 0011 1101 1111 1 0100 0001 无进位:CF=0 有进位:CF=1(2).两个无符号数相减两个无符号数相减-被减数大于等于减数被减数大于等于减数,无借位无借位;被减数小于减数有借位被减数小于减数有借位,结果为负结果为负.如如: 7EH-35H=49H ; 45H-56H=-11H补=0EFH 0111 1110 0100 0101 - 0011 0101 - 0101 0110 0100 1001 1 1110 1111结果为补码无借位:CF=0 ; 有借位:CF=1结论:(1)两无符号数相加,无进位,则未超出范围;有

15、进位超出范围,但进位表示了更高位,只要对进位适当处理,结果正确.(2).无符号数相减,无借位,结果为正;有借位,结果为负,用补码表示. 所以,对无符号数运算,仅关心是否有进位或借位,便知结果情况.4.带符号数运算带符号数运算-两数进行运算两数进行运算,结果超出表结果超出表示范围就会产生示范围就会产生溢出溢出;用用OFH标志标志表示表示.例1.67H+5BH=0C2H127 ;超出范围,结果错. 0110 0111 + 0101 1011 1100 0010 ;结果为负,结果错,CF0,OF=1例2.-64H+(-40H)=-0A4H-128;超出范围,结果错. 1001 1100 + 1100

16、 0000 1 0101 1100;结果为正,结果错,CF1,OF=1例3.64H+(-40)H=24H127;OF=0 1=1;溢出例2.-64H-40H=-0A4H-128;OF=1 0=1;溢出例3.64H-40H=24H127;OF=1 1=0;无溢出四四.二进制编码二进制编码计算机所处理的各种信息(包括数值,文字,图像,声音)都是以若干二进制码的不同组合来表示的.1.ASCII码码-字符在机内的表示字符在机内的表示. 各种字符包括(字母,数字,标点符号)都用二进制编码表示,微机中普遍采用7位ASCII码,它用7位二进制编码表示,27=128个字符,PC机中用一个字节表示一个字符,机器

17、中将D7位认其为0.常用的ASCII码字符如下表(P10.表1-4).例如从键盘上输入 ABC123字符时,实际上机器内部存放41H,42H,43H,31H,32H,33H.又如:数45,用ASCII码表示为:34H,35H.当要显示输出98这个数时,必需先转换为39H,38H.2. BCD码码(1).BCD码的表示码的表示 因为二进制数不直观,人们习惯在输入输出时使用十进制数,不过十进制数也要用二进制编码来表示.一位十进制数用4位二进制编码表示方法很多,最常用的是8421BCD,关系如下表(P9.表1-3).十进数 0 1 2 3 4 5 6 7 8 9BCD码 0000 0001 0010

18、 0011 0100 0101 0110 0111 1000 1001根据BCD码的存放方式可分两种: 压缩型BCD-一字节中存放两个十进制数. 非压缩型BCD-一字节中存放一个十进制数. 例.97压缩型BCD1001 0111B=97H 97非压缩型BCD 0000 1001 0000 0111B=0907H非压缩型BCD,形式上象ASCII码,且也是一字节表示一个数,所以又称ASCII BCD.(2).BCD数的运算数的运算加法-BCD数低位与高位之间是“逢十进一”,而4位二进制数是“逢十六进一”,而计算机总是按二进制规律运算,所以运算时必需进行加6调整,以强迫进位.调整规则是:两个BCD

19、数相加,其和在09之间,则保持不变;其和大于9,则加6调整.例.37+36=73 0011 0111 + 0011 0110 0110 1101 + 0110 0111 0011 BCD数 通常在微机中设有二十进制调整电路,通过调用调整指令来实现调整.减法-同样BCD减法“借一为十”,而4位二进制数“借一为十六”,所以减6调整(多借了6).调整规则是:其差在09之间,则不变;其差大于9,则减6.例.37-19=18 0011 0111 - 0001 1001 0001 1110 - 0110 0001 1000 BCD数作业: 第一章、 5. (2),(4) 10. 38, 483, 1000

20、 11.313035H,38413543H1.2 微型计算机的结构和工作原理微型计算机的结构和工作原理一一.微型计算机的典型结构微型计算机的典型结构 微机的基本组成:微处理器CPU,总线,存储器,I/O接口,I/O设备.1.CPU-中央处理器,采用超大规模集成技术,将运算器和控制器集成在一块,具有运算和控制功能,是微机的控制核心部件.如Intel8088/8086,80286,80386,80486, Pentium.2.总线总线-传送信息的公共通道BUS,即把计算机各部分有机地连接在一起的一组并行导线.总线的表示- 或总线的宽度-总线上能同时传送二进制数的位数.总线的传送方向-单向和双向.

21、微机有三种总线三种总线:地址总线AB-传送CPU发出的地址,以便寻址存储单元或I/O端口.所以是输出方向.如:8086/8088的地址总线宽度为20位,用A19A0表示,可寻址220=1M的存储空间.数据总线DB-在CPU与存储器和I/O端口之间传送数据.既可输入,又可输出,所以为双向总线.如:8088的数据总线为8位;用D7D0表示.控制总线CB-传送各种控制信息;有的是CPU到存储器或I/O接口的控制信息,如:RD(读),WR(写);有的是I/O端口到CPU的信号,如INTR(中断请求),READY(准备就绪);所以总体上是双向的.带有上横线的表示低电平有效,无上横线的表示高电平有效.目前

22、典型微机外部都采用三总线结构,即CPU,存储器,I/O端口都通过三总线组合在一起;常称存储器,I/O端口挂在总线上. 所以微机的结构又常画成下面的形式: AB DB CB传送方式-总线实现了将属于不同来源的信息在一组统一的传输线上传送,但在某一特定时刻,总线上只允许传送一种信息,以免总线冲突,所以只能采用分时传送.CPU存储器I/O接口I/O设备 总线结构意味着微处理器的一个引脚可能接多个设备或功能部件,为实现分时传送,总线的接收端和发送端对各信息必需进行控制.所以与总线相接的常用器件是可控的三态门.微机中,存储器,I/O接口都是通过三态门连到总线上.不使用时,处在高阻抗状态,即相当于开路;于

23、是该部分电路便与总线脱离了关系;总线总是只和当前进行交换的电路联通.3.存储器存储器-存放程序和数据的部件.能够被CPU直接读写的存储器为内部存储器,间接读写的存储器为外存储器;在此指内存储器,即半导体存储器,包括RAM和ROM.存储器被分成许多小单元,称为存储单元,每个单元对应一个编号单元地址. 4.输入输出接口输入输出接口-I/O接口接口(interface) 输入输出设备不能直接挂在总线上,而是通过I/O接口再与总线相连,这是因为:(1).外设的工作速度远低于CPU的速度. (2).外设表示信息的格式与计算机不同. (3).接口还应向计算机报告设备的运行状态,传达计算机命令等-联络信号.

24、5.I/O设备设备-信息变换信息变换. 输入输出设备是人机联系的桥梁.待处理的数据和程序通过输入设备送入计算机,而结果通过输出设备告诉用户.二二.微机的工作原理微机的工作原理微处理器本身还不是一个微机,必需配备适当的存储器和I/O接口及必要的外设才能构成一个真正的微机;但上面介绍的还只是硬件,还必需配备软件.当人们要解决问题时,首先将问题程序化,形成指令序列,然后将它存入存储器中,再由CPU的控制器从存储器中逐条取出指令解释,并取出该指令要处理的操作数送往运算器中执行,最后输出程序结果.即“程序存储和程序控制”工作原理.这就是冯.诺依曼原理.1.3 Intel 8088/8086微处理器微处理

25、器一一.8088和和8086 1977年Intel率先推出了16位微处理器8086,能并行处理16位数据,它需要16位的存储器,16位DB,16位外设,而当时8位微机已经形成系列,配套外设都是8位的,为了利用现有的外设,Intel于1979年研制了8088.它与8086的内部结构完全一样,区别在于外部DB不一样,8086是16位DB,而8088是8位DB.所以称8088为准16位机.但它既能处理8位数据,又能处理16位数据.又如:386SX的内部DB为32位,而外部DB为16位,是准32位机.而386DX的内部和外部DB都是32位,是全32位机.但386SX的推出比386DX要晚些(价格便宜)

26、.而486SX的内外DB都是32位,但内部无协处理器.而486DX也是内外都是32位的DB,但内部有协处理器.实际上486就是在386的基础上增加了协处理器和高速缓冲存储器.二二.8088的功能结构的功能结构 . 按功能可分成两部分:执行部件EU和总线部件BIU.左边是EU,仅负责指令的执行;右边是BIU,负责从存储器或I/O中取取指令或数据.1.执行部件执行部件EU-负责指令的执行负责指令的执行,有有:16位的算术逻辑单元ALU-执行基本运算和处理.一组通用寄存器组-暂存操作数和及中间结果.一标志寄存器-寄存CPU的状态和控制标志.EU控制系统-队列控制和时序控制.2.总线接口单元总线接口单

27、元BIU-执行所有总线操作执行所有总线操作,按按EU的的要求与存储器或要求与存储器或I/O交换数据交换数据,即负责取指令送队列即负责取指令送队列中排队中排队,取操作数送取操作数送EU参与运算参与运算,有有:一组段寄存器-寄存段地址.一个指令指针IP-寄存指令的偏移地扯.地址加法器-将段地扯和偏移地址相加,形成20位的物理地址.指令队列缓冲器-寄存指令(80884个,80866个).3.执行方式执行方式-取指与执行取指与执行同步同步,独立独立,并行工作并行工作,从而从而大大提高了大大提高了CPU的处理速度的处理速度.CPU 取指 执行 取指 执行 这是顺序处理操作方式.8088: BIU 取指

28、取指 取指 EU 执行 执行 执行 这是流水线作业方式.而后续微机的发展,延续了这种流水线作业方式,将各部分功能逐步细化,从而不断提高运行速度.80286的内部由4个功能部件组成:总线部件,指令部件,地址部件(BIU), 执行部件.即在8088的基础上增加了指令部件和地址部件;四个部件分别进行同步,独立,并行地进行总线操作,实现流水线作业,避免顺序处理,最大限度地发挥了处理器的性能.80386的内部由6个功能部件组成:总线接口部件,指令译码部件,指令预取部件,执行部件,段管理部件,页管理部件.即在80286的基础上增加了指令译码和页管理两个部件.6部分分别进行同步,独立,并行操作,实现了高效的

29、流水线化作业.80486的内部由8个功能部件组成.增加浮点处理单元(FPU)和高速缓存(Cache memory) Pentium的内部由10个功能部件组成.cache分为指令Cache和数据Cache ,二级cache。三三.8088的寄存器结构的寄存器结构(Register)在微处理器中,都要设置寄存器暂存操作数或中间结果.CPU内部寄存器越多,使用就越灵活,速度就越快.8088共有14个寄存器,都是16位,可用其名称寻址.寄存器图如下.1.通用寄存器通用寄存器-8个-在EU部件中-寻址名称是:AX,BX,CX,DX,SP,BP,SI,DI.一般情况.它们都可以作通用寄存器,存放操作数,可

30、视为CPU内部的RAM单元.但每个寄存器又有其专门的用途,如下表示(P22.表1-5).AX,BX,CX,DX-既可以字寻址(16位),又可以字节寻址(8位),即可分成高8位和低8位.其名称为:AH,AL,BH,BL,CH,CL,DH,DL.2.指令指针指令指针-IP-存放将被执行的指令的偏移地址(其它微本中称为程序计数器PC).计算机之所以能脱离人的干预,自动地进行计算或控制,就是因为内部有一个能自动跟踪指令地址的硬件电路IP.在开始执行程序时,赋给IP第一条指令的地址,然后每取一条指令,IP的值就自动指向下一条指令的地址.3.状态标志寄存器状态标志寄存器-F-16位,但只有9位有效,表示9

31、个标志.-反映CPU的状态和运算结果情况.F的格式:D15 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0X X X X OF DF IF TF SF ZF X AF X PF X CF(2).条件标志条件标志-6个个-反映一条指令执行后反映一条指令执行后运算结果特征运算结果特征.CF-进位标志-CF=D7CY或D15CY 执行算术运算指令后,结果的最高位(字节时为D7CY或字为D15CY)向更高位产生进位,则CF=1,否则CF=0.该标志主要用于多字节加减运算.例: 3FH+0B4H 0BFH+0B4H 0011 1111 1011 1111 + 1011 010

32、0 + 1011 0100 1111 0011;CF=0 1 0111 0011;CF=1注:对CF操作有三条专用指令: STCCF=1; CLCCF=0; CMCCF=CFPF-(奇)偶校验标志-PF=D7 D0 运算结果的低8位中“1”的个数为偶数,则PF=1,否则PF=0.该标志主要用于检测数据通信中是否发生错误.如上例:结果F3H中有6个“1”,则PF=1;结果73H中有5个“1”,则PF=0.AF-辅助进位标志-AF=D3CY 字节运算中,低4位向高4位有进位或借位时,则AF=1,否则AF=0.该标志主要用于BCD码运算的调整指令中.如:38H+49H 0011 1000 + 010

33、0 1001 1000 0001 ;AF=1;若视为BCD运算,则应调整.ZF-零标志-ZF=D7+D0或D15+D0 运算结果为0,则ZF=1,否则ZF=0. 如上例中,结果非0,则ZF=0.SF-符号标志-SF=D7或D15 运算结果为正数,则SF=0,为负数,则SF=1. 如:3FH+0B4H=0F3H的SF=1 而:0BFH+B4H=173H的SF=0.OF-溢出标志溢出标志-OF=D7CY D6CY 或或D15CY D14CY当运算结果超出了机器所能表示的范围时,则OF=1,否则OF=0.如:3FH+0B4H=0F3H中OF=0而:0BFH+0B4H=173H中OF=1注意:实际上机

34、器把所有数都当无符号数运算,把结果都当符号数来设置标志.以上6个标志为指令执行后的结果标志,可作为控制转移的条件.(3).控制标志控制标志-控制控制CPU的状态的状态.DF-方向标志方向标志-主要用于字符串操作中控制地址的步进方向.DF=1,地址增址;DF=0,地址减址.有两条专门用于DF的指令:CLDDF=0 ; STDDF=1IF-中断允许标志中断允许标志-控制CPU是否开中断.IF=1,说明CPU开中断,即允许CPU响应外部可屏蔽中断.IF=0,说明CPU关中断,即禁止CPU响应外部可屏蔽中断.注:有两条关于IF的专用指令:CLIIF=0 ; STIIF=1 .TF-跟踪标志TF=1,C

35、PU处于单步工作方式,即CPU每执行一条指令就自动地发生一个内部中断,CPU转去执行一个中断程序,常用于程序调试,又称为陷井标志.TF=0,CPU正常执行程序.4.段寄存器段寄存器-CS,SS,DS,ES-用于存放内存地址的起始地址的高16位.因为8088有20位地址,220=1MB存储空间,单元地址必须用20位地址表示,但内部寄存器均为16位,只能进行16位运算.所以存储器分段管理.段的起始地址的高16位称该段的段地址,而偏离段首址的字节数为偏移地址,亦用16位表示.即单元的逻辑地址表示为: 段地址:偏移地址 CS-代码段寄存器代码段寄存器-存放代码段的段地址.SS-堆栈段寄存器寄存器-存放

36、堆栈段的段地址.DS-数据段寄存器数据段寄存器-存放数据段的段地址.ES-附加数据段寄存器附加数据段寄存器-存放附加数据段的段地址.由4个段寄存器将内存分成了四个可访问的 “当前段”.1.4 (主主)存储器与堆栈存储器与堆栈一一.存储器结构存储器结构1.位位-Bit-存储器的最小最基本单位,存放一个二进制数0或1.整个存储器由许许多多存储位构成.2.字节字节-Byte-8个Bit组成一个字节,存放相邻的8位二制数.字节的长度是固定的.3.字字-Word-计算机内部进行数据处理的基本单位,通常与计算机内部的寄存器、ALU宽度一致.计算机的每一个字所包含的二进制位称为字长.如:Z80微机为8位机;

37、8086,80286微机为16位机;386,486,Pentium微机为32位机.注:目前为了表示数据的方便,常把2个字节称为一个字,双字即为32位.4.存储容量存储容量-表示存放二进制代码的个数,用包含多少个存储单元,而每个单元又包含多少位来表示.微机中常以:字(节)数*字(节)的位数来表示,如:1024*81k*81KB5.PC系列微机存储器结构系列微机存储器结构-以字节编址,即8位为一个单元.每个单元有一个唯一的地址代号.如PC微机的物理地址:00000H0FFFFFH.6.数据存放规律数据存放规律字节数据-一个数存放一单元,如:11H00010H单元字数据-用二个连续单元存放,规定由2

38、个单元中地址较小的一个确定.如:2233H00011H“低对低,高对高”的存放规律如:-400013H机器指令(机器码)-按字节顺序存放.如:MOV BX,AX 89C3H00015H字符串-从低地址开始,以ASCII码顺序存放,如:ABC00017H 00010H 11 00011H 33 00012H 22 00013H FC 14H FF 15H 89 16H C3 17H 41 18H 42 19H 43 二二.存储器的组织与管理存储器的组织与管理1.因为内部寄存器都是16位,不能直接输出20位地址,所以分段管理.即把1M分成64K个段,每一段最多可寻址216=64K个单元.规定每个段

39、地址的低4位为0,即能被16整除.段地址和偏移地址都是16位无符号数,所以分段并不是唯一的,可以相互重迭.而因为CPU内部仅有四个段寄存器,所以在某个特定时刻仅能访问四个段.注:后续徽机的发展仍是分段法,只是基地址不是直接指定,而是间接指定. 2.每个存储单元都可用地址的两种形式来表示每个存储单元都可用地址的两种形式来表示:物理地址-用唯一的20位二进制数表示,CPU访问时用物理地址.逻辑地址-段地址:偏移地址,程序中使用逻辑地址.3.物理地址的形成物理地址的形成由CPU中的地址加法器,将段地址左移4位,低位补0,再与16位偏移地址相加形成.4.段地址与偏移地址的指定段地址与偏移地址的指定:每

40、次需要生成物理地址时,都有相应的段地址及偏移地址被指定:(1)取指操作取指操作-段地址CS,偏移地址IP,即取指的物理地址为:PA=CS左移4位+IP例:已知某指令的逻辑地址0002:0010,则PA=00030H例:某可执行程序为2KB,已知CS=1063H,IP=0000H,求该程序的末地址.程序存放:1063:0000 : 1063:07FF 所以末地址为:10630H+07FFH=10E2FH末地址长度-12K-1=211-1=0800H-1=07FFH (2).栈操作栈操作-堆栈段地址 SS, 偏移地址SP ; PA=SS左移4位+SP(3).一般数据访问一般数据访问-段地址DS,偏

41、移地址变量的有效地址;PA=DS左移4位+变量的有地址三三.堆栈和堆栈操作指令堆栈和堆栈操作指令1.堆栈堆栈-按“先进后出或后进先出”的原则组织的特殊存储区.用来暂存数据,在中断和子程序调用中用来保护现场.2.堆栈指针堆栈指针-这个特殊的存储区有一端是固定地,另一端是活动地.固定端称为栈底;活动端称为栈顶.数据只允许从活动端进出.为此,活动端需要一个指示器SP;所以SP总是指向栈顶.3.堆栈的形成堆栈的形成有两种-一种向下生长(从大地址向小地址生长);另一种是向上生长(从小地址向大地址生长).如:8088是向下生长;而MCS-51是向上生长.4.进栈指令进栈指令格式-PUSH SRC操作-(S

42、RC) SP,SP-2SP功能-将寄存器或存储单元中的一个字压入堆栈.例:已知AX=1122H,BX=3344H,SP=0040H执行:PUSH AX ; SP=003EH ; PUSH BX ; SP=003CH ; 注:栈操作均以字为单位.PUSH AH 先进高位,后进低位;高对高,低对低存放 5.出栈指令出栈指令格式-POP DST操作-SP DST,SP+2SP功能-将栈顶的一个字传送到寄存器或存储单元中.例:上述程序中再执行: POP CX ; CX=3344H ; SP=003EH POP DX ; DX=1122H ; SP=0040H出栈和进栈恰好相反:先进后出.先出低位,后出高位.一般,PUSH与POP成对出现,还原SP指针.6.标志寄存器进栈指令标志寄存器进栈指令格式-PUSHF操作-F SP,SP-2SP7.标志寄存器出栈指令标志寄存器出栈指令格式-POPF操作- SP F,SP+2SP作业: P32 16. 17. 18. 19. 20.第一章结束

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号