收藏 分销(赏)

微机原理知识点.pdf

上传人:精*** 文档编号:1479642 上传时间:2024-04-28 格式:PDF 页数:12 大小:561.41KB
下载 相关 举报
微机原理知识点.pdf_第1页
第1页 / 共12页
微机原理知识点.pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述
一、基本概念一、基本概念主机是由计算机中的中央处理器和主存储器组成的系统,其芯片安装在一块印刷电路板上,称为主机板,简称主板。运算器主要由加法器、累加器、暂存寄存器和控制电路组成,用来对数据进行算术/逻辑运算。控制器主要由程序计数器(PC)、指令寄存器、指令译码器、微操作控制电路(或微程序控制器)及控制逻辑电路组成,对指令译码,按指令要求控制计算机各组成部件协调工作。Intel 8086 的基本组成分为两大部分:执行部件 EU(Execution Unit)和总线接口部件 BIU(Bus Interface Unit)。执行部件 EU 由运算器 ALU、通用寄存器、状态标志寄存器和执行部件控制电路组成,用于执行指令。通用寄存器共有 8 个,即 AX、BX、CX、DX、SP、BP、DI 和 SI,各 16 位。其中 AX、BX、CX 和DX 可分别分为两个 8 位寄存器,依次表示为 AH、AL、BH、BL、CH、CL、DH 和 DL,除了作为通用数据寄存器外,还有一些专门的用途。AX(Accumulator):16 位累加器,在 8 位数据运算时,以 AL 作为累加器。BX(Base):基址寄存器。CX(Count):隐含为计数器。DX(Data):高位数据寄存器。SP(Stack Pointer):堆栈指针。BP(Base Pointer):基址指针,用来指示堆栈区域。DI(Destination Index):目的变址寄存器,与 DS 联用。字符串处理中与 ES 联用,隐含为目的操作数地址。SI(Source Index):源变址寄存器,与 DS 联用,字符串处理中与 DS 联用,隐含为源操作数地址。状态标志寄存器如图所示,仅使用其 9 位。其中“DF,IF,TF”3 个是控制状态标志,其它 6 个是条件状态标志。D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 OF DF IF TF SF ZF AF PF CF 图2.3 状态标志寄存器 图图1.41.4 状态标志寄存器状态标志寄存器总线接口部件 BIU 由段寄存器、指令指针寄存器、地址加法器、指令队列和输人输出控制电路组成,用于取指令和数据传送,即访问存储器与数据输入输出。段寄存器有 4 个,即 CS、DS、ES 和 SS,作用如下:CS(Code Segment):代码段寄存器,存放当前程序段地址。DS(Data Segment):数据段寄存器,存放数据段地址;字符串处理时隐含为源段地址寄存器。SS(Stack Segment):堆栈段寄存器,存放当前堆栈段地址。ES(Extra Segment):附加段寄存器,存放辅助数据段地址;字符串处理时隐含为目的段地址寄存器。8086 地址寄存器 16 位,寻址 64 KB。故把 1MB 存储器空间分为若干个段,每段64 KB,称为逻辑段。使用时,所有段可在整个存储空间浮动,各段可以连续排列,也可以重叠。段内各存储单元相对于段起始地址有一个偏移量,只要偏移量与段起始地址确定了,某存储单元也就唯一地确定了。程序中使用的存储器地址称为逻辑地址,由 16 位“段基址”和 16 位“偏移地址”(段内地址)组成。段基址表示一个段的起始地址的高 16 位。偏移地址表示段内的一个单元距离段开始位置的距离。访问存储器的实际地址称为物理地址,用 20 位二进制表示。将两个 16 位二进制表示的逻辑地址错位相加,可以得到 20 位的物理地址:物理地址段基址16+偏移地址堆栈是内存中的一块存储区,用来存放专用数据。例如,调用子程序时的入口参数、返回地址等,这些数据都按照“先进后出”的规则进行存取。SS 存放堆栈段的段基址,SP 存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP 的值在执行堆栈操作指令时根据规则自动地进行修改。8086 CPU 有最小工作模式和最大工作模式。对存储器和 I/O 接口的控制信号要由 CPU 提供的单处理机方式称为最小方式,此时 CPU 的 MN/管脚接高电平;对存储器和 I/O 接口的控制信号要由 8288 总线控制器提供的多处理机方式称为最大方式,在此方式下可以接入 8087 或 8089,此时 MN/接地。在 CPU 执行程序的过程中,突发事件的发生,迫使 CPU 暂停正在执行的程序,转向突发事件处理;处理完后又返回原来被中断的程序,继续执行。这一过程称为中断。被中断的位置(下一条指令的地址)称为断点。引起中断的原因或触发中断请求的事件称为中断源;用以处理突发事件的程序称为中断处理或中断服务程序;从中断服务程序返回到原来被中断的程序的过程称为中断返回。中断向量与中断向量表在 8086 中,256 个中断服务程序入口地址顺序存放,构成中断向量表。序号(0255)称为中断类型码。某中断源请求时,CPU 获取类型码,即可得到中断服务程序入口地址。INTR 用于输入可屏蔽中断请求信号,电平触发,高电平有效。中断允许标志 IF=1 时才能响应 INTR上的中断请求。NMI 用于输入不可屏蔽中断请求信号,上升沿触发,不受中断允许标志的限制。CPU一旦测试到 NMI 请求有效,当前指令执行完后自动转去执行类型 2 的中断服务程序。NMI 引脚用于连接 CPU 外部的紧急中断请求,例如内存校验错,电源掉电报警等。INTR 引脚用于连接一般外部设备的中断请求。存取时间是从启动一次存储器读/写操作到完成该操作所用的时间。具体来说,就是从 CPU 发读/写命令开始,到数据取出或将数据写入指定单元所用的时间。存取周期是指从 CPU 发送地址开始到读/写操作结束所用的时间,略大于存取时间。存储芯片的信号线一般包括地址线、数据线、一个片选信号引脚和一个读/写控制引脚,以及电源线。比如一个 SRAM 芯片的容量为 8K8,根据存储芯片地址线数量计算公式,klog2(1024*8)=log2(213)=13,即总计有 13 根地址线。另有 8 根数据线、2 根电源线、1 根片选线和 2 根读写线。所以该芯片至少有 25(=13+8+1+1+2)根引脚。所谓指令,就是指示计算机进行某一工作的命令。指令是二进制数的形式,一般包含操作码字段和地址码字段。一台计算机全部指令的集合称为指令系统。操作码域说明指令的类型与功能,操作数域也称为地址域说明数据在存储器中的地址及操作结果存放的地址。在指令中,操作数或操作数的地址可用多种方式来表示,而通过某种规则计算出最终的操作数地址的过程,统称为寻址方式。伪指令语句是一种说明性的语句,用来对汇编过程进行控制,比如对数据列表、存储空间分配、程序起始地址及段定义等,汇编时不生成目标代码。宏指令是将程序中多次使用的程序段定义为一条指令,即宏指令。在对宏指令汇编时,以原程序代码取代宏指令。I/O 接口泛指主机连接外部设备或其它计算机所用到的电路,这些电路一般制作成专门的电路板,可插在主机板上,故称接口卡,亦称适配器。在 I/O 接口电路中,每一个可由 CPU 直接访问寄存器统称为端口,可对其(指的是端口)分配地址,也称为编址,以便 CPU 访问。编址的方法有两种,即统一编址和独立编址。统一编址是把外部设备的端口地址与存储器地址统一编排。也就是说,在主存空间中划出一部分区域用作 I/O 地址,使输入输出变成对某个地址单元的读/写操作,CPU 可使用访问主存的指令访问外部设备,而不需要专门的 I/O 指令。但是,I/O 端口占用了主存地址空间,使主存减少。独立编址是对 I/O 端口和主存分别编址,两者的地址都是从 0 开始。CPU 访问时,通过专门的选通信号确定地址总线上传送的是 I/O 地址还是主存地址。采用独立编址,I/O 地址不占用主存空间,但是需要专 I/O 指令。目前的 Pentium 微处理器采用的就是这种独立编址方式。程序查询方式是通过程序控制主机和外部设备之间的数据传送。输入输出操作时,首先由 CPU 向外部设备发启动命令,然后读取外部设备状态标志,进行判断,在外部设备准备就绪后传送数据。总线是计算机各组成部件之间传送数据信息的公共通路,可实现 CPU 与主存、外设之间的数据传送与通信。在微机系统中,总线分片内总线、片级总线和系统总线。其中片内总线用以连接 CPU 内部的各个部件,比如 ALU、通用寄存器、内部 Cache 等。片级总线用以连接 CPU、存储器及 I/O 接口等电路,构成所谓的主机板。系统总线用来连接外部设备。这里主要介绍系统总线的概念、类型、性能与连接使用。总线标准是国际正式公布或推荐的互连各个模块的标准,它是把各种不同模块组成计算机系统(或计算机应用系统)时必须遵守的规范。ISA(Industrial Standard Architecture,工业标准结构总线)共有 98 根信号线,数据线宽度为 16 位,地址线宽度为 24 位,总线时钟为 8MHz,中断源为边沿触发EISA总线:扩展工业标准总线,一种支持多处理器的高性能32位标准总线。PCI(Peripheral Component Interconnect,外设组件互连标准)是一种由英特尔(Intel)公司 1991 年推出的用于定义局部总线的标准。此标准允许在计 PCI 算机内安装多达 10 个遵从 PCI 标准的扩展卡。接口电路与外部设备之间传送的信号有三种:数据信号:对于输入设备,数据信号从外设通过接口送往总线,对于输出设备,数据信号从总线通过接口发往外部设备。状态信号:状态信号表明外部设备当前的工作状态,用来协调 CPU 与外部设备之间的操作。状态信号总是从外部设备通过接口发往总线。控制信号:控制信号是 CPU 向外设发出的命令,它指定设备的工作方式,启动或停止设备。控制信号从 CPU 通过接口发往外部设备。“即插即用”是指为微机系统提供这样一种功能:只要将扩展卡插入微机的扩展槽时,微机系统就能自动进行扩展卡的配置工作,保证系统资源空间的合理分配,以避免发生系统资源占用的冲突。这一切都是开机后由系统自动进行的,而无需操作人员的干预。把主板上众多的接口芯片和支持芯片按不同功能分别集成到一块集成芯片之中,这样用少量几片 VLSI芯片就可完成主板上主要的接口和支持功能,这几个 VLSI 芯片的组合称为“芯片组”。AGP为加速图形端口,是一种新型视频接口技术标准,定义了一种超高速的连通结构,把三维图形控制器从PCI总线上卸下来,用专用的点对点通道AGP把图形控制器直接连在系统芯片组(主存/PCI控制芯片)上,三维图形芯片可以将主存作为帧缓冲器,实现高速存取。当显存容量不够时,可以将主存当作显存来用。8253的几种工作方式为:(1)方式0是计数结束停止计数方式;(2)方式1是可重复触发的单稳态工作方式;(3)方式2是分频器工作方式;(4)方式3是方波输出方式;(5)方式4-软件触发的选通信号发生器;(6)方式5-硬件触发的选通信号发生器;外设向CPU申请中断,但CPU不响应,其原因可能有:(1)该中断请求持续时间太短;(2)CPU未能在当前指令周期的最后一个时钟周期采样到中断请求信号;(3)CPU处于关中断状态;(4)该中断级被屏蔽。并行通信和串行通信的优缺点:从传送距离上看,串行通信适合于远距离传送,而并行通信只适用于较近距离的传送;从速度上看,串行通信的费用要比并行通信的费用低得多。二、汇编程序1、某输出设备数据端口、状态端口地址分别为 220H,221H。状态端口 D0=1 表示输出完成。将数据段中以 STRING 为首地址的 7 个字符(用 ASCII 代码存储)发送到该外部设备。用 8086 汇编语言编写完成上述功能的 I/O 程序。DATASEGMENTSTRINGDB“ABCDEFG”DATAENDS;CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEABX,STRINGMOVCX,7ONE:MOVDX,221H;DX 置为状态端口地址INAL,DXTESTAL,00000001B;测试输出完成位JZONE;未完成,转 ONE 继续读取状态OUTPUT:MOVAL,BXMOVDX,220HOUTDX,AL;输出代码INCBX;修改指针LOOP ONE;7 个数据尚未输出完成,转 ONE 继续DONE:MOVAX,4C00HINT21H;返回 OSCODEENDSENDSTART2、在 BUF1 和 BUF2 两个数据区中,各定义有 6 个带符号字数据,试编制一完整的源程序,求它们对应项之和,并将和数存入以 SUM 为首址的数据区中。DATA SEGMENT BUF1 DW-56,24,54,-1,89,-8BUF2 DW 45,-23,124,345,-265,65SUM DW 6 DUP(0)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV CX,6LEA SI,BUF1LEA DI,BUF2LEA BX,SUMLOP1:MOV AX,SIADD AX,DIMOV BX,AXINC SIINC DIINC BXLOOP LOP1MOV AH,4CHINT 21HCODE ENDSEND START3、用 8255A 的 A 端口接 8 位二进制输入,B 端口和 C 端口各接 8 只发光二极管显示二进制数。编写一段程序,把 A 端口读入的数据送 B 端口显示,而 C 端口的各位则采用置 0/置 1 的方式显示 A 端口的值。(设端口地址为A 口:200H,B 口:201H,C 口:202H,控制口:203H。并且下图给出相关参考信息)8255A 方式选择控制字格式CODE SEGMENT ASSUME CS:CODESTART:MOV AL,90H;8255A 初始化:MOV DX,203H;8255A 各组方式 0,A 口输入OUT DX,AL;B、C 口输出MOV DX,200HIN AL,DX;读 A 口输入值MOV DX,201HOUT DX,AL;送 B 口输出MOV AH,AL;A 口输入值转存在 AH 中MOV DX,203HMOV CX,08;CX 置循环次数初值MOV AL,00H;C 端口置 0/置 1 控制字初值LPA:AND AL,0FEH;清除最低位SHR AH,1;A 端口一位转入 CFADCAL,0;A 端口一位从 CF 转入命令字OUT DX,AL;A 端口一位从送往 C 端口对应位ADD AL,02H;形成下一个命令字LOOP LPA;处理 C 端口下一位MOV AH,4CH INT 21HCODE ENDS END START4、某微机系统中 8253 的端口地址为 40H43H,要求计数器 1 工作在方式 0,计数初值为 0DEH,按二进制计数;计数器 2 工作在方式 2,计数初值为 1000D,按 BCD 码计数。试写出初始化程序段。CODE SEGMENT ASSUME CS:CODEMOVAL,10H;写通道 1 控制字OUT43H,ALMOVAL,0DEH;写通道 1 计数初值OUT41H,ALMOVAL,65H;写通道 2 控制字OUT43H,ALMOVAL,10H;写通道 2 计数初值 OUT42H,ALMOV AH,4CH INT 21HCODE ENDS END START5、某输入设备接口数据端口、状态端口、控制端口地址分别为 70H,71H,72H。状态端口 D5=1 表示输入完成,控制端口 D7=1 表示启动设备输入(输入完成后由设备清除该位)。从该设备输入 100 个字节数据,存入以 BUFFER 为首地址的缓冲区。如果启动该设备 1 秒后仍未完成一次输入,则视为超时错,显示出错信息后返回。用 8086 汇编语言完成上述功能的 I/O 程序。汇编语言程序:DATASEGMENTBUFFERDB100 DUP(?)ERRORDB13,10,“OVER TIME!”,13,10,“$”DATAENDS;CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,100LEABX,BUFFERONE:XORDX,DX;DX 用作响应计时器,初值 0MOVAL,80HOUT72H,AL;启动输入W:INAL,71HINCDX;纪录延迟时间TESTAL,00100000B;测试完成位JNZREAD;输入完成,转 READ 读取数据CMPDX,50000;假设循环 50000 次时间为 1 秒JBW;未超时,继续测试JMPOVERTIME;超过 1 秒,报告出错READ:INAL,70H;读入数据MOVBX,AL;数据存入缓冲区INCBX;修改指针LOOP ONE;100 个数据尚未输入完成,转 ONE 继续JMPDONE;100 个数据输入完成,转 DONE 结束程序OVERTIME:LEADX,ERRORMOVAH,9INT21H;响应超时,显示出错信息DONE:MOVAX,4C00HINT21H;返回 OSCODEENDSENDSTART6、某 8086 系统用 3 片 8259A 级联构成中断系统,主片中断类型号从 10H 开始。从片的中断申请连主片的 IR4 和 IR6 引脚,它们的中断类型号分别从 20H、30H 开始。主、从片采用电平触发,嵌套方式,普通中断结束方式。请编写它们的初始化程序。(假设主片端口地址为 10H10H,12H12H。从片的端口地址分别为18H18H,1AH1AH 和 1CH1CH,1EH1EH)图 1 ICW1 格式图 2 ICW2 格式图 3 ICW3 格式图 4 ICW4 格式MOVAL,00011001B;主片 ICW1OUT 10H,AL;电平触发,级连方式MOVAL,10H;主片 ICW2OUT 12H,AL;主片中断类型MOVAL,01010000B;主片 ICW3OUT 12H,AL;IR4,IR6 连有从片MOVAL,00010001B;主片 ICW4OUT 12H,AL;特殊全嵌套,非自动中断结束MOVAL,00011001B;从片 ICW1OUT 18H,AL;电平触发,级连方式MOVAL,20H;从片 ICW2OUT 1AH,AL;从片中断类型MOVAL,00000100B;从片 ICW3OUT 1AH,AL;本片连接在主片 IR4 引脚上MOVAL,00000001B;从片 ICW4OUT 1AH,AL;非特殊全嵌套,非自动中断结束MOVAL,00011001B;从片 ICW1OUT 1CH,AL;电平触发,级连方式MOVAL,30H;从片 ICW2OUT 1EH,AL;从片中断类型MOVAL,00000110B;从片 ICW3OUT 1EH,AL;本片连接在主片 IR6 引脚上MOVAL,00000001B;从片 ICW4OUT 1EH,AL;非特殊全嵌套,非自动中断结束7.画出如下数据段的数据在内存中的存放形式示意图(任选一个主存地址作为起始地址)。DATA SEGMENT A DW 2,3 B DB ABC C DB 4 DUP(0)D =C E DD 12345678H DATAENDS解:设数据段从 200H 处开始定义,图示如下:A AB BC CE E200201202203204205206207-20A20B20C20D20E2030ABC078H56H34H12H8.从键盘输入一字符,若为字符,则 1CX,否则 0CX。编写汇编语言程序,要有完整的格式DATA SEGMENT MSG DB Please input a letter:,0AH,0DH,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MSG ;显示退出提示 MOV AH,09H INT 21H MOV AH,01H INT 21HMOV AH,ALCMP AH,$JZ NEXTMOV 1,CXJMP END1NEXT:MOV 0,CXEND1:MOV AH,4CH INT 21HCODE ENDS END START9.编制一个完整的汇编程序,定义三个 WORD 类型的数据 A、B 和 C,初始化任意。如果其中一个为1,将另外两个清零,否则求它们的和,存入 WORD 类型的 D 单元中。DATA SEGMENT A DW?B DW?C DW?D DW?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,AMOV BX,BMOV CX,CCMP AX,1JZ NEXTCMP BX,1JZ NEXTCMP CX,1JZ NEXTADD AX,BXADD AX,CXMOV D,AXJMP END1NEXT:MOV A,0MOV B,0MOV C,0END1:MOV AH,4CH INT 21HCODE ENDS END START10.按照要求完成以下内容:(1)编写对8253计数器1初始化程序段(仅定时50ms)。(2)编写对8255的初始化程序以及1秒到后,从PA口读入一个字节开关数并送PB口显示的程序段。8253 控制方式字8255 控制方式字解:(1)8253初始化程序段如下:MOV AL,01110110B;计数器1方式字OUT 43H,ALMOV AL,50H ;计数器1定时50ms,计数值为50000OUT 41H,ALMOV AL,OC3HOUT 41H,AL(2)8255的初始化及从PA口读入一个开关字节数送PB口显示的程序段如下:MOV AL,10010000B;8255方式字,PA口方式0输入,PB口方式0输出OUT 63H,ALIN AL,60H;从PA口输入OUT 61 H,AL;从PB输用三、数据寻址方式三、数据寻址方式1)立即寻址是指指令操作数域直接给出的就是参加运算或进行某种操作的数据,又称即时数,有 8位、16 位等形式。2)寄存器寻址是指令操作数域给出的是存放操作数的寄存器。3)直接寻址是指令操作数域给出的是存放操作数地址的偏移量。4)寄存器间接寻址是指令操作数域给出存放操作数地址偏移量的寄存器。5)寄存器相对寻址是指令操作数域给出存放基地址的基址寄存器和一个偏移量,基地址与偏移量相加,作为操作数地址的偏移地址,也就是有效地址EA。段地址左移 4 位,与有效地址相加,生成 20位的物理地址。6)基址加变址寻址是指令操作数域给出一个存放基地址的基址寄存器和一个存放变址基值的变址寄存器,两寄存器中的数据相加,作为操作数的偏移地址,即有效地址 EA。7)相对基址加变址寻址是指令操作数域给出的是一个存放基地址的基址寄存器、一个存放变址基值的变址寄存器和一个偏移量,两寄存器中的数据及偏移量相加,作为操作数的偏移地址,也就是有效地址 EA。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服