《西华大学微机原理考试题库.doc》由会员分享,可在线阅读,更多相关《西华大学微机原理考试题库.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、- -1,典型中断处理程序构造应包括CPU中断响应,保护现场,开中断, 执行中断效劳程序,关中断,恢复现场,开中断,返回等局部。2,按照总线的规模,用途及其应用场合,总线分为数据总线,地址总线,控制总线3,串行接口RS-232C关于机械特性的要求,规定使用一个9根插针的标准连接器 4,CPU与I/O接口间传送的信息一般包括数据信息,状态信息,控制信息3种类型。3类信息的传送方向分别应是从哪到哪CPUI/O,CPUI/O,CPUI/O5,输入/输出端口有2种编址方法,即I/O端口与存储器单元统一编址和I/O端口单独编址,前一种编址的主要优点是1,CPU对外设的操作可使用全部的存储器操作指令2,由
2、于I/O端口的地址空间是存空间的一局部,这样I/O端口的地址空间可大可小从而使外设的数目几乎不受限制,而只受总存储量的限制,从而大大的增加了系统的吞吐率3,不需要专门的输入/输出指令,降低了对操作码的解码难度6,8088系统中外围设备请求总线控制权是通过HOLD进展的7,8086通过中断控制器最多可望管理外部中断的个数为2568,CPU的ALU的主要完成算数,逻辑运算及位移操作9,假设设某容量为2K字节的RAM起始地址为1000H,那么其终止地址为17FFH10,8088/8086系统中外围设备可屏蔽中断请通过INTR进展的可编程定时/计数器8253的工作方式共有6种,其中3个定时/计数器通道
3、,3个地址存放器11 CPU马上响应中断的必要条件之一是一条指令执行完毕后12 CPU与I/O接口间信息传送的方式有无条件传送,查询传送,中断传送,DMA传送,DMA传送方式为快速传递方式13,8086/8088的中断响应用了2个总线周期,从INTA引脚输出2个负脉冲,第1个总线周期完成AD15-AD0浮空,通知中断源,准备中断类型码,复位中断请求信号,第2个总线周期完成被响应的外设或接口芯片向数据总线AD7-AD0输送一个字节的中断类型码14,在Intel 8253A过对其中一个控制端口的编程设定和控制工作方式,其端口地址是当A1A0=11时的地址,而存单元的有效偏移地址可由直接寻址方式,存
4、放器间接寻址方式,存放器相对寻址方式,变址寻址方式,基址寻址方式,相对基址变址寻址方式15,8088CPU有20根外部地址线,8根外部数据线,其存储器分段管理,每段最大64KB,段基地址在段存放器组中16,8088CPU工作在最大模式,必须将CPU的引脚MN/MX接地MN/MX=017,8088CPU工作在最大模式时,MN/MX=1,用8288对S2,S1,S0信号译码产生相应的总线控制信号18,8086对外部请求相应优先级最高的请HOLD19,个人计算机I/O寻址空间大小一般为64K20,一个程序可包含四个段,代码段包含可执行的指令,堆栈段包含一个后进先出的数据戒备区,用于保护子程序调用时的
5、段现场地址,和现场IP信息在宏汇编语言源程序中指令MOV AX,2345经汇编后变成MOV AX,0929H(用指令表示在DEBUG调试程序中执行该指令后AX)=2345H宏汇编默认十进制,DEBUG默认十六进制21,8088CPU在执行指令INT 13H时,断点地址压栈后,将转而执行中断效劳子程序,入口地址存入在存的0004CH单元到0004FH单元,其中低地址的字送至存放器IP中,高地址字送至存放器CS中22,假设存放器DL容为2AH,PORT_VAL为端口13H的符号名,宏汇编语言系统对指令ANDDL,PORT_VALANDOFEH汇编后产生的语句为AND DL,12H,DL容为2AH,
6、执行指令后DL=02H23,在串行通信方式中,有两种最根本的通信方式是异步通信ASYNC方式,同步通信方式24.8086/8088中,一个最根本的总线周期由4个时钟周期T状态组成,在T1状态,CPU往总线发出地址信息25,8086/8088复位后从FFFF0H地址处开场执行程序26,在堆栈,有效地址为2500H到2505H单元依次存放10H,20H,30H,40H,50H,60H六个数,SP=2502H,执行POPBX后,有SP=2504H,BX=4030H27,能完成将AL存放器清零的有SUB AL,ALXOR AL,ALMOV AL,028,8086的存空间和I/O空间是单独编址的,分别是
7、1MB和64KB29,8086部由执行单元EU和总线接口单元BIU两局部组成,其作用分别是从BIU中获得指令并执行和从存储器的指定区域中取出指令送到指令队列中去排队30,8086的基址加变址寻址方式中,基址存放器可以是BX,BP,变址存放器可以是SI和DI31,标号和变量均是汇源程序中的符号地址,其中标号指向的存单元中存放的是指令,而变量指向的存单元中存放的是数据。假设VAR为一变量,LAB为一标号,那么:JMPLAB和JMPVAR两条指令中,只有JMPLAB是合法的32,8086/8088输出指令OUTDX,AX的执行结果是将AX容送至DX)指定I/O接口地址33,8086/8088提供的能
8、承受外部中断请示信号引脚是NMI和INTR,两种请示信号的主要不同处在于INTR为可屏蔽中断请求,NMI为非屏蔽中断请求34,8086有两种工作模式,即最小模式和最大模式,它由MN/MX决定,最小模式的特点是CPU提供全部的控制信号,最大模式的特点是需总线控制器828835,8086/8088系统要锁存20位地址和BHE信号,需要3个8282作地址锁存器。除了8282之外,8086/8088系统中也常用74LS373作为地址锁存器36,当M/IO=0,RD=0,WR=1时,CPU完成的操作为I/O读37,在一般微处理器中,算术逻辑单元包含在中央处理器CPU38,8086CPU认可中断后,CPU
9、自动执行1,存下程序计数器2,存下状态存放器3,暂不承受较低优先级别的中断简答1、8088的寻址方式有哪些?他们各有何特点?分别举例说明答:1立即寻址方式 :其所提供的操作数直接包含在指令中,与操作码一起放在代码段存储器的区域中,这个操作数称为立即数eg.MOV AL,57H。2,存放器寻址方式:要寻找的操作数存放在CPU部某个存放器中,指令中直接使用存放器名 eg.MOV AX,BX。3,直接寻址方式:其源操作数为16位偏移地址有直接地址和标号地址两种形式eg.MOV AX,2000H。4,存放器间接寻址方式:操作数存放在存储器中,操作数的16位段偏移地址放在SI,DI和BP,BX中的一个存
10、放器eg.MOV AL,SI。5,存放器相对寻址方式:存放实际操作数的存储器地址值为指令中的变址存放器SI,DI和BP,BX中的一个存放器的容与指令中给定的相对位置之和eg.MOV AX,SI+1000H。6,基址变址寻址方式:BX和BP作为基址存放器,SI和DI作为变址存放器,将这两种存放器联合起来进展的寻址eg.MOV AX,BX+DI。7,相对基址变址寻址方式 eg.MOV AX,DISPBX+DI。8,隐含寻址方式二,简述中断响应,效劳,以及返回过程,并以INT 25H为例,说明中断向量表的作用答:1,描述中断响应及处理过程6步:关中断保存断点保护现场给出中断入口,转入相应的中断效劳程
11、序恢复现场开中断与返回流程图表示更好2,中断向量表的作用:8086/8088在存的00000H-003FFH的1K空间建立了中断向量表,可以容纳256个中断向量或256个中断类型每个中断向量占用4个字节,在这4个字节中,包含着这个中断向量或这种中断类型的效劳程序的入口地址,其中前两个字节为效劳程序的IP,后两个字节为效劳程序的CS,例如:INT 25H,在存的00094H-00095H保存该中断效劳程序入口地址IP,00096H-00097H保存该中断效劳程序入口地址CS。图示表达此意思即可1,8088的中断系统是如何构成的?2,为什么使用中断技术?3,中断处理过程以及CPU进入中断效劳程序的
12、过程,4,中断向量表的作用答:中断系统是由系统响应及中断处理过程组成。当CPU与外设工作不同步时,很难确保CPU在对外设进展读写操作时,外设一定是准备好的。为确保数据的正确传输,CPU而已主动的查询外设以确定其工作状态,但这样会使CPU效率降低,为解决上述问题,引入中断技术。上题1,顺序:中断源识别-中断优先级判断-中断嵌套管理-CPU中断响应-中断效劳-中断返回4 ,上题2,三,INTR,NMI有何异同NMI:引入的是不可屏蔽中断请求,采用边沿触发,高电平有效,中断一旦产生立即锁存,到CPU执行完当前指令后立即响应。该中断的效劳子程序的入口地址从偏移地址为“2*4的中断效劳入口地址表中的到,
13、并直接专区执行效劳,CPU不进入INTA周期。主要处理系统的意外和故障,如电源掉电,存储器读写错或受到严重的干扰。INTR:引入的是可屏蔽中断请求,电平触发,高电平有效。此中断发生后,CPU在当前指令执行后,首先检测标志存放器的IF标志位时候置“1,假设“IF=1CPU才能响应这一类中断,并通过INTA管脚向产生中断请求的中断源发送两个中断响应负脉冲,假设“IF=0那么屏蔽所有此类中断。此类中断要求提出中断的设备提供其长度为8位的中断类型号,在受到第二个INTA负脉冲时送到数据总线即可。该中断的效劳子程序的入口地址也通过从偏移地址为“中断类型号*4的中断效劳入口地址表中得到,然后再转去效劳。四
14、,为什么要插入Tw以及如何处理这种情况?为了解决快速CPU与任何速度的存储器或I/O设备之间传递速度的时序配合,【当CPU对存储区活I/O设备进展操作时,假设到数据未准备好时,可用一个产生Ready信号的电路,使在T3和T4之间产生1个或几个Tw来解决时序配合问题,在T3周期开场采样Ready信号,假设其为低,那么表示被访问的存储器或I/O设备未准备好,那么在T3完毕之后不进入T4,而插入一个Tw状态,以后再每个Tw周期前沿采样Ready线,直至Ready便有有效高电平时Tw周期才完毕,进入T4周期,完成数据传送五,ROM概念:1掩膜型ROMMROM):用掩膜工艺制造,用定做的掩膜对存储器进展
15、编程,一旦制造完毕,容固定不能修改2可编程ROM(PROM由厂家生产出“空白存储器,用户根据需要,采用特殊方法写入程序和数据,对存储器进展编程,但只能写入一次,写入信息固定,不能更改3可擦除的PROM(EPROM)这种存储器可由用户按规定的方法屡次编程,可用紫外线灯制作的擦抹器照射15min后芯片中的信息被擦除,成为块干净的EPROM,可再次写入信息4电擦除的EPROM(EEPROM)能用特定的电信号以字节为单位进展擦除和改写5FLASH MEMORY六,SRAM,DRAM的工作原理,掌握为什么DRAM需定时刷新DRAM:写入操作时选择信号“1,讲数据线上的信息经过导通的Q1存入分布电容Cg中
16、,假设数据线上写入的信息为1,那么Cg被充电为高电平,假设数据线上的信息为0,那么Cg被放电为低电平。读出时,根据行地址译码,使某一行选择线为高电平本行上所有的根本存储电路中的管子Q导通,连在每一列上的刷新放大器读取对应存储电容Cg上的电压值【因为依靠寄生电容存储电荷来存储消息,由于电容C上电流的泄露现象,使电容C上的电荷只能保持一段时间,信息在一定时间会自然丧失,故必须定时刷新,刷新时间通常为2ms其作用是使原来处于“1状态的电容得到电荷补充,而原来处于“0状态的电容维持“0状态SRAM:RAM采用由6个晶体管组成的触发器电路组成一个二进制信息的存储单元,写入时,当x行地址线和y列地址线选中
17、SRAM六管存储电路,那么T5-T8导通,假设写入数据D=1,持续不变,即存储了一位信息“1,读出时,当六管存储器电路存储了信息“1,那么A=1,D=1,信息被读出七,掌握线性选择和地址译码法线选,局部译码,全译码以及产生地址的特点是否连续优缺点片选控制方法:1,线选法:除将低位地址直接接到片地址线外,将其余的高位地址线分别直接作为各个存储器芯片的片选控制信号,而不需要复杂的逻辑译码电路这些片选地址线在每次寻址时只能有一位有效,不能同时有多位有效节省译码电路,但是必须要注意他们的地址分布,以及各自的地址重叠区,且不连续2,局部译码法:存储器芯片的地址线与微机系统总线的地址线依次相接后,剩余的高
18、位地址仅用一局部参加译码,缺点:使存储器芯片的地址空间有重叠,造成了存储器空间的资源浪费,优点:译码电路简单,适用于大容量的RAM的连接,连接是连续的3,全译码法:M芯片的地址线和微机系统的地址线依次相接后,剩余的高位地址线全部参加译码。优点:M芯片上的地址空间唯一确定,连接是连续的。缺点:译码电路相对复杂八,计算机部构造EU单元中包括4个16位通用存放器,AX,BX,CX,DX,AX为累加器,BX为基址存放器,CX为计数存放器,DX为数据存放器。2个16位指针存放器SP和BP,SP用来存放现行堆栈段偏移地址,并具有步进加1和减1的功能,称为堆栈指针,BP称为基址指针。2个变址存放器为SI和D
19、I,SI用来寄放源操作数段偏移量,DI用来存放目标数段偏移量。BIU单元有4个段存放器CS,DS,SS和ES,CS用来存放当前代码段的基地址,DS用来存放当前数据段的基地址,SS用来存放堆栈段的基地址,ES用来存放当前附加段的基地址。存储器对应输入输出方式的优点和缺点: 优点: 存和外设的地址由一个译码器解决,不需专门的I/O指令,全部存储器指令都可用,指令多,使用方便(输入,输出不只局限于累加器); 缺点:占用存空间,寻址的地址字节增加,增加 了指令的执行时间。存储器对应输入输出方式:也称为I/0统一编地址:把一个外设端口当作存 储器的一个单元来对待,每个外设端口占有存储器的一个地址。 从外
20、设输入一个数据,看作存储器一次读操作; 向外设输出一个数据,看作存储器一次写操作; 1,编程实现模拟计算机开码输入过程,即显示i Please input(1-6)password:i,等待用户输入密码1-6位,即在用户在输入缺乏6位密码时,敲回车即停顿输入,每输入一个字符显示一个i*i,要求把输入的口令简单加密后存储在buffer为起始单元的存区域,密码加密的方法为把输入字符ASCII码循环左移3位,例如字符i0i,ASCII码为30H,要求存储信息为81H,请书写汇编语言源程序- - word.zl- -DATASEGMENTINFO DB Please input(1-6)passwor
21、d:,$BUFFERDB6 DUP(?)DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATA,ES:DATAMAINPROCFARBEGIN: PUSHDS MOVAX,0000H PUSHAX MOVAX,DATA MOVDS,AX MOVES,AX LEABX,BUFFER MOVAH,09H LEADX,INFO INT21H MOVDI,06HINPUT1:MOV AH,07H INT 21H CMPAL,0DH JZOVER MOVCL,03H ROLAL,CL MOVBX,AL MOVDL,* MOVAH,02H INT21H INCBX DECDI
22、JNZINPUT1OVER:MOVAH,4CH INT21H RETMAINENDPCODEENDS ENDBEGIN- - word.zl- -2实现在CRT上循环显示0-9共50次- - word.zl- -DATA SEGMENTchar db0123456789,$BUFFER DB 50 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN PROC FARSTART: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AXMOV CX,50M: MOV DX, OFFSET CHAR MO
23、V AH,09H INT 21H MOV SI,035FFHM1: MOV BX,0FFFFHM0: DEC BX JNZ M0 DEC SI JNZ M1 DEC CX JNZ MMAIN ENSPCODE ENDSEND START- - word.zl- - - word.zl- -加密:DATA SEGMENTMESS DB Password:,$ BUFFER DB 6 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN PROC FARSTART: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA M
24、OV DS,AX;初始化数据段 LEA DX,MESS MOV AH,09H;字符串显示 INT 21H LEA BX,BUFFER MOV CX,6 M: MOV AH,07H;键盘输入无回显INT 21HMOV BX,AL;保存加密后密码INC BXMOV DL,BXMOV AH,02H;显示输出MOV DL,*INT 21H;显示*LOOP MRETMAIN ENDPCODE ENDS END START- - word.zl- - - word.zl- - A口输入,B 口输出:assume cs:code code segment public org 100h start: mov
25、 dx,04a6h ;8255 控制端口地址 mov ax, 90h out dx, ax ;设置 A口输入,B口输出startl: mov dx, 04a0h ;A口地址 in ax, dx ;读开关量 mov dx, 04a2h ;B 口地址 out dx, ax ;写发光二极管状态 jmp startl code ends end start - - word.zl- -为什么8255A要提供三种工作方式 ? 为了满足并行输入输出的不同需要,实现可靠的数据传输。假设不需要考虑外部设备的状态,那么可以选择方式0,假设需要考虑外部设备的状态就需要用选通输入 输出,方式1,假设需要双向传送那么
26、需要用方式2。 定义数据区 BUFFER15 个字节数,BUFFER25 个字节数,BUFFER3保存5 个字节,实现 BUFFER1 区的第1个数与 BUFFER2 区的第5 个数相加,BUFFER1 区的第 2 个数与BUFFER2 区的第 4 个数相加.直到实现 BUFFER1 区的第 5 个数与 BUFFER2 区的第 1 个数相加,且结果依次存储在 BUFFER3 区。- - word.zl- -Data segment Buffer1 db x0, x1, x2!-x4Buffer2 db y0, y1, y2!-4 Buffer3 db 100 dup (?) Data ends
27、 Code segment Assume cs: code, ds: data, es: data Main proc far Begin: push ds mov ax,0000h push ax mov ax, data mov ds, ax ;初始化数据段 mov es, ax ;初始化附加段 lea si, buffer1 lea bx, buffer2 LED显示开关状态assume cs:code code segment public org 100h start:mov dx,04a0h ; 74LS244地址 in al,dx ;读输入开关量 mov dx,04b0 ;74L
28、S273 地址 out dx,al 输出至LED jmp start code ends end start 8255A的典型应用编程CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN PROC FAR START: PUSH DS MOVAX,0 PUSH AX MOV AL,90H ;方式控制字 MOV DX,22BH OUT DX,AL add bx, 4 lea di, buffer3 mov cx,5 m: mov al, si add al, bx mov di, al inc si dec bx inc di dec cx jnz m mov ah
29、,4ch int 21h ;返回 DOS ret Main endp Code ends end begin LED流水显示assume cs: codecode segment public org 100hstart: mov al, 01h;读输入开关s1: mov dx,04b0h ;74LS273地址out dx, al ;输出至LEDRol al,01hcall delayJmp s1code endsend startLP: MOV DX,228H IN AL,DX ;读入A口开关状态 MOV DX,229H OUT DX,AL ;B口输出 JMP LP RET MAIN END
30、P CODE ENDS END START ASSUME CS:CODE CODE SEGMENT PUBLIC ORG 100HSTART: MOV DX,04A6H ;8255控制端口地址 MOV AL,0B4H OUT DX,AL ;设置A口输入,B口输出 MOV DX,04A4H AG1: IN AL,DX TEST AL,20H JZ AG1 MOV DX,04A0H ;A口地址 IN AL,DX ;读开关量 MOV BL,AL MOV DX,04A4H ;C口地址 AG2: IN AL,DX TEST AL,02H JZ AG2 MOV DX,04A2H MOV AL,BL OUT
31、 DX,AL CODE ENDS END START- - word.zl- -八个发光管滚动显示- - word.zl- -code segment org 100hassume cs:codego:mov al,80h mov dx,203h out dx,al mov al,01hm: mov dx,201h out dx,al rol al,1call delayjmp mdelay: mov si,6fffh dec si jnz delay retcode ends end go- - word.zl- -编程实现从键盘输入20个以字符,并换行显示DATA SEGMENT BUFF
32、ER DB 20 BUFFER1 DB ? BUFFER2 DB 20 DUP(?),$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX LEA DX,BUFFER MOV AH,0AH INT 21H MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H LEA DX,BUFFER2 MOV AH,09H INT 21H RET MAIN ENDP CODE ENDS END START-