1微机原理与接口技术试题集部分参考答案一、填空题1、16,202、8,203、7,74、U,V,超级5、高速缓冲存储器(Cache)6、内存,外设7、硬件,软件8、内存,外设9、执行单元(EU),总线接口单元(BIU)10、6,411、分段,数据扩展段,堆栈段12、可执行性指令,指示性指令13、机器指令代码,不产生机器指令代码14、分支程序,循环程序15、顺序程序,子程序16、分支程序,子程序17、循环程序,子程序18、双极型(晶体三极管),单极型(MOS)19、只读存储器(ROM),随机存取存储器(RAM)20、静态存储器(SRAM),动态存储器(DRAM)21、字扩展、字位扩展22、位扩展,字扩展23、位扩展,字位扩展24、全译码法,线译码法25、线译码法,部分译码法26、部分译码法,全译码法27、8k,数据,指令28、保护虚拟地址,虚拟808629、实地址,保护虚拟地址30、实地址,虚拟808631、处理器管理,外部设备管理32、外部设备管理,文件管理33、存储器管理,文件管理34、7230H35、非屏蔽中断,可屏蔽中断36、低,总线控制器(8288)37、高速缓存(Cache),静态存储器(SRAM),动态存储器(SRAM)38、程序查询方式,DMA方式39、初始化40、13,841、21234H42、统一编址,单独编址243、IERT,CS,IP、状态标志寄存器44、地址总线,数据总线,控制总线45、读操作,写操作46、T3,若干个时钟47、6,448、低、总线控制器49、12AAH、0BBCCH50、将DX寄存器的内容逻辑右移4位和将AX寄存器的内容循环右移4位51、0D36AH52、21234H53,CS,IP54、偶地址,奇地址55、1024,00000H,FFFFFH56、13FFH,17FFH,1FFFH,2FFFH57、统一编址,单独编址,单独编址58、256,6553659、程序查询方式,程序中断控制方式,DMA方式60、DX,AL61、低,低,高62、低,高,低63、入口地址,4,偏移地址,段地址64、INTA,2,265、0000H,03FFH,102466、运算器、控制器、存储器和输入输出设备67、CF、OF、ZF、PF、AF、SF68、CPU对存储器或I/O端口完成一次读/写操作所需的时间69、CPU执行到T3状态的下降沿时,CPU检测到READY引脚的信号为“0”时70、总线控制器(8288)71、终止所有操作,进入复位周期72、总线设置准备、启动读控制信号、实现读数据、恢复读前阶段等。73、INTn指令向CPU先提供中断类型号,再由中断类型号自动地引导到中断服务程序74、单工、半双工、全双工75、定时和控制逻辑、命令控制逻辑、优先级控制逻辑和地址/数据缓冲器76、复位、工作方式字、工作命令字、复位77、ICW1、ICW2、ICW3、ICW4,其中ICW1、ICW278、3,6,01110111B79、1680、MODEM81、外存(辅助存储器)82、存储容量83、内部、外部,外部、内部84、85、单极型(晶体三极管)、双极型(MOS型)86、需要定时对动态存储器芯片进行刷新操作387、高速缓存(Cache)88、统一编址、单独编址90、数据、地址、控制91、32、8、32、892、0000H—1FFFH93、0000H、0000H、FFFFH、FFFF0H94、开中断(IF=1)、当前正在执行指令的指令已执行完毕时、0000H、03FFH、中断服务程序的入口地址95、HOLD、HLDA96、复位97、198、中断请求99、INTR100、17101、工作方式控制字、置位/复位控制字102、6103、8104、行扫描、行列扫描105、发送器发送106、无条件传送方式、有条件程序查询方式、程序中断控制方式、DMA方式、107、程序中断控制方式108、存储器、外设109、4、6110、314H、315H、316H111、255、0112、16、16、16、16、8113、EEPROM114、指令、伪指令、寄存器名115、控制116、直接寻址117、系统总线118、800119、可屏蔽中断120、周期交替121、减1计数器122、分辨率(位数)、线性度123、总线控制器(8288)、提高总线驱动能力124、代码段寄存器(CS),程序指针计数器(IP)125、179B8H126、4、5127、CPU常用和正在运行的程序和数据、CPU不常用的程序和数据128、小、快129、无条件传送方式、程序查询传送方式、程序中断控制方式二、单项选择题41、C2、A3、B4、A5、C6、A7、C8、B9、B10、A11、B12、C13、D14、C15、D16、D17、C18、C19、A20、A21、C22、D23、D24、C25、B26、B27、A28、C29、B30、D31、D32、A33、C34、A35、B36、C37、B38、B39、B40、B41、A42、D43、B44、A45、C46、A47、C48、B49、A50、D51、A52、B53、B54、A55、D56、A57、C58、B59、D60、C61、B62、C63、B64、A65、C,H66、D67、C68、D69、D70、A71、B72、B73、A74、E75、C76、A77、B78、B79、B80、C81、A82、B83、D84、C85、C86、A87、D88、D89、D90、D91、C92、C93、C94、A95、D96、C97、D98、B99、C100、B101、A102、C103、D104、D105、C106、E107、B108、C109、B110、A111、D112、C113、B114、D115、C116、A117、B118、C119、D120、D121、D122、B123、A124、C125、D126、D127、D128、C129、C130、B131、C132、B133、D134、A135、C136、D137、A138、C139、D140、D141、C142、B143、A144、B145、C146、B147、A148、B148、C149、C150、D151、A152、C153、A154、D155、A156、B157、A158、D159、A160、D161、D162、C163、D164、D165、B166、A167、D168、D169、B170、D171、B172、B173、B174、B175、A176、D177、C178、A179、A180、D181、D182、C183、B184、C185、D186、A187、B188、A189、C190、D191、D192、D193、B194、A195、D196、B三、指出下列指令书写的错误原因,并用正确的程序段(一条或多条指令)改正。解答:(1)错误:源操作数与目的操作数类型不一致,应改为:MOVBL,AL或者是:MOVBX,AX(2)错误:端口地址大于255时,只能采用间接寻址方式,应改为:MOVDX,356HOUTDX,AL(3)错误:立即数不能直接传送给段寄存器,应改为:MOVAX,100HMOVDS,AX(4)错误:堆栈操作指令只能对字操作,不能对字节操作。应改为:POPBX(5)错误:乘法指令MUL的一个操作数时隐含的,应改为:MULBX(6)错误:MOV指令的两个操作数不能同时来自内存,应该为:MOVAX,[BX]MOV[SI],AX(7)错误:当移位操作指令中的移位数大于1时,移位数应放在寄存器CL中。应该为:MOVCL,55SHRBX,CL四、指令阅读和问答题1题答:(1)直接寻址方式,EA=1234H,PA=11234H(2)直接寻址方式,EA=0100H,PA=10100H(3)相对寄存器寻址方式,EA=0140H,PA=10140H(4)相对基址加变址寻址方式,EA=0195H,PA=20195H2题答:(1)本程序实现的功能是将20H端口的数据进行若干次累加,累加的次数由30H端口的数据大小来决定。(2)结果在累加器AX中(3)START:INAL,20HMOVBL,ALINAL,30HMULBL五、编程题1题参考程序:DATASEGMENTXXDBXYDB?DATAENDSSTACKSEGMENTSTACKDB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAL,XXCMPAL,0JGEBIGRMOVAL,0FFHJMPJUS2BIGE:JGJUS1MOVAL,0JMPJUS2JUS1:MOVAL,1JUS2:MOVYY,ALMOV,AH,4CHINT21HCODEENDSENDSTART2、题DATASEGMENT6ARRAYDWD1,D2,D3,…………..,D100COUNTEQU$-ARRAYSUMDW?DATAENDSSTACKSEGMENTSTACKDB100DUP(?)STACKENDSCODESEGMENTASSSUMECS:CODE,DS:DATA,SS:STACKBIGIN:MOVAX,DATAMOVDS,AXMOVAX,0000HMOVCX,COUNTMOVBX,OFFSETARRAYLOP:ADDAX,[BX]INCBXINCBXLOOPLOP1MOVSUM,AXMOVHA,4CHINT21HCODEENDSENDBIGIN3、题参考程序:DatasegmengArray1dw30dup(?)Mxadw?DataendsStacksegmentDw200dw(?)StackendsCodesegmentAssumecs:code,ds:data,ss:stackMainprocfarStart:pushdsSubax,axPushaxMovax,dataMovds,axSubax,axMovbx,axMovax,array1[bx]Movcx,297Loop1:addbx,2Cmpax,array1[bx]JgenextMovax,array1[bx]Next:deccxLooploop1Movmax,axRetMainendpCodeendsEndstart4、题参考程序:DatasegmentArray1db250dup(?)Countdw?DataendsStacksegmentstackDw300dup(?)StackendsCodesegenmtAssumecs:code,ds:data,ss:stackMainprocfarStart:pushdxSbuax,axPushaxMovax,dataMovds,axXorax,axMovcx,axMovbx,axMovsi,axLoop1:incbxAddax,bxCmpax,1000JgeexitMovarray1[si],bxInccxIncsiJmploop1Exit:Movcount,cxRetMainendpCodeends8Endstart5、题参考程序:DATASEGMENTINPUTDB‘pleaseinput(a~z):$’INPUTDB‘inputerror$’DATAENDSStacksegmentDw200dw(?)StackendsCodesegmentAssumecs:code,ds:data,ss:stackMainprocfarStart:pushdsSubax,axPushaxMOVAX,DATAMOVDS,AXMOVAH,09HMOVDX,SEGINPUTMOVDS,DXMOVDX,OFFSETINPUTINT21HMOVAH,01HINT21HCMPAL,61HJBLOPCMPAL,7AHJALOPSUBAL,20HMOVDL,ALMOVAH,02HINT21HJMPEXEITLOPT:MOVAH,09HMOVDX,SEGINPUT1MOVDS,DXMOVDX,OFFSETINPUT1INT21HEXEIT:RETCODE