您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 微机原理及应用期中考题A
12015-2016学年《微机原理及应用》期中考试题A卷姓名:学号:评分:(总分100)一、填空:(每空1分,共20分)1.设机器字长为8位,有x=1,y=120,则有:[xy]补=_01110111B,[xy]补=_10000111B_。2.完成下面不同数制之间的转换73.25D=_01001001.01_B,10010010B=____92_H,100101.11B=_37.75__D=00110111.0111.0101_BCD。3.8088/8086CPU由_EU或执行部件和_BIU或总线接口部件两大部件组成,前者完成_取指令、译码指令和执行指令_功能,后一部件完成_CPU与存储器之间的信息传送即总线接口_功能。4.指令MOVAL,BL对源操作数来说是_寄存器_寻址方式;MOV[BX+6],AX的目的操作数是_相对基址或寄存器相对_寻址方式;MOVAX,DS:[2000H]的源操作数来说是__直接_寻址方式。5.8086CPU的MN/MX引脚的作用是_设定8086处在最大(接地)或最小组态(接电源)_。6.8086CPU的数据总线有_16条,地址总线有_20_条,最大可寻址内存空间为_1MB_。7.用DEBUG调试汇编test.asm源程序的步骤如下:首先用_MASMtest加回车_命令,得到obj文件,然后用linktest加回车,得到_test.exe可执行_文件,最后用_debugtest.exe加回车_命令进行调试。二、单选题(每题2分,共10分)1.若需对8位二进制数中的某位取反,则可采用的运算是该位与(B)。A.0异或B.1异或C.0逻辑乘D.1逻辑乘2.在8086中,指针IP、SP形成物理地址时所用的段寄存器分别是(C)。A.DS和ESB.ES和SSC.CS和SSD.CS和DS3.8086中,在基址加变址的寻址方式中,基址、变址寄存器分别是(C)。A.AX或CX,BX或CXB.DX或DI,CX或SIC.BX或BP,SI或DID.SI或BX,DX或DI4.已知物理地址为FFFF0H,段内偏移量为A000H,若对应的段基址放在DS中,则DS应为(A)。A.F5FFHB.5FF0HC.5FFFHD.F5F0H5.所谓微机的字长是指(D)。A.CPU内部数据总线的位数B.CPU外部数据总线的位数C.CPU地址总线的位数D.CPU中运算器一次能处理二进制数的最大位数三、简答题:(24分)1.试从计算机的基本组成和指令运行过程阐述冯•诺依曼体系机构的计算机的基本工作原理。(6分)答:计算机由运算器、控制器、存储器和输入输出接口通过总线连接而成,前两者合在一起成为CPU。冯•诺依曼体系机构的计算机的基本工作原理是:程序即指令机器码以二进制代码形式预先存在存储器中,计算机启动后从存储器中取来指令一步一步自动运行。在运算处理过程中,指令经控制器译码,完成相应的运算操作或变为各种控制信号,控制输入装置的启动或停止、存储器的读写、输出设备的输出结果等,计算的中间结果也存在存储器中,控制信号和计算结果都以二进制形式存储或传输。得分22.设SS=2000H,SP=1000H,AX=1234H,CX=5678H则依次执行PUSHAX;POPCX两条指令后,SP,AX,CX和堆栈的内容各是什么?(8分)答:SS=2000H,SP=1000H,栈顶SS:SP即其物理地址为21000H,入栈地址-2,出栈地址+2.PUSHAX;SP-(SP)-2即SP=0FFEH,(SP)=[0FFEH]-34H,(SP+1)=[0FFFH]-12HPOPCX;CL-(SP),CH-(SP+1)即CX=1234H;SP=1000H-(SP)+2即最终栈顶SP=1000H;CX=1234H,AX=1234H,堆栈内容跟两语句执行前一样。3.某数据段定义如下:(10分)ORG3XXDB‘AB’,-1AAEQU$-XXBBDW3456H,‘A’,0BHYYDD10HDATAENDS画出以上伪指令汇编后存储器的数据分布图。并填空:1)AA的值是3;2)变量YY的偏移地址是12或0CH;3)LEABX,BB;MOVDL,BYTEPTR[BX]两句执行完后,(DL)=56H。注意:EQU语句定义的常量不占内存空间。DATASEGMENT内容DS:有效地址变量名DS:00HDS:01HDS:02H41H或’A’DS:03HXX42H或’B’DS:04H-1或FFHDS:05H56HDS:06HBB34HDS:07H41H或’A’DS:08H00HDS:09H0BHDS:0AH00HDS:0BH10HDS:0CHYY00HDS:0DH00HDS:0EH00HDS:0FH四、判断下列指令的对错(正确的在括号内打“”,错的打“”)(10分)(1)LEASI,1000H(X)(2)MOVAL,[CX](X)(3)XCHG[SI],[BX](X)(4)MOVDL,100H(X)(5)POPCS(X)(6)CMP[AL],BL(X)(7)MOVDS,2001H(X)(8)SALBX,3;(X)(9)MUL100H(X)(10)PUSHWORDPTR[BX]()五、阅读分析程序并填空:(16分)阅读以下程序,对后面有“;”的句子给予注释(每空1分)。简述程序的功能。DATASEGMENT;数据段定义VDDB123VBCDDB3DUP(0)DATAENDS得分得分3CODESEGMENT;代码段定义ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;MOVDS,AX;数据段初始化LEABX,VBCD;获取VBCD的偏移量MOVAL,VDXORAH,AH;将AH清零MOVCL,100DIVCLMOV[BX],AL;将VD的百分位数字送VBCD的第一个单元INCBXMOVAL,AH;余数送ALXORAH,AHMOVCL,10DIVCLMOV[BX],AL;将VD的十分位数字送VBCD的下一个单元MOV[BX+1],AH;将VD的个位数字送VBCD的第三个单元MOVAX,4C00H;INT21H;返回DOSCODEENDS;代码段结束ENDSTART程序的功能是:求三位数VD的百分位、十分位和个位存于VBCD中,即求三位数VD的非压缩性BCD码存于VBCD中。六、综合设计题(20分)编程实现键盘读入两个一位十进制数A和B,将二者的较大值存入变量MAX单元中,并在屏幕上显示MAX的值。要求:1)画出程序流程图;2)程序中要用到子程序调用;3)给出完整汇编代码并加以注释。审题首先从题意知道:先得定义三个字节型变量A、B和MAX;其次,X、Y是从键盘输入的,虽然采用01号功能和0AH号功能都可以,但A,B都是一位数字,所以不需要用字符串输入,简单一点就用01号单个字符输入功能,注意输入字符的ASCII码存于AL中,必须减去30H才是所输入的数字;最后MAX的输出为02H号功能,而且要把输出字符的ASCII码送DL。实现代码及注释如下:DATASEGMENTADB0BDB0MAXDB?DATAENDSSTACKSEGMENTSTACKDB100DUP(0)得分4SP_TOPDB0STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXLEASP,SP_TOP;设置栈顶MOVAH,01H;键盘读入第1个十进制数INT21HSUBAL,30H;将ASCII码装换成非压缩性BCD码MOVA,AL;第一个数存到AMOVBL,ALCALLCRLF;回车换行MOVAH,01H;键盘读入第2个十进制数INT21HSUBAL,30H;将ASCII码装换成非压缩性BCD码MOVB,AL;第二个数存到BCALLCRLFCMPAL,BL;B与A比较JCXBIGGER;ABMOVMAX,AL;B=AJMPDSPXBIGGER:MOVMAX,BLDSP:MOVDL,MAX;显示MAX的值ADDDL,30H;MAX的ASCII码送DLMOVAH,02HINT21HMOVAH,4CH;返回DOSINT21H;回车换行子程序CRLFPROCNEARMOVAH,02HMOVDL,0DH;0DH是回车的ASCII码INT21HMOVAH,02HMOVDL,0AH;0AH是换行的ASCII码INT21H5RETCRLFENDP;子程序结束CODEENDS;代码段结束ENDSTART
本文标题:微机原理及应用期中考题A
链接地址:https://www.777doc.com/doc-2469926 .html