中国石油大学微机原理期末考试微机编程题总结
微机原理期末总结

第一章微机原理概述主要内容:1.数制的转换2.原码、反码、补码、移码间的转换典型习题:复习PPT上两种题型弄懂做法即可第二章微型计算机系统的微处理器主要内容:1.8086CPU的组成结构,要记牢EU和BIU的各组成部分名称和缩写2.各寄存器组的作用3.逻辑地址的表示方法和物理地址的计算方法4.标志寄存器各位的含义5.了解最大模式和最小模式下的一些要求典型习题:复习PPT上两种基本类型的习题即可,令需注意基础知识的记忆,可结合课后习题及答案进行记忆第三章8086/8088指令系统主要内容:1.各种寻址方式的特点2.上课老师要求的各条指令的用法典型习题:熟练掌握PPT上的题型,另需注意课后习题的判断题部分,大致了解一下可能的指令用错的情况。
第四章汇编语言程序设计主要内容:1.熟悉各种程序机构和伪指令含义2.通过各种例子掌握基本的程序结构,尤其是开头和结尾部分的书写规范典型习题:以课本例题为主第五章(了解第六章半导体存储器主要内容:1.历来考试的考点和取分点,位与字节含义的区分。
2.存储容量和线路计算方法3.线路译码方法4.简单设计,前三项的综合典型习题:以PPT上习题为主。
第七章微型计算机和外设间的数据传输(了解基本概念,对照答案熟读一遍课后习题即可第八章中断系统主要内容:1.中断的基本概念的判断2.8086中断系统基本概念和相应计算3.8259A的特点和编程知识典型习题:熟读课本各例题,弄清每句含义,再通读实验时的程序代码,自己体会分析一遍即可。
第九章微型计算机常用接口技术主要内容:1.熟练掌握8255A知识与应用2.了解通信相关知识典型习题:通第八章小结:参照以往考试经验,考试中小题部分每张都会涉及而且较为固定,大家自己感觉重点的地方肯定是会考到的。
大题部分虽然每年都再变,但有几项肯定要考的,一定要重点复习。
分别为:存储器部分关于线路和容量的计算,8259A初始化及指令字的设计,8255A控制字的选择。
微机原理期末复习总结

SP/EN D7~D0 RD WR A0 . . . ICW1 ICW2 ICW3 ICW4 OCW1 (IMR) OCW2 OCW3 PR IRR
CAS0 CAS1 CAS2 ISR . IR0 . . IR7
地址 译码
CS
INTA INT
INTA INTR
第八章:串行接口8255
为什么要使用8255 串行接口芯片8255
控制字 寄存器
计数器2
3个独立的计数器:
计数初值寄存器
计数过程:
1、写入计数初值,保存在计 数初值寄存器中;
2、将计数初值装入减1计数器 开始计数;
CLK
减1计数器
OUT
输出寄存器 计数器的内部结构
3、减1计数器在CLK脉冲作用 下递减计数,直至为0时输 出OUT信号; 4、输出寄存器跟随减1计数器 变化,用于锁存输出数据。
A12~A0
第六章:接口技术
了解I/O接口电路的存在意义
解决CPU与外设信息交换时的矛盾 理解接口与端口的概念
端口:接口电路中存储单元地址
了解接口电路的三类寄存器
数据寄存器、状态寄存器、控制寄存器
掌握各种I/O传递方式及特点
程序控制下的数据传送——分为:
无条件传送
查询传送
中断传送
直接存储器存取(DMA)
数据总线、地址总线、控制总线 始终周期、总线周期、指令周期 基本时序(T1/T2/T3/T4)
最小组态下的读总线周期
0~N个
T1
CLK
IO/M A16~19
T2
T3
Tw
T4
低为存储器/高为I/O 地址 地址 地址 数据 状 态
A8~15
AD0~7 ALE RD DT/R DEN
微机原理试题及答案期末

微机原理试题及答案期末
作为微机原理课程的期末考试,试题的出现是为了考查学生在此门课程中所掌握的知识和技能。
本文将为大家提供一套微机原理试题,并附上详细的答案解析。
希望通过本文的解析,能够帮助大家更好地理解微机原理的核心概念与应用。
I. 单选题(每题1分,共20题,共20分)
1. 在8086微处理器中,哪个寄存器用来存储当前指令的操作码?
A. AX
B. IP
C. CS
D. SP
答案:B
解析:IP(Instruction Pointer)是指令指针寄存器,用于存储下一条要执行的指令的内存地址。
2. 内部总线宽度决定了8086微处理器的哪个特性?
A. 寻址能力
B. 计算速度
C. 存储能力
D. 并行传输速度
答案:D
解析:内部总线宽度决定了数据的并行传输速度。
8086微处理器的内部数据总线宽度是16位,可以同时处理16位的数据。
3. DMA是指什么?
A. 直接内存访问
B. 动态内存分配
C. 数据管理程序
D. 目标模块访问
答案:A
解析:DMA(Direct Memory Access)是指计算机直接访问内存的一种技术,通过绕过CPU,将数据直接传输到内存,提高数据传输效率。
...
文中所提供的试题及答案解析仅为示例,真实的微机原理试题可能会更加复杂多样。
在考试前应多做练习,强化对微机原理的理解和应用能力。
通过合理安排学习时间,注重实际操作与理论结合,相信大家一定能够在微机原理这门课程中取得好成绩。
最后,祝愿每一位学生在期末考试中取得优异的成绩!加油!。
中国石油大学微机原理期末考试微机编程题总结

中国石油大学微机原理期末考试微机编程题总结1已知在数据段中定义变量VAL1,其中装入了100个字节的数据;VAL2为数据段中定义的可以存储100个字节的变量。
要求将VAL1中的内容取负(即,正数变负数,负数变正数,零不变)后传送到VAL2中。
画出程序流程图,并编写完整的8086汇编程序。
数据段可采用以下定义形式: DATA SEGMENTVAL1 DB 100 DUP(?)VAL2 DB 100 DUP(?)DATA ENDS答:流程图:(2分)程序(4分):结构1分,初始化1分,循环体1分,DOS接口1分。
每部分可按0、5分进行得扣分。
CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXCLDMOV SI,OFFSET VAL1 ;LEA SI,VAL1MOV DI,OFFSET VAL2 ;LEA DI,VAL2MOV CX,100LP: NEG [SI]MOVSBLOOP LPMOV AH,4CHINT 21HCODE ENDSEND START注:循环体内也可以使用减法指令、MOV指令、INC指令等。
只要完成取负及数据传送即可。
与DOS接口也可采用子程序结构。
2设在内存缓冲区中有一数据块STRDATA,存放着30 个字节型补码数据。
要求画出程序流程框图,编写完整的汇编语言源程序,找出其中的最大数,存入RESULT单元中,并在关键语句后加适当注释。
答:DSEG SEGMENTSTRDATA DB 30 DUP(?) ;定义数据串RESULT DB DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV BX, OFFSET STRDATA ;数据串首址→BXMOV AL, [BX]MOV CX, 29 ;数据长度→CXL1: INC BX ;地址指针加1CMP AL, [BX] ;与当前数比较JGE L2 ;当前数大MOV AL, [BX] ;当前数为最大数L2: DEC CX ;数据串长度减1JNZ L1 ;串未完,继续MOV RESULT, AL ;保存最大数在RESULTMOV AH,4CHINT 21HCSEG ENDSEND START三、(10 分)设在内存缓冲区中有一数据块BLOCK,存放着50 个字节型数据。
微机原理编程题集合汇总

微机原理编程题1. 分支程序设计①.编写一段程序,已知BUF1单元中有一带符号字节数据X,BUF2中有一带符号字节数据Y,根据以下函数关系编写程序求Z的值,结果存入RESULT 单元。
Z=|X-Y|;DATA SEGMENTBUF1 DB 05HBUF2 DB 02HRESULT DB?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUF1MOV BL,BUF2SUB AL,BLJNC GREATNEG ALGREAT:MOV RESULT,ALEXIT: MOV AH,4CHINT 21HCODE ENDSEND START②.编写一段程序,已知BUF单元中有一无符号字节数据X,假设为8,根据以下函数关系编写程序求Y的值,结果存入RESULT 单元。
Z=5X X<10,X-5 X>=10;DATA SEGMENTBUF DB 8RESULT DB?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,10JAE GREMOV BL,ALADD AL,ALADD AL,ALADD AL,BLJMP DONEGRE: SUB AL,5DONE: MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START③.在内存单元BUF中存放一个带符号字节数据X,假定为-2,试根据以下函数关系编写程序求Y的值,结果存入RESULT 单元。
Y=1 X>0,0 X=0,-1 X<0;DATA SEGMENTBUF DB-2RESULT DB?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,BUFCMP AL,0JGE L1MOV AL,-1JMP L3L1:JZ L2MOV AL,1JMP L3L2:MOV AL,0L3:MOV RESULT,ALMOV AH,4CHINT 21HCODE ENDSEND START2. N个数中求最大值、最小值.假定N=10,已知原始数据存放在BUF开始的内存单元中,将结果存入MAX,MIN内存单元中。
微机原理期末考试题库及个别答案

微机原理期末考试题库及个别答案一、填空题1.十进制数11.375转换为二进制数为______;二进制数1101101转换为十进制数为______。
2.二进制数110111100101.1011转换为十六进制数为______。
3.二进制数1001011.1转换为十进制数为______。
4.用MOS器件构成的RAM可分为SRAM_和_DRAM__。
5.A=-113D,则[A]补=__________。
10001111B6.已知BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10 H,则指令MOV CL,SS:[SI+50H]中源操作数的寻址方式为_寄存器相对寻址_,存储器操作数的有效地址_13A7H_,实际地址05A27H。
7.对于ADD AL,BL指令,当AX=8573H,BX=8032H时,指令执行后标志位OF=__1___,CF=_0____。
8.变量具有段属性、偏移量属性和类型属性。
9.汇编语言程序的语句可分为两大类:指令性语句和指示性语句。
10.A=-71,则[A]补=______。
11.设一个主存容量为320K,若要访问该主存,其地址码至少__19__位;其最大的主存地址为_4003FH_。
12.8088CPU中指示栈顶的寄存器是_SP_,指示指令执行顺序的寄存器是_IP_。
13.中断处理过程分为中断请求、_中断源识别_(或中断判优)、_中断响应_、中断服务和中断返回。
14.A=+0110101,B=-0110101,[A+B]补=______。
15. 从CPU的NMI引脚产生的中断叫做非屏蔽中断,它的响应不受IF标志___的影响。
16.由INT指令引起的中断称可屏蔽中断,由CPU外部引起的中断称外部中断(或硬件中断)。
17.两片8259级联共可管理_________级中断,若从片连接在主片的IR2上,则从8259A 的ICW3为___________。
微机原理期末总结

微机原理期末总结微机原理是计算机科学与技术专业中的一门基础课程,它是计算机科学与技术专业学生进一步了解计算机的内部结构、原理和工作过程的基础。
本学期我学习了这门课程,通过学习,我对计算机的原理有了更深入的了解,也对计算机的运行过程和内部结构有了更为清晰的认识。
在本学期的学习中,我们主要学习了如下几个方面的内容:计算机的数制转换、运算器、存储器、控制器以及计算机的输入输出等。
以下是我对这些内容的总结和理解:首先,计算机的数制转换是计算机科学与技术专业学生必须掌握的基础知识。
在学习中,我们学习了二进制、八进制、十进制和十六进制之间的相互转换,掌握了不同进制数的表示方法和运算规则。
数制转换是计算机中数据表示的基础,深入理解数制转换对于我们后续学习计算机内部结构和工作原理非常重要。
其次,我们学习了运算器的原理和结构。
运算器是计算机中的重要组成部分,负责数学运算和逻辑运算。
通过学习,我们了解了运算器的各个部分的功能和工作原理,如算术逻辑单元(ALU)、寄存器等。
同时,我们也学习了运算器的运算规则、运算速度和运算精度等重要概念。
接下来,我们学习了存储器的原理和结构。
存储器是计算机中的重要组成部分,它负责存储程序和数据。
在学习中,我们了解了存储器的各个部分的功能和工作原理,如随机存储器(RAM)、只读存储器(ROM)等。
我们也学习了存储器的存取周期、存储容量和存储层次等重要概念,这对于提高存储器的工作效率和容量非常重要。
然后,我们学习了控制器的原理和结构。
控制器是计算机中的重要组成部分,它负责指挥和控制计算机的各个部件的工作。
在学习中,我们了解了控制器的工作原理,掌握了指令的执行过程和时序规则。
此外,我们还学习了控制器的寄存器、状态位和指令格式等重要概念,这对于理解和设计计算机的指令系统非常重要。
最后,我们学习了计算机的输入输出。
输入输出是计算机与外部世界交互的方式,它涉及到计算机接口的设计与实现。
在学习中,我们了解了输入输出设备的种类和特点,掌握了输入输出接口的工作原理和设计方法。
最新微机原理与接口技术-期末复习题中国石油大学

“微机原理与接口技术”期末考试复习题1.微机系统的硬件由哪几部分组成?答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。
2.什么是微机的总线,分为哪三组?答:是传递信息的一组公用导线。
分三组:地址总线,数据总线,控制总线。
3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么?答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU与存储器或IO 设备之间的数据传送。
执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。
4.8086指令队列的作用是什么?答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。
5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。
6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。
7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址为多少?答:偏移地址为54100H。
(物理地址=段地址*16+偏移地址)8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意义各是什么?答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1已知在数据段中定义变量VAL1,其中装入了100个字节的数据;VAL2为数据段中定义的可以存储100个字节的变量。
要求将VAL1中的内容取负(即,正数变负数,负数变正数,零不变)后传送到VAL2中。
画出程序流程图,并编写完整的8086汇编程序。
数据段可采用以下定义形式:DATA SEGMENTVAL1DB100 DUP(?)VAL2DB 100 DUP(?)DATA ENDS答:流程图:(2分)程序(4分):结构1分,初始化1分,循环体1分,DOS接口1分。
每部分可按0.5分进行得扣分。
CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXCLDMOV SI,OFFSET VAL1;LEA SI,VAL1MOV DI,OFFSET VAL2;LEA DI,VAL2MOV CX,100LP:N EG[SI]MOVSBLOOP LPMOV AH,4CHINT21HCODE ENDSEND START注:循环体内也可以使用减法指令、MOV指令、INC指令等。
只要完成取负及数据传送即可。
与DOS接口也可采用子程序结构。
2设在内存缓冲区中有一数据块STRDATA,存放着30 个字节型补码数据。
要求画出程序流程框图,编写完整的汇编语言源程序,找出其中的最大数,存入RESULT 单元中,并在关键语句后加适当注释。
答:DSEG SEGMENTSTRDATA DB 30 DUP(?) ;定义数据串RESULT DB DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV BX, OFFSET STRDATA ;数据串首址→BXMOV AL, [BX]MOV CX, 29 ;数据长度→CXL1: INC BX ;地址指针加1CMP AL, [BX] ;和当前数比较JGE L2 ;当前数大MOV AL, [BX] ;当前数为最大数L2: DEC CX ;数据串长度减1JNZ L1 ;串未完,继续MOV RESULT, AL ;保存最大数在RESULTMOV AH,4CHINT 21HCSEG ENDSEND START三、(10 分)设在内存缓冲区中有一数据块BLOCK,存放着50 个字节型数据。
要求画出程序流程框图,编写完整的汇编语言源程序,统计出其中偶数的个数,结果存入RESULT 单元中。
【答案】程序流程框图(4分);完整程序(6 分);DATA SEGMENTBLOCK DB 50 DUP(?)RESULT DB ?DATA ENDS (1 分)CODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV BX, OFFSET BLOCKMOV CX, 50MOV AH,0 (1 分)L1: MOV AL, [BX]TEST AL,01H (1 分)JNZ L2INC AHL2: INC BXDEC CXJNZ L1 (1 分)MOV RESULT, AH (1 分)MOV AH,4CHINT 21HCODE ENDSEND START (1 分)四、(10分)设在内存缓冲区中有一数据块DATA,存放着20个带符号的字节型数据,对这20个数据进行以下处理:去掉其中的最大值,然后对剩余的19个数求和,并将和送入SUM 单元。
要求画出程序流程框图,编写完整的汇编语言源程序。
注:不考虑求和是否溢出。
DATA SEGMENTDATA DB20 DUP(?)SUM DB 0 DATAENDS (1分) CODE SEGMENTASSUME CS:CODE, DS:DATA START:MOV AX,DATAMOV DS,AX MOV BX, OFFSET DATAMOV CX, 20MOV AL, [BX] (1分) MOV AH,0 L1: ADD AH,[BX] (1分)CMP AL,[BX] JG L2 (或JGE L2) (1分) MOV AL,[BX]L2: INC BXDEC C X JNZL1 (1分)SUB AH,ALMOV SUM,AH (1分)MOV AH,4CHINT 21HCODE ENDS ENDSTART结束数据块DATA 定义 [BX]→AL 数据块首地址→BX 数据块长度→CX 初值0送SUM [BX]→ALBX+1→BXSUM=SUM-ALAL>[BX]?20个数判断完了?NYNY开始SUM=SUM+[BX]五、设在内存缓冲区中有一数据块BUF,存放着100名学生某门课程的考试成绩(满分为100分,最低为0分),求出成绩不低于90分以及成绩低于60分的学生个数,并将它们分别存于符号地址为GOOD 和FAIL 的2个内存单元中。
要求画出程序流程框图,编写完整的汇编语言源程序。
三、(12分) DATA SEGMENT BUF DB 100 DUP (?)GOOD DB 0FAIL DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA START :MOV AX, DATA MOV DS, AX MOV BX, OFFSET BUF MOV CX,100 MOV DX,0 L1 : MOV AL, [BX] CMP AL,90 JB L2 INC DHJMP L3L2: C MP AL,60JAE L3 INC DLL3: I NC BX LOOP L1MOV GOOD, DHMOV FAIL, DLMOV AH, 4CH INT 21H CODE ENDS END START 评分标准:流程图4分,其中初始化1分,判断>90分并计数的分支1分,判断<60分并计数的分支1分,循环控制1分。
源程序8分,其中数据段定义1分,分段结构、段分配1分,初始化1分,判断>90分并计数2分,判断<60分并计数1分,循环控制1分,送结果1分。
开始 初始化设置循环次数CX=100 设置地址指针BX 设置优秀和不及格的计数器DH ,DL 分BUF 取数据 分数DH+1 DL+1 地址指针BX+1循环次数CX -1CX=0? 送结果 结束 YL YL YL NL NL NL与第100个数求和,第二个数与第99个数求和,第三个数与第98个数求和…依次类推,求得的50个和(不考虑和是否有进位)依次存放于数据段中从SUM 开始的区域中。
要求画出程序流程框图,并写出完整的汇编语言源程序 三、编程题(10分) DATA SEGMENT BUF DB 100DUP(?); SUM DB 50DUP(?);DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,50 MOV DI,OFFSET SUM MOV SI,OFFSET BUFMOV BX,SIADD BX,99AGAIN: MOV AL,[SI]ADD AL,[BX]MOV [DI],ALINC DI INC SIDEC BXLOOP AGAINMOV AH,4CH INT 21HCODE ENDSEND START评分标准:(1)流程图3分:其中初始化1分,取数求和1分,循环控制1分。
(2)源程序7分:其中数据段定义1分,分段结构、段分配1分,初始化1分,取数求和1分,结果送到SUM 中1分,循环控制1分,返回DOS 系统1分。
开始 初始化 设置循环次数CX=50 设置地址指针DI,SI,BX 根据SI 和BX 从BUF 中取出两个数据 CX=0? 结束 YL NL 对取出的两个数据进行加法求和运算 根据DI 将加法求和运算的结果送入到SUM 中 地址指针DI+1,SI+1, BX -1 循环次数CX -1语言源程序,找出BUF数组中的最大值和最小值,并将最大值存放到变量MAX中,最小值存放到变量MIN中。
要求:采用子程序MAXMIN实现求最大值及最小值的功能。
编程题(10分)DATA SEGMENTBUF DB 100 DUP(?)MAX DB 0MIN DB 0DATA ENDS (1分)CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS, AXMOV CX,100LEA BX, BUF (1分)MOV DL,0 ; MAXMOV DH,0FFH; MIN (1分)CALL MAXMIN (1分)MOV MAX,DLMOV MIN,DH (1分)MOV AH,4CHINT 21HMAXMIN PROC (子程序功能正确5分)AGAIN: MOV AL,[BX]CMP AL,DLJA L1JMP L2L1: MOV DL,[BX]L2: CMP AL,DHJA L3MOV DH,[BX]L3: INC BXLOOP AGAINRETMAXMIN ENDPCODE ENDSEND START。