专业学号
姓名
成绩
一、填空题(每空1分,共20分)
1.完成下列程序段,从240H端口读取数据,测试其是否为20H,若不是则将241H端口清0,否则转向NEXT。
MOVDX,(1)(2)AL,DX(3)AL,20H(4)______MOVDX,(5)MOVAL,0OUT…..
NEXT:……
DX,AL
2.图1中的一个共阴极数码管通过8255A和系统ISA总线相连,请完成下列程序段,使该数码管稳定显示“8”(字型编码为7FH)。
图1
MOVDX,MOVAL,OUTDX,ALMOVDX,MOVAL,
(10)(8)(9);数码管稳定显示“8”
(6)(7);初始化82C55
3..8086CPU有条地址线,可形成的存储器地址空间,地址范围为。4..中断类型号为24H的中断向量存放在开始的存储单元。
5..一台微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。6..一个数据的有效地址EA=1234H,且DS=5678H,则该数据在内存中的物理地址是________,该数据段的首单元的物理地址是________,末单元的物理地址是________。7.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。8.若8086CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。
共27页第1页
二、综合题(80分)
1.(10分)一个异步串行通信口,通过TXD发送一帧数据的字符格式如图2的实线所示:
图2
如果线路上传送的字符格式包括7位ASCII码数据,一位奇偶校验位,一位停止位。要求:(1)写出该帧字符所传送的数据值,并说明是奇校验还是偶校验。(2)如果波特率为600bps,请计算传送上面这一帧数据所需要的时间。(3)若波特率系数K=16,请计算发送时钟频率TXC的频率值。
2.(10分)图3为两级译码构成口地址译码电路,PS输出低电平为片选信号。试问
图3图4
(1)开关K上合,PS的寻址范围是________。(2)开关K下合,PS的寻址范围是________。(3)开关K下合,A3改接B,A4改接A,则PS的寻址范围是________________。(4)请用二进制表示法写出图4的译码电路所决定的端口地址。
3.(20分)某系统外接电路如图5,8255A口地址为2F0H~2F3H,请设计源程序,一次性的测试开关的位置,当K闭合时,LED亮,K断开时LED灭(提示:C口高4位应为方式0输入,低4位为方式0输出)。
图5
CODEBEG:
;C口初始化;读C口
SEGMENTASSUME
CS:CODE
共27页第2页
;测试PC7并组织输出数据;数据写入C口使LED亮/灭;返DOS
ENDS
ENDBEG
4.设8253的选通地址为240H~243H,采用BCD计数,计数器2输出用于申请中断。如果计数器2的输入时钟频率为20KHz,输出信号每秒引起100次中断。要求(1)算出计数初值,(2)编写初始化程序。(20分)
5.(20分)图6为某A/D转换器的设计方案,设Y0、Y1所对应的地址分别是300H和301H。(1)试编写启动A/D对通道4转换、检测A/D是否转换完毕、读取A/D转换数据的程序分段。(2)要求对通道4采集10个数据,并存放到以6000:0为起始地址的RAM中,试编写该程序。CODE
图6
附录:1、8255A方式选择控制字格式
2、8253控制字格式
武汉大学2007~2008年第一学期
共27页第3页
微机原理与接口技术考试试卷(A)参考答案
一、填空题
1.2.3.4.5.6.7.8.
01.240H03.CMP06.21BH08.219H11.20
14.0000H:0090H
15.001111111/5FFFH16.579B4H19.1FFCH20.存储器写
02.04.07.09.12.
IN
JZNEXT80H7FH1M
05.241H
10.OUTDX,AL
13.00000H~FFFFFH
17.56780H18.6677FH
二、、综合题
1.解:
(1)发送的7位数据是0111001B或39H,偶校验。
(2)发送一帧数据共10位,所需的时间:T=10/600bps=16.6ms(3)TXC的频率为:f=K×600bps=16×600=9600HZ=9.6KHZ2.解:(1)230H~237H(2)3F0H~3F7H(3)3E8H~3EFH(4)33cH3.解:CODEBEG:
MOVMOVOUTMOVINTESTJNZMOVOUTJMP
XX:ZZ:CODE
MOVOUTMOVINTENDSEND
DX,2F3HAL,DX,ALDX,2F2HAL,DX
AL,10000000BXX
AL,00000001BDX,ALZZ
AL,00000000BDX,ALAH4CH21HBEG
;;返DOS
;数据写入C口使LED亮/灭;C口初始化
;读C口
;测试PC7并组织输出数据
SEGMENTASSUME
CS:CODE
4.解:
(1)初值为20KHZ/100=200或C8H
共27页第4页
(2)编程:
MOVMOVOUTMOVMOVOUTMOVOUT
DX,243H
AL,10110001B(或B1H)DX,AL;DX,242H
AL,8CHDX,AL;
AL,00H(该句也可以为:XORAL,AL)DX,AL;
5.解:(1)
启动A/D对通道4转换程序分段:
MOVDX,300HMOVAL,4OUTDX,AL
检测A/D是否转换完毕程序分段
MOVDX,301HXX:INAL,DX
TESTAL,00100000BJZXX…
读取A/D转换数据的程序分段。
MOVDX,300HINAL,DX(2)
CODESEGMENT
ASSUMECS:CODE
START:MOVCX,10
MOVAX,6000HMOVDS,AXMOVSI,0
YY:MOVDX,300H
MOVAL,4OUTDX,ALMOVDX,301H
XX:INAL,DX
TESTAL,00010000BJZXXMOVDX,300HINAL,DXMOV[SI],ALINCSI
LOOPYYMOVAH,4CHINT21H
CODEENDS
ENDSTART
武汉大学2007~2008年第一学期
共27页第5页
微机原理与接口技术考试试卷(B)
专业学号
姓名
成绩
一.填空题(每空1分,共20分)
01.________由中央处理器、存储器、输入/输出接口和总线组成。
02.微机系统中,有四级(或四层)总线,分别是片内总线、片总线、内总线和________。03.与十进制数2006等值的十六进制数是________,与十六进制数AC04H等值的十进制数是________。
04.设[X]补=10101010B,则用8位二进制数表示的[1X]补的值是________B;若[X]补
8
=00110101B,则[-2X]补=________B。
05.字符串‘Win98’的ASCII代码是________。
06.8086/8088的地址空间最多可分为________个逻辑段。07.一个数据的有效地址EA=1234H,且DS=5678H,则该数据在内存中的物理地址是________,该数据段的首末单元的物理地址是________。08.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。09.若8086/8088CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。10.一台8微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。
11.某中断类型号是20H,则中断向量地址是________。
12.某微机中断级联系统中,共采用3片8259A可编程中断控制器,则该系统最多可管理________级中断源。
13.某微机系统采用一块8253芯片,时钟频率为1MHz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则时间常数应设定为________,通道控制字应设定为________。
14.一个串行字符由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是________,传送每位信息所占用的时间是________。15.异步串行通信工作方式下,一个串行字符由一个起始位,7个数据位1101110,一个奇效验位和一个停止位构成,则先后发送该帧字符信息的数据位是________。二.简答题(每题4分,共20分)
01.请画出微机系统的框图。
02.8086CPU由哪两部分组成?8086CPU中有哪些寄存器?03.为什么说8088CPU是准16位的微处理器?04.指令队列和堆栈的工作方式各是什么?05.DRAM芯片的主要特点是什么?
三.应用题(共60分)
01.下图所示的存储器系统中,RAM和EPROM的存储容量各是多少?RAM和EPROM存储器分配的地址范围各是多少?(10分)
共27页第6页
02.下图为DMA接口硬件示意图,①、②、③、④四处空缺的内容为存储器、DMA请求信号DREQ、DMA控制器DMAC、总线保持响应信号HLDA之一,请在相应的空缺处指明相应的内容。(10分)
03.已知中断服务程序入口地址表如下所示,当前CS=1000H,IP=0280H,SP=1800H,FLAG中的PSW=0241。执行一条双字节指令INT7后,下列寄存器和栈顶相关单元偏移地址的内容是什么?(10分)
中断服务程序入口地址表物理地址内容
0001CH
10H
0001DH20H
0001EH30H
0001FH40H
00028H50H
00029H60H
0002AH70H
0002BH80H
执行INT7后,CS=________,堆栈中栈顶相关单元:偏移地址内
容
(5)(7)
(8)
IP=________,SP=________,
(6)
PSW=________
(9)(10)(11)(12)
04.设某计算机控制系统中用8253的通道0作为计数器,口地址为60H,计数频率为1MHz,计数控制信号GATE0恒为高电平;控制字寄存器口地址为63H;计数器计到0时的输出信号用做中断请求信号。请分析执行下列初始化程序段后,发出中断请求信号的周期T是多少?(10分)
MOVAL,34HOUT63H,ALMOVAX,10000OUT60H,ALMOVAL,AHOUT60H,AL
05.已知某8088微机系统包括8255,8253两个可编程接口电路。其中8253三个计数器分
共27页第7页
别工作在不同的方式下,可以为A/D转换器提供可编程的采样频率和采样时间;8255A的PB0可用于检测按键开关的位置,PA7可根据PB0的状态决定是否点亮LED指示灯。设系统所要求有关硬件连线已经全部接好,片选信号PS2,PS3的地址是08H-0BH,0CH-0FH,如图所示,试完成下列各项要求。
(1)根据8255A的A口和B口的连接方式,写出接口初始化程序。
(2)图中给出了8253各个计数器要求的工作方式,设已知外部时钟频率为F,计数器0的计数初值为L(字节型),工作在方式2;计数器1的计数初值为M(字型),工作在方式1;计数器2的计数初值为N(字型),工作在方式3,L、M、N是程序已经定义的变量,L、M为二进制数,N为BCD码。试按上述要求完成8253的初始化程序。
(3)设计一个程序片段,使8255A检测PB0的输入状态,当PB0=1时使LED灯亮。(20分)
共27页第8页
武汉大学2007~2008年第一学期微机原理与接口技术考试试卷(B)参考答案
一.填空题(每空1分,共20分)01.微型计算机03.7D6H,44036
05.57H69H6EH39H38H
07.579B4H,56780H/6677FH09.存储器写11.80H
13.500,00110111B15.0011101101
二.简答题(每题4分,共20分)01.答:
02.外总线或通信总线
04.11110101B,10010110B06.64K08.1FFCH10.5FFFH12.22
14.2400Bd,0.417ms
02.
答①:由总线接口部件BIU和指令执行部件EU组成。答②:共五组,分别为:
数据寄存器组:16位,累加器AX、基址寄存器BX、计数寄存器CX、数据寄存器DX。指针寄存器组:16位,堆栈指针寄存器SP、基址指针寄存器BP。变址寄存器组:6位,源变址寄存器SI、目的变址寄存器DI。
段寄存器组:16位,代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS、附加段寄存器ES。
控制寄存器组:16位,指令指针寄存器IP、标志寄存器PSW。03.
答:8086EU内部,BIU内部以及外部数据总线宽度均是16位;而8088EU内部数据总线宽度是16位,BIU内部以及外部数据总线宽度是8位。04.
答:指令队列的进出原则是先进先出;堆栈的进出原则是后进先出。05.
答:刷新和地址两次打入。三.综合题(共60分)01.(10分)解①:
共27页第9页
RAM的存储容量=211字节,EPROM的存储容量=212字节解②:∵
A19
RAM
A18A17A16A15A14A13A12A11A10…A0
11111001X00011111001X111
EPROM111111010000
111111011111
∴RAM分配的地址范围是F9000H~F97FFH或F9800H~F9FFFH,EPROM分配的地址范围是FD000H~FDFFFH02.(10分)
答:①总线保持响应信号HLDA②DMA请求信号DREQ③DMA控制器DMAC④存储器03.(10分)
答:CS=4030H,IP=2010H,SP=17FAH,PSW=0041H
偏移地址
内容
17FAH
82H
02H
00H
10H
41H
17FFH02H
04.(10分)解:
∵8253的控制字为34H。计数初值N=10000。
∴通道0设置:方式2(波特率发生器方式),二进制计数,先读/写低字节、再读/写高字节
预置初值。∴在OUT0端输出一脉冲频率为fOUT0=即fOUT0=
1
fCLK0的周期性负脉冲。
10000
11MHzfCLK0==100Hz1000010000
1
∴中断请求信号的周期T为:T=05.(20分)
解①:
MOVAL,l0000010BOUT0BH,AL解②:
MOVOUTMOVOUTMOVMOVMOVOUTMOVOUTMOV
AL,14H0FH,ALAL,L0CH,ALAL,72H0FH,ALAX,M0DH,ALAL,AH0DH,ALAL,B7H
fOUT0
=
1
=0.01s100Hz;A,B口方式0,A口输出,B口输入
;0通道方式2
;0通道计数初值L;1通道方式l;1通道初值M(字型),
;2通道方式3,BCD码
共27页第10页
0UTMOVOUTMOVOFH,ALAX,N0EH,ALAL,AH
;2通道初值N(字型),
OUT0EH,AL解③:
INAL,09HK1:TEST01H
JZ,K1
MOVAL,OOHOUT08H,AL
;读B口状态;测试PBO=l否;不为1,K1
;PB0=1,PA0=0,点亮LED
武汉大学2009~2010年第一学期微机原理与接口技术考试试卷(A)
专业学号
姓名
成绩
一、填空题(共20分)
1.总线周期的含义是;8086/8088的基本总线
周期由个时钟周期组成;如果CPU的时钟频率为4.77MHz,那么它的一个时钟周期为ns,一个基本总线周期为ns。2.8086CPU的M/IO信号是
,高电平时表示
。
3.总线传输率是指;若某总线的工作频率最高为8MHz,数据总线宽度为16位,则该总线的最大传输率为MByte/s。4.I/O端口的编址方式有两种,分别为:和。5.串行传输的信息格式广泛采用着异步和同步格式。异步格式传送一个字符由4部分组成,
分别为起始位,位,和停止位。
6.在8086系统中,一个中断类型号为0DBH的中断服务子程序位于从8100H:1234H开始
的内存中,则相应的中断矢量所在的起始物理地址为__,从该地址开始连续4个存储单元存放的内容依次为_、、和_。
7.用2k×8的SRAM芯片组成16K×16的存储器,共需SRAM芯片_生片选信号的地址分别为_位和_位。
_片,片内地址和产
二、选择题(包括单项和多项选择,每小题2分,共20分)
1.下列说法正确的是____。
A.CPU一般包括ALU、控制器、寄存器阵列等主要部件。
B.CPU中的程序计数器是控制器的重要部件,总是指向下一条指令的地址。C.指令周期一般由几个机器周期组成,机器周期是CPU工作的最小时间单位。D.8086CPU的寄存器都是16位的,但指令指针是20位。2.下列说法正确的是____。
共27页第11页
A.通用寄存器包括AX、BX、CX、DX,它们都可以作为累加器使用。B.使用BP做间址寄存器时,默认使用DS做段寄存器。
C.做字符串操作时,源指针与目的指针使用的段寄存器不同。D.形成堆栈地址的是SS与SP。
3.下列说法正确的是____。
A.8086CPU有1M字节地址空间,其中最低64K是IO地址空间。
B.8086CPU有16位数据线和20位地址线,因此能访问2M字节存储器。C.8086CPU在传送8位数据时,总是使用数据总线低8位。D.8086CPU的NMI和INTR都是中断请求输入信号。4.下列指令中有语法错误的是____。A.MOVAL,DS:[BP]B.MOV[DI],0C.JMPWORDPTR[BX]D.PUSHWORDPTR[SI-2]5.地址总线为32位的微机系统中其内存最大容量为____。
A.2000KBB.2048KBC.2048MBD.4096MB
6.设串行异步通信的数据格式是:1位停止位,7位数据位,1位校验位,1位起始位,若传输率为2400位/秒,则每秒传输的最大字符个数为____。A.10B.110C.120D.2407.一台微型计算机的字长是4个字节,它表示____。A.能处理的数值最大是4位十进制数9999B.内存容量为10000KBC.在CPU中作为一个整体加以传送处理的二进制代码为32位D.在CPU中运算的结果最大为2的32次方8.下面的各种中断中,____的优先级最高。
A.单步中断B.除0中断C.NMID.INTR9.某存储器芯片有地址线13根,数据线8根、该存储器芯片的存储容量为____。A.15K×8B.32K×256C.8K×8D.32K×810.某存储单元的段基址为3806H,段内偏移地址为2A48H,该存储单元的物理地址为____。
A.4100HB.3AA08HC.3B008HD.3AAA8H
三、综合题(共60分)
1.
(20分)定时器8253、中断控制器8259A与8086CPU的连接如图1所示,8253的通
道0工作于方式3(方波发生器),输出的方波周期为20ms,每20ms向CPU发出一次中断,CPU响应中断后管理一个作业进程(执行中断服务程序),若8259A初始化时写入中断矢量寄存器的内容为76H,请回答下列问题:
(1)CPU在响应8259A的中断后,CPU何时从何处得到中断矢量号?得到的中断向量号是多少?(4分)(2)CPU在响应中断后从哪几个内存单元取出中断服务程序的入口地址(写出哪些单元中是CS段地址,哪些单元中是IP地址)?(4分)(3)写出定时器8253和中断控制器8259A的端口地址。(4分)(4)计算8253通道0的时间常数(计数器初值)是多少?(2分)(5)写出8253计数通道0的方式控制字和初始化程序段。(6分)
共27页第12页
2.
图18253、8259与8086CPU的连接电路
(10分)模拟/数字转换器ADC0809通过并行接口8255A与PC总线连接的接口电路如图2所示,该电路的功能是:CPU选择ADC0809的某一模拟通道INi进行A/D转换,并读取转换好的数字信号。请回答如下问题:
⑴8255的B口和C口的低4位各工作于何种方式?写出8255A的方式控制字。(4分)⑵如何控制ADC0809转换的开始?CPU如何知道ADC0809转换结束?(3分)
⑶若8255A的口地址是300H~303H,写出8255A的初始化程序段(不要求写如何启动ADC0809开始转换的有关程序)。(3分)
IRQ1IOWIORSD7~SD0WRRD D7~D0A0A1 PB7~PB0EOCD7~D0PC总线
SA0SA18255APC3ADC0809STARTALEADDCADDBADDAOE+5VIN0IN1IN2IN3IN4IN5IN6IN7SA2~SA9地址译码器CSPC2PC1PC0图2ADC0809、8255A与PC总线的连接电路
3.(10分)CPU通过8255A的B口(采用简单I/O工作方式)向打印机传送100个字符,这些字符在内存中的起始地址为0100:1000H,共100个字节。8255A的端口地址为400~403H,连接示意图如图3所示:
图3打印机接口电路
完成该任务的程序如下,请根据程序注释的提示,填写空白处:
movdx,(1分)
共27页第13页
movoutmovoutmovmovmovmovmovinandjnzmovmov
al,(1分)
dx,al;初始化8255A的方式选择控制字,设定工作模式al,(1分)dx,al;向STB引脚发送高电平
ax,(0.5分)ds,axsi,(0.5分)cx,100dx,(1分)al,dx;读取PC3的状态al,(1分)lp;如果PC3为高电平,表示打印机还未处理完毕,需等待dx,(1分)al,[si]
lp:
outdx,al;将要打印的字符内容通过B口输出至打印机movdx,(1分)moval,(1分)outdx,alnopnop
moval,(1分)outdx,al;在PC6上发出一个负脉冲后,然后回到高电平状态incsideccxjnzlp
4.(10分)某微机系统的存储地址空间为A8000H~CFFFFH,若采用单片容量为16K×1位的SRAM芯片,请问:⑴系统存储容量为多少?(1分)⑵该SRAM芯片有多少条数据线?多少条地址线?(2分)⑶组成该存储系统共需该SRAM芯片多少片?(1分)⑷整个系统应分为多少个芯片组?(1分)⑸分别写出第一个芯片组和最后一个芯片组所对应的地址空间(5分)要求:必须写计算分析过程。
5.(10分)在内存数据段符号地址为SDATA处连续存放了60个无符号字节数据,试统计该60个数中能被13除尽的数的个数(该结果应存于数据段符号地址COUNT处)。要求:(1)将“判断一个无符号字节数据能否被13除尽”的功能写成子程序;(2)写出完整的数据段与代码段。附录:
1、8255A方式选择控制字格式
共27页第14页
2、8253控制字格式如下:
武汉大学2008~2009年第一学期微机原理与接口技术考试试卷(A)参考答案
一、填空题(共20分)
1.CPU从存储器或I/O端口存取一个字节所需的时间4209.6838.62.存储器和I/O选择信号CPU访问存储器3.在给定的工作方式下所能达到的数据传输率或单位时间内能够传输的字节数或比特数4.与存储器统一编址和I/O独立编址5.数据位,奇偶校验位6._0:36CH(或者0036CH)_34h、12h、00h和81h_7._16_11和3_16二、选择题(包括单项和多项选择,共20分)
1A,B
2A,C
3D
4B
5D
6D
7C
8B
9C
10D
共27页第15页
三、综合题(共50分)
1.解:
(1)答:CPU在第二个中断响应周期INTA从数据总线上得到中断矢量号(该矢量号是8259A发出的)。该中断矢量号是:70H。
(2)答:从0:01C0H和0:01C1H中取出的数据是中断服务程序入口地址的偏移量,即IP地址;从0:01C2H和0:01C3H中取出的数据是中断服务程序入口地址的段地址,即CS地址。
AH、3BCH、3BEH;8259A的端口地址为:(3)答:8253的端口地址为:3B8H、3B3BA3BC3BE
9H、3BBH。3B3B93BB
×103Hz/50Hz=2000。(4)答:计算公式:20ms/0.01ms=2000;或者:100100×
×110B(或者:36H,或者:3EH都对)(5)答:8253通道0的方式控制字为:00110011×。初始化程序段:
EHMOVDX,3B3BE
×110B)MOVAL,36H(或00110011×
OUTDX,ALMOVDX,3B8HMOVAX,2000OUTDX,ALMOVAL,AHOUTDX,AL2.解:
(1)答:8255A的B口工作于方式0输入;C口低4位工作于方式0输出。
010B,8255A的方式字为:1××××××××010B(或者写成82H~FAH中任何一个数都算对)。
(2)答:CPU通过8255A让PC3输出高电平,即可使A/D转换开始(之前应该通过
UPC0~PC2选中某一INi模拟通道)。由电路图可知转换结束时EOC变为高电平向CPCPU
申请中断,CPU得到中断请求就知道A/D转换结束。(3)答:8255A初始化程序段如下:MOVDX,303H
010B)MOVAL,82H(或1××××××××010B
OUTDX,AL3.解:
movdx,403H(1分)moval,10000001b(或者81h)(1分)outdx,al;初始化8255A的方式选择控制字,设定工作模式moval,00001101b(或者0DH)(1分)outdx,al;向STB引脚发送高电平movax,0100H(0.5分)movds,axmovsi,1000H(0.5分)movcx,100
lp:movdx,402H(1分)
inal,dx;读取PC3的状态
共27页第16页
andjnzmovmovoutmovmovoutnopnopmovoutincdec
al,08H(1分)lp;如果PC3为高电平,表示打印机还未处理完毕,需等待dx,401H(1分)al,[si]
dx,al;将要打印的字符内容通过B口输出至打印机dx,403H(1分)al,00001100b(或者0CH)(1分)dx,al
al,00001101b(或者0DH)(1分)
dx,al;在PC6上发出一个负脉冲后,然后回到高电平状态sicx
jnzlp4.解:
1.存储容量=CFFFFH-A8000H+1=28000H(B)=160KB
2.芯片容量16K×1位:16K=214所以有14条地址线,1条数据线3.所需要的芯片数:(160K×8)/(16K×1)=80
4.因为每个芯片只有一位数据线,所以需要8片构成一组;
整个系统应分为:80/8=10个芯片组
5.第一个芯片组的地址空间:A8000H~ABFFFH
A19A18A17A16A15A14A13…….A010101000
11
最后一个芯片组的地址空间:CC000H~CFFFFHA19A18A17A16A15A14A13…….A0
00
11001111
也可以这样计算:
第一个芯片组的地址空间:A8000H~ABFFFHA8000H+16K-1=A8000H+4000H-1=ABFFFH最后一个芯片组的地址空间:CC000H~CFFFFHCFFFF+1-16K=CFFFF+1-4000H=CC000H
;数据段写正确:2分(以下SDATA的定义随意不扣分)DATASDATACOUNTDATACODE
SEGMENT
DB60DUP(?);60个无符号字节数据DB0ENDSSEGMENT
ASSUMECS:CODE,DS:DATA
共27页第17页
;子程序写正确:5分
;子程序:入口AL;出口:ZF=1表明AL能被13除尽DIV13
PROCNEARMOVAH,0MOVBL,13DIVBLORAH,0RET
DIV13ENDP;主程序写正确:6分START:MOVAX,DATA
MOVDS,AX
MOVSI,OFFSETSDATAMOVCX,60
LP1:
MOVAL,[SI]CALLDIV13JNZLP2INCCOUNTINCSILOOPLP1MOVAH,4CHINT21HENDSENDSTART
LP2:
CODE
共27页第18页
武汉大学2009~2010年第一学期微机原理与接口技术考试试卷(B)
专业学号
姓名
成绩
1.PC总线和A/D转换接口电路如图2,图中信号均是PC(8位)总线信号,请回答下
面问题:(本题10分)
(1)图中中断控制器8259A和并行接口8255A各有几个端口地址?
各芯片内地址有无重叠?(2分)
答:8259A和8255A各有4个端口地址;8259A内部有地址重叠,重叠两次;
而8255A没有地址重叠。
(2)图中并行接口8255A的C口低4位应工作在什么方式?(1分)答:C口低4位工作于方式0的输出方式。
(3)若向8259A的中断向量寄存器写入8AH,其IR2的中断向量是多少?写出
IR2的中断服务程序入口地址在中断向量表的存放位置。(3分)
答:IR2的向量号为:8AH。偏移量地址:228H~229H;段地址为:22AH~22BH。
(4)如何控制A/D转换开始?若8255A的口地址是40h~43h,编写一段完成
A/D转换开始的程序。(2分)
共27页第19页
答:CPU先在数据线D2~D0上发送一个IN0~IN7中某个通道的地址,选择一个
模拟通道,再让8255A的C口的PC2、PC3输出高电平即可使A/D开始转换。程序如下:
MOVAL,1XXX0X0BOUT43H,ALMOVAL,0CHOUT42H,AL
;X表示0和1都可以。;写入方式字
;(00001100B)使PC2、PC3为高电平;把0CH写入C口。可使A/D转换开始
(5)CPU如何知道A/D转换结束?CPU何时以及如何读取转换好的数据?(2分)
答:从图中可知A/D转换结束信号为EOC,该信号接到8259A的IR2,所以CPU
发现中断请求后就可知道A/D转换结束。CPU在中断响应后,转入IR2的中断服务程序既可读取A/D转换好的数据。
注:1。ADC0809的有关信号
A~ADDC:模拟通道地址信号;ADDADDA~ADDC:ALE:地址锁存信号;START:A/D转换启动信号,高电平有效;
EOC:A/D转换结束信号,高电平有效。转换过程中为低电平。
OE:数字量输出允许信号,高电平有效;D0~D7:8路数字输出信号;IN0~IN7:8路模拟输入信号
PC总线
D0~D7D0~D78259AD0~D7IOWIORA0A1INTAINTRA2~A9AEN 地址译码器WRRDA0INTAINTCSIR28255AD0~D7WRRDA0A1CSPC2PC3D0~D2ADDA~ADDCALESTARTOEIN0IN1
ADC0809EOCIN7
图2 PC总线与A/D转换接口电路
2.根据以下的连接示意图:
共27页第20页
A15A14A13A12A11A10A9A8A7A6A5A4A3A2
&
8253A
+
74LS38
CSCLK1GATE1
4MHz脉冲源VCC
G1G2AG2BCBA
Y0Y1
...
A1A0A1A0
OUT1
其它引脚省略
Y7
1.写出该8253A所占用的端口地址范围(2分)答:889Ch-889Fh
2.在计数器1上,输入4MHz的脉冲信号,要求输出方波,频率为2kHz,请求出计数
初值(2分)
答:计数初始值应为:4M/2k=20003.给出计数器1的初始化代码(6分)
答:
MOVDX,889Fh(控制寄存器的端口地址正确,可得1分)MOVAL,01110110b(初始化控制寄存器的值正确,可得1分)OUTDX,ALMOVDX,889Dh(计数器1的端口地址正确,可得1分)MOVAX,2000
OUTDX,AL;低8位(低8位数据正确,可得1分)MOVAH,AL
OUTDX,AL;高8位(高8位数据正确,可得1分)或者
MOVDX,889Fh(控制寄存器的端口地址正确,可得1分)MOVAL,01110111b(初始化控制寄存器的值正确,可得1分)OUTDX,ALMOVDX,889Dh(计数器1的端口地址正确,可得1分)MOVAX,2000h
OUTDX,AL;低8位(低8位数据正确,可得1分)MOVAH,AL
OUTDX,AL;高8位(高8位数据正确,可得1分)
3.下图是使用SRAM芯片,在ISA总线上扩充内存。图中SBHE为总线高字节允许信
共27页第21页
号,高有效;SA0~SA23和SD0~SD15分别为系统地址线和系统数据线,请回答如下问题:(本题8分)
(1)写出每片SRAM的存储容量。(2分)答:每片容量为64KB(Bytes)(或512kbit)。(2)写出各片的地址范围。(2分)
答:SRAM0的地址为:0C0000H~0DFFFFH的128KB中的偶地址,
SRAM1的地址为:0C0000H~0DFFFFH的128KB中的奇地址。(3)该地址译码电路是全译码电路还是部分译码电路?(1分)答:为全译码电路。
(4)说明信号SBHE和SA0在电路中的作用(按两信号的编码说明)。(3分)答:SBHE和SA0的作用是对两个存储体如何选择的信号,编码如下:
SBHE1100
101SA00
存取16位数据;存取高8位数据;存取低8位数据;无操作
SA1~SA16地址译码器SA23SA22SA21SA20SA19SA18SA17A0~A15RDWRSRAM0CEA0~A15RDWRSRAM1CEMEMRMEMWCS1SA0SBHECS2SD0~SD7SD0~SD15SD8~SD15图1. 在ISA总线上扩充存储器
4.(10分)某人设计出一定时电路。该电路每隔1秒通过8259向8088请求一次中断,相应的中断服务程序(名为INTPR)只完成对中断的次数进行统计。此人已编写好了名为INCINIT的用于填写相应中断向量及相关8259初始化操作的子程序。试编写程序(包括中断服务程序),用DOS2号功能显示系统时间(只需显示每小时内秒的变化情况)。设8259中断结束
共27页第22页
由如下两条指令完成:MOVAL,20H,OUT20H,AL。要求写出完整的数据段与代码段。
*注:DOS2号功能-入口:AH置2,DL=待显示字符的ASCII码。
DATASEGMENT
;前次在屏幕上显示的数
INCNUMDB0LTVALDB2DATACODE
ENDS
SEGMENT
ASSUMECS:CODE,DS:DATA
;中断服务程序INTPR:PUSHAX;保护现场
PUSHDS
MOVAX,DATAMOVDS,AXSTI;开中断INCINCNUM;加1
MOVAL,20H;发EOI命令OUT20H,ALPOPDSPOPAXIRET
;主程序
START:MOVAX,DATA
MOVDS,AXCALLINCINIT
;恢复现场
;与中断相关的初始化
STI;开中断
LOOP1:CLI;检查数是否已达60,注意数据完整性
MOVAL,INCNUM
CMPAL,60JCLT60SUBAL,60
LT60:
;设显示速度足够快,滞后小于1分钟
MOVINCNUM,ALSTI
CMPAL,LTVAL
JZLOOP1;该数已在屏幕上显示了MOVLTVAL,ALMOVAH,0MOVBL,10DIVBL
MOVBX,AX
;BH含秒的个位数,BL含秒的十位数
MOVDL,‘’;为区分前一个显示,先显示空格MOVAH,2
共27页第23页
INT21HMOVDL,BLMOVAH,2INT21HMOVDL,BHMOVAH,2INT21HJMPLOOP1
CODE
ENDS
ENDSTART
;显示秒值
数据段正确1分,中断服务程序3分,调用与中断相关的初始化子程序INCINIT1分,其余5分
5.看懂以下8086宏汇编程序,回答问题:(本题18分)
说明:字符的ASCII编码,数字0-9为30h-39h,0dh为回车符,0ah为换行符。data
segmentorg100h
bufsum
dw5678h,0f588h;(1)buf=100hdw?,?
;(2)count=?
count($-sum)/2dstridispdatacode
’db‘sum=sum=’’H’,’$’db8dup(?),dup(?),’endssegment
assumecs:code,ds:data
start:
movax,segdatamovds,axmovsi,offsetbufmovdi,offsetsumxordx,dxmovax,[si]movbx,[si+2]addax,bxadcdx,0
共27页第24页
;dx清0;(3)ax=5678h;(4)bx=0f588h
mov[di],axmov[di+2],dxcallh2asc
movdx,offsetdstrimovah,09int21hmovah,4chint21h
h2ascproc
movsi,offsetsun+2movdi,offsetdispmovdl,count
begin:movbx,[si]
movch,4
rot:
movcl,4rolbx,clmoval,blandal,0fhaddal,30hcmpal,3ahjlenteraddal,7
enterenter:
:mov[di]i],,alincdidecchjnzrotsubsi,2decdljnzbegin
;(5)ax=4c00h;(6)dx=0001
;dos调用09号,以$为结束符的字符串输出显示。
;dos调用4ch号,程序终止。
;指向待处理的高位字地址;指向处理后存放ASCII码的地址
;先处理高位字,再处理低位字
;bx的内容小循环左移cl次
;屏蔽高4位
共27页第25页
ret
h2ascendscodecodeends
endstartendp
问题:(1)程序中定义了几个段?各段的名字是什么?(2分)
答:2个,段名为:data,code。
(2)程序中定义了几个内存变量?变量名是什么?数据区共占用了多少个内存
单元(字节数)(4分)?
答:4个。变量名为:buf,sum,dstri,disp。22个内存单元。
(3)h2asc过程的功能是什么?该程序中加30h和加07的作用是什么?(3分)答:把sum内存单元的数据(2个字)变换成对应的ASCII码,放到disp定义的
内存中(占用8个单元)。在转换为ASCII码的过程中,若是字母需加30h和07,
若为0~9的数字需加30h。
(4)详细说明该程序完成了什么功能?(5分)
答:程序完成了两个功能,其一是把内存中两个16位数相加,其和放回内存中;其二是把上述和变换成对应的ASCII码,在屏幕上显示出来。屏幕显示结果如下:sum=00014c00H。
(5)对程序中6个问题填空。(4分)答:
(1)buf=100
(2)count=2(3)ax=5678h
(4)bx=f588h
(5)ax=4c00h(6)dx=0001。
附录:
1、8255A方式选择控制字格式
共27页第26页
2、8253控制字格式如下:
共27页第27页
因篇幅问题不能全部显示,请点此查看更多更全内容