1、微机原理与接口技术微型计算机系统概述微处理器内外部特性8086/8088指令系统汇编语言程序设计总线技术 存储器及其接口课程简介课程简介微机原理与接口技术输入/输出接口技术中断技术通用可编程接口微机的发展方向实验第一章 微型计算机系统概述第 1 章微型计算机发展概况微型计算机发展概况计算机中数的表示与编码计算机中数的表示与编码微型计算机系统微型计算机系统计算机中常用的名词术语计算机中常用的名词术语1.11.21.31.4微型计算机的主要性能指标微型计算机的主要性能指标1.5七微机原理与接口技术 1.第一台电子计算机 1946年,美国宾西法尼亚大学 ENIAC 组成:18800个电子管;6万个电
2、阻器;1万个电容器;6千个开关.重量:30吨;占地150平米;功率:150千瓦 耗资45万美元 功能:5000次/秒加法运算 1.1 微型计算机发展概况微型计算机发展概况1946 第一台电子数字计算机 ENIAC2.微型计算机的由来:电子管晶体管集成电路中小规模集成电路大规模集成电路(微型计算机,简称微机 1971年)1.1 微型计算机发展概况微型计算机发展概况1971 第一台微型计算机 第一代4位和低档8位机Intel 4004第二代中高档8位机8080/8085、Z80、MC6800第三代16位机Intel 8086、Z8000、MC6800第四代32位机80386、80486第五代64位
3、机Intel Pentium(1971-1973)(1974-1978)(1978-1981)(1981-1992)(1993后)3.CPU的 迅猛发展1.1 微型计算机发展概况微型计算机发展概况4.微型微型计算机的算机的发展展规律律:速度越来越快;容量越来越大;功能越来越强。5.发展方向:展方向:巨型化,微型化,网络化,智能化,多媒体化1.1 微型计算机发展概况微型计算机发展概况天河一号:2010年我国自主研制的超级计算机。峰值运算速度:4700万亿次/每秒“天河一号”运算1小时 =13亿人同时计算340年以上;“天河一号”运算1天 =1台双核电脑运算620年以上超级计算机1.1 微型计算机
4、发展概况微型计算机发展概况天河2号1.1 微型计算机发展概况微型计算机发展概况6.微型计算机的分类1)单片机:将微处理器、部分存储器、输入输出接口集成在一块集成电路芯片上,一块芯片就成了一台计算机 2)单板机:将计算机的各个部分都组装在一块印制电路板上,包括微处理器/存储器/输入输出接口,还有简单的七段发光二极管显示器、小键盘、插座等。功能比单片机强,适于进行生产过程的控制。可以直接在实验板上操作,适用于教学。3)PC机(Personal Computer):面向个人单独使用的一类微机,实现各种计算、数据处理及信息管理等。1.1 微型计算机发展概况微型计算机发展概况 1.2 计算机中数据的表示
5、和编码计算机中数据的表示和编码 人们最常用的数是十进制数,计算机中采用的是二进制数;计算机中的数据(文字、图片、声音)都是采用二进制(0和1)形式存储和处理的;有的时候为了书写方便,往往将二进制数据采用八进制或十六进制表示.二进制运算规则:0+0=0 0+1=1 1+0=1 1+1=10 (逢二进一)0-0=0 10-1=1(借位)1-0=1 1-1=01 1.2 2.1 1 计算机中常用的数制计算机中常用的数制及转换及转换 1.1.几种数制的表示几种数制的表示二进制(Binary)后缀B 元素:0,1 例1010.1011B八进制(Octal)后缀O,为防止与数字0混淆常后缀Q 元素:0,1
6、,2,3,4,5,6,7 例17.6Q十进制(Decimal)后缀D或省略 元素:0,1,2,3,4,5,6,7,8,9 例4659.37十六进制(Hexadecimal)后缀H 元素:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 例8D.AH 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制计算机中常用的数制及转换及转换 2 2.进制间的转换 (1)R进制数转换为十进制数 方法:按位权进行展开相加即可。例:11101.101 B=124+123+122+021+120+12-1+02-2+12-3 =16+8+4+0+1+
7、0.5+0.125 =29.625 127.04Q=87.0625 1DF.4H=479.25 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 2 2.进制间的转换(2)、十进制数转换为R进制数A、将整数部分和小数部分分别进行转换,然后再把转换结果进行相加。B、整数:除R取余,直到商为0:每一步余数,按逆序排列。C、小数:乘R取整直到小部分为0。将所取整数顺序放在小数点后。1.2 计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制及转换例1-2 将十进制数38分别转换成二进制、八进制、十六进制数38=100110B 38=46Q 38=26H
8、 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制及转换例1-3 将0.6875转换成二进制、八进制、十六进制数 0.6875=0.1011B 0.6875=0.54Q 0.6875=0.BH所以,38.6875=100110.1011B 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制及转换 2 2.进制间的转换 (3)二进制、八进制数、十六进制数相互转换 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 1 1.2 2.1 1 计算机中常用的数制及转换1.2.2 1.2.2 带符
9、号数的表示带符号数的表示1.无符号数和带符号数 无符号数:全部有效位均用来表示数的大小 N10001 1010 B 表示无符号数26 N2 1001 1010B 表示无符号数154 带符号数:最高位表示符号位(正数0,负数1)其余位为数值位。N30001 1010 B 表示无符号数+26 N4 1001 1010 B表示无符号数26 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 2.机器数与真值 机器数:机器中数的表示形式,如原码、反码、补码。真值:机器数所代表的实际数值 例:8位机器数与真值对应关系:机器数:X1机=0101 0100 B X2机=1101 0100B 真值:X1
10、=+101 0100B=+84 X2=-101 0100B=-84 1.2.2 1.2.2 带符号数的表示带符号数的表示 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 n(1)原码 最高位为符号位,其余位为真值。例:+4原=0000 0100B -4原=1000 0100B 0 原=0000 0000 B -0 原=1000 0000B-0 原 特点:0的表示不唯一;8位机表示范围:-127-+127(即:1111 1111B0111 1111B)3.机器数(码)正数的反码与其原码相同。负数反码符号位为 1,其余位为原码按位取反。例:x=+4:x原=00000100B x反=000
11、00100B x=-4:x原=10000100B x反=11111011B x=+0:x原=00000000 B x反=00000000B x=-0:x原=10000000B x反=11111111B +0 反 x=+127:x原=01111111B x反=01111111B x=-127:x原=11111111 B x反=10000000B特点:0的表示不唯一;8位机表示范围:-127-+127(即10000000B01111111B)(2)反码:1.2.2 1.2.2 带符号数的表示带符号数的表示 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 3.机器数(码)n(3)补码:计算
12、机常用码 正数的补码同原码,负数的补码为其反码(含符号位)+1。例:+4补=+4原=00000100B=04H -4补=-4反+1=11111011B+1B=11111100B=FCH +0补=+0原=00000000B=00H -0补=-0反+1=11111111B+1B=00000000B=00H=+0 补 +127补=+127原=01111111B=7FH -127补=-127反+1=10000000B+1B=10000001B=81H -128补=10000000B=80H(对于8位机,-128没有原码和反码)特点:0的表示是唯一的 表示范围-128+127(1000 0000B011
13、1 1111B)1.2.2 1.2.2 带符号数的表示带符号数的表示 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 3.机器数(码)1.2.3 计算机中常用的编码 1.BCD码:二进制编码的十进制数(Binary Code Decimal)压缩BCDBCD码:用4个二进制位表示一个十进制位 非压缩BCD码格式:用8个二进制位表示一个十进制位,其中高四位无意义,低四位和压缩BCD码相同。1.2 计算机中数据的表示和编码计算机中数据的表示和编码 例:十进制 压缩BCD码 非压缩BCD码 13 0001 0011 0000 0001 0000 0011 1622 0001 0110 00
14、10 0010 0000 0001 0000 0110 0000 0010 0000 00101.2.3 计算机中常用的编码 2.ASCII码:美国标准信息交换标准码 (American Standard Coded for Information Interchange)09+30H=ASCII码 AF+37H=ASCII码 AZ ASCII码+20H=az ASCII码 1.2 计算机中数据的表示和编码计算机中数据的表示和编码 1.微处理器:也称中央处理器(CPU)组成:运算器、控制器和寄存器。(1)运算器:计算机中加工和处理数据的功能部件。功能:1)对数据进行加工处理,主要包括算术和逻辑
15、运算,如加、减、与、或运算等。2)暂时存放参与运算的数据和中间结果。(2)控制器:控制和指挥计算机内各功能部件协同动作,完成计算机程序功能。(3)寄存器:14个(将来学单片机也要学寄存器)AX、BX、CX、DX、BP、SP、SI、DI CS、DS、ES、SS FR、IP 1.3 微型计算机系统微型计算机系统 指令执行的基本过程:1.微处理器:指令执行过程:(1)找地址:寄存器IP中保存待执行指令存放的地址。(2)取指令:控制器 将IP中的地址信息送至地址寄存器MAR,并发出读命令。从该地址取出一条指令,经过数据总线送入指令寄存器IR。(3)执行指令:译码器对IR中的指令进行译码,并由控制逻辑阵
16、列向存储器、运算器等部件发出操作命令,执行指令操作码规定的操作。(4)修改IP的内容,重复以上操作 1.3 微型计算机系统微型计算机系统 2.微型计算机(主机)AB外设 包括:CPU 存储器 I/O接口 总线 1.3 微型计算机系统微型计算机系统(1)总线 概念:传递信息的一组公共通道。系统总线分为:数据总线DB、控制总线CB、地址总线AB AB:决定能够访问的存储空间 AB=16条:存储空间:216=64 KB。AB=20条:存储空间:220=1 MB。1K=1024B 1M=1024 KB 1G=1024 MB DB:决定一次能够输入/输出的数据位数 1.3 微型计算机系统微型计算机系统
17、2.微型计算机(主机)(2)存储器 功能:存放程序和数据。(3)I/O接口:CPU与外设的适配器 功能:完成信号转换、数据缓冲、与CPU进行信号联络等工作。显示器卡:完成显示器与总线的连接。声卡:完成声音信号的输入/输出。网卡:完成网络数据的转换。调制解调器卡:模拟信号与数字信号相互转换。USB接口:通用串行接口。1.3 微型计算机系统微型计算机系统 2.微型计算机(主机)1.3 微型计算机系统微型计算机系统 3.微型计算机系统微处理器+?=微型计算机+?=微机系统硬件+?=微型计算机系统1位B(Bit)计算机中信息的最小单位,只有两种状态:0和12 字节DB(Byte)相邻的8个二进制位。3
18、.字DW(Word)相邻的16位二进制位,即2个字节。4.双字DD(Double Word)、四字QW(Quad Word)、双四字(DQW)双字:32位;四字:64位;双四字:128位1.4 计算机常用的名词术语计算机常用的名词术语1.字长 :等于DB数 CPU与存储器或输入/输出设备之间一次传送数据的位数。字长通常等于数据总线的 位数和通用寄存器的位数。反映了一台计算机的精度2.主存容量:与AB数有关 1)用字节表示。2)用单元数字长表示。3.主频 1khz,1MHZ,1GHZ 4.运算速度5.系统可靠性6.系统的兼容性7.性能价格比1.5 微型计算机的主要性能指标微型计算机的主要性能指标
19、1.微机发展概况 电子管晶体管集成电路大规模集成2.计算机中数的表示与编码(难点)原码、反码、补码、BCD码、ASCII码3.微型计算机系统组成 微处理器(CPU)微机(主机)微机系统本章重点本章重点1-1、1-2、1-3、1-4、1-5作业作业第二章 微型计算机的微处理器第 2 章8086/80888086/8088的编程结构的编程结构寄存器结构寄存器结构80868086的引脚信号和工作模式的引脚信号和工作模式80868086系统配置系统配置2.12.22.32.480868086存储器组织存储器组织8086I/O8086I/O组织组织80868086的总线操作时序的总线操作时序2.52.6
20、2.7微机原理与接口技术 图2-1 指令执行过程(串行交替)图2-2 指令执行过程(流水线)2 2.1.1 8086/8088 8086/8088 的编程结构的编程结构两部分组成:执行部件EU、总线接口部件BIU2 2.1.1 8086/8088 8086/8088 的编程结构的编程结构MOV AX,3000HMOV AX,3000H1.总线接口部件BIU(Bus Interface Unit)BIU 是CPU与外部的接口,完成所有外部总线的操作 组成:(1)四个16位段地址寄存器 图2-3地址合成框图2 2.1.1 8086/8088 8086/8088 的编程结构的编程结构(2)16位指令
21、指针寄存器IP(PC)存放下一条要执行指令的地址(3)20位的地址加法器 PA=CS*16+IP(4)指令队列 8086有6字节 8080有4字节(5)输入/输出控制逻辑2、执行部件EU EU完成指令译码和执行 组成:(1)算术逻辑单元ALU 完成8/16位二进制算术/逻辑运算 (2)标志寄存器FR 存放指令执行结果的特征和处理器状态,如结果为0(零标志)、为负(符号标 志)、有进位(进位标志)等。2 2.1.1 8086/8088 8086/8088 的编程结构的编程结构(3)寄存器组:通用寄存器AX、BX、CX、DX。专用寄存器SP、BP、SI、DI(4)EU执行控制器 从总线接口的指令队
22、列取出指令操作 码,通过译码电路分析,发出相应的 控制命令,控制ALU数据流向。3.8086/8088 3.8086/8088处理器的启动和程序执行过程处理器的启动和程序执行过程(1)CPU的启动 CS:FFFFH DS:0000H SS:0000H ES:0000H IP:0000H 指令队列空 FR:0000H(禁止中断)8086/8088将从地址FFFF0H开始执行指令。2 2.1.1 8086/8088 8086/8088 的编程结构的编程结构(2)程序执行过程1)BIU取出一条指令存入指令队列。2)EU从指令队列取指令并执行指令。同时,BIU利用总线空闲时间,取下一条指令。3)EU执
23、行下一条指令。如果前面一条指令有写存储器的要求,则通知BIU把前一条指令结果写到存储器中;如果指令执行要求读取操作数,则由BIU完成。4)EU执行再下一条指令,执行上述操作过程。8086 CPU共有14个16位的寄存器,分为如下4类2 2.2 寄存器结构结构1.1.通用寄存器组通用寄存器组AX(AH、AL):累加器BX(BH、BL):基址寄存器(可做间接寻址)CX(CH、CL):计数寄存器。DX(DH、DL):数据寄存器2 2.2 寄存器结构结构2.2.指针和变址寄存器指针和变址寄存器BP:基址指针寄存器。(可做间接寻址)(可做间接寻址)SP:堆栈指针寄存器。SI:源变址寄存器。(可做间接寻址
24、)(可做间接寻址)DI:目的变址寄存器。(可做间接寻址)(可做间接寻址)2 2.2 寄存器结构结构与与SS联用用与与DS联用用3.3.段寄存器段寄存器为什么要分段?8086/8088 CPU有20根地址线,可直接 寻址220=1MB的存储器空间,即:其物 理地址是20位的而所有内部寄存器都是16位的,只能直 接寻址216=64KB,因此采用分段技术来 解决。将1MB的存储空间分成若干逻辑 段,每段最长64KB。2 2.2 寄存器结构结构4.指令指针寄存器指令指针寄存器IP IP用来存放将要执行的下一条指令在现行代码段中的偏移地址可以自动可以自动+1+14个16位的段寄存器CS:代码段寄存器DS
25、:数据段寄存器SS:堆栈段寄存器、ES:附加段寄存器2 2.2 寄存器结构结构5.标志寄存器:16位寄存器,其中有9位有效位。运算运算结果果的最高位的最高位1-有有溢出溢出0-无无溢出溢出1-结果果为00-结果不果不为01-有有进/借位借位0-无无进/借位借位1-运算运算结果低果低8位有偶数个位有偶数个10-奇数个奇数个11-D3向向D4有有进/借位借位0-D3向向D4无无进/借位借位6个状个状态标志志:OF、SF、ZF、AF、PF、CF3个控制个控制标志:志:DF=1 地址增IF=1 中断允许TF=1 单步中断例2-1 分析下列运算对标志位的影响2 2.2 寄存器结构结构由于运算结果的最高位
26、为1,则SF=1;运算结果本身不为0,则ZF=0;结果的低8位中含4个1(偶数)则PF=1;最高位没有产生进位,则CF=0;运算过程中,第3位向第4位产生进位,则AF=1;由于次高位向最高位产生了进位,而最高位没有向前产生进位,说明发生了溢出,两正数相加,结果为负,则OF=1。2.3.12.3.1两种工作模式:最小模式:系统中只有一片8086/8088CPU。MN/=1最大模式:CPU两片以上,一个为主CPU,另一个为协CPU。MN/=02 2.3 8086/80883 8086/8088微处理器的引脚功能微处理器的引脚功能8086:AB=20,DB=168088:AB=20,DB=8(1)A
27、D15-AD0:地址/数据复用引脚,双向,三态。传送地址送地址时输出,出,传送数据送数据时双向双向输入入/输出出。在总线周期T1状态,输出地址,在 T2T4状态,传送数据。(2)A19/S6-A16/S3:地址/状态总线复用引脚 输出,三态 T1输出地址,T2-T4输出状态2.3.2 引脚信号和功能1.两种模式下功能相同的引脚2 2.3 8086/80883 8086/8088微处理器的引脚功能微处理器的引脚功能(3)BHE/S7:高8位数据总线允许/状态复 用引脚。T1:输出BHE信号,表示高8位数据线 D15-D8上的数据有效。T2-T4:S7未定义(4)MN/MX:工作模式选择信号,输入
28、。MN/MX=1,最小模式;MN/MX=0,在最大模式。只有8086有此引脚(5)READY:准备就绪信号,输入,高电 平有效。(6)RESET:复位信号,输入,高电平有 效。至少要保持4个时钟周期2.3.2 引脚信号和功能1.两种模式下功能相同的引脚2 2.3 8086/80883 8086/8088微处理器的引脚功能微处理器的引脚功能(7)INTR:可屏蔽中断请求信号,输入,高电平有效。受IF影响(8)NMI:不可屏蔽中断请求信号,输入,上升沿有效。不受IF影响(9)TEST:测试信号,输入,低电平 有效。执行WAIT指令时,若TEST为1,继续等待,直 到TEST为0。(10)RD:读信
29、号,三态输出,低电平 有效。(11)CLK:主时钟信号,输入。(12)VCC(+5V),GND(地)(24)INTA:中断响应信号,输出,低电平有效。(25)ALE:地址锁存允许信号,输出,高电平 有效。用来锁存地址信号A15-A0 (26)DEN:数据允许信号,输出,低电平有效。(27)DT/R:数据发送/接收控制信号 (28)IO/M:存储器或I/O端口控制信号2.3.2 引脚信号和功能2.最小模式下24-31引脚信号2 2.3 8086/80883 8086/8088微处理器的引脚功能微处理器的引脚功能(29)WR:写信号,三态输出,低电平有效。(30)HOLD:总线请求信号,输入,高电
30、平有效。当系统中CPU之外的另一个控制器要求使用总线时,通过它向CPU发一高电平的请求信号。(31)HLDA:总线请求响应信号,输出,高电平有效。表示CPU对其它控制器的总线请求作出响应,同时,所有与三总线相接的CPU的线脚呈现高阻抗状态,从而让出总线。8086 CPU在最小模式下的基本配置 2 2.4 4 80868086系统配置系统配置 除了 CPU,存储器及I/O接口芯片外,还要加入:1片8284A,作为时钟发生器3片8282/8283或74LS373,作为地址锁存器2片8286/8287或74LS245,作为双向数据总线收发器总线2.5 8086 存储器组织 1、存储单元的地址和内容
31、2、8086存储器的分体结构 3、存储器的分段管理 4、物理地址的形成1.存储单元的地址和内容存储单元的地址和内容存储单元地址:每个存储单元有唯一的编号,即地址一个存一个存储单元存放一个字元存放一个字节(8位二位二进制数)。制数)。存储单元的读写:写:一个字需要占相个字需要占相继的二个的二个单元:低位字元:低位字节存存入低地址入低地址单元元(字地址),(字地址),高位字高位字节存入高地址存入高地址单元。元。读:从某个地址可以读出一个字节,也可以读出一个字2 2.5 5 80868086存储器组织存储器组织 问:从地址2002H读出一个字节是多少?从地址2002H读出一个字是多少?从地址2002
32、H读出一个双字是多少?55H所在的字节地址是多少?4433H所在的字地址是多少?8086有20条地址线可寻址220=1M B=1024KB 的存储器空间 奇地址存储体:512 KB,:与高8位数据总线相连,选体信号 =0 偶地址存储体:512 KB,与低8位数据总线相连,选体信号A0=0存储器分体结构单元示意图 2.8086存储器的分体存储器的分体结构结构2 2.5 5 80868086存储器组织存储器组织 8086系统中存储器与总线的连接 存放规则:1).一个字节8位:可以存在奇地址体,也可以在偶地址体,字节地址就是存储单元的实际地址。2).一个字(16位):数据占连续的二个单元,高字节存放
33、高地址,低字节存放低地址高字节存放高地址,低字节存放低地址(一般是(一般是偶数地址)偶数地址),并将低字节的地址作为该字的字地址。3).8086CPU访问存储器规则是:一次读写一个字,且从偶地址开始。2.8086存储器的分体存储器的分体结构结构2 2.5 5 80868086存储器组织存储器组织 3.8086存储器存储器的的分段分段管理管理:8086/8088有20条AB,寻址220=1M存储空间(00000HFFFFFH)。CPU中的寄存器是16位的,20位地址无法用16位寄存器表示,必须分段。1M的存储空间分成若干段,段与段之间可以重叠。但每个段的大小不能超过64KB;2 2.5 5 80
34、868086存储器组织存储器组织 4.物理地址物理地址:唯一性唯一性 物理地址PA=段基址16+偏移地址(EA)5.逻辑地址逻辑地址:不唯一性不唯一性逻辑地址LA=段基址:偏移量(EA)例:逻辑地址为2000H:3000H,则其物理地址PA=2000H*16+3000H=23000H思考题:逻辑地址LA为2100H:2000H所代表的物理地址?1.存储器映像编址(统一编址)存储器映像编址(统一编址)存储器与存储器与I/O口统一编地址口统一编地址 优点:所有适用于存储器的指令,同样适用于优点:所有适用于存储器的指令,同样适用于I/O。用地址大小来区分存用地址大小来区分存储器和储器和I/O口。口。
35、缺点:缺点:I/O占用存储空间占用存储空间 2.独立编址独立编址 存储器与存储器与I/O口分别独立编地址,二者地址可重复,口分别独立编地址,二者地址可重复,用指令区分存储器和用指令区分存储器和I/O口。口。优点:优点:I/O不占用存储空间不占用存储空间 缺点:对存储器和缺点:对存储器和I/O采用不同的指令,编程不便采用不同的指令,编程不便 2 2.6 8086 6 8086的的I/OI/O接口组织接口组织8086采用独立编址2.7.1基本概念 1.时序时序 计算机工作时,严格的时间先后顺序称为时序。2.时钟周期时钟周期 是CPU工作最小时间单位,每个时钟周期T又称一个T“状态”或T周期,计算机
36、主频的倒数决定。2 2.7 7 8086 8086的总线操作时序的总线操作时序3、总线周期(机器周期)、总线周期(机器周期)CPU对存储器或I/O口进行一次读/写操作的时间称为总线周期。1个总线周期至少包括个总线周期至少包括4个时钟周期:个时钟周期:T1,T2,T3,T44、指令周期、指令周期执行一条指令所需要的时间称为指令周期。一般要1个以上的总线周期。其长短与指令有关1.典型总线周期时序 读时序 T1:AD线发送地址信息 T2:AD线浮空,为传数据做准备 T3:查看READY信号,若准备好,CPU采样AD线上存储器或I/O数据 T4:AD线浮空,为下一次传送做准备若没准备好,T3T4之间插
37、入TW,TW 的操作同T32.7.2 基本时序分析2 2.7 7 80868086的总线操作时序的总线操作时序 写时序(只有T2不同)T2:AD线CPU输出数据2.最小模式下存储器读操作时序T3:确认。上升沿检测READY信号为高则将数据送上总线;否则插入等待周期TW。TW:等待。继续检测READY,同T3T4:传送完毕,准备下一次传送。T4的后半周期数据从总线上撤除,所有信号均无效。T2:准备传数据。A19-A16输出状态信息,AD15-0高阻,RD有效,DEN有效T1:传地址。ALE,M/IO,BHE,DT/R,有效2.7.2 基本时序分析2 2.7 7 80868086的总线操作时序的总
38、线操作时序 2、最小模式下存储器写周期与读周期的区别:n(1)DT/R为高电平。n(2)AD15AD0输出地址后,紧接着输出数据,T4上升沿浮空。n(3)T2-T3,WR有效。3.最小模式下存储器写操作时序2.7.2 基本时序分析2 2.7 7 80868086的总线操作时序的总线操作时序1.编程结构:EU、BIU 2.寄存器结构:重点 14个16位:AX,BX,CX,DX CS,DS,ES,SS BP,SP,SI,DI IP,FR3.引脚:8086:地址线20条,数据线16条8088:地址线20条,数据线8条本章重点:本章重点:4.系统配置:CPU,1片8284、3片8282地址锁存器、2片
39、8286数据收发器5.存储器(难点)分体结构:奇地址体、偶地址体 分段管理:物理地址、逻辑地址6.时序(难点)时钟周期、总线周期、T1传地址,T2-4传数据2-1、2-4、2-5(已完成)2-11、2-15、2-18、2-21、2-25第第2 2章章 作作 业业第三章 8088/8086的指令系统第 3 章指令的基本格式指令的基本格式8086/80888086/8088的寻址方式的寻址方式8086/80888086/8088指令系统指令系统3.13.23.3微机原理与接口技术3.1 指令的基本格式1.操作码:表示计算机要执行的操作类型 如:MOV数据传送 IN 数据输入2.操作数:指令执行所需
40、的数 1)大部分指令有2个操作数:目的操作数和源操作数 如:MOV AL,45H ;逗号前面的AL是目的操作数,后面45H是源操作数 2)少数指令只有一个操作数,可能是源操作数,也可能是目的操作数 如:INC BX ;BX既是源操作数,又是目的操作数 PUSH AX ;AX是源操作数 POP AX ;AX是目的操作数 3)少数指令没有操作数 如:DAA ;加法的十进制调整指令,操作数隐含在AL中汇编指令由两部分组成:操作码 操作数寻找操作数来源的方式,称为寻址方式,共6种。操作数的可能来源只有三个:(1)直接包含在指令中;立即寻址 (2)CPU的寄存器中;寄存器寻址 (3)存储器中。;4种寻址
41、方式,具体是哪种方式,就看怎样表达存储器单元的地址 操作数来源不同,即寻址方式不同。3.1 指令的基本格式3.1 指令的基本格式3.1 指令的基本格式3.23.2 8086/8088 8086/8088 的寻址方式的寻址方式1、立即、立即寻址址 例:MOV AL,34H MOV AX,3000H 特点:操作数是立即数,直接放在指令中 注意:立即数只能做源操作数3.2 3.2 8086/8088 8086/8088 的寻址方式的寻址方式2、寄存器、寄存器寻址址 例:MOV AL,BL;MOV DS,AX;特点:操作数包含在寄存器中 注意:寄存器位数要一致 MOV AL,BX;MOV AX,BL;
42、这两种寻址方式,数据都来源于CPU内部,无须访问总线,所以执行速度相对快。3.1 指令的基本格式3.1 指令的基本格式3.1 指令的基本格式3.23.2 8086/8088 8086/8088 的寻址方式的寻址方式 后面4种寻址方式,操作数都来源于存储器。表3-1存储单元的表示方法。不同的表示方法,表示不同的寻址方式。3.2 3.2 8086/8088 8086/8088 的寻址方式的寻址方式3.直接寻址 例:MOV AX,2000H 特点:操作数的偏移地址2000H直接在指令中物理地址PA的计算:默认PADS16+偏移地址例如:MOV AL,2000H ;此时,PADS16+2000H若有超
43、越,则PA超越到的段寄存器16+偏移地址例如:MOV AX,ES:4000H;此时,PAES16+4000H执行结果:AX=1234H3.2 3.2 8086/8088 8086/8088 的寻址方式的寻址方式4.寄存器间接寻址 例:MOV BX,SI 注意:1)可间接寻址的寄存器只有四个:BX、BP、SI、DI。其中存放操作数所在的偏移地址 2)以SI/DI/BX间接寻址时,默认DS段 3)以BP间接寻址时,默认SS段 PA=SS16+BP 4)允许段超越MOV BX,SIDS=1000H,SI=3000H结果:BX=2345HMOV BX,SS:SI3.2 3.2 8086/8088 80
44、86/8088 的寻址方式的寻址方式5.变址寻址寄存器间接寻址的基础上加一个8/16位的偏移量,注意事项同上 例:MOV BX,SI+4000H 设:DS=3000H,SI=2000H,位移量为4000H,(36000H)=5678H 则:PA=DS16+SI+COUNT =30000H+2000H+4000H =36000H 执行结果为BX=5678H。3.2 3.2 8086/8088 8086/8088 的寻址方式的寻址方式.基址加变址寻址例:MOV AX,BX+SI16位偏移量;红色部分加不加都可以 有的教材会把加红色部分称作相对基址变址寻址 注意:BXBP不能共存,SIDI不能共存
45、若用BX:默认操作数在数据段DS中 若用BP:默认操作数在堆栈段SS中 上例中:DS=3000H,BX=2000H,SI=5000H 则:PA=DS16+BX+SI=37000H 指令执行后,AX=5577H 该指令还可写成:MOV AX,BXSI MOV AX,BX+DI+偏移量寻址方式小结(看源操作数,不用看目的操作数):立即寻址:MOV AX,3000H寄存器寻址:MOV AX,BX直接寻址:MOV AX,3000H寄存器间接寻址:MOV AX,BX 变址寻址:MOV AX,BX+800H基址加变址寻址:MOV AX,【BX+SI+900H】Intel 8086/8088指令系统共有13
46、3条基本指令,可分成6个功能组:数据传送类指令 算术运算类指令 逻辑运算类指令 串操作类指令 控制转移类指令 处理器控制类指令3.3.3 8088/8086 3 8088/8086的指令系统的指令系统六种格式:通用寄存器之间传送(r/r),MOV BL,AL MOV DI,AX 通用寄存器和段寄存器之间传送(r/SEG),MOV DS,AX MOV AX,ES 通用寄存器和存储单元之间传送(r/M),MOV AL,2000H MOV DI,AX 段寄存器和存储单元之间传送(seg/M),MOV DS,2000H MOV BX SI,SS;立即数到通用寄存器(r Imm),MOV BX,2000
47、H;立即数到存储单元(M Imm),MOV 4000H,30H;3.3.3 3.1.1 数据传送指令数据传送指令基本格式:MOV dst,src;将源操作数src传送到目的操作数dst;后面是注释,不参与编译;功能相当于复制src,粘贴到dst,即src不变,dst被覆盖.位数一致 MOV AL,2000H;MOV AL,BX;MOV AX,BL;.不允许存储单元间传送数据 MOV 2000H,3000H;MOV DI,SI ;.不能用CS和IP作目的操作数 MOV CS,3000H;MOV IP,2000H;3.3.3 3.1.1 数据传送指令数据传送指令1通用数据传送指令 (1)MOV传送
48、指令 2)注意事项段寄存器之间不能直接传送数据。MOV SS,DS;立即数不能作目的操作数。MOV 2000H,AX;MOV 34H,AL;不能向段寄存器送立即数 MOV DS,4000H;应改为:MOV AX,4000H;MOV DS,AX(2)堆栈指令 入栈:PUSH src ;SP-2后,将src压入堆栈 出栈:OP dst ;当前栈顶2个数据弹出到dst,后SP+2 堆栈:用SS:SP管理,其地址表示当前栈顶单元地址 SP总是指向栈顶 SP初值决定了栈的深度,栈深度 64kB。原则:操作数必须是16位寄存器/存储器 PUSH AX ;PUSH AL ;PUSH 2345H;不可以是立即
49、数 后进先出(LIFO)例:PUSH AX PUSH BX .POP BX POP AX 3.3.3 3.1.1 数据传送指令数据传送指令(3)交换指令格式:XCHG dst,src;dst与src内容互换 是唯一的把源操作数也刷新了的汇编指令。交换可以发生在:通用寄存器之间、通用寄存器与存储器 例:XCHG AL,BL ;AL和BL数据互换 XCHG AL,2000H;AL与2000H;数据互换 3.3.3 3.1.1 数据传送指令数据传送指令注意:位数一致 XCHG AL,CX ;段寄存器和立即数不能作为一个操作数;XCHG DS,AX;XCHG BX,2000H;.不能在存储器与存储器之
50、间交换数据 XCHG 3000H,2000H;3.地址目标传送指令LEA例如:LEA BX,table;将table的地址送到BX功能等价于 MOV BX,offset table比较下面三条指令:MOV BX,1700H ;将1700H送到BXMOV BX,1700H;地址为1700H存储单元的内容送到BX,执行完BX=1700H单元的内容LEA BX,1700H;地址为1700H存储单元的地址1700H送到BX,执行完BX=1700H 3.3.3 3.1.1 数据传送指令数据传送指令2累加器专用传送指令 输入/输出指令(CPU与I/O口之间的数据传送)当I/O地址FFH时 IN AL,DX
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100