微型计算机原理考试题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

====《汇编语言程序设计》模拟试卷01====一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。每题2分,共20分)1.若栈顶的物理地址是20100H,当执行完指令CALLAX后,栈顶的物理地址是()。A)20102HB)20101HC)200FFHD)200FEH2.当执行完下列指令序列后,标志位CF和OF的值是()。MOVAH,85HSUBAH,32HA)0,0B)0,1C)1,0D)1,13.JMPSI的目标地址偏移量是()。A)SI的内容B)SI所指向的内存单元的内容C)IP+SI的内容D)IP+[SI]4.循环指令LOOPNZ终止循环的条件是()。A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX≠0,且ZF=0D、CX≠0,或ZF=15.指出下列哪个数据在汇编语言中是非法的?()A)19BH+25DB)25+ALC)108-102QD)101B*0ABH6.已知AL,BX中各放一个无符号数,计算AL*BX的积,应采用下列程序段()A)MULBXB)IMULBXC)XORAH,AHD)CBXMULBXMULBX7.NEXT是程序中某指令语句标号,下述四个程序段中,不能实现转移到NEXT语句执行的是()A)JMPNEXTB)MOVBX,OFFSETNEXTJMPBXC)MOVBX,NEXTD)LEAAX,NEXTJNPBXJNPAX8.DATA的定义如下:DATADW1234H现想把12H取入到AL寄存器,可以实现该功能的程序段是()A)MOVAL,BYTEPTRDATAB)MOVAL,DATA+1C)MOVAL,BYTEPTRDATA+1D)MOVAX,DATA9.下面指令执行后,改变AL寄存器内容的指令是()。A、TESTAL,02HB、ORAL,ALC、CMPAL,BLD、ANDAL,BL10.在汇编语言程序的开发过程中使用宏功能的顺序是()。A、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用二、填空题(每空1分,共30分)1.设机器字长为16位,若N1=117,用二进制数和16进制数表示时分别为__________________B和______H。若N2=–117,则[N2]原=______________B,[N2]补=_______________________H.2.指出下列各指令中源操作数的寻址方式,并计算指令执行后AX的内容。其中:(DS)=3000H,(ES)=4000H,(SS)=5000H,(AX)=1200H,(BX)=1300H,(BP)=1400H,(SI)=1500H,(42000H)=1260H,(51400H)=1270H,(33800H)=1280H。①MOVAX,1250H;__________________寻址方式,(AX)=__________。②MOVAX,ES:[2000H];________________寻址方式,(AX)=__________。③MOVAX,[BP];_________________寻址方式,(AX)=__________。④XCHGAX,[BX+SI+1000H];_________________寻址方式,(AX)=__________。⑤MOVAX,[BX+2500H];________________寻址方式,(AX)=__________。3.执行下列两条指令:MOVBX,9048HSUBBH,BL执行后,各标志位分别为:CF=___,ZF=___,SF=___,OF=___,AF=___。4.在存储器里以______为单位存储信息;在机器里,访问存储器都是以_____为单位进行的,也就是说,机器是以_____(奇或偶)地址访问存储器的5.I/O端口有______________和____________________两种编址方式,8086采用___________________编址方式,最大I/O寻址空间是_______________.6.执行下列指令,写出每条指令执行后右边所示的内容:MOVAL,28HADDAL,68H;(AL)=______,CF=_______,AF=_________。DAA;(AL)=_______。三、改错题(15分)下列程序求一组带符号字节数据的平均值,数据的首地址为DATA,数据个数存放在CNT单元,但程序有逻辑错误,请将错误改正过来。1DSEGSEGMENT2DATADB100.-100,90,20,-120,603CNTDW0005H4AVERDB?5DSEGENDS6CSEGSEGMENT7ASSUMECS:CSEG,DS:DSEG8MAINPROCFAR9PUSHDS10XORDX,DX11PUSHDX12MOVAX,DS13MOVDS,AX14MOVSI,OFFSETDATA15MOVCX,OFFSETCNT16AGAIN:ADDDL,[SI]17ADCDH,018DECCX19LOOPAGAIN20DIVCL21MOVAVER,AL22RET23MAINENDP24CSEGENDS25ENDMAIN四、简单程序设计题(每小题5分,共10分)用尽可能少的指令实现完成下列功能的程序片段。1.假设在数据段中有一字符串string1,其长度为20,要求把它们传送到附加段string2中,假设DS和ES都初始化在同一数据段中。2.DX:AX中双字数据算术右移n位,n值在CL中。五.阅读下列程序,回答后面的问题:(10分)DATASEGMENTDATA1DB85H,27H,4AHDATA2DB93H,87H,65HLEGHDW3SUMDB0,0,0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,DATA1LEABX,DATA2LEADI,SUMMOVCX,LEGHCLCAGAIN:MOVAL,[SI]ADCAL,[BX]MOV[DI],ALINCSIINCBXINCDILOOPAGAINMOVAH,4CHINT21HCODEENDSENDSTART请回答:(1)该程序完成什么功能?(2)程序中的INCSI可否用指令ADDSI,1代替,为什么?(3)程序中的指令LEASI,DATA1可用指令()代替。(4)CLC指令的目的是()。六、程序设计题(要求:写出完整的汇编语言源程序,并给出适当的注释,15分)设在数据段中有一字数组:3,5,15,23,37,49,52,65,78,99,105,并且已按从小到大的顺序存储,该数组的首地址和末地址分别为Array_head和Array_end,要求编写程序,将数N=55插入该数组的正确位置,使得插入N后数组仍按从小到大的顺序存储。DataSegmentXDW?Array_headDW3,5,15,23,37,49,52,65,78,99Array_endDW105NDW55DataEnds====《汇编语言程序设计》模拟试卷02====一填空(每空1分,共30分)1.225D=()B=()H2.已知X=-1011011,求[X]补=()。3.已知[X]补=11010101,则X=()D。4.8086CPU在取指令时,会选取段寄存器()的值作为段基值,再加上由()提供的偏移地址形成20位的物理地址。5.地址2000H:0480H,其物理地址是(),段地址是(),偏移量是()。6.按存储器的位置,可以将存储器分为和。7.汇编语言程序的建立及汇编过程为:先用()产生源程序,然后用()产生目标程序,最后用(0产生可执行文件。8.执行下列两条指令:MOVBX,9048HSUBBH,BL执行后,各标志位分别为:CF=(0,ZF=(),SF=(),OF=(),AF=()。9.对于下面的数据定义:DATA1DW10DATA2DB2,8DATA3DW100DUP(0)请写出下列的MOV指令分别被汇编后的指令形式:MOVBX,((DATA1LT5)AND20)OR((DATA1GE5)AND30);___________________________________。MOVSI,TYPEDATA2;___________________________________。MOVCX,LENGTHDATA3;________________________________。MOVCX,SIZEDATA3;________________________________。10.在存储器里以()为单位存储信息;在机器里,访问存储器都是以()为单位进行的,也就是说,机器是以()(奇或偶)地址访问存储器的11.I/O端口有()和()两种编址方式,8086采用()编址方式,最大I/O寻址空间是().二选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。每小题2分,共20分)1.用来存放即将执行的指令的偏移地址的寄存器是()。A)SPB)IPC)BPD)CS2.源变址寄存器是()。A)SIB)DIC)SPD)BX3.设SP=1110H,执行PUSHAX后,SP中的内容为()。A)SP=1112HB)SP=110EHC)SP=1111HD)SP=110FH4.语句DA1DB2DUP(3,5,7)汇编后,与该语句功能等同的语句是()。A)DA1DB3,5,7B)DA1DB2,3,5,7C)DA1DB3,5,7,2D)DA1DB3,5,7,3,5,75.下面四个寄存器中,不能用来作为间接寻址的寄存器是()。A)BXB)CXC)BPD)DI6.完成将BX清零,并使标志寄存器CF清零,下面指令错误的是()。A)SUBBX,BXB)XORBX,BXC)MOVBX,0D)ANDBX,0000H7.下面数据传送指令中,正确的是()。A)MOVBUF1,BUF2B)MOVCS,AXC)MOVCL,1000D)MOVDX,WORDPTR[BP+DI]8.下面指令执行后,改变AL寄存器内容的指令是()。A、TESTAL,02HB、ORAL,ALC、CMPAL,BLD、ANDAL,BL9.完成将有符号数BX的内容除以2的正确指令是()。A)SHRBX,1B)SARBX,1C)RORBX,1D)RCRBX,110.指令LOOPZ的循环执行条件是()。A)CX≠0且ZF=0B)CX≠0或ZF=0C)CX≠0且ZF=1D)CX≠0或ZF=1三改正下列程序中的错误(直接在程序中改正)(12分)1.下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。1DATASEGMENT2DD1DB23H3DATAENDS4CODESEGMENT5ASSUMECS:CODE,DS:DATA6START:MOVAX,DATA7MOVDS,AX8LEASI,OFFSETDD19MOVAL,[SI]10MOVCL,411RCRAL,CL12MOV[SI],AL13MOVAH,4CH14INT21H15CODEENDS16ENDSTART2.下面的程序是将内存单元一字节数据乘以10放回单元的程序,找出错误并改正。1DATASEGMENT2DADW343DATAENDS4CODESEGMENT5ASSUMECS:CODE,DS:DATA6START:MOVAX,DATA7MOVDS,AX8MOVSI,OFFSETDA9MOVAL,[SI]10MUL1011MOV[SI],AX12MOVAH,4CH13INT21H14CODEENDS15ENDSTART四程序分析(12分)1.执行完程序后,回答指定的问题。MOVAX,0MOVBX,2MOVCX,50LP:ADDAX,BXADDBX,2LOOPLP问:(1)该程序的功能是:(2)程序执行完成后,(AX)=()。2.执行完程序后,回答指定的问题。BLOCKDB20H,1FH,08H,81H,OFFH…RESULTDB?START:LEASI,BLOCK

1 / 99
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功