《微机原理补考知识点总结(11页).doc》由会员分享,可在线阅读,更多相关《微机原理补考知识点总结(11页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-第一章第二章第三章第四章 微机原理补考知识点总结-第 11 页第五章 概 述一、 计算机中的数制在计算机内部,一切信息的存取、处理和传送都是以二进制编码形式进行的微机组成原理8086微处理器1、8086 CPU使用 16 根地址线访问I/O端口,最多可访问216=64K个字节端口,使用 20 根地址线访问存储单元,最多可访问220=1M个字节单元。类似这种类型的反过来的题目也应该会做:已知可寻址的内存空间最大为16MB, CPU的地址总线至少应有24条2、8086 CPU 由哪几个部分组成?各个部分完成的什么工作?如何协调工作?3.8086和8088的主要区别是什么?4、寄存器结构8086微
2、处理器包含有14个16位的寄存器和8个8位寄存器。4个通用寄存器(AX,BX,CX,DX)4个段寄存器(CS,DS,SS,ES)4个指针和变址寄存器(SP,BP,SI,DI)4)、指令指针(IP)16位指令指针寄存器,其内容为下一条要执行的指令的偏移地址。5)、8086的标志寄存器FLAG按其作用可分为哪两大类。(1)状态标志位(2)控制标志位在8086的16位标志寄存器中,并不是每一位都有一定的含义,只有9位有含义,其余7位未用。标志寄存器中的中断标志位IF是控制可屏蔽中断的标志。 IF=1时,CPU响应中断请求;IF=0时,CPU屏蔽中断请求,不予响应1、8086有14个16位寄存器和8个
3、8位寄存器,其中哪两个寄存器保存了下一条要执行的指令所在单元的物理地址。CS,IP物理地址PA(Physical Address)。8086的存储空间物理地址范围是00000HFFFFFH其计算方法是:将CPU中的16位段寄存器内容左移4位(16)与16位的逻辑地址(又称偏移地址)在地址加法器内相加,得到所寻址单元的20位物理地址。假设(CS)=0FE00H,(IP)=0400H,那么下一条要取出的指令所在内存单元的20位物理地址PA=0FE00H10H+0400H=0FE400H。逻辑地址1F80:2000对应的物理地址是21800H。5、8086的引脚及其功能若8086CPU引脚状态是M/
4、IO#=0,RD#=1,WR#=0,则此时执行的操作是写I/O6、CPU执行指令时涉及三种周期:时钟周期、总线周期、指令周期三者关系:一个基本的总线周期至少由4个时钟周期组成(T1、T2、T3、T4)。指令周期是由1个或多个总线周期组合而成。8086CPU在读/写总线周期的T3状态结束对READY线采样,如果READY为低电平,则在T3与T4状态之间插入等待状态TW。第三章 8086指令系统第一节 8086寻址方式一、 数据寻址方式指令的格式:操作码 目的操作数,源操作数例: MOV AL ,19H其中AL为目的操作数,19H为源操作数1、立即寻址 操作数(为一常数)直接由指令给出 (此操作数
5、称为立即数)立即寻址只能用于源操作数例:MOV AX, 1800H 立即寻址指令执行速度最快2、寄存器寻址(1)操作数放在某个寄存器中(2)源操作数与目的操作数字长要相同例: MOV AX, BX3、直接寻址(1)指令中直接给出操作数的16位偏移地址 偏移地址也称为有效地址(EA, Effective Address)(2)默认的段寄存器为DS,但也可以显式地指定其他段寄存器称为段超越例: MOV AX ,2A00H 4、间接寻址l 操作数的偏移地址(有效地址EA)放在寄存器中l 只有SI、DI、BX和BP可作间址寄存器,可以提供偏移地址EAl 例: MOV AX,BP 源操作数物理地址为16
6、(SS)+(BP)。 MOV CL,CS:DI 错误例 : MOV AX, DX ; 只有SI、DI、BX和BP可作间址寄存器 MOV CL, AX ;只有SI、DI、BX和BP可作间址寄存器5、寄存器相对寻址lEA=间址寄存器的内容加上一个8/16位的位移量l 例: MOV AX, BX+8 MOV AX, 8BP; 默认段寄存器为SS6、基址变址寻址l 若操作数的偏移地址:由基址寄存器(BX或BP)给出 基址寻址方式由变址寄存器(SI或DI)给出 变址寻址方式由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址-变址寻址。EA=(BX)+(SI)或(DI);EA
7、=(BP)+(SI)或(DI)同一组内的寄存器不能同时出现。注意:除了有段跨越前缀的情况外,当基址寄存器为BX时,操作数应该存放在数据段DS中,当基址寄存器为BP时,操作数应放在堆栈段SS中。例:7、相对基址变址寻址l 在基址-变址寻址的基础上再加上一个相对位移量EA=(BX)+(SI)或(DI)+8位或16位位移量;EA=(BP)+(SI)或(DI)+8位或16位位移量指令操作例:MOV 1283H BX SI,AX寄存器间接、寄存器相对、基址变址、相对基址变址四种寻址方式的比较: 寻址方式 指令操作数形式n 寄存器间接 只有一个寄存器(BX/BP/SI/DI之一)n 寄存器相对 一个寄存器
8、加上位移量n 基址变址 两个不同类别的寄存器n 相对基址-变址 两个不同类别的寄存器加上位移量例:1、以下指令中,没有错误的是( )。A) MOV BYTEBX,1000B)PUSH CSC) POP CSD) MOV AX,SIDI2、以下几种不同数据寻址方式的指令中,( )的指令执行速度最快。A) MOV 2000,1800HB) Mov SI,1800HC) Mov ax,1800HD) MOV DS,1800H第二节 8086指令系统一、数据传送指令1、通用传送指令(1) MOV dest,src; destsrc(2)、堆栈指令按“后进先出”方式工作的存储区域。 压栈指令PUSH 弹
9、出指令POP例:假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSH AX后,(SP)=0010H2、输入输出指令(1) 输入指令IN (2) 输出指令OUT二、算术运算指令1、 加法指令(1) 不带进位的加法指令ADD实例:ADD AL,30HADD指令对6个状态标志均产生影响。(1) 带进位的加法ADCADC指令在形式上和功能上与ADD类似,只是相加时还要包括进位标志CF的内容,例如:ADC AL,68H ; AL(AL)+68H+(CF)ADC AX,CX ;AX(AX)+(CX)+(CF)(3)加1指令INC功能:类似于C语言中的+操作:对指定的操作数加1
10、 例: INC AL例:执行如下程序:MOV AX,0MOV BX,1MOVCX,100A:ADDAX,BXINC BXLOOP AHLT执行后(BX)=1012、减法指令(1)不考虑借位的减法指令SUB格式: SUB dest, src操作: dest(dest)-(src)指令例子:SUB AL,60H(2)考虑借位的减法指令SBBSBB指令主要用于多字节的减法。格式: SBB dest, src操作: dest(dest)-(src)-(CF)指令例子:SBB AX,CX(3)减1指令DEC作用类似于C语言中的”操作符。(5)比较指令CMP格式: CMP dest, src操作: (de
11、st)-(src)CMP也是执行两个操作数相减,但结果不送目标操作数,其结果只反映在标志位上。指令例子:CMP AL,0AH2、 乘法指令进行乘法时:8位*8位16位乘积16位*16位32位乘积(1) 无符号数的乘法指令MUL(MEM/REG)格式: MUL src操作:字节操作数 (AX)(AL) (src)字操作数 (DX, AX)(AX) (src)指令例子:MUL BL ;(AL)(BL),乘积在AX中MUL CX ;(AX)(CX),乘积在DX,AX中(2)有符号数乘法指令IMUL格式与MUL指令类似,只是要求两操作数均为有符号数。指令例子:IMUL BL ;(AX)(AL)(BL)
12、IMUL WORD PTRSI;(DX,AX)(AX)(SI+1SI)注意:MUL/IMUL指令中 AL(AX)为隐含的乘数寄存器; AX(DX,AX)为隐含的乘积寄存器; SRC不能为立即数;即MUL 10H错误,10H为立即数 除CF和OF外,对其它标志位无定义。4、除法指令进行除法时:16位/8位8位商32位/16位16位商对被除数、商及余数存放有如下规定:被除数 商 余数字节除法 AX AL AH字除法 DX:AX AX DX(1)无符号数除法指令DIV格式: DIV src操作:字节操作 (AL)(AX) / (SRC) 的商(AH)(AX) / (SRC) 的余数字操作 (AX)
13、(DX, AX) / (SRC) 的商DX) (DX, AX) / (SRC) 的余数指令例子:DIV CL(2)有符号数除法指令IDIV格式: IDIV src操作与DIV类似。商及余数均为有符号数,且余数符号总是与被除数符号相同。注意: 对于DIV/IDIV指令AX(DX,AX)为隐含的被除数寄存器。AL(AX)为隐含的商寄存器。AH(DX)为隐含的余数寄存器。src不能为立即数。对所有条件标志位均无定四、控制转移指令1、 转移指令(1)无条件转移指令JMP 格式:JMP label本指令无条件转移到指定的目标地址,以执行从该地址开始的程序段。假设(DS)=2000H,(BX)=1256H
14、,(SI)=528FH;位移量TABLE=20A1H,(232F7H)=3280H,(264E5H)=2450H,则执行指令JMP TABLEBX后,(IP)=3280H;执行指令JMP BXSI后,(IP)=2450H 。(2)条件转移指令(补充内容)常用指令 根据单个标志位设置的条件转移指令JZ/JE ;结果为零(ZF=1),则转移JNZ/JNE ;结果不为零(ZF=0),则转移(2) 段内转移指令执行结果只改变IP的值。例:有100个字节数据(补码),存放在数据段中EA2000H的存储单元中。以下程序应该从该数据区中找出最小的一个数据,并存入EA2100H单元中,请将下面程序补充完整。M
15、IN:MOVBX,( 2000H )MOVAL,BXMOVCX,( 99 ) LOOP1: INCBXCMPAL,BX ( JLE ) LOOP2MOV AL,BXLOOP2: DEC CXJNZ LOOP1 MOV ( 2100H ),AL2、循环控制指令l用在循环程序中以确定是否要继续循环。l循环次数通常置于CX中。l循环控制指令不影响标志位。(1)LOOP格式:LOOP label操作:(CX)-1CX; 若(CX)0,则转至label处执行; 否则退出循环,执行LOOP后面的指令。 LOOP指令与下面的指令段等价: DEC CX JNZ label第四章 8086汇编语言程序设计一、8
16、086汇编语言的基本语法1. 汇编语言结构 1)标识符 用来对程序中的变量、常量、段、过程等进行命名,它是组成语句的一个常用成分,它的命名应符合下列规定: 合法符号:字母(不分大小写)、数字及特殊符号(“?”,“”,“_”,“$”,“”)。 名字必须以字母开头。 名字的有效长度不超过31个英文字符。 不能把保留字(如CPU的寄存器名、指令助记符等)用作名字。变量是存储单元的符号地址,这类存储单元的内容可以在程序运行期间被修改。8、汇编程序的一般结构DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX ,DATA
17、 MOV DS,AX MOV AH,4CH INT 21HCODE ENDSEND START第三节 程序设计1、 顺序程序的设计顺序程序:顺序执行的程序称为顺序程序。 特点:每一条指令在执行过程中只被执行一次。例 :根据算式Z=8XY/16W2,X、Y、W均为8位无符号数,Z为16位无符号数。DATA SEGMENT X DB ? Y DB ? W DB ? Z DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AXMOV AL,XMOV BL,8MUL BLMOV DX,AXMOV AH,0MOV
18、 AL,YMOV BL,16DIV BLCBWADD DX,AXMOV AH,0MOV AL,WMUL ALSUB DX,AXMOV Z,DXMOV AH,4CHINT 21HCODE ENDS END START2、 分支程序的设计计算机的一个重要特点在于它能“判断”情况。计算机指令系统中的比较指令、测试指令和条件转移指令等就反映了这种能力。 例如程序设计中经常会遇到判断“相等”和“不相等”、“负”和“正”、“大于”和“小于”、“满足条件”和“不满足条件”等等。这种判断使程序的流程不再是一条顺序执行的直线,而变为由两个或多个分支所组成的倒树型结构,其中每一个分支只有在满足条件时才被执行。3、
19、 循环程序。1)循环程序的构成:任何循环程序都可分为循环初始部分、循环体和循环结束部分。 2)循环的类型 循环体的结构依照问题的不同,一般可以分为两种类型: 先判断后处理; WHILE-DO 先处理后判断。 DO-WHILE第六章 存储器一、概述二、半导体存储器1. 半导体存储器的分类: (按存取方式)可分为RAM和ROM。2、什么是RAM,ROM?RAM和ROM各有什么特点?三、存储器芯片的扩展由于单个存储芯片的容量有限,将若干存储芯片进行连接扩展成大容量的存储器,通常有三种方式:位扩展、字扩展、字位扩展进行字位扩展时,一般先进行位扩展,使构成字长满足要求的内存模块,然后再用若干这样的模块进
20、行字扩展,使总存储容量满足要求。一个存储器的容量为MN位,若使用PK位存储器芯片,那么,这个存储器共需要(M/P)(N/K)个存储器芯片。8、6166为2Kx8位的SRAM芯片,它的地址线条数为()。 A) 10B) 11C) 12D) 138、使用62256(32K8位)和28C512(64K8位),在8086系统最小模式中设计具有256KB RAM、128KB E2PROM的存储体,分别需要( )。 A) 8片62512,4片28C512B) 4片62512,2片28C512C) 8片62512,2片28C512D) 4片62512,4片28C512第7章 中断技术一、 中断的基本概念1、
21、什么叫作中断?中断的过程是什么?2、 中断的过程可分为中断请求,中断判优,中断响应,中断处理和中断返回。3、 可屏蔽中断的嵌套原则:中断服务期间禁止同级和较低级的中断请求。4、8259支持 电平 触发和 边沿 触发两种中断触发方式。5、8259A应用中,需对IR5,IR3进行屏蔽,操作命令字OCW1应写入28H命令字6、要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为( )。 A) 80H B) 28H C) E8H D) 01H第8章 I/O接口技术一、接口概述1、I/O 接口的功能:对输入/输出数据进行缓冲和锁存、对信号的形式和数据的格式进行变换、对I/O 端口进行寻
22、址、提供联络信号等。2、什么是端口?通常有哪几类端口?3、8251A芯片的控制字及其工作方式可编程串行通信接口芯片8251A 在使用前必须进行初始化,以确定它的工作方式、传送速率、字符格式以及停止位长度等,这样就需要有三种控制字,分别为工作方式控制字、操作命令控制字和状态控制字。(1)工作方式控制字(2)操作命令控制字要使8251A处于发送数据或接收数据状态,通知外设准备接收数据或是发送数据,是通过CPU执行输出指令,发出相应的控制字来实现的(3)状态控制字CPU通过输入指令读取状态控制字,了解8251A传送数据时所处的状态,做出是否发出命令,是否继续下一个数据传送的决定。状态字存放在状态寄存
23、器中,CPU只能读入状态寄存器,而不能对它写入内容复位命令 要改变8251A的工作方式,必须先复位,再重新设置方式。8251A有两种复位方式:硬件复位和软件复位。 硬件的方法是从RESET引脚输入一复位信号 软件复位是编程中常采用的方法。软件复位的步骤是: (1)向控制/状态端口连续写入3个0; (2)写入控制字40H。【例】编写使8251A发送数据的程序。将8251A定为异步传送方式,波特率系数为16,采用偶校验,1位停止位,8位数据位。8251A与外设有握手信号,采用查询方式发送数据。设8251A数据端口地址为90H,方式命令状态端口地址为91H。MOV DX, 91HMOV AL,0 OUT DX, AL OUT DX, ALOUT DX, ALMOV AL,40H OUT DX, AL ;复位命令MOVDX,91HMOVAL,7EH;写工作方式控制字OUTDX,ALMOVAL,37H;写操作命令控制字OUTDX,ALWAIT IN AL,DX;读入状态控制字ANDAL,01HJZWAIT;检查RxRDY是否为1MOVDX,90HMOVAL,DATA;输出的数据送ALOUTDX,AL
限制150内