微机原理的系统复习.doc_第1页
微机原理的系统复习.doc_第2页
微机原理的系统复习.doc_第3页
微机原理的系统复习.doc_第4页
微机原理的系统复习.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章思考题与习题:1 什么叫微处理器、微机?微机系统包含哪些部分?答:微处理器即CPU,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功能,是微型计算机的核心;微型计算机系统则包括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部分,而微型计算机系统又主要由微型计算机作为其硬件构成。2 为什么计算机使用二进制计数制? 答:因为电路的状态只有接通和断开两种情况,接通为1断开为0,再采用记数器进行记录,就形成了二进制。3 CPU在内部结构上由哪几部分组成?答:CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。4十六进制的基数或底数是 16 。5将下列十进制数分别转换成十六进制、二进制、八进制数:563 6571 234 1286将下列十进制小数转换成十六进制数(精确到小数点后4位数):0.359 0.30584 0.9563 0.1257将1983.31510转换成十六进制数和二进制数。 小数部分乘于16或28将下列二进制数转换成十进制数、十六进制数和八进制数:(1)101011101.11011 (2)11100011001.011 (3)1011010101.000101001119将下列十六进制数转换成十进制数和二进制数:AB7.E2 5C8.11FF DB32.64E 10判断下列带符号数的正负,并求出其绝对值(负数为补码):10101100;01110001;11111111;10000001。11写出下列十进制数的原码、反码和补码(设字长为8位):+64 -64 +127 -128 3/5 -23/12712已知下列补码,求真值X:(1)X补=1000 0000(2)X补=1111 1111(3)-X补=1011011113将下列各数转换成BCD码:30D,127D,23D,010011101B,7FH14用8421 BCD码进行下列运算:43+99 45+19 15+3615已知X1=+25,Y1=+33,X2= -25,Y2= -33,试求下列各式的值,并用其对应的真值进行验证:(1)X1+Y1补(2)X1-Y2补(3)X1-Y1补(4)X2-Y2补(5)X1+Y2补(6)X2+Y2补16当两个正数相加时,补码溢出意味着什么?两个负数相加能产生溢出吗?试举例说明。17试将两个有符号数10001000和11100110相加,判断结果是否溢出?为什么?18已知X= -0011001,Y= -0000110,求两数的补码之和。(注意自然丢失和溢出错误之区别)。 19回答下列各机器数所表示数的范围:(1)8位二进制无符号定点整数;0-255(2)8位二进制无符号定点小数;02-27(3)16位二进制无符号定点整数; 0-65535(4)用补码表示的16位二进制有符号整数; -3276832767(5)用浮点数表示(阶码是两位原码,尾数是8位原码)。20计算机硬件和软件的构成原理以及各自的分类有哪些?第二章思考题与习题1. 80868088为什么要分为EU和BIU两部分?每个部分又由哪几部分组成? 答: 8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。执行部件(EU)由1内部寄存器组、2算术逻辑运算单元(ALU)与3标志寄存器(FR)及内部控制逻辑 等三部分组成。总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。2. 简述80868088指令队列作用及工作过程。3. 在执行指令期间,EU能直接访问存储器吗?为什么?4. 80868088CPU中,供使用汇编语言的程序员使用的寄存器有哪些?5. 试述SP、IP、BP、SI和DI寄存器的主要功能。它们能否作为通用寄存器?6. 为什么要设置段寄存器? 80868088有几个段寄存器? 答:段地址寄存器(CS、DS、SS、ES)。用于存放段地址,7. 80868088有几位状态位? 有 9 位控制位? 其含义各是什么? 答:1514131211109876543210OFDFIFTFSFZF-AF-PF-CFCF(Carry Flag)进位标志,反映在运算结果的最高位有无进位或借位。如果运算结果的最高位产生了进位(加法)或借位(减法)则CF=1,否则CF=0。PF(Parity Flag)奇偶标志,反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。若结果的低8位中有偶数个“1”则PF=1,否则PF=0。AF(Auxiliary Carry Flag)辅助进位标志,又称半进位标志。加减运算时,若D3向D4产生了进位或借位则AF=1,否则AF=0。在BCD码运算时,该标志用于十进制调整。ZF(Zero Flag)零标志,反映运算结果是否为0。 若结果为零则ZF=1,否则ZF=0。SF(Sign Flag)符号标志,反映运算结果最高位即符号位的状态。如果运算结果的最高位为则SF=1(对带符号数即为负数),否则SF=0(对带符号数即为正数)。OF(Overflow Flag)溢出标志,反映运算结果是否超出了带符号数的表数范围。若超出了机器的表数的范围,即为产生溢出,则OF=1,否则OF=0。DF(Direction Flag)方向标志,用于串处理指令中控制串处理的方向。当DF=1时,每次操作后变址寄存器SI、DI自动减量,因此处理方向是由高地址向低地址方向进行。当DF=0,则SI、DI自动增量,处理方向由低地址向高地址方向进行。该标志由方向控制指令STD或CLD设置或清除。IF(Interrupt Flag)中断允许标志,用于控制CPU是否允许响应可屏蔽中断请求。IF=1为允许响应可屏蔽中断请求,IF=0则禁止响应可屏蔽中断请求。该标志可由中断控制指令STI或CLI设置或清除。TF(Trap Flag)陷阱标志,用于单步操作。TF=1时,每执行一条用户程序指令后自动产生陷阱,进入系统的单步中断处理程序。TF=0时,用户程序会连续不断地执行,不会产生单步中断。8. 80868088CPU使用的存储器为什么要分段?怎样分段? 为什么要设置段寄存器,有几个段寄存器?各段寄存器有什么意义?答:8086 CPU内部数据结构是16位的,即所有的寄存器都是16位的,而外部寻址空间为1MB,即需要20位地址线。为了能用内部寄存器中的16位地址来寻址1MB空间,8086将1MB空间以16字节为一个内存节,共分成64K个节。节的起始地址分别为00000H、00010H、00020H、FFFF0H,称为段基址。节的起始地址的后4位二进制数为全0,称为节的段地址。用于存放段地址的寄存器称为段寄存器,根据其主要用途,分为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES。代码段寄存器CS:用来存放代码段存储区域的起始地址。数据段寄存器DS:数存放程序的数据存储区的起始地址。堆栈段寄存器SS:用来存放堆栈存储区的起始地址。由堆栈段寄存器SS与堆栈指针寄存器SP来确定当前堆栈指令的操作地址。附加段寄存器ES:附加段是为某些字符串操作指令存放目的操作数而设置的一个附加的数据段,附加段寄存器用来存放该附加数据段存储区域的起始地址。8086微机系统中存储器为什么要分段(8086系统内的地址寄存器均是16位,只能寻址64KB;将1MB存储器分成逻辑段,每段不超过64KB空间,以便CPU操作。),各逻辑段之间的关系如何(可重叠、交叉、紧密连接和分离)?9. 什么是逻辑地址? 什么是物理地址? 它们之间有什么联系?答:物理地址为某一个存储单元的实际地址,对于8086它是一个20位的地址。物理地址从00000HFFFFFH变化,对应1MB的空间。逻辑地址,又称偏移地址或有效地址,即对段首的偏移量。偏移地址从0000HFFFFH变化,对应64KB的空间。10. 什么是基地址?什么是偏移量?它们之间有何联系? 答:8086 CPU内部数据结构是16位的,而外部寻址空间为1MB。为了能用内部寄存器中的16位地址来寻址1MB空间,8086将1MB空间以16字节为一个内存节(Paragraph),共分成64K个节。节的起始地址称为段基址。偏移地址是存储地址对段首的偏移量。偏移地址从0000HFFFFH变化,对应64KB的空间。它们之间有何联系:物理地址基地址16位移量。11. 若CS为A000H,试说明现行代码段可寻址的存储空间的范围。12. 设现行数据段位于存储器B0000H到BFFFFH存储单元,DS段寄存器内容为多少?13. 设双字节12345678H的起始地址是A001H,试说明这个双字在存储器中如何存放?14. 已知堆栈段寄存器SSA000H,堆栈指示器SP0100H,试将数据1234ABCDH推人堆栈,画出进栈示意图。最后栈顶SP?15. 试求出下列运算后的各个状态标志,井说明进位标志和溢出标志的区别。(1) 1278H十3469H (2) 54E3H一27A0H (3) 3881H十3597H (4) 01E3H一01E3H16. 8086与8088 CPU主要区别有哪些?17. 80868088 CPU系统中为什么要采用地址锁存器82828283?18. 80868088最小模式系统和最大模式系统各自主要特点是什么? 区别在哪里?19. 8088CPU工作在最小模式(单CPU)和最大模式(多CPU)主要特点是什么?有何区别?20. 8088 CPU工作在最小模式时,(1) 当CPU访问存储器时,要利用哪些信号?(2) 当CPU访问IO时,要利用哪些信号?(3) 当HOLD有效并得到响应时,CPU的哪些信号置于高阻状态?21. 8088CPU工作在最大模式时:(1) S2,S1,S0可以表示CPU的哪些状态?(2) CPU的RQ/GT信号的作用是什么?22. 什么是时钟周期? 机器周期? 总线周期? 什么是指令周期?23. 为什么要了解80868088CPU时序?24. 试绘制出8086最小模式系统访问IO端口总线周期的时序图。25. 试绘制一个基本的存储器读总线周期的时序图。26. 什么情况下插入Tw等待周期? 插入Tw多少,取决什么因素? 什么情况会出现总线空闲周期?27. 微机总线有哪些分类?什么是微机的系统总线、局部总线?28. 微机的总线结构为它带来了哪些好处?29. 试绘出8088工作在最小模式和最大模式时的系统总线形成示意图。30. 对照PC总线,ISA总线主要增加了什么信号线?31. 简述PCI总线、USB通用串行总线的特点。32. IEEE1394总线有哪些特征?试比较IEEE1394和USB的主要不同特点。33. 简述80286、80386、80486和Pentium CPU基本组成与各部分作用。34. 试说明Pentium系列微处理器各自的基本特点。35. 什么是Pentium 处理器序列号?使用序列号的优缺点是什么?36. 简述ARM系统的基本概念,列举其应用情况。37. 64位计算机系统的优势何在?第三章思考题与习题1、试分别说明下列指令中源操作数和目的操作数采用的寻址方式: 目的操作数 源操作数(1) MOV BX,7FFFH 寄存器 立即寻址(2) MOV DS,DX 寄存器 寄存器寻址(3) OR CH,200H 寄存器 直接寻址(4) ADC DI,AX 寄存器间接 寄存器(5) MOV SS:1000H,CH 直接寻址 寄存器(6) SUB BXSI,1 基址变址 立即(7) ADD AX,10H BXSI 寄存器 相对基址变址(8) PUSH ES 隐含 寄存器(9) CMP BPDI,DL 基址变址 寄存器(10) CLC 隐含2、若(BX)=1123H,(SI)=1968H,位移量D=0313H,(DS)=1971H,试确定由这些寄存器和下列寻址方式产生的有效地址和物理地址:(1) 立即寻址:立即数寻址的有效地址是当前IP的内容; 直接寻址:若使用位移量D=0313H进行,则有效地址为0313H; (2)使用BX的寄存器寻址时,操作数在BX寄存器中,因此无有效地址;用BX的寄存器间接寻址; 有效地址在BX寄存器中,即有效地址=1123H (3) 用BX的寄存器相对寻址; 有效地址=(BX)+D=1123H+0313H(4) 用BX和SI的基址变址寻址; 有效地址=(BX)+(SI)(5) 用BX和SI的相对基址加变址寻址。 有效地址=BX+D+SI3、连续执行以下指令,并在空格中填写执行指令的结果。MOV AX,2060H AL=60H AH= 20H CF=0MOV DS,AX DS= 2060H AH= 20 CF=0ADD AL,AH AL= 80H AH= 20H CF=0INC AX AL= 81H AH= 20H CF=0MOV DX,512 DL= 00H DH= 01H CF=0SUB AX,DX AL= 81H AH= 18H CF=04、假设标志寄存器各标志初始值为0,分别单独执行如下指令后,请指出标志寄存器CF、AF、ZF、SF、OF的值。 CF AF ZF SF OF(1) MOV AX,BX 0 0 0 1 0(2) XOR AX,AX 0 0 1 0 0(3) MOV AX,1971H 0 0 0 0 0ADD AX,1968H 1 1 1 0 0(4) MOV CX,0FFFFH 0 0 0 1 0INC CX 0 1 0 1 0(5) MOV BX,0 0 0 1 0 0SUB BX,80H 1 1 0 1 0(6) MOV DX,1234HSHL DX,1 1 0 0 1 05、编写程序段以实现如下功能:(1) 将立即数17H送DL,立即数7FH送AL。 MOV DL,017H MOV AL,07FH(2) 将立即数1234H送AX,5678H送DX。 MOV AX,1234H MOV DX,5678H(3) 将立即数5411H送存储单元1117H中。 6、编写程序实现将十进制数59与27相加。 MOV AL,59H ADD AL,68H DAA MOV BL,AL7、已知下列指令运行前有关寄存器状态如下,AX=C372H,BX=0000H,SI=4400H,DI=2300H,SP=4400H,CX=0003H,DS=ES=SS=5000H,C=1,D=0。有关存储单元内容如下:(54400H)=A2H,(54401H)=73H,(54402H)=00H,(54403H)=F2H。请指出下列指令单独执行后有关寄存器及内存单元的值,并判断是否 标志位SF,ZF,CF,OF。若影响则写出SF,ZF,CF,OF的值。(1)POP AX (2)MOV BXSI10H,AH(3)DEC WORD PTRSI2(4)ADC AL,BH(5)OR AL,BXSI1(6)SHR AH,1(7)MOVSW(8)CALL BX(段内间接调用)8、编写程序实现下述功能:(1)将BX寄存器的低8位清零,其余位不变。 AND BX,0FF00H(2)将DL寄存器的最高位置1,其余位不变。 OR DL,80H(3)将CL寄存器的高4位保持不变,低4位取反。 XOR CL,0FH(4)测试CX中的最低位,当最低位为0时将AL置1,否则AL置0。 答案:TESTCX ,01HJZL1MOVAL ,0HLTL1:MOVAL , 1HLT(5)测试SI,如果SI为奇数将AL置1,否则AL置0。 答案:TESTSI ,01H 备注:最低位为1为奇数,为0 为偶数JNZL1MOVAL ,0HLTL1:MOVAL , 1HLT9、若32位二进制数存放于DX和AX中,其中DX存放高16位,AX存放低16位,试利用移位指令实现如下功能:(1) 假设该32位数为无符号数,将其分别乘以2和除以2。(2) 假设该32位数为带符号数,将其分别乘以2和除以2。10、利用字符串操作指令,将1000H至10FFH单元的内容全部清零。 MOV CX,00FFH MOV DI,1000H MOV AL,00H 或置1 MOV AL,01H REP STOS DS:DI11、编程将存放在1000H和1002H单元中的两个16位的无符号数相乘,并将结果存放在地址为2000H开始的单元中。 MOV AX,(1000H) MOV BX,(1002H) MUL BX MOV (2000H),AX MOV (2002H),DX12、判断下列指令正误,如果错误请指出原因。(1) MOV CH,300 错,源操作数为字类型,目的操作数为字节类型,二者不一致 应为:MOV CX,300 ?(2) XOR DL,BH 对(3) ADD 100,AH 错,目的操作数使用了立即数,在指令中一般不允许。应改为:MOV DS:100,AL ?(4) MOV DS,2200H 错,立即数不能直接送DS寄存器 应为:MOV AX,2200H(5) POP CS 错,不能将栈顶数据弹至CS中。(6) XCHG DX,BX 错,目的操作数AX是隐含的,不能在指令中写出。应改为:XCHG BX(7) IN AL,250H 错,源操作数必须为口地址(8) MOV BXSI,DI 错,两操作数不能同时为寄存器(9) LEA AX,BX 错,源操作数必须为地址标号(10) MOV CX,BX+20H 对13、在8086/8088中,哪些指令可以用来修改CS和IP的值? 答:用jmp指令来改变cs.ip的值若想修改cs.ip的内容,。jmp 段地址,偏移地址的指令完成。jmp2ae3:3 cs=2ae3h. ip=0003h(jmp 段地址:偏移地址)的功能是:用指令中给出的段地址修改CS,偏移地址修改IP14、如果AL=8FH,则执行CBW指令后,AX =0FF8FH 。 注解:CBW指令:在8086中CBW指令将AL的最高有效位D7扩展至AH,即:如果AL的最高有效位是0,则AH = 00;AL的最高有效位为1,则AH = FFH。AL不变。问题:因为AL的最大有效位是1,则AH=FFH AX=0xFFC9H15、假定DS=212AH,CS=0200H,IP=2BC0H,BX=1200H,位移量D=5119H,(224A0H)=0600H,(275B9H)=098AH,试确定JMP指令的转移地址。1) 段内直接寻址:CS=0200H, IP= H。2) 使用BX及寄存器寻址方式的段内间接寻址:CS=0200H , IP=BX=1200H。3) 使用BX及寄存器相对寻址方式的段内间接寻址:CS=0200H, IP=BX+D H。16、假设IP = 3D4BH,CS=408FH,SP=0F17CH,执行CALL 2000:008BH后,SP= 4B,SP= 3D ,SP2= 40H 。17、在20100H和20101H单元中分别存放74H,83H(表示条件转移指令JZ),若CS=2000H,ZF=1,则执行完这条指令后,IP = 。第四章思考题与习题1、假设程序中的数据定义如下:PARTNO DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $ PARTNO则PLENTH= ,它的意义是 。2、假设有下面的数据定义:BUFFER DB ?STRING DW 20 DUP(?)TABLE DB ABCD则下列各条MOV指令单独执行后,有关寄存器的内容是:(1)MOV AX,TYPE BUFFER AX = 。(2)MOV AX,TYPE STRING AX = 。(3)MOV AX,LENGTH STRING AX = 。(4)MOV AX,LENGTH TABLE AX = 。(5)MOV AX,SIZE STRING AX = 。3、计算下列程序分别执行后AX寄存器的内容。(1) MOV AX,0MOV BX,2345HTEST BX,1000HJZ NEXTINC AXNEXT: HLT(2) MOV AX,0XOR BX,BXAGAIN:INC BXADD AX,BXCMP BX,10JB AGAINHLT(3) TABLE DB 10,20,30,40,50INDEX DW 2LEA BX,TABLEADD BX,INDEXMOV AX,BXHLT(4) MOV AX,0MOV BX,0ABCDHMOV CX,16AGAIN:SHL BX,1JNC NEXTINC AXNEXT:LOOP AGAINHLT(5) MOV AL,0FFHCBWINC AXINC AXXCHG AH,ALSHR AH,1RCR AL,1HLT4、若在自1000H单元开始有一个1000个字节的数据块,要把它传送到自1200H开始的存储区中去,用以下三中方法,分别编制程序:(1) 不用串操作指令。(2) 用单个传送的串操作数据传送指令。(3) 用带重复前缀的串操作数据传送指令。5、自1000H单元开始,有100个无符号数(字节),编写程序计算这100个数的和,并把和存放在1971H和1972H单元,且高位存放在1972H单元。6、编写程序,计算下列函数值。X+5 当X300 Y =7、已知有A、B、C三个变量,编程完成如下处理:(1)若三个数均为0,则设置变量D为1。(2)若三个数均不为0,则求这三个数的算术和,并存放在变量E中。8、若在存储器中有数a、b、c、d(它们连续存放),编写一个程序实现:(a * 10 + b)*10+c)*10+d (假设和小于65535)9、在0200H单元和020AH单元开始,分别存放两个各为10个字节的未组合BCD数(地址最低处存放最低字节)。编写程序计算两个未组合BCD数的和,且把和存放在0214H单元开始的存储单元中。10、若自STRING单元开始有1000个数(字节),试针对下面情况编程将它们中的最小值、最大值找出来,并分别存放在5000H和5001H字节单元中。(1) 这1000个数为无符号数。(2) 这1000个数为带符号数。11、已知数组A包含10个互不相等的整数,数组B包含15个互不相等的整数。试编写一程序,将既在A中出现又在B中出现的偶数存放在数组C中。12、把在内存变量NUMBER中的16位二进制数的每一位都转换为相应的ASCII码,存入串变量STRING中。13、统计STRING字符串中数字字符(09)的个数,并将数字字符放入BUFFER区内(开始单元存放字符个数)。14、有X,Y,Z三个带符号数,请将它们按从小到大的顺序重新排列为X,Y,Z。15、有一个4位BCD码abcd,将其转换为二进制数。要求:必须用子程序结构编写,并调用该子程序。16、编程把从键盘输入的带符号十进制数转换为用补码表示的二进制数。17、设有10个学生的成绩分别为59,64,74,92,73,85,93,61,33,24。试用子程序结构编写一个完整的程序。子程序INPUT:从键盘接收一个学生的序号(0110),并将之转换为二进制数。子程序LOCATE:把接收数与该学生的成绩对应起来,这可在一个事先建好的成绩表中查找。子程序DISPLAY:将找到的学生成绩在屏幕上显示出来。主程序MAIN:依次调用上述三个子程序,完成键盘输入学生学号即可查询该生成绩的功能。18、请设计一程序,在目的字符串中搜索源字符串。假设每个字符串都以说明串长度的16位整数开始。返回时,AL返回一个标志(0没有找到,0FFH找到)。如果搜索成功,DX的内容就是在目的字符串中找到的源字符串第一个字符的地址。19、若自STRING开始有一个字符串(以$号作为字符串的结束标志),请编程查找此字符串中有多少个#,并将个数存放在NUMBER字单元中,且把每一个#字符所存放的偏移地址放到自POINTER开始的连续存储字单元中。20、若从STRING开始有100个数,编程检查这些数,正数保持不变,负数都取补后送回。第五章思考题与习题1 SRAM、DRAM,ROM,PROM,EPRM,EEPROM各有何特点?各用于何种场合?微型机的外部存储器有哪几种?各自的特点是什么?2 若用4K4位的RAM芯片组成32K8位的存储器,需要16芯片?A19A0地址线中哪些参与片内寻址(A0-A14)?哪些参与作芯片组的片选择信号(A15 A16)?3 由存储器芯片的引脚可以计算出该存储器芯片的容量吗?请举例说明。4 列RAM各需要多少条地址线进行寻址?多少条数据I/O线?(1) 5124;9 (4) 4K1; 12(2) 1K8; 10 (5) 64K1; 16(3) 2K8; 11 (6) 256K4; 185 使用下列RAM芯片,组成所需的存储容量,各需多少RAM芯片?各需多少RAM芯片组?共需多少寻址线?每块片子需多少寻址线?(1)5124的芯片, 组成8K8的存储容量;(2)1K2的芯片, 组成32K8的存储容量;(3)4K1的芯片, 组成64K8的存储容量;6 在有16根地址总线的微机系统中画出下列情况下存储器的地址译码和连接图。(1) 采用8K1位存储芯片,要形成64K字节存储器。(2) 采用4K1位芯片,要形成32K字节存储器。(3) 采用4K1位芯片,要形成16K字节存储器。(4) 若要设计一个256K字节的存储器系统,应怎么办?7 若用2114芯片组成2KB RAM,地址范围为3000H37FFH,问地址线应如何连接?(假设CPU只有16条地址线,8根数据线,可选用线选法和全译码法)8 试为某8位微机系统设计一个具有8KB ROM和40KB RAM的存储器。ROM用EPROM芯片2732(4K8)组成,从0000H地址开始,RAM用SRAM芯片6264(8K8)组成,从4000H地址开始。9 图5-30为一存储器同8086的连接图,试计算该存储器的地址范围,并说明该电路的特点。G1G2AG2BB A C Y0Y2Y3Y7CS1M/IO RD WR 1A18A17A16A15A141A0 A13A0 A13图5-30 某存储器同8086的连接第六章思考题与习题1. 为什么要在CPU与外设之间设置接口?2. 微型计算机的接口一般具有哪些功能?3. 什么叫端口?I/O端口的寻址方式有几种?各有何特点?4. 微机输入输出传送方式有几种?各有何特点?各自用在什么场合?请对比说明。5. 什么情况下两个端口可以用同一个地址?6. 在输入输出接口电路中为什么要求输入接口加三态缓冲器,输出接口加锁存器?7. 试设计一个查询式输出接口, 画出电路图并写出相应的输出程序。8. 设计一个外设端口地址译码器,使CPU能寻址4个地址范围:(1) 240247H, (2)24824FH, (3)250257H, (4)25825FH9. 试用 双2-4线译码器74LS139 组成 256 个外设端口的译码电路,给出相应的256个片选信号。10. 译码电路设计:(1)试用组合逻辑电路设计一译码电路, 使片选信号CS在 3003FFH 的I/O地址范围内使能。(2)某微机系统,其I/O地址 2F0H2F7H 未用,试设计一完全译码电路产生个片选信号,使2F0H2F3H 为输出端口, 02F4H02F7H 为输入端口。(设总线接口信号有: AB9AB0,MEMW,MEMR,IOR,IOW,AEN)11. 某微机系统存储器及I/O地址空间共64K,地址分配如下表所示, 试画出相应译码电路,给出相应的各个片选信号。 若要对RAM寻址到 128 字节, 译码电路又该如何设计?RAMFFFFFC00 (1K)I/O口FBFFF800 (1K)ROMF7FFE800 (4K)EPROME7FFE000 (2K)FlashROMDFFF0000 (56K) (设总线接口信号有: AB15AB0,MIO/,RD,)12. 为什么在设计PC机/接口电路时应保证当A9,AEN时才使相应译码有效?13. 试给出将CPU的MIO/,RD,WR信号转换为总线读写信号MEMW,MEMR,IOR及IOW的逻辑电路。14. 如图6-17所示,用一片74LS373作为输入接口,读取三个开关状态,用另一片74LS373作为输出接口,点亮红、绿、黄三个发光二极管。请画出该电路与PC机ISA总线的完整接口电路,要求按图中给出的端口地址设计出相应的译码电路,并编写能同时实现以下三种功能的程序:1 K0、K1、K2全部合上时,红灯亮;2 K0、K1、K2全部断开时,绿灯亮;3 其它情况黄灯亮。图6-13 接口示意图第七章思考题与习题1. 8253有哪几种工作方式?各有何特点?其用途如何?2. 某应用系统中8253口地址为340H343H, 定时器0用作分频器(N为分频系数), 定时器2用作外部事件计数器, 请写出初始化程序。3. 某应用系统中8253口地址为304H307H, 输入时钟CLK为1MHZ周期脉冲信号,输出端OUT的波形为1HZ占空比为1:1的方波周期信号。请用全译码方式画出与ISA总线的硬件连接图(用LS138作地址译码器),并写出相应的程序。提示:ISA总线中相应的地址线、控制线为: A0A9、IOR、IOW、AEN4某8253的输出波形如下:请设计一输入波形并画出该8253的硬件原理图(8253的端口地址为308H30BH,全译码方式)和写出相应的驱动程序。第八章思考题与习题1. 并行接口有何特点?其应用场合如何?2. 可编程并行接口芯片8255A有哪几种工作方式?有何差别?在微机系统中连接方法有何不同?3. 8255A的编程命令有哪两个?其命令格式及每位的含义是什么?请举例说明。4. 将8255A编程:口A为输入, 口B为输出, 口C的低4位为输入, 高4位为输出, 请写出方式选择控制字。5. 请编一段输出程序, 使8255A 口C的PC1输出占空比为1/3的周期脉冲。6. 请用8255A(端口地址为300303H)设计一个十字路口机动车交通指挥灯自动管理系统,每个路口有红、黄、绿三种颜色交通指挥灯各一盏。要求: 南北方向:绿灯亮90S 黄灯亮5S 红灯亮60S ;东西方向:红灯亮95S绿灯亮55S 黄灯亮5S 。 采用8253作定时器,端口地址为30830BH,输入时钟CLK频率为1KHZ;用8259作中断管理,端口地址为30C30DH。请画出硬件原理图并写出相应程序。7. 请用LS138, 8255设计一个接口电路,8255口地址为300303H,PA口接一个八段LED数码管,PB0PB3分别接四个开关,请画出硬件图并写出由PB0PB3输入的二进制数,从PA口显示出十六进制数结果的程序。每次显示1秒钟(有1秒钟软件延时程序“D1S”可调用)。8某应用系统中的8255A PA口接有八个LED显示器,PB口接有八个开关,(见示意图) 当PB口某位开关闭合时,PA口相应位的LED发亮,请写出8255A的初始化程序和应用程序。第九章思考题与习题1. 比较串行通信与并行通信, 各自有什么特点?2. 调制解调器(MODEM) 在串行通信中起什么作用?3. 起止式通信协议的特点是什么?请画出帧数据格式。4. 面向字符和面向比特通信协议有什么不同?请画出各自的帧数据格式。5. 异步串行通信接口的基本任务有哪些?6. 8251A有何特点?在串行通信中起什么作用?7. 为什么要在RS-232C与TTL之间进行电平转换?8. 在1000H开始的内存中,放有10000个ASCII字符,请设计一程序,将这串ASCII字符以异步串行通信方式从8255A PA0输出,采用偶校验、一位起始位、一位终止位、波特率500 (可调用1ms软件定时程序 “D1MS”)。9. 请设计一程序,从8255A 口B接收异步串行通信数据,数据为ASCII码、格式为一位起始位、两位终止位、奇校验、波特率为500 (可调用1ms软件定时程序 “D1MS”)。前四个字节为数据块总长度(十六进制数字,低字节在前),请将接收到的字符存放在从3000H开始的内存中。第十章思考题与习题1. 什么叫中断?什么叫中断源?一般有几类中断?请简述一个可屏蔽中断完整的处理过程。中断:外设向CPU发出的中断请求,处理外设的请求,CPU暂停当前的主程序。2. 什么叫矢量中断?8259A是如何提供中断类型号?3. 8086/8088有几类中断源?各类中断源有何特点?4. 8086/8088是如何处理中断源提出的中断申请?5. 8259A在系统中起何作用?它是如何起到这些作用?6. 简述在级联时当I/O提出中断申请后,从8259A与主8259A的申请、排优、响应及结束中断的全过程。7. 8259A有哪些工作方式?各自有何特点?8. 8259A有几种中断结束方式?各有何特点?9. 8259A有几种优先权循环方式?各有何特点?10. 8086/8088在得到中断矢量(中断类型号) 后,是如何找到中断服务程序地址?请举例说明。11. 8259A有多少ICW和OCW?这些ICW与OCW各起什么作用?12. 采用DMA方式为什么能实现高速传送?13. DMAC在微机系统中起什么作用?它有哪两种工作状态?其工作特点如何?14. 简述DMA方式传送的一般过程?8237A在微机系统中起什么作用?简述8237A的性能特点。第十一章思考题与习题l编码键盘与非编码键盘有什么区别?主CPU对这两类键盘的操作有什么不同?2简述键盘行列扫描法的基本思想,消除按键抖动影响的方法有几种?3. 用8255A的 A口和 B口分别作为某 PC系列微机系统中8位8段LED显示器的段码和位码的输出端口,要求按动态扫描、分时显示的原理循环显示“19278.l”8个字符,试设计硬件接口电路和显示驱动程序。4. 发光二极管(LED)组成的8段数码显示器有哪两种接法?不同接法对字符的显示有什么影响?5. 多位LED显示器采用动态扫描显示和静态显示(各位独立显示)有什么区别?6. 习题图11-1所示为开关量检测与指示电路接口。假定任何时候至多只有一只开关闭合,试编写一程序段,显示闭合开关序号。若无开关闭合,则显示器不发亮。7. 若习题图11-1为开关闭合个数指示电路接口,试编写程序统计闭合开关个数并显示于8段显示器上。8. 习题图11-2为8段显示器接口,显示器采用共阳极接法,试编写程序段,使AL中的一位十六进制数(AL的高4位O000)显示于显示器上。输出锁存器地址为60H。微机原理与应用复习资料第一章:概述1计算机的基本组成 (P35-P36)2CPU的三组总线 AB,DB,CB3微计算机中数和字符的表示:真值,原码,反码,补码,BCD码,ASCII码(1)给定一个十进制数,求其原码、反码、补码,例如:求-112的原码、反码、补码(2)BCD码与ASCII码之间的转换方法(读程序或写程序)ADD AL,30H OR AL,30H SUB AL,30H4十进制,二进制,十六进制之间的转换(读程序或写程序)5补码的加减运算和对标志位的影响:CF,ZF,OF,SF计算机中的计算方法,补码运算过程。第二章:IA-32结构微处理器(*)18086CPU的内部结构:EU,BIU(P43-P44)28086CPU的逻辑地址和物理地址(P50-P51)38086CPU的寄存器结构 (P49,P53-P54)4标志寄存器、常用的标志位以及对应的条件转移指令(P55-P56)5有符号数与无符号数运算对标志位的影响,以及溢出判断方法(双高位判断法)第三章:8086指令系统(*)1 8086指令的寻址方式,能够列出所有的寻址方式并用指令举例(P24-25 P67-71)2掌握全部指令,特别掌握常用指令(功能、书写格式及操作数搭配、非法格式)3熟悉本章所讲例程序片段:第四章:汇编语言程序设计(*)1伪操作符:PTR,OFFSET,SEG2伪指令:DB,DW,段定义(不包括选项),EQU3伪指令所产生数据对内存的占用。4掌握基本程序结构:顺序,分支,循环。5熟练掌握DOS功能调用(INT 21H),重点掌握01H、02H、07H、09H、0AH中断。5掌握汇编语言源程序的框架结构,熟悉本章所讲例程序,掌握基本编程方法。6能读懂汇编语言源程序,叙述其功能。7要求能够写一定功能的程序。汇编语言源程序在内存数据处理,代码转换,测试与控制程序的编写上有明显的优势。例1:在显示器上循环显示数字“0123456789”50遍,最好显示一个字符后有延时 答: 例2:编程实现模拟计算机开机密码输入过程即显示“Password:”,等待用户输入密码(1-6位),每输入一个字符显示一个*,要求把输入的口令存储在buffer为起始地址的内存区域。(要求书写汇编语言源程序,下次实验中调试)答: 例3:定义数据区BUFFER1(100个字节数),BUFFER2(100个字节数),BUFFER3(保留100个字节),实现BUFFER1区的第1个数与BUFFER2区的第100个数相加,BUFFER1区的第2个数与BUFFER2区的第99个数相加 .直到实现BUFFER1区的第100个数与BUFFER2区的第1个数相加,且结果依次存储在BUFFER3区。 答: 例4:编程实现从键盘输入10个字母(“A-Z”或“a-z”中的任10个),并改变大小写换行显示,例如:输入“fHhFHhajAD”,显示; 答: 例5:编程实现两个四位BCD数相加并显示,最好两个数可以从键盘输入,结果显示出来,例如:INPUT: 1234+2345OUTPUT:3579第五章:处理器总线时序和系统总线1.8086/8088有最小组态和最大组态的区别,8086/8088的区别。2.基本概念:指令周期执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论