第一篇:西南民族大学《微机原理与接口技术》实验心得9篇
西南民族大学《微机原理与接口技术》实验心得9篇
2.1 清零程序:
这个实验是本门课程的第一个软件实验,不需要连接电路,直接运行编写好的程序即可,程序代码也比较简单。实验内容是将RAM区内4000H~40FFH单元的内容清零,同时熟悉8088汇编语言程序设计和调试方法。
通过本次实验,我加深了对汇编程序指令的熟悉与理解,汇编语言直接描述机器指令,比机器指令更容易记忆与理解。熟悉了本实验的基本原理,理解了8088汇编语言程序的工作过程。由于这是第一个实验,内容也比较简单,所以实验过程比较顺利,基本没出现错误。
2.2 拆字程序:
本次实验也是软件实验,程序代码比清零程序稍微复杂一些,本程序的主要功能是把4000H单元的内容拆开,高位送4001H,低位送4002H,同时将4001H、4002H两单元的高位清零。
通过本次实验,我学会了用断点方式调试汇编程序,对于汇编程序怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器内容的变化以确保程序的正确性有了一定的认识。当看到实验结果与计算的结果一致时,还是有一点小小的成就感的。但最开始编写的程序还是存在低级的语法错误,导致程序编译出错,这是在以后编写汇编程序的时候必须要想办法杜绝的。
3.2 8259A中断应用实验:
这次实验是一次综合性的实验,8255和8259A两个接口芯片都要用到,程序也比较长,理解较为麻烦。虽然遇到了不少困难,但主要还是连线不注意造成的。
通过这次实验,我又熟悉了汇编语言的应用,加深了对8255、8259A两种芯片功能的理解,明白了中断控制是微机系统的主要管理方式,也是处理器与外设之间通信的最有效方式。
通过本次实验,我掌握了8259A中断控制器的工作原理,基本功能及初始化编程方法,掌握了8259A的7个命令(4个初始化命令和3个操作命令)的结构和用法。
3.3 可编程定时器/计数器8254/8253实验:
本次实验是将32Hz的晶振频率作为8254的时钟输入,利用8254产生1Hz的方波,方波需用示波器观察。8254是一种可编程的定时器/计数器芯片。
通过本次实验,我了解了计数器的硬件连接方法及时序关系,掌握了8254的各种模式的编程及其原理,学会了用示波器观察各信号之间的时序关系。
本次实验的硬件连接问题不大,但由于很久没用示波器的缘故,我对示波器的使用显得生疏。尤其是调试方波的时候花了很多时间,最终效果却依然不理想,也因此影响了实验结果的观测。我也明白了配套设备的熟练使用程度对实验的成功与否有很重要的作用。
3.8 D/A转换实验:
这次实验需要用到示波器,实验刚开始时,对示波器的一些按键的功能不太熟悉,在调接示波器的初始化过程中花了很多时间,最后在老师的提示下完成了示波器的初始化,接着按实验操作步骤一步步完成了实验,达到了实验目的,实现了预期的结果。
通过此次实验,我们初步掌握了DAC0832芯片的一些性能和使用方法以及对应的硬件电路,了解D/A转换的基本原理以及示波器的应用,使理论知识得到了加深和巩固。
本次实验是本门课程的最后一次实验,通过本学期的九次实验,我们巩固了汇编语言编程的相关知识,同时提高了对理论知识的认知应用能力,使我们认识到课程的重要性,感受到理论与实践之间的差距,为我们更好的巩固已学习的知识及培养我们的动手能力创造了良好的机会。
第二篇:微机原理与接口技术实验总结
微机原理与接口技术实验总结
11107108
徐寒黎
一、实验内容以及设计思路
1、①试编写一程序,比较两个字符串STRING1、STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出 “NO MATCH”。设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将STRING1和STRING2都实现用键盘输入,方法是
MOV DX,OFFSET STRING2 MOV AH,0AH INT 21H 并且显示在显示器上,显示方法将0AH改成09H,语句与上面类似。然后进行比较第一个单元,MOV AL,[STRING1+1] CMP AL,[STRING2+1] JNZ NOMATCH 若字符串长度不等,则直接跳转,输出输出 “NO MATCH”; 若长度相等再逐个比较 LEA SI,[STRING1+2] LEA DI,[STRING2+2] MOV CL,[STRING1+1] MOV CH,0 CLD REPE CMPSB JCXZ MATCH,意思是全部相同就跳转MATCH,输出“MATCH”;不然进入下面的NOMATCH。退出。
②试编写求级数1^3+2^3 +3^3 …..前几项和刚大于10000的程序。
设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。
一个难点是将输入的ASCII码字符串,转换成与之相同的十进制数的数值。关键的思路部分是:从1开始求级数,将和的值存在AX里,要加下一项级数前,比如这时已经加到4,PUSH一下AX,然后将5乘三遍,将乘积MOV到BX里,再POP AX,然后将BX的值加到AX里,然后将AX与N比较,如果比N小就继续上述步骤,知道刚比N大就输出数字。
③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。
设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。
④设计一个动画程序。
设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。
步骤:首先设置堆栈段,数据段,代码段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用JZ语句跳转到退出。若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。
最后编写好退出语句。
2、硬件接口主要是了解8255与8253的功能,以及控制字。①I/O地址译码
只要对硬件概念清晰,很简单的。基本上没有什么创造性。收获:熟悉实验箱结构,了解每部分元件和标注的意义。掌握I/O地址译码电路的工作原理。②可编程定时器8253 1,对照实验电路图,将计数器0设置为方式0,即数初值设为N(N<0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察OUT0点平变化。
2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。
收获:掌握8253的基本工作原理和编程方法
③并行接口8255 1,试验电路如图所示,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。3,数码管静态显示:按下图接好电路,将8255A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。
4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端S1、S0接8255 C口的PC1和PC0。编程在两个数码管上显示“56”。
动态显示时,先送“5”的段码送A口,再送02h到C口为位码;经一定延时后,送“6”的段码送A口,再送01h到C口为位码。循环完成,可以显示数码。5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。只要搞清楚各个口的地址,以及选择适当的控制字,其实很简单的。
收获:掌握8255的基本工作原理和编程方法,对方式0的认识加深了。
二、试验中遇到的问题 1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要搞清楚,Y和N不能搞反了,否则就错了。
2实验2,里面涉及的寄存器很多,很容易就会用乱了,还是很需要注意的。3比如那个小鸟动画的题目,当时在控制左右移动的时候,选择的起始位置的语句没写对位置,每次按一个移位的键以后,都从最初的初始位置向某个方向移动。
4硬件方面的,一开始没搞懂地址什么意思,所以连线时很懵懂,后来清楚了,发现就没什么了。
三、心得感受
微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
前四个简单程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了我们的创造才能。
后面几个实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己的思考以及和同学的讨论中,终于迎刃而解。
第三篇:微机原理与接口技术_试题与答案西南交大
试题
微型计算机原理与接口技术综合测试题一
一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处)1.8086CPU通过(1)控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX指令时,该信号线为(2)电平。
(1)A.M/ B.C.ALE D.N/(2)A.高 B.低 C.ECL D.CMOS 2.n+1位有符号数x的补码表示范围为()。
A.-2n < x < 2n B.-2n ≤ x ≤ 2n-
1C.-2n-1 ≤ x ≤ 2n-1 D.-2n < x ≤ 2n
3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。
A.AND AL, 0FH B.AND AL, 0FOH
C.OR AL, 0FH D.OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。
A.MOV AX, BX B.MOV AX, [BX]
C.MOV AX, CX D.MOV AX, [CX]
5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。
A.00017H B.00068H C.0005CH D.0005EH 6.条件转移指令JNE的条件是()。
A.CF=0 B.CF=1 C.ZF=0 D.ZF=1
7.在8086/8088 CPU中,一个最基本的总线读写周期由(1)时钟周期(T状态)组成,在T1状态,CPU往总线上发(2)信息。
⑴ A.1个 B.2个 C.4个 D.6个 ⑵ A.数据 B.地址 C.状态 D.其它
有两种工作模式, 最小模式的特点是(1),最大模式的特点是(2)。⑴ A.CPU提供全部控制信号 B.由编程进行模式设定
C.不需要8286收发器 D.需要总线控制器8288 ⑵ A.M/ 引脚可直接引用 B.由编程进行模式设定
C.需要总线控制器8288 D.适用于单一处理机系统
9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是()。
A.0AH B.0BH C.0CH D.0DH
10.真值超出机器数表示范围称为溢出,此时标志寄存器中的()位被置位
A.OF B AF C PF D CF
11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是()
A.高16位 B.低16位 C.高8位 D.低8位 12.8086 CPU中段寄存器用来存放()
A.存储器的物理地址 B.存储器的逻辑地址
C.存储器的段基值 D.存储器的起始地址
13.8259A可编程中断控制器的中断服务寄存器ISR用于()A.记忆正在处理中的中断 B.存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是()A.0-255 B.1-256 C.0-65535 D.1-65536
15.在8086中,(BX)=8282H,且题中指令已在队列中,则执行INC [BX]指令需要的总线周期数为()
A.0 B.1 C.2 D.3
16.8086中,()组寄存器都可以用来实现对存储器的寻址。
A.AX,SI,DI,BX B.BP,BX,CX,DX C.SI,DI,BP,BX D.BX,CX,SI,DI
微机系统中若用4片8259A构成主、从两级中断控制逻辑,接至CPU的可屏蔽中断请求线INTR上,最多可扩展为()级外部硬中断。
A.32 B.29 C.28 D.24
18.在8086宏汇编过程中不会产生指令码,只用来指示汇编程序如何汇编的指令是()
A.汇编指令 B.伪指令 C.机器指令 D.宏指令
19.连接到64000h-6FFFFh地址范围上的存储器是用8k×8 RAM芯片构成的,该芯片要()片。
A.8片 B.6片 C.10片 D.12片
20.8086/8088指令OUT 80H,AL表示()
A.将80H送给AL B.将80H端口的内容送给AL
C.将AL的内容送给80H端口 D.将AL内容送给80H内存单元 二.改错(若有错,请指出错误并说明原因)1.堆栈操作应满足先进先出原则。()
2.CPU在未执行完当前指令的情况下,就可响应可屏蔽中断请求。()3.8086CPU标志寄存器共有16位,每一位都有含义。()4.条件转移指令只能用于段内直接短转移。()
5.控制器的基本功能是:由程序计数器PC控制程序的有序运行,并完成各种算术逻辑运算。()
6.在8259A级连系统中,作为主片的8259A的某些IR引脚连接从片,同时也可以在另一些IR引脚上直接连接外设的中断请求信号端。()
7.8086的中断分为可屏蔽中断和不可屏蔽中断两种。()
8.串行接口中“串行”的含意仅指接口与外设之间的数据交换是串行的,而接口与CPU之间的数据交换仍是并行的。
9.字长一定的情况下,原码、反码和补码所能表示的二进制真值范围是相同的。()10.所有进位计数制,其整数部分最低位的位权都是1()
三、填空题
.某存贮器单元的实际地址为2BC60H,该单元在段地址为2AFOH中的偏移地址是__________。
2. 8086 CPU复位后,寄存器中的值将进入初始态,问(CS)= __________,(IP)= __________,(DS)= __________。
3.8086/8088 CPU内部结构按功能分为两部分,即_________ 和__________。4.CPU对外设进行数据传送的方式有几种,即 __________,___________,或___________。
5.CPU从主存取一条指令并执行该指令的时间称为__________ , 它通常用若干个__________ 来表示,而后者又包含有若干个__________。
6.8086/8088 CPU提供了接受外部中断请求信号的引脚是__________ 和 __________。
7.-128的补码是
8.填入适当指令,使下面程序实现用移位、传送、加法指令完成(AX)与10相乘运算:SHL AX,__________
MOV DX,AX
MOV CL,__________
SHL AX,CL
ADD __________
9.时序控制方式有同步方式和
10.大部分DMAC都拥有单字节传送,传送,和成组传送方式
四.阅读程序并回答问题
1、已知:(AX)=2233H,(BX)=5566H, 执行了下面的程序段后,(AX)=_______ ,(BX)=______.CMP AX,BX JG NEXT XCHG AX,BX NEXT: NEG AX、已知:(AX)=6666H,(BX)=0FF00H,(CF)=0。在执行下面程序段后:(AX)=____,(BX)=____,(CF)=____.MOV AX,5555H
AND AX,BX
XOR AX,AX
NOT BX
五、综合应用
1.8255A接口电路如图所示。已知8255A控制字寄存器的端口地址为103H,编写8255A初始化程序和循环彩灯控制程序。初始时D0亮,其余不亮,D0亮一秒后移位一次,D1亮,其余不亮,以此类推每隔一秒移位一次,每移位8次为一个循环.共循环8次。要求用汇编语言写出满足上述要求的程序段(已知一个延时1秒的子程序入口地址为DELAY1S)。
2.已知存储器地址空间分配、RAM芯片(4K×4)、如图所示,请完成如下任务:
(1)图所示RAM芯片有几根地址线?几根数据线?用该RAM芯片构成图中所示存储器地址空间分配,共需要几个芯片?共分几个芯片组?
(2)设CPU的地址总线为20位,数据总线8位,画出这些芯片按图所示的地址空间构成的RAM存储器极其与CPU间的连接图(包括3-8译码器构成的片选8译码电路)。
│
┏━━━━┓ ┏━━┷━━━┓ ┏━━━━━━┓
0000H ┃ RAM1 ┃ ┃!CS ┃ ─┨G1 Y0!┠─
┃ ┃ →┃A11 ┃ ─┨!G2a Y1!┠─
2000H ┠────┨.┃ ┃ ─┨!G2b ┃
┃ 空 ┃.┃ RAM(4K×4)┃ ┃.┃
┃ ┃.┃ ┃ ┃.┃
6000H ┠────┨ →┃A0 ┃ ┃.┃
┃ RAM2 ┃ ┃ ┃ ┃ ┃
┃ ┃ →┃!WE ┃ ─┨C ┃
7000H ┠────┨ ┃ ┃ ─┨B ┃
┃ 空 ┃ ┃ ┃ ─┨A Y7!┠─
┃ ┃ ┃ D3-D0 ┃ ┃ ┃
┗━━━━┛ ┗━━━━━━┛ ┗━━━━━━┛ ↓
RAM芯片
微型计算机原理与接口技术综合测试题二
一、单选题
()1.8086CPU在执行MOV AL,[BX]指令的总线周期内,若BX存放的内容为1011H,则 和A0的状态是。
A.0,0 B.0,1
C.1,0 D.1,1
()2.设x=-46,y=117,则[x-y]补和[x+y]补分别等于
。A.D2H和75H B.5DH和47H C.2EH和7lH D.47H和71H()3.8086CPU在进行无符号数比较时,应根据
标志位来判别。
A.CF和OF B.CF和PF C.CF和ZF D.ZF和OF()4.执行下列程序后,(AL)=。
MOV AL,92H
SUB AL,7lH
DAS
A.21 B.11 C.21H D.11H()5.下列指令中正确的是。
A.MOV AX [SI] [DI] B.MOV BYTE PTR[BX],1000 C.PB8 EQU DS:[BP+8] D.MOV BX,OFFSET [SI]
()6.在PC/XT中,NMI中断的中断矢量在中断矢量表中的位置
。A.是由程序指定的 B.是由DOS自动分配的
C.固定在08H开始的4个字节中 D.固定在中断矢量表的表首
()7.在8086中,(BX)=8282H,且题中指令已在队列中,则执行INC [BX]指令需要的总线周期数为。
A.0 B.1 C.2 D.3
()8.微机系统中若用4片8259A构成主、从两级中断控制逻辑,接至CPU的可屏蔽中断请求线INTR上,最多可扩展为
级外部硬中断。
A.32 B.29 C.28 D.24
()9.当存储器读写速度较慢时,需产生一个READY信号以实现与CPU的同步,CPU将在总线周期的时候采样该信号。
A.T2下降沿 B.T3下降沿 C.T2上升沿 D.T3上升沿
()10.8086中,组寄存器都可以用来实现对存储器的寻址。
A.AX,SI,DI,BX B.BP,BX,CX,DX
C.SI,DI,BP,BX D.BX,CX,SI,DI
三、填空题
1.已知(AL)=0101110lB,执行指令NEG AL后再执行CBW,(AX)=。
在动态存储器2164的再生周期中,只需要 地址,所以在 和 这两个信号中,只有
变为低电平。
3.过程可重入是指,用 传递参数过程才可实现重入。
4.若(AL)=01001001B,执行 ADD AL,AL指令后,再执行 DAA命令,则(AL)=,(CF)=,(AF)=。
5.已知指令序列为:
MOV AX,0FFBDH
MOV BX,12F8H
IDIV BL
此指令序列执行后,(AX)=,(BX)=。
6.微型计算机中,CPU重复进行的基本操作是:、和。
7.若(CS)=4200H时,物理转移地址为4A230H,当CS的内容被设定为7900H时,物理转移地址为。
8.8259A工作在8086模式,中断向量字节ICW2=70H,若在IR3处有一中断请求信号,这时它的中断向量号为,该中断的服务程序入口地址保存在内存地址为 H至 H的个单元中。
四、程序阅读
1.阅读下列程序,写出程序执行后数据段BUF开始的10个内存单元中的内容。
DATA SEGMENT
BUF DB 08H,12H,34H,56H,78H,9AH,0BCH,0DEH,0F0H,0FFH KEY DB 78H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START: MOV AX,DATA MOV DS,AX MOV ES,AX
LEA DI,BUF MOV CL,[DI] XOR CH,CH INC DI MOV AL,KEY REPNE SCASB JNE DONE DEC BUF MOV SI,DI DEC DI
REP MOVSB
DONE: MOV AH,4CH INT 21H
CODE ENDS END START
执行结果:BUF DB、、、、、、、、、2.在内存的NUM单元中有一个字节的带符号二进制数(补码表示),下列程序是将其对应的十进制数输出到显示器上。请对程序中的三处错误进行修正,并在空白处填上适当的语句。
DATA SEGMENT NUM DB ?
BUFFER DB 10 DUP(?)DATA ENDS
STACK SEGMENT PARA STACK „STACK‟ DB 100H DUP(?)
CODE SEGMENT
①
START: MOV AX,DATA MOV ES,AX MOV DS,DATA MOV CL,NUM
LEA DL,BUFFER
②
MOV AL,0DH STOSB MOV AL,0AH STOSB MOV AL,CL OR AL,AL JS PLUS
③
MOV AL,„-‟ JMP GOON
PLUS: MOV AL,„+‟ GOON: STOSB MOV BL,64H CALL CHANGE MOV BL,0AH CALL CHANGE,30H ADD AL,CL STOSB MOV AL,„$‟ STOSB
LEA DX,BUFPER MOV AH,9
INC 21H MOV AH,4CH INT 21H
CHANGE PROC NEAR MOV DL,0
AGAIN: SUB CL,BL JC DOWN INC DL JMP AGAIN DOWN: ④ MOV AL,30H ADD AL,DL STOSB
⑤ CHANGE ENDP CODE END END START
五、存储系统分析与设计
;输出十进制
已知RAM芯片和地址译码器的引脚如题五图所示,试回答如下问题:
(1)若要求构成一个8K×8的RAM阵列,需几片这样的芯片?设RAM阵列组占用起始地址为El000H的连续地址空间,试写出每块RAM芯片的地址空间。
(2)若采用全地址译码方式译码,试画出存储器系统电路连接图;
(3)试编程:将55H写满每个芯片,而后再逐个单元读出做比较,若有错则CL=FFH,正确则CL=77H。
D4 ~ D1
微型计算机原理与接口技术综合测试题三
一、单选题
()1.在8086宏汇编过程中不会产生指令码,只用来指示汇编程序如何汇编的指令是。
A.汇编指令 B.伪指令 C.机器指令 D.宏指令
()2.在CMP AX,DX指令执行后,当标志位SF、OF、ZF满足下列逻辑关系(SF⊕OF)+ZF=0时,表明。
A.(AX)>(DX)B.(AX)≥(DX)C.(AX)<(DX)D.(AX)≤(DX)
()3.8086微机系统的RAM存储单元中,从0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是。
A.0AH B.0BH C.0CH D.0DH
()4.8255的A口工作在方式1输入时,其中断允许控制位INTE的开/关是通过对 的按位置位/复位操作完成的。
A.PC0 B.PC2 C.PC4 D.PC6
()5.在进入DMA工作方式之前,DMA控制器被当作CPU总线上的一个。A.I/O设备 B.I/O接口 C.主处理器 D.协处理器)6.在 PC/XT中,设(AX)=9305H,(BX)=6279H,若ADD BX,AX指令后接着INTO指令则会。
A.进入 INTO中断服务子程序 B.执行 INTO后面的指令 C.死机 D.显示器显示 OVERFLOW
()7.80486总线采用的是(1),一个最基本的总线周期由(2)个时钟周期(T状态)组成。
(1)A.同步总线协定 B.半同步总线协定 C.异步总线协定(2)D.2 E.3 F.4
()8.微处理器系统中采用存储器映像方式编址时存储单元与I/O端口是通过
来区分的。
A.不同的地址编码 B.不同的读/写控制逻辑 C.专用I/O指令
()9.在一个项目或产品研制的过程中,通常采用 ________ 类型的存储芯片来存放待调试的程序。
A.RAM B.ROM C.PROM D.E2PROM
()10.8259A工作在8086/8088模式时,初始化命令字ICW2用来设置。A.中断向量地址的高8 位 B.中断类型号地址的高5位 C.中断向量的高5位 D.中断类型号的高5位
三、填空题
1. 设模为28,则52的补码为 _____H,-14的补码为 ______H,-0的反码为 _____H。
2. 设内存中一个数据区的起始地址是1020H:0A1CBH,在存入5个字数据后,该数据区的下一个可以使用的单元的物理地址是 ________________。
3. 8086根据所构成系统大小的不同,可以工作在最大方式或最小方式。在最大方式下,系统需使用 ________ 来形成总线周期。
4. 微机系统内,按信息传输的范围不同,可有 ______,_________,_______,________等四级总线。
. CPU对外设进行数据传送的方式有几种,即 __________,___________,或___________。
6. 汇编指令通常包括 ___________ 和 __________ 两部分。
7. 8086系统中,默认方式下对指令寻址由寄存器 ________ 和 _______ 完成,而堆栈段中的偏移量可由寄存器 ________ 或 _________ 来指示。
8. 程序存储与程序控制原理的含义是
___________________________________________。
四、程序阅读
1. 读程序,并标明内存中数据段的相关地址和内容。# SEGMENT
BUFFER DB 3 DUP(0)
A DB 41H
LA EQU $
B DW 'AB'
LB EQU $
BYTEB EQU BYTE PTR B
C DD 41424344H
LC EQU $
WORDC EQU WORD PTR C # ENDS
CODE SEGMENT
ASSUME DS:#, ES:#, CS:CODE START PROC FAR
MOV AX,#
MOV DS,AX,AX
LEA SI,BUFFER
MOV [ SI ],BYTEB
INC SI
MOV [ SI ],WORDC
ADD LA[ SI ],LB
ADD LB[ SI ],LC
MOV AH,4CH INT 21H START ENDP CODE ENDS
END START
2. 设有100个字节数据(补码),存放在数据段中EA=2000H的存储区内,以下程序应能从该数据区中找出最大的1个数并存人同一数据段EA=2100H的单元中,请完成该程序(在空白处填入适当的语句)。
MAX: MOV BX,MOV AL,[BX] MOV CX,LOOP1: INC BX CMP AL,[BX] LOOP2 MOV AL,[BX]
LOOP2: DEC CX JNZ
MOV,AL
五、编址连线
已知某8088微机系统中有两个3 ~ 8译码器74LS138,如题五图所示,分别用于存储器
和I/O端口的地址选择。试按图中连线把两个译码器的各个输出线的寻址范围列表写出,未标出的高位地址线为低电平。74LS138输人输出关系为:
微型计算机原理与接口技术综合测试题五
一、填空:(每空1分,共20分)
1、设字长为八位,有x=-1,y=124,则有:[x+y]补=______,[x-y] 补=_______;
2、数制转换:247.86= H =______________BCD;
3、在8086CPU中,由于BIU和EU分开,所以_____和 _____ 可以重叠操作,提高了CPU的利用率; 4、8086的中断向量表位于内存的_______区域,它可以容纳____个中断向量,每一个向量占____ 个字节; 5、8086系统中,地址FFFF0H是___________________ 地址; 6、8086CPU的MN/MX引脚的作用是____________________; 7、8251芯片中设立了_____、_____ 和______三种出错标志; 8、8086CPU中典型总线周期由____个时钟周期组成,其中T1期间,CPU输出______信息;如有必要时,可以在__________两个时钟周期之间插入1个或多个TW等待周期。9、8259A共有___个可编程的寄存器,它们分别用于接受CPU送来的______命令字和________命令字。
二、简答题:(20分)
1、什么是信号的调制与解调?为什么要进行调制和解调?试举出一种调制的方式。(5分)、已有AX=E896H,BX=3976H,若执行ADD BX,AX指令,则结果BX,AX,标志位CF,OF,ZF各为何值?(5分)
3、有变量定义的伪指令如下: NUMS DW 18 DUP(4 DUP(5),23)VAR DB 'HOW ARE YOU!', 0DH, 0AH
试问:NUMS、VAR变量各分配了多少存储字节?(5分)
4、已有MOV AL,INF[BP+SI]与MOV AL,ES:INF[BP+SI]两条指令,试问:其源操作数采用何种寻址方式?是字或是字节操作?两条指令有何区别?(5分)
三、读图(10分)
下图中,AB7~AB0为8086CPU低八位地址总线
试问:
1、8259A占用______个端口地址,分别为____________,其中ICW1的设置地址为_________________; 2、8255A占用_____个端口地址,分别为__________________,其中控制寄存器的地址为_______。
五、阅读程序与接口芯片初始化:(26分)
1、源程序如下:(6分)
MOV CL,4
MOV AX,[2000H]
SHL AL,CL
SHR AX,CL
MOV [2000H],AX
试问:j若程序执行前,数据段内(2000H)=09H,(2001H)=03H, 则执行后有(2000H)=_____,(2001H)=______。
k本程序段的功能_________________________。
2、源程序如下:(4分)
MOV AL,0B7H
AND AL,0DDH
XOR AL,81H
OR AL,33H JP LAB1 JMP LAB2
试问:j执行程序后AL=_______;
k程序将转到哪一个地址执行:__________。
3、源程序如下:(6分)MOV CX,9
MOV AL,01H MOV SI,1000H NEXT: MOV [SI],AL
INC SI
SHL AL,1LOOP NEXT
试问:j执行本程序后有:AL=_____;SI=______;CX=______;k本程序的功能是______________________________。
4、某系统中8253占用地址为100H~103H。初始化程序如下:(4分)
MOV DX,103H MOV AL,16H OUT DX,AL SUB DX,3 OUT DX,AL
j此段程序是给8253的哪一个计数器初始化?安排工作在哪种工作方式?__________________;
k若该计数器的输入脉冲的频率为1MHZ,则其输出脉冲的频率为:___________。
5、已知某8255A在系统中占用88~8BH号端口地址,现欲安排其PA,PB,PC口全部为输出,PA,PB口均工作于方式0模式,并将PC6置位,使PC3复位,试编写出相应的初始化程序:(6分)
微型计算机原理与接口技术综合测试题六
一、填空题(20分,每空1分)
1、将十进制数279.85转换成十六进制数、八进制数、二进制数及BCD码数分别为:________H,________Q,_____B, BCD。
2、字长为8位的二进制数10010100B,若它表示无符号数,或原码数,或补码数,则该数的真值应分别为______D,______D或______D。
3、已知BX=7830H,CF=1,执行指令:ADC BX,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。
二、简答及判断题(共17分)
1、某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FF00H,此时,该指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?试举例说明(4分)、8086CPU的FLAG寄存器中,状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?(4分)
3、设采用8251A进行串行异步传输,每帧信息对应1个起始位,7个数据位,1个奇/偶校验位,1个停止位,波特率为4800,则每分钟能传输的最大字符数为多少个?(4分)
三、读图和作图题(20分)
1、8086系统中接口连接关系如下图所示。要求回答以下问题:(1)试分别确定8255,8253,8259及8251的端口地址(12分);
(2)设8255的PA口为输出,PB口为输入,试写出对PA口和PB口执行输入/输出操作的指令。(2分)
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个芯片之间控制线的连接图;(4分)(2)8253的两个通道应分别工作在什么方式?(2分)
四、程序阅读题(20分)
1、源程序如下:(5分)
AH,0 MOV AL,9 MOV BL,8 ADD AL,BL AAA AAD DIV AL
结果AL_________,AH=___________,BL=_____________。
2、源程序如下:(5分)
MOV AX,SEG TABLE ;TABLE为表头 MOV ES,AX
MOV DI,OFFSET TABLE MOV AL,„0‟ MOV CX,100 CLD
REPNE SCASB
问:1)该段程序完成什么功能?
2)该段程序执行完毕之后,ZF和CX有几种可能的数值?各代表什么含义?
3、源程序如下:(5分)
CMP AX,BX JNC L
1JZ L2 JNS L3 JNO L4
L5
设AX=74C3H,BX=95C3H,则程序最后将转到哪个标号处执行?试说明理由。
4、源程序如下:(5分)MOV DX,143H MOV AL,77H OUT DX,AL MOV AX,0 DEC DX DEC DX OUT DX,AL MOV AL,AH OUT DX,AL
设8253的端口地址为140H~143H,问:(1)程序是对8253的哪个通道进行初始化?(2)该通道的计数常数为多少?
(3)若该通道时钟脉冲CLK的周期为1µs,则输出脉冲OUT的周期为多少µs?
五、编程题(23分)1、8255的编程。(共10分)
设8255的端口地址为200H~203H。
(1)要求PA口方式1,输入;PB口方式0输出;PC7~PC6为输入;PC1~PC0为输出。试写出8255的初始化程序。(3分)
(2)程序要求当PC7=0时置位PC1,而当PC6=1时复位PC0,试编制相应的程序。(7分)
2、自BUFFER开始的缓冲区有6个字节型的无符号数:10,0,20,15,38,236,试编制8086汇编语言程序,要求找出它们的最大值、最小值及平均值,分别送到MAX、MIN和AVI三个字节型的内存单元。(13分)要求按完整的汇编语言格式编写源程序
一、单项选择题
1.(1)A(2)B 2.B 3.B 4.D 5.C 6.C 7.(1)C(2)B 8.(1)A(2)C
9.B 10.A 11 B 12 C 13 A 14 C 15 C 16 C 17 B 18 B 19 B 20 C
二、改错
1.´ 堆栈操作应满足先进后出原则。
2.´ CPU必须在执行完当前指令以后,才可以响应可屏蔽中断请求。3.´ 8086CPU标志寄存器共有16位,其中只有9位有含义。4.√(注:段内短转移只有直接形式,没有间接形式)5 ´ 6 √ 7´ 8 √ 9 ´
10√
三、填空题
1.0D60H 2.0FFFFH、0000H、0000H 3.接口部件BIU、执行部件EU 5.指令周期、总线周期、时钟周期 6.NMI、INTR 8.
1、2、AX , DX
四、阅读程序并回答题
1.0AA9AH、2233H(注:程序第三行显然应该是 XCHG AX , BX)2.0000H、00FFH、0
五、8255编程。因为用到LOOP指令,循环计数器应该使用CX,而不应该只用CL。
MOV DX , 103H;103H为方式控制字地址
MOV AL , 80H
OUT DX , AL ;设置该8255 B口为方式0输出,其他位可置0 MOV CX , 8 ;设置循环次数
MOV DX , 101H ;101H 为B口数据端口地址
AGAIN: MOV AL , 01H ;先设置D0位输出为高电平,点亮第一个彩灯
OUT DX , AL
CALL DELAY1S ;B口相应位发出高电平点亮彩灯,并维持1S
SHL AL ,1JNZ NEXTP
LOOP AGAIN
微型计算机原理与接口技术综合测试题二(答案)
一、单选题
1.B 2.B 3.C 4.C 5.D 6.C 7.C 8.B 9.B 10.C
二、多选题
1.B D 2.A B D 3.A B C 4.A D 5.B D 6.A B C D 7.B C 8.B D 9.A B 10.A B C D
三、填空题
1. 0FFA3H 2.行,3.一个过程在没执行完时又被调用,堆栈 4. 10011000B,0,1 5.0308H,12F8H 6.取指令,分析指令,执行指令 7. 81230H
简析:段内偏移地址= 物理地址-段基址*16=4A230H-42000H=8230H,则(CS)=7900H时,物理地址=79000H+8230H=81230H。
8. 73H,1CC,1CF,4
简析:ICW2中记录了8259A的8级中断对应的中断类型号的高5位,中断类型号的低3位由中断引脚编号确定,所以IR3脚对应的中断类型号为73H,中断服务程序的入口地址=中断类型号*4=73H*4=1CCH。
四、程序阅读
1.程序执行后BUF内容为:
07H,12H,34H,56H,9AH,0BCH,0DEH,0F0H.0F0H,0FFH
此程序的功能是:BUF单元中存放计数值“08H”,则程序将从BUF+1开始的8个单元中查找关键字78H,若找到则BUF单元计数值减1,且后面8-n四个单元的内容依次前移1字节,n为78H的位置指示,本题中n=4。
.
(1)错误语句:第12行 MOV DS,DATA 改正:MOV DS,AX
第22行 JS PLUS JNS PLUS
倒数第2行 CODE END CODE ENDS
(2)需补充的语句: ①ASSUME DS:DATA,SS:STACK,CS:CODE,ES:DATA
②CLD
③NEG CL
④ADD CL,BL
⑤RET
五、存储系统分析与设计
(1)题五图中所示RAM芯片有12根地址线和4根数据线,因此一片这样的RAM芯片其存储容量为212*4bit=4K*4bit,若需构成8K*8的RAM阵列,共需(8K*8)/(4K*4)=4片。这4片RAM芯片应分成2个芯片组,每个芯片组中RAM芯片的地址线A11 ~ A0、读写控制线 和片选控制线 都连在一起,因此每组中的RAM芯片占用的地址空间完全一样,只是分别提供高4位和低4位的数据,这两个芯片组的地址空间分别为:①组E1000H ~ E1FFFH和②组E2000H ~ E2FFFH。
(2)全译码系统的电路连接可以如下题五图(答案)所示。图中4个芯片的 控制线和A11 ~ A0地址线是连接在一起的。
(3)一种可能的填写内存的程序代码如下:
MOV AX,0El00H
MOV DS,AX ;给数据段、附加数据段寄存器赋初值
MOV ES,AX
MOV DI,0 CLD
MOV CX,2000H ;设置循环计数器赋初值
AL,55H
REP STOSB ;向DI所指的内存单元中填写“55H” MOV DI,0
MOV CX,2000H REPZ SCASB ;扫描并比较
JNZ NEXT ;如有不等于55H的单元,转到NEXT处理 MOV CL,77H ;正确 JMP EXIT
NEXT: MOV CL,0FFH ;出错 EXIT: HLT
微型计算机原理与接口技术综合测试题三(答案)
一、单选题
1.B 2.A 3.B 4.C 5.B 6.B 7.(1)B(2)D 8.A D 10.D
二、判断题
1.×
2.√
3.×
4.×
5.√
6.×
7.×
8.√
三、填空题
1. 34H,0F2H,0FFH
2. 1020H:0A1D5H 或1A3D5H 3. 总线控制器8288
4. 片内总线,片(间)总线,系统内总线,系统外总线 5. 程序方式,中断方式,DMA方式 6. 操作码,操作数 7. CS,IP,SP,BP
9.. 用户应预先将程序存入存储器,计算机开始工作后,其控制器将自动、依次地从存储器中取出程序指令并加以执行,而不需人工干涉。
四、程序阅读
1. 内存单元的地址和内容如题四(1)图答案所示。2.2000H,99,JGE,LOOP1,[2100H]
五、编址连线
从 的连接方法可以看出,片选 对存储器寻址,而 对I/O口寻址。:00000H~01FFFH :00H~03H :02000H~03FFFH :04H~07H :04000H~05FFFH :08H~0BH :06000H~07FFFH :0CH~0FH :08000H~09FFFH :10H~13H :0A000H~0BFFFH :14H~17H :0C000H~0DFFFH :18H~1BH :0E000H~0FFFFH :1CH~1FH
微型计算机原理与接口技术综合测试题五(答案)
一、每空1分,共20分 1、01111011 10000011
2、F7.DCH 001001000111.10000110 BCD
3、取指令 执行指令 4、00000H~003FFH区 256个 4个
5、CPU复位以后执行第一条指令的地址
6、决定CPU工作在什么模式(最小/最大)、奇/偶错 帧格式错 溢出错 8、4个
地址 T3和T4 9、7个 初始化 操作
二、每题5分,共20分
1、串行长距离通信时,需要利用模拟信道来传输数字信号,由于信道的频带窄,一般为300~3400HZ,而数字信号的频带相当宽,故传输时必须进行调制,以免发生畸变而导致传输出错。(3分)
调制是将数字信号®模拟信号。而解调则是相反。例如FSK制(调频制或称数字调频)可将数字“1”和“0”分别调制成2400HZ和1200HZ的正弦波信号。(2分)
2、BX=220CH(1分)AX=E896H(1分)CF=1(1分)OF=0(1分)ZF=0(1分)
3、NUMS分配了180个字节(3分)VAR分配了15个字节(2分)
4、源操作采用基址+变址寻址方式(2分)是 字节操作(1分)MOV AL,INF[BP+SI]—访问的是堆栈段(1分)
MOV AL,ES:INF[BP+SI]—访问的是附加段,实现了段超越(1分)
三、每题5分,共10分
j 8259A占2个(2分)为20H,22H或24H,26H(2分)20H或24H(1分)
k 8255A占4个(2分)为80H,82H,84H,86H(2分)86H(1分)
四、每题2分,共8分 1(´);2(Ö);3(Ö);4(Ö);
五、共26分
1、(2000H)=39H(2分)(2001H)=00H(2分)
将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD码,并存入(2000H)单元,0®(2001H)(2分)2、37H(2分)LAB2(2分)3、0(1分)1009H(1分)0(1分)
对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个(3分)
4、计数器0(1分)工作于方式3(1分)45.454KHZ(2分)
5、MOV AL,80H
OUT 8BH,AL(2分)
MOV AL,ODH
OUT 8BH,AL(2分)MOV AL,06H
OUT 8BH,AL(2分)
微型计算机原理与接口技术综合测试题六(答案)
一、每空1分,共20分 1、117.D99H 427.6631Q 000100010111.110110011001B
0010 01111001.1000 0101 BCD 2、148D-20D-108D
3、BX=0000H CF=1 ZF=1 OF=0 SF=0
4、总线接口功能 指令的译码及执行功能
5、高8位数据线D15~D8有效 6、4 T1 给外部的地址锁存器提供一个地址锁存信号 7、35H 000D4H~000D7H
二、共17分
.故物理地址为0FEF0H。(2分)指向该物理地址的CS,IP值不唯一。
例如:CS:IP=0000:FEF0H也指向该物理地址。(2分)
2、状态标志表示算术运算或逻辑运算执行之后,运算结果的状态,这种状态将作为一种条件,影响后面的操作。(2分)
控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置或清除,每个控制标志都对某一特定的功能起控制作用.(2分)28800个
0
4800´60
3、每帧占1+7+1+1=10位,波特率为4800 bit/s,故每分钟能传送的最大字符数为 28800(个)(4分)
4、(1)对;(2)错;(3)错;(4)对;(5)错(5分)
三 共20分
1、(1)A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 任意 ´ ´ 0 Y0
0 0 1 任意 ´ ´ 0 Y1 0 1 0 任意 ´ ´ 0 Y0 1 1 任意 ´ ´ 0 Y3
8255的端口地址为 80H,82H,84H,86H(3分)
8253的端口地址为 90H,92H,94H,96H(3分)8259的端口地址为 A0H,A2H,(3分)
8251的端口地址为 B0H,B2H,(3分)(2)OUT 80H,AL(1分)IN AL,82H(1分)
2、(1)控制线连接图如图所示。(4分)
(2)通道0工作在方式2—速率发生器;通道1工作在方式3—方 波速率发生器(2分)
四、共20分
1、AL=01H(2分)AH=00 H(2分)BL=08H(1分)
2、(1)从目的串中查找是否包含字符 „0‟,若找到则停止,否则继续重复搜索。(1分)
(2)ZF=1, 说明已找到字符(1分)
ZF=0, 说明未找到字符(1分)CX¹0,说明中途已找到字符退出(1分)CX=0,且ZF=0说明串中无字符 „0‟(1分)
3、∵ 74C3H-95C3H DF00H
且有:CF=1,ZF=0,SF=1,OF=1 程序将转到L5标号处执行。(5分)
4、(1)程序对8253的通道1进行初始化。(1分)(2)计数常数为10000D,BCD计数。(2分)
(3)工作在方式3,方波速率发生器 周期=10000´1µs=10000µS=10ms(2分)
五、共23分 酌情扣分
1、(1)MOV DX, 203H
MOV AL, 10111000B
OUT DX, AL(3分)(2)MOV DX, 202H
IN AL, DX
MOV AH, AL
TEST AL, 80H
JNZ NEXT1(2分)
MOV DX, 203H
MOV AL, 00000011B ;对PC1置位
OUT DX,AL(2分)NEXT1:MOV AL,AH
TEST AL,40H
JZ NEXT2
MOV AL,00000000B ; 对PC0复位
MOV DX,203H
OUT DX,AL
NEXT2:………(3分)
2、# SEGMENT
BUFER DB 10,0,20,15,38,236
MAX DB 0 MIN DB 0 AVI DB 0
# ENDS(2分)
STACK SEGMENT PARA STACK„STACK‟
DW 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:#,SS:STACK(1分)
START PROC FAR
BEGIN: PUSH DS
MOV AX,0
PUSH AX
MOV AX,#MOV DS,AX
LEA DI,BUFFER
MOV DX,0 ;使DH=0,DL=0
MOV CX,6
MOV AX,0 ; 和清0
MOV BH,0 ; 最大值
MOV BL,0FFH;最小值(2分)LOP1: CMP BH,[DI]
JA NEXT1 ; 若高于转移
MOV BH,[DI]; 大值®BH NEXT1: CMP BL,[DI];
JB NEXT2 ; 若低于转移
MOV BL,[DI]; 小值®BL(2分)NEXT2: MOV DL,[DI]; 取一字节数据
ADD AX,DX;累加和
INC DI
LOOP LOP1
MOV MAX,BH;送大值
MOV MIN,BL;送小值(3分)
MOV DL,6
DIV DL,;求平均值
MOV AVI,AL;送平均值
RET START ENDP CODE ENDS
END BEGIN(3分)
第四篇:微机原理与接口技术试题答案
微机原理与接口技术试题答案
一、填空题(20*1)
1、微机系统由(硬件系统)和(软件系统)两部分组成。2、8086有(20)位地址线,存储器容量为(1M)B。3、8086CPU 内部组成结构从功能上讲,可分为(BIU)和(EU)两部分。4、8086/8088的四个段寄存器为(DS)、(ES)、(SS)、(CS)
5、用来存放CPU状态信息的寄存器是(FLAGS)。
6、用来存放指令地址的寄存器是(IP)。7、8086的16位标志寄存器FLAGS中OF=1表示运算结果(溢出),ZF=1表示运算结果为零。PF=0表示运算结果的低8位中1的个数为(奇数)。
8、8086的16位标志寄存器FLAGS中IF=1表示CPU(允许)中断,TF=1表示CPU进入(单步)工作方式。
9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H)。
11、I/O端口的寻址方式有两种,分别是(直接寻址),(间接寻址)。
12、指令JO NEXT 表示OF=(1)时转移。
13、将I/O设备端口内容读入AL中的指令助记符是(IN)。14、8086CPU的 I/O指令采用间接寻址时,使用的间接寄存器是(DX)。
15、设置DF=1的指令为(STD)。
16、清除CF标志的指令为(CLC)。
17、一对操作堆栈的指令为(POP)和(PUSH)。
18、LOOPNZ的循环条件为(CX≠0且ZF=0)。
19、实现无符号数乘2的指令的助记符是(SHL),实现有符号数除2的指令的助记符是(SAR)。22、8086CPU引脚信号中中断请求两个信号名称为(INT)和(NMI)。
26、I/O端口的编址方式一般有(存储器统一编址)和(独立编址)两种
29.1片8259A中断控制器可管理(8)级中断,用9片8259A可构成(64)级主从式中断管理系统。
二: 填空题(每题2分, 共20分)1.8086CPU复位时, 寄存器 CS值为(FFFFH), 寄存器 IP的值为(0000H)2.8086CPU的8个8位通用寄存器名为(AL),(AH),(BL),(BH),(CL),(CH),(DL),(DH).3.若SS = 3240H, SP = 2000H, 栈顶的实际地址为(34400H).4.指令 MOV AX, [BX] 的机器码为 8BH, 07H , 指令 MOV [BX], AX的机器码为(89H),(07H).5.8255A的工作方式有方式0功能为(基本输入输出), 方式1功能为(选通输入输出), 方式2功能为(双向数据传送).6.执行指令 PUSH AX有 SP =(SPBUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA STAR PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX LEA BX, BUF1 MOV CX , COUNT-1 MOV AL, [BX] AG: INC BX CMP AL, [BX] JAE BIG MOV AL, [BX] BIG: DEC CX JNZ AG MOV BUF2, AL RET STAR ENDP CODE ENDS END STAR 问: 该程序执行后BUF2中的值为(9).四、程序设计题(2*10)
1、编写一个汇编语言程序,要求从键盘输入一个小写字母,将其转换成大写字母在屏幕上显示出来。
DATA SEGMENT BUF DB 0DH,0AH,“PLEASE INPUT A CHAR:$” DATAENDS
STACK SEGMENT
DB 20 DUP(?)STACKENDS
CODESEGMENT
ASSUME DS:DATA,CS:CODE ,SS:STACK BEGIN: MOV AX,DATA
MOV DS,AX
LEA DX,BUF;9号调用显示PLEASE INPUT A CHAR:
MOV AH,9
INT 21H
MOV AH,1;1号调用,从键盘接收1字符
INT 21H
CMP AL,61H /41H;若比“a”/A小转PEND
JB PEND
CMP AL,7AH /5BH;若比“z”/Z大转PEND
JA PEND;
ADD/SUB AL,20H;如在“a”与“z”之间则减去20变为大写字符
MOV DL,AL
MOV AH,2;2号功能调用显示一个字符
INT 21H
PEND: MOV AH,4CH;程序结束运行,返回DOS
INT 21H CODE ENDS
END BEGIN
2、已知芯片8253的端口地址为4F0H~4F3H,设计数器1工作在方式1,计数器初值为3060H,采用二进制计数,请设计实现上述功能的8253初始化程序。8253控制字格式如下:
因为计数器初值为3060H,即为16位的,所以读/写格式为11 因此控制字为:01110010 =72 控制字:MOV AL, 72H OUT 4F3H, AL
低8位:MOV AL, 60H OUT 4F1H, AL
高8位:MOV AL, 30H
OUT 4F1H, AL
六: 编程题(7分)编一个完整的程序, 数据段有10个符号的ASCII码值数据块 BUF , 若数据为0到 9的ASCII码值, 在屏上显示 Y , 否则显示 N 解: DATA SEGMENT BUF DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA NAIN PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, 10 LEA BX, BUF AG: MOV AL, [BX] CMP AL, 30H JL DISNO CMP AL, 39H JG DISNO MOV AH, 02H MOV DL, ‘Y’ INT 21H JMP NEXT DISNO: MOV AH, 02H MOV DL, ‘N’ INT 21H NEXT: INC CX DEC CX JNZ AG RET MAIN ENDP CODE ENDS END MAIN 七: 接口编程(7分, 仅编程序段)8255A的A口,B口均工作于方式0, 从A口输出数据30H, 将B口输入的数据放入寄存器BL中.(注:8255A口地址为60H到63H)解: 1 0 0 0 X 0 1 X 方式控制字= 82H MOV AL, 82H OUT 63H, AL MOV AL, 30H OUT 60H, AL IN AL, 61H MOV BL, AL
第五篇:微机原理与接口技术小结
微机原理与接口技术基础
1.为什么在流水CPU中,将一条指令从取指到执行结束的任务分割为一系列子任务,并使各子任务在流水线的各个过程段并发地执行,从而使流水CPU具有更强大的数据吞吐能力?
这里可以使用时空图法证明结论的正确性。
假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、取操作数(EX)、进行运算(WB),每个子过程称为过程段(Si),这样,一个流水线由一系列串连的过程段组成。在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。
2.译码器是如何译码的?寻址空间是如何确定的?译码器与寻址空间是怎么联系的?
译码器实际上是由许多与门、或门、非门和它们的组合构成的。它有若干个输入端和若干个输出端(也可能只有一个输出端)。对某一个输出端来说,它的电平高低必然与输入的某一种状态相对应。
例如,具有4个输入端的与非门就是一个简单的译码器,只有四个输入端为1111时,它的输出端才为0。如果将地址总线的A9、A8、A7、A6与它的四个输入连接起来,并把它的输出连到存储器芯片或某个需要寻址的外设接口的片选端(假定低电平有效),那么,只有当A9、A8、A7、A6为1111时,存储器芯片或外设才会被选中。
译码器的寻址空间取决于地址总线的哪几根线接到译码器的输入端,例如上例,地址总线的A9、A8、A7、A6与译码器的输入连接,那么其寻址空间应该是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,没有参与译码的低位地址线必然要参与存储器芯片或外设接口的内部译码。也就是说,内部译码地址范围是0--2n11 0000。
可以说,译码器的译码输出决定了寻址空间的起始地址,内部译码决定了寻址空间的大小。由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔4个单位时间才有一个输出结果,即一条指令执行结束。表示非流水CPU的时空图。由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。
比较后发现:流水CPU在八个单位时间中执行了5条指令,而非流水CPU仅执行了2条指令,因此流水CPU具有更强大的数据吞吐能力。
3.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?
答:对,PF只与结果的低8位有关。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7类34个寄存器。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。
(1)通用寄存器(8个)
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每个32位寄存器的低16位可单独使用,同时AX、BX、CX、DX寄存器的高、低8位也可分别当作8位寄存器使用。它们与8088/8086中相应的16位通用寄存器作用相同。
(2)指令指针和标志寄存器。
指令指针EIP是一个32位寄存器,存放下一条要执行的指令的偏移地址。
标志寄存器EFLAGS也是一个32位寄存器,存放指令的执行状态和一些控制位。
(3)段寄存器(6个)
CS,DS,SS,ES,FS和GS。在实方式下,它们存放内存段的段地址。在保护方式下,它们被称为段选择符。其中存放的是某一个段的选择符。当选择符装入段寄存器时,80386中的硬件章自动用段寄存器中的值作为索引从段描述符表中取出一个8个字节的描述符,装入到与该段寄存器相应的64位描述符寄存器中。
(4)控制寄存器(4个)
CR0、CRl、CR2和CR3。它们的作用是保存全局性的机器状态。
(5)系统地址寄存器(4个)
GDTR、IDTR、LDTR和TR。它们用来存储操作系统需要的保护信息和地址转换表信息、定义目前正在执行任务的环境、地址空间和中断向量空间。
(6)调试寄存器(8个)
DR0~DR7。它们为调试提供硬件支持。
(7)测试寄存器(8个)
TR0~TR7,其中TR0~TR5由Intel公司保留,用户只能访问TR6、TR7。它们用于控制对TLB中的RAM和CAM相连存储器的测试。TR6是测试控制寄存器,TR7是测试状态寄存器,保存测试结果的状态
5.什么是外部中断源?什么是中断向量码?什么是读选通信号?
答:外部中断源就是在CPU外部能够产生中断请求的设备/器件;通俗地说,中断向量码就是中断的编号,其值为0-FFH;选通信号就是打开逻辑门的控制信号,或用来锁存信息(类似D触发器的CP或CLK)的控制信号。读选通信号就是用来打开总线缓冲器,以便把的数据送到总线上的控制信号。
6.CPU处于单步执行指令的工作方式(课本49页),请问什么是单步执行指令工作方式? 答:在这种方式下,CPU每执行一条指令,就产生一次特殊的中断,以便可以停下来检查执行的结果。主要用于各类程序的调试。
7.片选信号(CS)到底是起使数据有效或无效的作用还是起选择芯片的作用啊?若是前者,干吗叫片选?
片选信号就是选择芯片的信号。前者不叫片选信号,应该叫允许信号。
8.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?
微型计算机基础
1.为什么在流水CPU中,将一条指令从取指到执行结束的任务分割为一系列子任务,并使各子任务在流水线的各个过程段并发地执行,从而使流水CPU具有更强大的数据吞吐能力?
这里可以使用时空图法证明结论的正确性。
假设指令周期包含四个子过程:取指令(IF)、指令译码(ID)、取操作数(EX)、进行运算(WB),每个子过程称为过程段(Si),这样,一个流水线由一系列串连的过程段组成。在统一时钟信号控制下,数据从一个过程段流向相邻的过程段。
2.译码器是如何译码的?寻址空间是如何确定的?译码器与寻址空间是怎么联系的?
译码器实际上是由许多与门、或门、非门和它们的组合构成的。它有若干个输入端和若干个输出端(也可能只有一个输出端)。对某一个输出端来说,它的电平高低必然与输入的某一种状态相对应。
例如,具有4个输入端的与非门就是一个简单的译码器,只有四个输入端为1111时,它的输出端才为0。如果将地址总线的A9、A8、A7、A6与它的四个输入连接起来,并把它的输出连到存储器芯片或某个需要寻址的外设接口的片选端(假定低电平有效),那么,只有当A9、A8、A7、A6为1111时,存储器芯片或外设才会被选中。
译码器的寻址空间取决于地址总线的哪几根线接到译码器的输入端,例如上例,地址总线的A9、A8、A7、A6与译码器的输入连接,那么其寻址空间应该是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,没有参与译码的低位地址线必然要参与存储器芯片或外设接口的内部译码。也就是说,内部译码地址范围是0--2n11 0000。
可以说,译码器的译码输出决定了寻址空间的起始地址,内部译码决定了寻址空间的大小。由于上一条指令的四个子过程全部执行完毕后才能开始下一条指令,因此每隔4个单位时间才有一个输出结果,即一条指令执行结束。表示非流水CPU的时空图。由于上一条指令与下一条指令的四个过程在时间上可以重叠执行,因此,当流水线满载时,每一个单位时间就可以输出一个结果,即执行一条指令。
比较后发现:流水CPU在八个单位时间中执行了5条指令,而非流水CPU仅执行了2条指令,因此流水CPU具有更强大的数据吞吐能力。
3.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?
答:对,PF只与结果的低8位有关。
4.80386 CPU包含哪些寄存器?各有什么主要用途?
80386共有7类34个寄存器。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。
(1)通用寄存器(8个)
EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每个32位寄存器的低16位可单独使用,同时AX、BX、CX、DX寄存器的高、低8位也可分别当作8位寄存器使用。它们与8088/8086中相应的16位通用寄存器作用相同。
(2)指令指针和标志寄存器。
指令指针EIP是一个32位寄存器,存放下一条要执行的指令的偏移地址。
标志寄存器EFLAGS也是一个32位寄存器,存放指令的执行状态和一些控制位。
(3)段寄存器(6个)
CS,DS,SS,ES,FS和GS。在实方式下,它们存放内存段的段地址。在保护方式下,它们被称为段选择符。其中存放的是某一个段的选择符。当选择符装入段寄存器时,80386中的硬件章自动用段寄存器中的值作为索引从段描述符表中取出一个8个字节的描述符,装入到与该段寄存器相应的64位描述符寄存器中。
(4)控制寄存器(4个)
CR0、CRl、CR2和CR3。它们的作用是保存全局性的机器状态。
(5)系统地址寄存器(4个)
GDTR、IDTR、LDTR和TR。它们用来存储操作系统需要的保护信息和地址转换表信息、定义目前正在执行任务的环境、地址空间和中断向量空间。
(6)调试寄存器(8个)
DR0~DR7。它们为调试提供硬件支持。
(7)测试寄存器(8个)
TR0~TR7,其中TR0~TR5由Intel公司保留,用户只能访问TR6、TR7。它们用于控制对TLB中的RAM和CAM相连存储器的测试。TR6是测试控制寄存器,TR7是测试状态寄存器,保存测试结果的状态
5.什么是外部中断源?什么是中断向量码?什么是读选通信号?
答:外部中断源就是在CPU外部能够产生中断请求的设备/器件;通俗地说,中断向量码就是中断的编号,其值为0-FFH;选通信号就是打开逻辑门的控制信号,或用来锁存信息(类似D触发器的CP或CLK)的控制信号。读选通信号就是用来打开总线缓冲器,以便把的数据送到总线上的控制信号。
6.CPU处于单步执行指令的工作方式(课本49页),请问什么是单步执行指令工作方式? 答:在这种方式下,CPU每执行一条指令,就产生一次特殊的中断,以便可以停下来检查执行的结果。主要用于各类程序的调试。
7.片选信号(CS)到底是起使数据有效或无效的作用还是起选择芯片的作用啊?若是前者,干吗叫片选?
片选信号就是选择芯片的信号。前者不叫片选信号,应该叫允许信号。
8.书本上讲的是若是计算结果中1的个数为偶数时,则PF=1;但我又在另外的辅导书上看到的说如果计算结果的低8位中1的个数为偶数,PF=1.请问老师是否是低八位?对,PF只与结果的低8位有关