《微机原理》模拟试题三一、填空题1、将十进制数27985转换成十六进制数、八进制数、二进制数及BCD码数分别为:________H,________Q,_____B,BCD。2、字长为8位的二进制数10010100B,若它表示无符号数,或原码数,或补码数,则该数的真值应分别为______D,______D或______D。3、已知BX=7830H,CF=1,执行指令:ADCBX,87CFH之后,BX=____________,标志位的状态分别为CF=_______,ZF=_______,OF=________,SF=__________。4、8086中,BIU部件完成______功能,EU部件完成_____功能。5、8086中引脚BHE信号有效的含义表示________________。6、8086正常的存储器读/写总线周期由________个T状态组成,ALE信号在__________状态内有效,其作用是______________。7、设8086系统中采用单片8259A,其8259A的ICW2=32H,则对应IR5的中断类型号为___________H,它的中断入口地址在中断向量表中的地址为______________H。二、简答及判断题1、某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FF00H,此时,该指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?试举例说明2、8086CPU的FLAG寄存器中,状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?3、设采用16550进行串行异步传输,每帧信息对应1个起始位,7个数据位,1个奇/偶校验位,1个停止位,波特率为4800,则每分钟能传输的最大字符数为多少个?三、读图和作图题1、8086系统中接口连接关系如下图所示。要求回答以下问题:(1)试分别确定8255,8253,8259及8251的端口地址;(2)设8255的PA口为输出,PB口为输入,试写出对PA口和PB口执行输入/输出操作的指令。8255的端口地址为:___________________________________;8253的端口地址为:___________________________________;8259的端口地址为:___________________________________;8251的端口地址为:___________________________________;对PA口操作的I/O指令为_______________________________;对PB口操作的I/O指令为______________________________。2、作图题。系统采用4个接口芯片:8253,8251,8259及8255。要求8253的通道0用作实时时钟,每当定时时间到之后向8259的IR2送入中断申请信号。8253通道1用作方波发生器作为8251的收发时钟脉冲。8253通道0,通道1的门控信号由8255PC口的PC3和PC2控制。(1)画出4个芯片之间控制线的连接图;(2)8253的两个通道应分别工作在什么方式?四、程序阅读题1、源程序如下:MOVAH,0MOVAL,9MOVBL,8ADDAL,BL8259CSC/DA7G3738086CPUA6A5A4A0G2AG2B138G1CBAM/IO8253A1CSA0CSA18255A0Y1Y08251CSA0Y2Y3A2A1A2A1A1A1ALEAD7~AD0A7~A08259CSC/D8259CSC/D8259CSC/DA7G3738086CPUA6A5A4A0G2AG2B138G1CBAM/IOM/IO8253A1CSA08253A1CSA0A1CSA0CSA18255A0CSA18255A0Y1Y1Y0Y08251CSA08251CSA0Y2Y2Y3Y3A2A1A2A1A1A1ALEAD7~AD0A7~A0AAAAADDIVAL结果AL_________,AH=___________,BL=_____________。2、源程序如下:MOVAX,SEGTABLE;TABLE为表头MOVES,AXMOVDI,OFFSETTABLEMOVAL,‘0’MOVCX,100CLDREPNESCASB问:1)该段程序完成什么功能?2)该段程序执行完毕之后,ZF和CX有几种可能的数值?各代表什么含义?3、源程序如下:CMPAX,BXJNCL1JZL2JNSL3JNOL4JMPL5设AX=74C3H,BX=95C3H,则程序最后将转到哪个标号处执行?试说明理由。4、源程序如下:MOVDX,143HMOVAL,77HOUTDX,ALMOVAX,0DECDXDECDXOUTDX,ALMOVAL,AHOUTDX,AL设8253的端口地址为140H~143H,问:(1)程序是对8253的哪个通道进行初始化?(2)该通道的计数常数为多少?(3)若该通道时钟脉冲CLK的周期为1µs,则输出脉冲OUT的周期为多少µs?五、编程题1、8255的编程。设8255的端口地址为200H~203H。(1)要求PA口方式1,输入;PB口方式0输出;PC7~PC6为输入;PC1~PC0为输出。试写出8255的初始化程序。(2)程序要求当PC7=0时置位PC1,而当PC6=1时复位PC0,试编制相应的程序。2、自BUFFER开始的缓冲区有6个字节型的无符号数:10,0,20,15,38,236,试编制8086汇编语言程序,要求找出它们的最大值、最小值及平均值,分别送到MAX、MIN和AVI三个字节型的内存单元。要求按完整的汇编语言格式编写源程序。模式试题三参考答案一、填空题1、117.D99H427.6631Q000100010111.110110011001B001001111001.10000101BCD2、148D-20D-108D3、BX=0000HCF=1ZF=1OF=0SF=04、总线接口功能指令的译码及执行功能5、高8位数据线D15~D8有效6、4T1给外部的地址锁存器提供一个地址锁存信号7、35H000D4H~000D7H二、简答及判断题1、∵故物理地址为0FEF0H。指向该物理地址的CS,IP值不唯一。例如:CS:IP=0000:FEF0H也指向该物理地址。2、状态标志表示算术运算或逻辑运算执行之后,运算结果的状态,这种状态将作为一种条件,影响后面的操作。控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置或清除,每个控制标志都对某一特定的功能起控制作用。3、每帧占1711=10位,波特率为4800bit/s,故每分钟能传送的最大字符数为28800(个)三、读图和作图题1、(1)A7A6A5A4A3A2A1A01000任意0Y00FEF0自然丢失1FF00FFFF028800个104800601001任意0Y11010任意0Y21011任意0Y38255的端口地址为80H,82H,84H,86H8253的端口地址为90H,92H,94H,96H8259的端口地址为A0H,A2H,8251的端口地址为B0H,B2H,(2)OUT80H,ALINAL,82H2、(1)控制线连接图如图所示。(2)通道0工作在方式2—分频发生器;通道1工作在方式3—方波速率发生器四、程序阅读题1、AL=01HAH=00HBL=08H2、(1)从目的串中查找是否包含字符‘0’,若找到则停止,否则继续重复搜索。(2)ZF=1,说明已找到字符ZF=0,说明未找到字符CX0,说明中途已找到字符退出CX=0,且ZF=0说明串中无字符‘0’3、∵74C3H95C3HDF00H且有:CF=1,ZF=0,SF=1,OF=1程序将转到L5标号处执行。4、(1)程序对8253的通道1进行初始化。PC3OUT08255GATE08253GATE1IR282598251R×CT×CPC2•OUT1PC3OUT08255GATE08253GATE1IR282598251R×CT×CPC2••OUT1(2)计数常数为10000D,BCD计数。(3)工作在方式3,方波速率发生器周期=100001µs=10000µS=10ms五、编程题1、(1)MOVDX,203HMOVAL,10111000BOUTDX,AL(2)MOVDX,202HINAL,DXMOVAH,ALTESTAL,80HJNZNEXT1MOVDX,203HMOVAL,00000011B;对PC1置位OUTDX,AL(2分)NEXT1:MOVAL,AHTESTAL,40HJZNEXT2MOVAL,00000000B;对PC0复位MOVDX,203HOUTDX,ALNEXT2:………(3分)2、DATASEGMENTBUFERDB10,0,20,15,38,236MAXDB0MINDB0AVIDB0DATAENDS(2分)STACKSEGMENTPARASTACK‘STACK’DW100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK(1分)STARTPROCFARBEGIN:PUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXLEADI,BUFFERMOVDX,0;使DH=0,DL=0MOVCX,6MOVAX,0;和清0MOVBH,0;最大值MOVBL,0FFH;最小值(2分)LOP1:CMPBH,[DI]JANEXT1;若高于转移MOVBH,[DI];大值BHNEXT1:CMPBL,[DI];JBNEXT2;若低于转移MOVBL,[DI];小值BL(2分)NEXT2:MOVDL,[DI];取一字节数据ADDAX,DX;累加和INCDILOOPLOP1MOVMAX,BH;送大值MOVMIN,BL;送小值(3分)MOVDL,6DIVDL,;求平均值MOVAVI,AL;送平均值RETSTARTENDPCODEENDSENDBEGIN(3分)