您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 微机原理期末试题卷答案
微机原理期末试卷A卷第1页共6页云南大学2009至2010学年上学期物理学院物理系各专业2007级《微机原理》期末考试(闭卷)A卷满分100分考试时间120分钟任课教师:陈永康、杨先楚学院专业学号姓名题号一二三四五六总分得分30181282012一、计算并填写结果:(除标明分数的题外,每空1.2分,共30分)1、通常所说的CPU一般包括运算器、控制器和寄存器组。2、调用DOS软件中断的要点是:首先根据要调用的功能确定子功能号并存入寄存器AH中,然后设置各个入口参数的寄存器,再通过INT21H指令调用该DOS中断功能,最后如果有出口参数的还要处理出口参数。3、8086CPU是一个16位的微处理器,具有16位数据总线,20位地址总线,可寻址空间为1M字节。4、指令一般都由操作码和操作数来构成,指令MOVAL,6[BX][DI]的源操作数的寻址方式是基址变址相对寻址。5、数制转换(小数部分保留位数:二进制8位,16进制2为,7进制3位):[124.719]10=[1111100.10111000]2=[7C.B8]16=[235.5014]7=[000100100100.011100011001]BCD6、八位二进制代码转换:[-104]10=[11101000]原=[10010111]反=[10011000]补设(SS)=4000H,(DS)=3E00H,(ES)=3800H,(BP)=0800H,(SP)=010EH,(AX)=7AE4H,(BX)=2912H,(DI)=0003H,BUF=0111H,(4090EH)=0FH,(4090FH)=75H,(40910H)=93H,(40911H)=22H,下列7-11题的各条指令都分别在此环境下执行,请在下列各小题的空格中填入执行结果:7、ADDAH,[BP+BUF];(AH)=9CH8、SHRBYTEPTR[BX-DI],1;CF=1,(4090FH)=3AH9、POPAX;(SP)=0110H12、模拟运算器,用一字节补码加法实现十进制数-67-79=?的计算。(6分)其二进制补码加法算式为:CF=1,SF=0,ZF=0,OF=1,PF=0,AF=0得分[-67]补=110111101+[-79]补=11011000110110111011、CMPAL,0E4HJCLIN1JZLIN2JNBLIN3;转向地址为:LIN210、XORAL,28HANDAL,0ACHNOTAL上述程序段运行后,AL=73H微机原理期末试卷A卷第2页共6页二、程序阅读与分析。(每小题3分,共18分)三、在空白处添上适当的指令,使下面的程序段能实现既定功能:(每空2分,共12分)1、把DA1数据区的非压缩BCD码依次转换为对应的ASCII码,存放在ASC开始的数据区。DA1DB03H,01H,09H,08H,04H,07H,06H,02H,00H,09HCNTEQUASC-DA1ASCDB10DUP(?)┇LEASI,DA1;初始化得分得分5、设寄存器AL,BL,CL中内容均为1CH,执行上述指令序列后,XORAL,0FHANDBL,0FHORCL,0FHAL=13H,BL=0CH,CL=1FH。1、SHLBX,1JCONEMOVDL,’0’JMPNEXTONE:MOVDL,’1’NEXT:MOVAH,2INT21H上述程序段实现的完整功能是:在显示器上显示BX的最高位,0或者14、MOVBL,02HMOVAL,07HMULBL;AX=_000E_HAAMAH=__01__H,AL=___04___H3、SALAL,1MOVBL,ALMOVCL,2SALAL,CLADDAL,BL回答:程序实现的完整功能是将AL中的内容乘102、MOVAX,BXNOTAXADDAX,BX;AX=0FFFFHINCAXAX=0000HCF=___0____XORBL,0CH上述程序段运行后,BL=H6、MOVCH,4ROTATE:MOVCL,4ROLBX,CLMOVAL,BLANDAL,0FHADDAL,30HCMPAL,3AHJLPRINTITADDAL,7HPRINTIT:MOVDL,ALMOVAH,2INT21HDECCHJNZROTATE若(BX)=1000101110101111B,程序段的功能及执行结果为:把BX中的二进制数以十六进制的形式显示在屏幕上。显示结果为8BAF微机原理期末试卷A卷第3页共6页LEADI,ASC_MOVCX,CNTL1:MOVAL,[SI];实现转换ADDAL,30HMOV[DI],ALINCSIINCDI_LOOPL12、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。DATASEGMENTBUFDB5,6,7,58H,13H…….COUNTEQU$-BUFMAXDB?DATAENDS┇MOVBX,OFFSETBUF;初始化MOVCX,OUNT-1MOVAL,[BX]LOP1:INCBX;完成最大数查找__CMPAL,[BX]_JAENEXTMOVAL,[BX]NEXT:DECCX__JNZLOP1_MOVMAX,AL四、根据下面的数据段定义,填写数据区的存储分配图给出各变量对应的偏移地址与初始值:(8分)DATASEGMENTVAR1DB‘A’,0A3H,98HVAR2DW20ADHMISSDB‘NO:$’COUNEQU$-MISSSUMDW?CCDB4DUP(0)DATAENDSVAR1的偏移地址=0000H,初始值=‘A’,VAR2的偏移地址=0003H,初始值=20ADH,SUM的偏移地址=0009H,CC的偏移地址=000BH,MISS的偏移地址=0005H,COUN=0004H得分000E00H000D00H000C00H000B00H000A‘?’0009‘?’0008‘$’0007‘:’0006‘O’0005‘N’000420H0003ADH000298H00010A3HDATA1:0000‘A’微机原理期末试卷A卷第4页共6页五、论述与问答题:(共20分,第1、2题为必做题,其余为选做题,选做第6题的不做3、4、5题,反之亦然)1、画出冯.诺依曼结构图;给出计算机结构的三大要点;简述其基本工作原理:(5分)1、计算机由运算器、控制器、存储器、输入设备和输出设备五部分组成;2、程序和数据以二进制形式不加区分地依次存放在存储器中,存放位置由地址确定;3、控制器根据存放在存储器中的指令序列(即程序)工作,并由一个程序计数器(PC)控制指令的执行。控制器主要由指令计数器PC、指令译码器、PAL等组成;通过pc控制,自动、周而复始地完成取指、译码、执行的周期过程,从而实现对存放在存储器中的指令代码V的顺序自动执行控制。2、比照高级语言编程来讨论汇编语言编程,总结归纳出两者之间三个以上的不同点或共同点(要是独立点,有对照,描述清楚)。(3分)答题要点:1、完成一个具体功能模块的算法,两者是相同的。2、通过定义数据区,分配存储地址来定义变量,存储地址的符号名就是高级语言中的变量。3、寄存器可以作为临时变量使用,用完后又可以重新定义,这样可以不占用内存地址,而且执行速度快,这是高级语言不具备的。4、汇编语言程序需要对寄存器进行分配使用,而且有一些特定用法,如乘除法的默认寄存器,循环计数器CX等。寄存器一次定义使用未结束前不能再做另外用途,否则需要用堆栈保护。而高级语言编程不需要。5、汇编语言可以直接控制和检测计算机的硬件电路,最大限度的发挥硬件的功能,而且速度快、效率高,常用于硬件底层驱动程序和实时控制,这是高级语言无法做到的。6、汇编语言可以最大限度的发挥编程的灵活性,编制出效率最高、速度最快的程序,所以常用于硬件底层驱动程序和系统核心程序,这是高级语言难于做到的。7、......3、(选做6题的同学不做此题)运算器在进行有符号数运算时,判断是否发生了算术溢出,一般采用哪三种方法判别?在进行无符号数运算时,则使用什么标志判别无符号数运算是否溢出?(4分)答题要点:1、采用双符号法,双符号位不一致时,发生算术溢出2、次高位向最高位的进位与最高位向前进位不一致时,发生算术溢出3、同号数运算前符号与结果符号不一致时,发生算术溢出在进行无符号数运算时,使用进位标志进行判别,CY=1表示有溢出,CY=0表示没有有溢出。4、(选做6题的同学不做此题)通过简述CPU控制执行一条指令的过程及步骤,诠释程序存储原理。(4分)答题要点:机器语言、指令指针、指令地址、地址总线、存储器、数据总线、操作码、操作数、取指、译码、控制信得分输入设备存储器输出设备控制器运算器CPU数据路径控制路径微机原理期末试卷A卷第5页共6页号序列、时序、执行、结果处理、下一操作、完成启动下一指令周期控制器主要由指令计数器PC、指令译码器、PAL等组成;通过pc控制,自动、周而复始地完成取指、译码、执行的周期过程,从而实现对存放在存储器中的指令代码的顺序自动执行控制。5、(选做6题的同学不做此题)总线的功能和作用是什么?它的工作原则是什么?(4分)答题要点:总线是一组同类信号传送的公共数据通道,通常是同类信号并行同时传送,它按分时共用原则为多种设备分别服务6、(选做本题的同学不做3、4、5题)编写一段程序,从键盘读入一个十六进制数(使用1号DOS功能调用,在AL中返回键盘按键的ASCII码),判断其合法性(0-9,A-F,不考虑a-f),不合法重读,合法将其转换成对应的二进制数,存放在AL中(0-F)。参考程序:INHEXPROCL1:MOVAH,01HINT21HSUBAL,30HJBL1CMPAL,9JBEDONESUBAL,7HJBL1CMPAL,0FHJBEDONEJMPL1DONE:RETINHEXENDP六、如果已经有以下数据区定义:DA1SEGMENTTXTBDB“ThisaStoryabout……”;一篇英语文章NUMDW$-TXTB;文章字节数CHADB‘#’;查找字符CHBDB‘$’;替换字符COUNDW?DA1ENDS编写一段程序,将这篇英语文章中的‘#’号用‘$’号进行替换,并统计替换个数,存入COUN中(能编成一个通用子程序更好)。参考程序:LEABX,TXTBMOVCX,NUMMOVDX,0MOVAL,’#’MOVAH,’$’AGAIN:CMPAL,[BX]得分微机原理期末试卷A卷第6页共6页JNZNEXTMOV[BX],AHINCDXNEXT:INCBXLOOPAGAINMOV[COUN],DX云南大学2009至2010学年上学期物理学院物理系各专业2007级《微机原理》期末考试(闭卷)B卷参考答案满分100分考试时间120分钟任课教师:陈永康、杨先楚学院专业学号姓名题号一二三四五六总分得分30181282012四、计算并填写结果:(除标明分数的题外,每空1.2分,共30分)1、8086CPU从功能上可分为EU/执行单元部件和BIU/总线接口部件两个独立的功能部件。2、8086CPU采用引脚复用技术,即地址线和数据线是复用的。3、每一条指令代码一般都由操作码和操作数来构成。4、指令MOVAL,6[BX][SI]的源操作数的寻址方式是基址变址相对寻址,目的操作数寻址方式为寄存器寻址。5、循环指令LOOPZ终止循环的条件是CX=0或者ZF=0。6、数制转换(小数部分保留位数:二进制8位,16、7进制3位):[135.489]10=[10000111.01111101]2=[87.7D]16=[252.326]7=[000100110101.010010001001]BCD7、八位二进制代码转换:[-126]10=[11111110]原=[10000001]反=[10000010]补设(SS)=4000H,(DS)=3E00H,(BP)=0800H,(SP)=0110H,(AX)=7A34H,(BX)=2912H,(DI)=0003H,BUF=0111H,(4090EH)=0FH,(4090FH)=57H,(40910H)=9
本文标题:微机原理期末试题卷答案
链接地址:https://www.777doc.com/doc-2470020 .html