1、微机微机原理原理及应用及应用总复习总复习考试题型:考试题型:1.1.填空题(每空填空题(每空1 1分)分)10%10%2.2.选择填空题(单选,每题选择填空题(单选,每题1 1分)分)10%10%3.3.简答题(简答题(2 2题)题)10%10%4.4.指令伪指令(指令伪指令(2 2题)题)15%15%5.5.程序设计程序设计 10%10%6.6.硬件及程序设计题(硬件及程序设计题(4 4题)题)45%45%第一、二、三类题型多为书中基本概念,请同学们注意看书。第一、二、三类题型多为书中基本概念,请同学们注意看书。第四、五、六类题型请注意课件中讲解的例题、书中例题、上第四、五、六类题型请注意课
2、件中讲解的例题、书中例题、上机考试题以及书后练习等。机考试题以及书后练习等。微机微机原理原理及应用及应用第一章 基础知识 n1理解Bit,byte,word,doubleword 等基本概念n2掌握计算机中常用的数制与编码:q十进制、二进制数、十六进制的运算和转换;qBCD码的加、减运算及调整;q常用的ASCII码:数字、大小写英文字母的ASCII码表示q数据在内存中的存贮方式n3掌握有符号数的表示法、加、减运算及溢出的概念;n4掌握“与”、“或”“非”以及“异或”等逻辑运算。微机微机原理原理及应用及应用对一个机器数对一个机器数X:n若若X0,则,则 X反反=X原原 且且X补补=X反反=X原原
3、n若若X0000:0064H78H0000:0065H45H0000:0066H23H0000:0067HIPCS90H78H45H23H0000:0064H0000:0065H0000:0066H0000:0067HP101微机微机原理原理及应用及应用已知(SP)=0150H,(SS)=3550H,(CS)=9000H,(IP)=0200H,(0005CH)=6FH,(0005DH)=5AH,(0005EH)=07H,(005FH)=7CH,在地址为90200H开始的连续两个单元中存放一条两字节指令INT 17H。试指出在执行该指令并进入相关的中断例程时,SP,SS,IP,CS寄存器的内容以
4、及SP所指向的字单元的内容是多少?计算17H型中断向量在向量表中存放的地址17H00010111B 17H45CH(IP)=5A6FH(CS)=7C07H6FH5AH07H7CH0000:005CH0000:005DH0000:005EH0000:005FH执行中断指令并进入相关的中断例程时执行中断指令并进入相关的中断例程时(SS)=3550H(SP)=0150H6=014AH微机微机原理原理及应用及应用第五章 8088/8086指令系统n1.指令格式(标号:指令助记符 操作数 ;注释),有的指令为双操作数,有的指令为单操作数,有的指令无操作数。要特别注意某些指令其隐含的操作数是什么。n2.寻
5、址方式:(1)寻址方式(指定操作数或操作数地址的方式)共有七种:立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、相对的寄存器间接寻址、基址加变址寻址、相对的基址加变址寻址。(2)操作数的类型和操作数的三种可能存放方式(I/O传输除外):在指令中(立即数操作数);在寄存器中(寄存器操作数);在内存中(内存操作数/存储器操作数)微机微机技术技术及应用及应用8086/80888086/8088的寻址方式小结的寻址方式小结微机微机原理原理及应用及应用已知(DS)=2000H,(SS)=5000H,(ES)=3000H,(BX)=157BH,(SI)=1B7AH,(BP)=5C6DH,DATA=005
6、0H,指出下列指令中的源操作数的寻址方式,并计算该操作数的物理地址(1)MOV SI,200(2)PUSHF PUSHF指令是把标志寄存器的值(是内容而不是地址)压入由SP指向的堆栈顶部,同时堆栈指针SP的值减2。(3)CMP AX,2000H 段寄存器默认为DS,因此物理地址为:(DS)x10H+2000H=22000H(4)MOV DL,ES:BX 指定段寄存器为ES,因此物理地址为:(ES)x10H+(BX)=3157BH 立即数寻址;寄存器寻址;直接寻址;寄存器间接寻址方式;微机微机原理原理及应用及应用(5)INC BYTE PTR DATASI 段寄存器默认为DS,因此物理地址为:(
7、DS)x10H+(SI)+DATA=21BCAH(6)ADD AX,BXSI 默认段寄存器为DS,因此物理地址为:(DS)x10H+(BX)+(SI)=230F5H(7)MOV BX,DATABXSI,默认段寄存器为DS,因此物理地址为:(DS)x10H+(BX)+(SI)+DATA=23145H(8)MOV AX,BP 默认段寄存器为SS,因此物理地址为:(SS)x10H+(BP)=55C6DH 相对变址寻址;基址加变址寻址;相对基址加变址寻址堆栈段基址寻址,微机微机原理原理及应用及应用3 3使用指令时,应注意的几个问题使用指令时,应注意的几个问题(1 1)注意区别立即寻址方式和直接寻址方式
8、。)注意区别立即寻址方式和直接寻址方式。如:MOV AX,126 ;将数据126送入AX寄存器 MOV AX,126 ;将数据段中的126和127单元的内容送AX.(2 2)使用寄存器间接寻址时应注意和寄存器寻址方式的区别。)使用寄存器间接寻址时应注意和寄存器寻址方式的区别。如:MOV AX,BX ;BX中的内容传送到AX MOV AX,BX ;BX所指示的地址中的内容送AX.(3 3)在双操作数指令中,源操作数和目的操作数不能同时)在双操作数指令中,源操作数和目的操作数不能同时 为存储器地址。为存储器地址。如:M1和M2为两个存储器变量,则ADD M1,M2是错误指令.微机微机原理原理及应用
9、及应用(4 4)段跨越前缀可修改操作数所在的段。)段跨越前缀可修改操作数所在的段。如:MOV DL,MESS1SI 源操作数地址为:(DS)X16+(SI)+OFFSET MESS1 MOV DL,ESES:MESS2SI 注意:注意:MOV BX,ES:AXMOV BX,ES:AX对吗?对吗?源操作数地址为:(ES)X16+(SI)+OFFEST MESS2 注意:注意:段跨越前缀不能使用CSCS。提示:提示:本指令的目的操作数DL决定了本指令将从存储单元中取一个字节而不是一个字。(5 5)代码段寄存器)代码段寄存器CSCS不能用作指令的目的寄存器。不能用作指令的目的寄存器。(6 6)用方括
10、号提供的数据来至内存,方括号内的数为偏移地址,)用方括号提供的数据来至内存,方括号内的数为偏移地址,也称为有效地址也称为有效地址EAEA。微机微机原理原理及应用及应用4 4掌握各类指令的功能及特点(不仅要了解指令的功能还要了掌握各类指令的功能及特点(不仅要了解指令的功能还要了解影响标志位的情况);正确使用指令系统,关键要清楚每解影响标志位的情况);正确使用指令系统,关键要清楚每条指令的功能以及它们规定或限制使用的寄存器。请同学们条指令的功能以及它们规定或限制使用的寄存器。请同学们特别注意以下几个问题:特别注意以下几个问题:(1 1)指令对地址还是对地址中的内容进行操作,这要严格加以)指令对地址
11、还是对地址中的内容进行操作,这要严格加以 区分。区分。如:LEA BX,MESS ;(BX)MESS的偏移地址 MOV BX,OFFSET MESS;(BX)MESS的偏移地址 MOV BX,MESS ;(BX)字变量MESS中的内容(2)除)除LEA指令外,加中括号涉及到的操作数为内存操作数,指令外,加中括号涉及到的操作数为内存操作数,通过地址对内存操作数进行存取,其地址由段基址和段内通过地址对内存操作数进行存取,其地址由段基址和段内 偏移地址组成。偏移地址组成。微机微机原理原理及应用及应用(3 3)使用指令时,要清楚指令)使用指令时,要清楚指令隐含的隐含的操作寄存器。操作寄存器。如:在乘法
12、和除法指令中,只指出源操作数地址,但要清楚目的 操作数必须存放在(AX)/(AL)中(乘法),或(AX)/(DX:AX)中(除法)。串指令(MOVS、SOTS、LODS、CMPS、SCAS),它们的寻址方 式也是隐含的,指令规定操作是在数据段中SI所指示的地址 和附加段中DI所指示的地址之间进行串处理的;在存取串时 AL是隐含的存取寄存器。十进制调整指令(DAA、DAS等)也 隐含地使用了AL寄存器。换码指令XLAT、循环指令LOOP、LOOPE、LOOPNE等,它们都要 求预先在规定的寄存器内设置好操作数地址或记数值。(4)对带符号数和无符号数的操作应正确选择相应的条件转移指令。)对带符号数
13、和无符号数的操作应正确选择相应的条件转移指令。微机微机原理原理及应用及应用 (5 5)用移位指令来倍增或倍减一个值是很方便的,但要注意对带)用移位指令来倍增或倍减一个值是很方便的,但要注意对带符号数和无符号数所使用的指令应是不同的。符号数和无符号数所使用的指令应是不同的。如:(AX)=8520H,请用移位指令实现(AX)/2。当(AX)为无符号数时,SHR AX,1,;结果是(AX)=4290H。当(AX)为带符号数时,SAR AX,1,;结果为(AX)=0C290H(6 6)标号是程序中指令的符号地址,要注意和变量(数据符号)的)标号是程序中指令的符号地址,要注意和变量(数据符号)的区别。区
14、别。如定义VAR是一个变量,LAB是程序中的一个标号,则JMP LAB;指令的转移地址为LAB,指令合法。JMP VRA;是一条非法指令。微机微机原理原理及应用及应用7在传送类指令中(1)请注意理解堆栈的基本概念及其操作(2)I/O数据传送指令(跟外设交换数据的指令)中,特别注 意:当端口号大于当端口号大于0FFH0FFH时要先送入时要先送入DXDX);例:设堆栈指针例:设堆栈指针SP的初值为的初值为2000H,(AX)=3000H,(BX)=5000H,试问试问:答答:(1)指令执行后SP会自动减2,故(SP)=1FFEH.(2)执行PUSH BX后SP自动减2,BX内容进入堆栈,而BX仍为
15、 5000H。再执行POP AX后,SP自动加2,堆栈内容5000H进入 AX。故:(SP)=1FFEH,(AX)=5000H,(BX)=5000H(1)执行指令PUSH AX后SP=?(2)再执行PUSH BX及POP AX后SP=?AX=?BX=?微机微机原理原理及应用及应用假如假如AL=20H,BL=10H,AL=20H,BL=10H,当执行当执行CMP AL,BLCMP AL,BL后后,问问:答答:(1)因为(AL)=20H(BL)=10H,故当是无符号数时,影响CF和ZF标志位,且CF=0,OF=0.(2)当AL,BL中是有符号数时,AL,BL中仍为正数,比较结果影响S F,O F,
16、Z F 标 志 位,但(A L)(B L),故 结 果 为ZF=0,SF=0,OF=0.(1)若AL,BL中内容是两个无符号数,比较结果如何?影响哪几个 标志位?(2)若AL,BL中内容是两个有符号数,结果又如何?影响哪几个 标志位?qCMP(比较)指令,类似于减法运算,但只影响标志位,不影响所运算的值;用此指令时须考虑有符号数和无符号数的区别.8数据操作类指令微机微机原理原理及应用及应用根据要求写指令根据要求写指令 (1)AX寄存器低四位清零 (2)BX寄存器低四位置”1”AND AX,0FFF0H (3)CX寄存器低四位变反 XOR CX,000FH (4)用TEST指令测试DL寄存器位3
17、,位6是否同时为零,若是,将0送DL,否则1送DH TEST DL,48H ;0100 1000B=48H JZ LOOP1 ;为零,则ZF=1,转LOOP1,0送DL MOV DH,1 ;否则ZF=0,不转移,1送DH JMP TT1 LOOP1:MOV DL,0 TT1:HLTOR BX,000FHqTEST类似于AND指令,但只影响标志位,不将运算结果送入目标操作数。微机微机原理原理及应用及应用 设(设(BX)1011 1001 1011 1001,CF 0 ,(CL)03。确确定下列指令分别执行后(定下列指令分别执行后(BX)?)?(1)SHL BL,1(2)SAL BL,CL(3)S
18、HR BL,CL(4)SAR BL,1(5)ROL BH,1(6)RCL BX,CL(7)RCR BL,CL(8)ROR BH,1(BL)=0111 0010 CF=1(BL)=1100 1000 CF=1(B L)=0 0 0 1 0 111 C F=0(B H)=0 1 1 1 0 0 1 1 C F=1(B H)=1 1 0 1 1 1 0 0 C F=1(B L)=1 1 0 1 1 1 0 0 C F=1(BX)=1100 1101 1100 1010 CF=1(B L)=0 1 0 1 0 1 1 1 C F=0注意:注意:所移动次数大于1时须将值送CL微机微机原理原理及应用及应用
19、9在串指令中,注意操作数的隐含规则:q串传送指令 MOVSB/MOVSW:将一个字节/字从(DS:SI)传送到(ES:DI)完成操作后自动修改SI、DI,使其指向串的下一个元素q串比较指令 CMPSB/CMPSW:比较(DS:SI)和(ES:DI)的值,自动修改SI、DI,指令前通常加重复前缀REPZ/REPE。q串搜索指令:SCASB/SCASW:在首地址为ES:DI的串中搜索某个元素(字节/字)事先要将待搜索的元素存入AL/AX,指令前通常加重复前缀REPNZ/REPNE。自动修改DI注意比较REP,REPE/REPZ以及REPNE/REPNZ的退出循环条件有何不同。q读串指令LODSB/
20、LODSW:将地址为DS:SI的一个字节/字读入AL/AX,自动修改SIq写串指令 STOSB/STOSW:将AL/AX的值存入地址为ES:DI的内存单元,自动修改DI微机微机原理原理及应用及应用判断下列指令书写是否正确,不正确的请指出原因。判断下列指令书写是否正确,不正确的请指出原因。n(1)MOV AL,BX 错错 BX为16位寄存器,AL为8 位,类型不匹配n(2)MOV ES,DS 错错 两个操作数不能同为段寄存器 n(3)DEC BX 错错 本指令DEC后的目的操作数需指明类型n(4)MOV 5,AL 错错 5是一个立即数,目的操作数不能是立即数n(5)MOV BX,SI 错错 两个
21、操作数不能同时为内存单元微机微机原理原理及应用及应用(6)MOV DS,2000H 错 不能给段寄存器用立即数的方式赋初值(7)POP CS 错 代码段寄存器CS不能是目的操作数(8)PUSH CS 对 代码段寄存器CS 是源操作数(9)DIV 12 错 DIV源操作数不能是立即数(10)IN BL,45H 错 IN指令只能用累加器AL或AX(11)SHR AL,5 错 移位次数大于1时应放入CL寄存器中判断下列指令书写是否正确,不正确的请指出原因。判断下列指令书写是否正确,不正确的请指出原因。微机微机原理原理及应用及应用(12)MOV BX,AX 错 AX寄存器不能用于寄存器间接寻址方式(1
22、3)MOV AX,BXBP 错 不能同时使用两个基址寄存器或变址寄存器进行间接寻址(14)XLAT BX 错 XLAT操作数是隐含的(15)XCHG AX,DS 错,段寄存器不能用于交换指令中判断下列指令书写是否正确,不正确的请指出原因。判断下列指令书写是否正确,不正确的请指出原因。注意:CALL指令、RET指令、INT指令、IRET指令及其相关操作P133P133微机微机原理原理及应用及应用例题例题MOV AL,80HCBWCMP AL,80H指令执行后6个状态标志位的值是什么?微机微机原理原理及应用及应用读下面程序段,请问:在什么情况下,本段程序的执行结果是AH=0?BEGIN:IN AL
23、,5FH ;从5FH端口读入数据到AL TEST AL,80H ;测试,影响ZF标志位,若AL最高 位为1,则ZF=0,否则ZF=1 JZ BRCH1 ;若ZF=1,则转BRCH1 MOV AH,0 ;0送入AH JMP STOP ;转STOPBRCH1:MOV AH,0FFH;0FFH送入AHSTOP:HLT ;结束 答:要答:要AH=0,则需要则需要AL的最高位为的最高位为1.1.微机微机原理原理及应用及应用第七章 汇编语言程序设计n汇编语言程序结构、语句类型及格式n变量名及其属性、指令中的变量名n表达式与关系运算符n伪指令:DB、DW、DD、DUP、EQU、ORG、段定义/过程定义/程序
24、结束伪指令:SEGMENT、ENDS、ASSUME、PROC、FAR、NEAR、ENDP、ENDn常用DOS功能的调用方法:1、2、9、0AH、4CH 号调用n程序调试过程(编译、连接、运行、debug)微机微机原理原理及应用及应用例题例题已知某数据段定义数据如下,请画出数已知某数据段定义数据如下,请画出数据存储的示意图。据存储的示意图。DATA1 EQU 100DATA1 EQU 100DATA_BYTE DB 10,4,10HDATA_BYTE DB 10,4,10HLENGTH1 EQU$-DATA_BYTELENGTH1 EQU$-DATA_BYTEDATA_WORD DW 100,1
25、00H,-16DATA_WORD DW 100,100H,-16LENGTH2 EQU$-DATA_WORDLENGTH2 EQU$-DATA_WORDDATA_DW DD 3DATA_DW DD 3*20,0FFFDH 20,0FFFDH 注意:注意:DATA1、LENGTH1和LENGTH2不占用存储单元!LENGTH13,LENGTH26注意注意DUP表达式表达式微机微机原理原理及应用及应用读下面程序段,请问:程序执行后数据段数据的存储情况?DATA SEGMENT BUF1 DB 2 DUP(3,0,2 DUP(ABC),FFH)BUF2 EQU 1A7BH BUF3 DW 1250H
26、 LEN=$-BUF1DATA ENDSMOV AX,BUF2MOV SI,OFFSET BUF1MOV SI,AX7BH1AHLEN=?微机微机原理原理及应用及应用 某数据段如下所示,请说出变量VECT1和VECT2的属性以及其各自的偏移地址。VECTORSSEGMENT ORG10 VECT1 DW47A5H ORG20 VECT2 DW0C596H VECTORSENDS答:答:变量VECT1 和VECT2具有3个属性:(1)段属性,即变量VECT1 和VECT2均在数据段VECTORS中;(2)类属性,变量VECT1 和VECT2均是字变量,即变量中每一项都占用两个字节;(3)偏移属性
27、,VECT1的偏移地址为OAH,而VECT2的偏移地址为14H上一页 下一页微机微机原理原理及应用及应用指令指令XOR AX,OPR1 XOR OPR2 XOR AX,OPR1 XOR OPR2 中,中,OPR1OPR1和和OPR2OPR2是两个已赋值的变量,这两个是两个已赋值的变量,这两个XORXOR操作有何区别?操作有何区别?第一个第一个XOR XOR 是是CPUCPU执行的,程序运行时执行。执行的,程序运行时执行。第二个第二个XOR,OPR1 XOR OPR2 XOR,OPR1 XOR OPR2 是一个表达式,是一个表达式,此中的此中的XORXOR是逻辑操作符,它在汇编是是逻辑操作符,它
28、在汇编是 求得一个值。求得一个值。P159微机微机原理原理及应用及应用对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?AB DB?DATA1 DW 40 DUP(?)DATA2 DB ABCDEF MOV AX,TYPE AB MOV AX,TYPE DATA1 MOV CX,LENGTH DATA1 MOV DX,SIZE DATA1 MOV CX,LENGTH DATA2(AX)=1(AX)=2(CX)=40(DX)=40*2=80(CX)=1微机微机原理原理及应用及应用微机微机原理原理及应用及应用微机微机原理原理及应用及应用第六章程序设计与汇编语言编程n汇编语言的基
29、本语句;n汇编语言程序的分段结构;n汇编语言程序的解题方法及思路;n顺序程序、分支程序、循环程序、子程序调用。注意:课件中的例题、习题、书中的例题、习题以注意:课件中的例题、习题、书中的例题、习题以及上机考试题目。及上机考试题目。微机微机原理原理及应用及应用编一程序段,完成符号函数:假设x的值存放在DATA1中,y的值存放DATA2中。1.01281270.01.0 xxyxx微机微机原理原理及应用及应用 BEGIN:MOV AL,DATA1 CMP AL,0 JGE BIG ;大于等于转BIG MOV AL,0FFH ;DATA2中置1 MOV DATA2,AL JMP AA BIG:JE
30、EQUAL ;ZF=1,转EQUAL MOV AL,1 ;DATA2中置1 MOV DATA2,AL JMP AA EQUAL:MOV AL,0 ;DATA2中置0 MOV DATA2,AL AA:MOV AH,4CH INT 21HJGE为有符号数跳转指令微机微机原理原理及应用及应用输入一个字符串,再输入一个字符,统计该字符在字符输入一个字符串,再输入一个字符,统计该字符在字符串里出现的次数在屏幕上输出串里出现的次数在屏幕上输出DATA SEGMENTBUF DB 50 ;定义缓冲区用来存放输入的字符串 DB?DB 50 DUP(?)DATA ENDSCODE SEGMENT ASSUME
31、DS:DATA,CS:CODESTA:MOV AX,DATAMOV DS,AXLEA DX,BUF;输入字符串MOV AH,0AH ;系统10号功能调用INT 21HMOV DL,0AH;换行MOV AH,2;系统2号功能调用INT 21HMOV AH,1;输入要统计的字符INT 21H;系统1号功能调用微机微机原理原理及应用及应用 MOV DL,0AH ;回车 MOV AH,2 INT 21H MOV DL,BL;将统计结果 放入DL准备输出 ADD DL,30H;将数字转换为相应的ASCII码 MOV AH,2;输出统计结果,系统2号功能调用 INT 21H;返回DOS MOV AH,4C
32、H INT 21HCODE ENDSEND STA MOV BL,0;清零BL寄 存器准备计数 LEA DI,BUF+2;设置字符串开始位置 MOV CL,BUF+1;设置实际输入字符的个数A:CMP AL,BYTE PTRDI ;比较当前字符是不是和要统计的字符相符 JNE NEXT ;不是则跳转 INC BL;是则计数器加1NEXT:INC DI;指向下一个字符 LOOP A;如此循环 微机微机原理原理及应用及应用比较两个等长的字符串是否相同,并找出其中第一个不相等字符的地址,将该地址送BX,不相等的字符送AL。设M1为源串首地址,M2为目标串首地址。DATA SEGMENTDATA SE
33、GMENT M1 DB AECM1 DB AEC.M2 DB ABC M2 DB ABC.LEN EQU$-M2 LEN EQU$-M2DATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENT ASSUME DS:DATA,CS:CODE,ES:DATAASSUME DS:DATA,CS:CODE,ES:DATASTRSTR:MOV AX,DATAMOV AX,DATA MOV DS,AXMOV DS,AX MOV ES,AXMOV ES,AX LEA SI,M1 LEA SI,M1 ;(SI)源串首地址 LEA DI,M2 LEA DI,M2 ;(DI)目标串首地
34、址 MOV CX,LEN MOV CX,LEN ;(CX)串长度 CLD CLD ;(DF)=0,使地址指针按增量方向修改微机微机原理原理及应用及应用 REPE CMPSB REPE CMPSB ;若相等则重复比较 JZ STOP JZ STOP ;(CX)等于0则转到STOP DEC SI DEC SI ;否则(SI)-1,指向不相等单元 MOV BX,SI MOV BX,SI ;(BX)不相等单元的地址 MOV AL,SI MOV AL,SI ;(AL)不相等单元的内容STOP:STOP:MOV AH,4CHMOV AH,4CH INT 21H INT 21H CODE ENDSCODE
35、ENDS END STREND STR注意:注意:程序中找到第一个不相等字符后,地址指针已自程序中找到第一个不相等字符后,地址指针已自动加了动加了1,所以将地址指针再减,所以将地址指针再减1即可得到不相等单元的即可得到不相等单元的地址。地址。注意:学会读程序,注意:学会读程序,分析程序实现功能分析程序实现功能微机微机原理原理及应用及应用 DATA SEGMENT BUFFER1 DB 50,?,50 DUP(?)NEWLINE DB 13,10 BUFFER2 DB 50 DUP($)DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA S
36、TA PROC FAR STAA:MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,BUFFER1 MOV AH,0AH INT 21H 用子程序实现将从键盘输入的一组字符串中的小写字母改为大写字母用子程序实现将从键盘输入的一组字符串中的小写字母改为大写字母;键盘输入字符串;数据段赋首址;附加段赋首址微机微机原理原理及应用及应用 OVER:LEA DX,NEWLINE MOV AH,9H INT 21H MOV AH,4CH INT 21H STA ENDP CHECKBH PROC CMP BH,a JB CHECKBH_OVER CMP BH,z JA CHEC
37、KBH_OVER SUB BH,a-ACHECKBH_OVER:RETCHECKBH ENDPCODE ENDS END STAA LEA SI,BUFFER1 ADD SI,2 LEA DI,BUFFER2 MOV CH,BUFFER1+1 MOV CL,0BEGIN:INC CL CMP CH,CL JB OVER MOV BH,SI CALL CHECKBH MOV DI,BH INC SI INC DI JMP BEGIN;取字符串个数;屏幕上显示字符串;返回DOS;循环结束控制a-A是一个表达式,在汇编时得到一个值(20H)微机微机原理原理及应用及应用第八章 存储器 存储器是计算机的
38、重要组成部分,用来存放计算机系统工作时所用的信息 程序和数据。n1理解基本概念:内存、外存、字扩展、位扩展n2掌握微型机的存储系统q存储器定义(存储器由能够表示二进制数“0”和“1”的、具有记忆功能的一些物理器件组成。存储器能存放一位二进制数的物理器件称为一个存储元。若干存储元构成一个存储单元。);q存储器的分类及其特点;q数据在内存中的存贮方式n3掌握几种常用存储器芯片及其与系统的连接;微机微机原理原理及应用及应用1、内存和外存、内存和外存(1)内存(或主存),用于存放当前正在使用的程序和数据,CPU可以对它直接访问,存取速度快,但容量较小。(2)外存(或辅存),用于存放一些CPU暂时不处理
39、的程序和数据。当CPU要处理这些信息时,必须先将其调入内存。需通过专用设备才能对其进行读写操作。外存包括软盘,硬盘,光盘等等。相对内存来说,外存容量大,存取速度较慢微处理器CPU存储器I/O接口I/O设备数据总线控制总线地址总线微机微机原理原理及应用及应用(1)只读存储器只读存储器ROM只读存储器(Read Only Memory ROM)用户在使用时只能读出其中信息,不能修改或写入新的信息,断电后,其信息不会消失。只读存储器分类:存储单元中的信息由ROM制造厂在生产时一次性写入,称为掩膜ROM(Masked ROM);PROM(Programmable ROM 可编程ROM)程序和数据是由用
40、户自行写入的,但一经写入,就无法更改,是一次性的ROM;2、存储器的分类、存储器的分类微机微机原理原理及应用及应用(1)只读存储器只读存储器ROM EPROM(Eraseble Programmable ROM 可擦除可编程ROM)可由用户自行写入程序和数据,写入后的内容可用紫外线灯照射擦除,然后可以重新写入新的内容,可以多次擦除,多次使用。E2PROM(Electrically Eraseble Programmable ROM 电可擦除可编程ROM)可用电信号进行清除和改写的存储器,使用方便。掉电不丢失。随机存取存储器(Random Access Memory)RAM的特点是存储器中的信息
41、能读能写,且对存储器中任一单元的读或写操作所需要的时间基本是一样的。断电后,RAM中的信息即消失。(2)随机存取存储器随机存取存储器RAM微机微机原理原理及应用及应用(2)随机存取存储器随机存取存储器RAM按其制造工艺分:(1)双极型半导体RAM 存取时间短,与MOS型比,集成度低,功耗大,价 格高。(2)MOS 型RAMSRAM(Static RAM 静态RAM)SRAM是利用半导体触发器的两个稳定状态表示“1”和“0”。只要电源不撤除,信息不会消失,不需要刷新电路。DRAM(Dynamic RAM 动态RAM)DRAM是利用电容端电压的高低来表示“1”和“0”,为了弥补漏电需要定时刷新。一
42、般微机系统中的内存采用DRAM,配有刷新电路,每隔12ms刷新一次。微机微机原理原理及应用及应用3 存储容量存储容量n存储容量 是指一块存储芯片上所能存储的二进制位数。n假设存储芯片的存储单元数是M,一个存储单元所存储的信息的位数是N,则其存储容量为MN。1位1位1个存储单元1个存储单元设N设N8位8位即即一个字节)一个字节)存储芯片中的存储体存储芯片中的存储体共有M个共有M个存储单元存储单元可编址可编址单元单元D7 D1D0微机微机原理原理及应用及应用例题例题 已知单片6116芯片的地址线是11位,每个存储单元是8位,求其存储容量?解:因为可编址范围211,即M 211,每个存储单元可存8位
43、,即N 8,所以,6116的存储容量=2118 =210248 =2K8 2KB微机微机原理原理及应用及应用例题例题 若要组成64K字节的存储器,以下芯片各需几片?6116(2K8)4416(16K4)解解:(64K8)(2K8)=32(片片)(64K8)(16K4)=8(片片)微机微机原理原理及应用及应用区别:芯片的存储容量和微机的存储容量区别:芯片的存储容量和微机的存储容量微机的存储容量 由多片存储芯片组成的总存储容量。微机的最大内存容量 由CPU的地址总线决定。如:PC486,地址总线是32位,则,内存容许最大容量是232=4G;实际的装机容量 由实际使用的若干片存储芯片组成的总存储容量
44、。微机微机原理原理及应用及应用4、存储器的基本结构、存储器的基本结构连数据总线地址寄存器地址译码器存储体数据缓冲器读/写驱动电路读/写控制电路连地址总线RD/WECS连控制总线1、存储体存储体 由多个基本存储由多个基本存储单元组成,容量即为单元组成,容量即为MN;2、地址寄存器地址寄存器(地址锁存(地址锁存器)器)锁存锁存CPU送来的地址送来的地址信号;信号;3、地址译码器地址译码器 对地址信号对地址信号进行译码,选择存储体中要访进行译码,选择存储体中要访问的存储单元;问的存储单元;4、读读/写驱动电路写驱动电路 包括读包括读出放大和写入电路;出放大和写入电路;5、数据缓冲器数据缓冲器 芯片数
45、据信芯片数据信号经双向三态门挂在数据总线号经双向三态门挂在数据总线上,未选中该片,呈高阻状态;上,未选中该片,呈高阻状态;6、读读/写控制电路写控制电路 接受来自接受来自CPU的片选信号、读的片选信号、读/写信写信号。(对号。(对ROM只读;对只读;对DRAM刷新信号)刷新信号)微机微机原理原理及应用及应用“读读”操作工作过程操作工作过程(1)送地址 CPU通过地址总线将地址送入地址寄存器,并译码;(2)发出“读”命令 CPU通过控制总线将“存储器读”信号送入读/写控制电路;连数据总线地址寄存器地址译码器存储体数据缓冲器读/写驱动电路读/写控制电路连地址总线RD/WECS连控制总线(3)从存储
46、器读出数据从存储器读出数据 读读/写控制电路根据写控制电路根据“读读”信号信号和片选信号选中存储体中的某一存储单元,从该单元读出数和片选信号选中存储体中的某一存储单元,从该单元读出数据,送到数据缓存器。再经过数据总线送到据,送到数据缓存器。再经过数据总线送到CPU。微机微机原理原理及应用及应用“写写”操作工作过程操作工作过程(1)送地址 CPU通过地址总线将地址送入地址寄存器,并译码;(2)发出“写”命令 CPU通过控制总线将“写”信号送入读/写控制电路;连数据总线地址寄存器地址译码器存储体数据缓冲器读/写驱动电路读/写控制电路连地址总线RD/WECS连控制总线(3)写入数据到存储器写入数据到
47、存储器 读读/写控制电路根据写控制电路根据“写写”信号和信号和片选信号选中存储体中的某一存储单元,将数据总线上的数片选信号选中存储体中的某一存储单元,将数据总线上的数据,送到数据缓存器,再写入到选中的存储单元。据,送到数据缓存器,再写入到选中的存储单元。微机微机原理原理及应用及应用 5 典型典型SRAM芯片芯片n地址线:A0-A12n数据线:D0-D7n输出允许信号:OEn写允许信号:WEn选片信号:CS1,CS22A12A7A6A5A4A3A2A1D0D1345678910111213141NCA0D2GND27WECS2A8A9A11OEA10CS1D6D52625242322212019
48、1817161528VCCD7D4D36264CMOS RAMCMOS RAM芯片芯片62646264(8 8KBKB):):n 主要引脚功能主要引脚功能6264芯片与系统的连接芯片与系统的连接常用的常用的SRAM还有还有6116,6232,62256,适用于较,适用于较小系统小系统微机微机原理原理及应用及应用译码电路译码电路n 作用:将输入的一组二进制编码变换为一个特定的输出信号,即:将输入的一组高位地址信号通过变换,产生一个有效的输出信号,用于选中某一个存储器芯片,从而确定了该存储器芯片在内存中的地址范围。n 分类:(1)全地址译码:用全部的高位地址信号作为译码信号,使得存储器芯片的每一个
49、单元都占据一个惟一的内存地址 (2)部分地址译码:用部分高位地址信号(而不是全部)作为译码信号,使得被选中得存储器芯片占有几组不同的地址范围微机微机原理原理及应用及应用应用举例应用举例D0D7A0A12WEOECS1CS2A0A12MEMWMEMRD0D7A19&A18A14A13A17A16A15VCCY074LS138G1G2AG2BCBA微机微机原理原理及应用及应用应用举例应用举例A19A18A17A16A15A14A131 11111 1地址范围:FE000H-FFFFFH A12 A11-A00 000H-1 FFFH微机微机原理原理及应用及应用应用举例应用举例n用存储器芯片SRAM
50、 6116构成一个4KB的存储器。要求其地址范围为:78000H78FFFHG1=1 G2A=G2B=0时,译码器处于使能状态。A、B和C三条线的输入决定Y0 Y7的状态。A19A18A17A16A15A14A13A12A11 0 1 1 1 1 0 C B A微机微机原理原理及应用及应用6 动态随机存储器动态随机存储器DRAM-典型芯片举例典型芯片举例nDRAM芯片Intel 2164A 动态随机存取存储器,8条地址线,2位数据线(输出和输入),3条控制线,两条电源线,单片存储容量64K1。n地址线采用分时复用,由CAS(列选通)和RAS(行选通),从而实现16位地址线,M216 64K。2