• 131.00 KB
  • 2022-04-22 11:41:08 发布

微型计算机原理与接口技术 (张荣标 著) 机械工业出版社 课后答案

  • 33页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'第一章1.选择题(1)C(2)DA(3)C3填空(1)CPU,微型计算机,系统软件,外围设备,微型计算机系统(2)10,3,12(3)阶数(4)10010010B,01000100B,11010110B,FF4EH(5)3F7H,1C3H,243H,277H,4简答题(1)微处理器,微型计算机和微型计算机系统三者有何联系与区别?微处理器是把原来的中央处理单元CPU的复杂电路(包括运算器和控制器)做在一片或几片大规模集成电路的芯片上。把这种微缩的CPU大规模集成电路称为微处理器。微型计算机是以微处理器为核心,再配备上用大规模集成电路工艺制成的存储器和I/O接口就构成了微型计算机。以微计算机为核心,再配备上系统软件、I/O设备、辅助电路和电源就构成了微机系统。微型计算机系统包括硬件和软件了两大部分。(2)试述在计算机中常采用二进制的缘由?(3)简述如何从补码判断真值的符号?(4)BCD码与纯二进制数有何区别?主要区别是二者对应的二进制位所表示的二进制真值不同,(5)试述机器数的定点和浮点数表示形式。第2章2填空题 (1)递增,A7,A5,A3,A1.(2)地址总线的宽度,00000H~0FFFFFH(3)寄存器,运算器,控制器;运算和控制(4)SS,SP(5)MN/MX(6)主频,总线宽度(7)20,163简答题(1)什么是指令周期?什么是总线周期?一个总线周期至少包括几个时钟周期?指令周期是一条指令执行所需的时钟周期,cpu在执行指令过程中,凡需执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问所需的时间称为一个总线周期。一般一个基本的总线周期由4个时钟周期组成。(2)8086CPU在最小模式下构成计算机系统至少应该包括哪几个基本的部分?(3)8086CPU中,标志寄存器包含哪些标志位?各标志位为‘0’,‘1’分别表示什么含义?(4)8086CPU中有哪些通用寄存器和专用寄存器?说明他们的作用。(5)在8086CPU中,已知CS寄存器和IP寄存器的内容分别如下所示,请确定其物理地址.1)CS=1000H,IP=2000H物理地址:CS*16+IP=10000H+2000H=12000H2)CS=1234H,IP=0C00H物理地址:CS*16+IP=12340H+0C00H=12F40H(6)设(AX)=2345H,(DX)=5219H,请指出两个数据相加或相减后,FLAG中状态标志位的状态.相加:CF=0,SF=0,ZF=0,AF=0,OF=0,PF=0相减:0010001101000101 1101001000011001补10101101111001111101000100101110CF=0,SF=1,ZF=0,AF=0,OF=0,PF=0(7)8086CPU工作在最小模式下:访问存储器要利用:M/IO、ALE、BHE、RD、WR、DT/R、DEN、READY和数据、地址总线。访问I/O要利用:M/IO、ALE、BHE、RD、WR、DT/R、DEN、READY和数据、地址总线。当HOLD有效并得到响应时,CPU置高阻的信号有:数据/地址总线、数据状态总线及M/IO、BHE、RD、WR、DT/R、DEN、INTA。第三章P1341.选择题(1)D(2)C(3)A(4)A2.填空题(1)递增(2)60H0(3)1F02CH4.请指出下列指令中源操作数和目的操作数的寻址方式。(1)源操作数为立即寻址,目的操作数为寄存器寻址(2)源操作数为立即寻址,目的操作数为寄存器间接寻址(3)源操作数为寄存器间接寻址,目的操作数为寄存器寻址(4)源操作数为寄存器寻址,目的操作数为寄存器寻址 (5)单一操作数(源操作数)为寄存器寻址(6)单一操作数(目的操作数)为寄存器寻址(7)源操作数为相对基址变址寻址,目的操作数为寄存器寻址(8)源操作数为寄存器间接寻址,目的操作数为寄存器寻址(9)源操作数为立即寻址和寄存器寻址,目的操作数寄存器寻址(10)单一操作数为段间直接寻址(相对变址寻址)5.请写出如下程序片段中每条逻辑运算指令执行后标志ZF、SF、和PF的状态:MOVAL,0AH;各标志位保持不变ANDAL,0FH;ZF=0SF=0PF=1ORAL,04BH;ZF=0SF=0PF=1XORAL,AL;ZF=1SF=0PF=16.请写出如下程序片段中每条算术运算指令执行后标志CF、ZF、SF、OF、PF和AF的状态:MOVAL,54H;各标志位保持不变ADDAL,4FH;CF=0ZF=0SF=1OF=1AF=1PF=1CMPAL,0C1H;CF=1ZF=0SF=1OF=0AF=0PF=1SUBAL,AL;CF=0ZF=1SF=0OF=0AF=0PF=1INCAL;CF=0ZF=0SF=OF=0AF=0PF=07.(DS)=3000H,(SS)=1500H,(SI)=010CH,(BX)=0870H,(BP)=0500H,指出下列指令的目的操作数字段寻址方式,并计算目的操作数字段的物理地址。(1)MOV[BX],CX目的操作数为寄存器间接寻址目的操作数的物理地址为:DS×16+0870H=30870H (2)MOV[1000H],BX目的操作数为直接寻址目的操作数的物理地址为:DS×16+1000H=31000H(3)MOV[BP],BX目的操作数为寄存器间接寻址目的操作数的物理地址为:SS×16+0500H=15500H(4)MOV[BP+100],CX目的操作数为寄存器相对寻址目的操作数的物理地址为:SS×16+0500H+64H=15564H(5)MOV[BX+100][SI],CX目的操作数为相对基址加变址寻址目的操作数的物理地址为:DS×16+0870H+64H+010CH=309E0H8.指出如下指令哪些是错误的,并说明原因:(1)MOV[SP],BX错。(2)MOVCS,BX错。CS寄存器不能赋值,要由装入程序确定(3)POPCS错。CS寄存器不能赋值,要由装入程序确定(4)JMPBX对。(5)SUB[BP+DI-1000],AL 错。偏移量不能为负。但编译能通过。(6)SHLAX,CX错。源操作数最大为255,只能是CL,不能是CX(7)XCHGES:[BX],AL对。(8)LEAAX,[BX+DI]对。9.已知(SS)=2800H,(SP)=0010H,(AX)=0FA0H,(BX)=1002H,下列指令连续执行,请指出每条指令执行后SS、SP、AX、BX寄存器中的内容是多少?PUSHAX;(SS)=2800H,(SP)=000EH,(AX)=0FA0H,(BX)=1002HPUSHBX;(SS)=2800H,(SP)=000CH,(AX)=0FA0H,(BX)=1002HPOPAX;(SS)=2800H,(SP)=000EH,(AX)=1002H,(BX)=1002HPOPBX;(SS)=2800H,(SP)=0010H,(AX)=1002H,(BX)=0FA0H10.阅读下列各小题的指令序列,在后面空格中填入该指令序列的执行结果。(1)MOVBL,26HMOVAL,95HADDAL,BLDAAAL=21HBL=26HCF=1(2)MOVAX,1E54HSTCMOVDX,95 XORDH,0FFHSBBAX,DXAX=1EF5HCF=111.已知程序段如下:CMPAX,BXJNCK1JNOK2JMPK3假设有以下三组AX、BX值,那么在程序执行后,分别转向哪里?(1)(AX)=0E301H,(BX)=8F50H转向K1(2)(AX)=8F50H,(BX)=0E301H转向K2(1)(AX)=147BH,(BX)=80DCH转向K3第四章P1831.选择题(1)CB(2)B(3)B(4)D3.(1)DATA1EQUTHISBYTEDA1DW1234H,567H,89ABH (2)DATA2DW56H,0BCH,79H,14H(3)DATA3DB6DUP(‘c’),2DUP(3,3,1),20DUP(?)(4)STRINGDB‘HELLOWORLD!’4.DATA1DB00H,0AH,10HDATA2DB15DUP(04H,3DUP(08H),09H)DATA3DW6577H,636CH,6D6FH5.LEABX,TABLEMOVBX,OFFSETTABLE8.(1)宏展开:+PUSHAX+MOVAX,AX+SUBAX,AX+CMPAX,0+JGENEXT(0014)+MOVBX,AX+POPAX(2)调用无效。语法错误(立即数的使用)。(3)宏展开:+PUSHAX+MOVAX,[BX+SI] +SUBAX,[BX+SI+X]+CMPAX,0+JGENEXT(0025)+MOVCX,AX+POPAX调用无效。相对基址加变址寻址方式形成的值在汇编时是不知道的。11.CMPNMACROX,Y,SUMPUSHAXPUSHDXMOVAL,XCMPAL,YJNCK1MOVDL,5MULDLADDAX,YJMPK2K1:MOVAL,YMOVDL,5MULDLADDAX,XK2:MOVSUM,AXPOPAX ENDM12.DSEGSEGMENTCHARDB61DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTARTPROCFARMOVAX,DSEGMOVDS,AXMOVDX,OFFSETCHARMOVAH,0AHINT21HMOVDX,OFFSETCHARMOVAH,09HINT21HMOVAH,4CHINT21HSTARTENDPCSEGENDSENDSTART微机原理第五章部分习题答案4、试编写一汇编程序,要求实现将ASCII码表示的两位十进制数转换为一字节二进制数。 DATASEGMENTASCDB36H,35HASCENDDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATADECIBINPROCFARMOVAX,DATAMOVDS,AXMOVBX,OFFSETASCMOVAL,[BX]CMPAL,30HJLEXITCMPAL,39HJGEXITSUBAL,30HMOVDL,[BX+1]CMPDL,30HJLEXITCMPDL,39HJGEXIT SUBDL,30HMOVCL,10MULCLADDAL,DLMOVASCEND,ALEXIT:MOVAH,4CHINT21HDECIBINENDPCODEENDSENDDECIBIN5.某存储区中存有20个单字节数,试编写一汇编语言分别求出其绝对值并放回原处。DSEGSEGMENTMUMDB1,2,3,-9,0,7,5,-4,-7,-11,34,-67,-44,-51,1,3,6,8,9,3DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTARTPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DSEG MOVDS,AXMOVCX,20MOVSI,OFFSETMUMLP1:MOVAL,[SI]ANDAL,ALJNSDONENEGALDONE:MOV[SI],ALINCSILOOPLP1MOVAH,4CHINT21HSTARTENDPCSEGENDSENDSTART6、试编写一汇编程序,将AX中的各位取反,然后统计出AX中“0”的个数,将结果保存到CL中。CODESEGMENTMAINPROCFARASSUMECS:CODESTART:MOVAX,0E001H MOVDL,0MOVCL,16NOTAXRETEST:ANDAX,AXJSSKIPINCDLSKIP:SHLAX,1LOOPRETESTMOVCL,DLEXIT:MOVAH,4CHINT21HMAINENDPCODEENDSENDSTART12已知a1~a20依次存放在以BUF为首址的数据区,每个数据占两个字节,SUM也是两个字节。试编程计算SUM=a1+a2+a3+...+a20DATASEGMENTDATDW0,1,8,27,64,-9,-5,6,77,-5,55,88,99,33,55,1,3,5,6,87SUMDW?DATAENDSCODESEGMENT MAINPROCFARASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,0MOVSUM,AXMOVSI,OFFSETDATMOVCX,20LP1:ADDAX,[SI]INCSIINCSILOOPLP1MOVSUM,AXMOVAH,4CHINT21HMAINENDPCODEENDSENDSTART14编一字程序,计算f(t)=at3+bt2+ct+d。设a,b,c,d,t均为一位十进制数,结果存入RESULT单元。 DATASEGMENTAA1DB8BBBDB5CCCDB5DDDDB5TTTDB2QQQDW3DUP(?)RESULTDW?DATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETQQQMOVBL,TTTMOVBH,0MOVAX,BXMULBXMOV[SI],AX;存t2MULBX MOV[SI+2],AX;存t3MOVAL,AA1MOVAH,0MULWORDPTR[SI+2]MOVRESULT,AXMOVAL,BBBMOVAH,0MULWORDPTR[SI]ADDRESULT,AXMOVAL,CCCMULTTTADDRESULT,AXMOVAL,DDDMOVAH,0ADDRESULT,AXMOVCX,RESULTMOVAH,4CHINT21HMAINENDPCODEENDSENDSTART 15求出前20个Fibonacci数,存入数据变量FN开始的区域中。Fibonacc数的定义为:f0=0,f1=1,fn+2=fn+fn+1DATASEGMENTF1DW0F2DW1FNDW20DUP(?)RESULTDW?DATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,18MOVAX,F1MOVBX,F2MOVSI,OFFSETFNMOV[SI],AXINCSIINCSI MOV[SI],BXLL:ADDAX,BXADDSI,2MOV[SI],AXMOVBX,[SI-2]LOOPLLMOVAH,4CHINT21HMAINENDPCODEENDSENDSTART第七章1,(1)B(2)CD(3)B2,(1)0100:48B00100:48B34(2)857(3)中断请求、中断判优、中断响应、中断服务、中断返回4,PORT0EQU40HPORT1EQU41H;设置I/O地址号为40H和41HMOVAL,13HMOVDX,PORT0 OUTDX,AL;设置ICW1命令字边沿触发方式,单片无级联,需要设置ICW4INCDX;DX增1,为设置下面的命令字做准备MOVAL,08HOUTDX,AL;设置ICW2,中断类型号为从08H开始的8个MOVAL,09HOUTDX,AL;设置ICW4一般EOI缓冲方式,全嵌套方式5,MOVDX,1207HINAL,DXORAL,01011000B(或者58H)OUTDX,AL7,(1)主片:08H~0FH从片:80H~87H(2)译码器输入可任选6个地址信号,从片的INT输入可以任选主片除IR5的中断源,下面的程序中选的是IR2 (3)主片初始化程序:MOVAX,00HMOVDS,AXMOVBX,0DH*4MOVAX,1260HMOVDS:[BX],AXMOVAX,4310HMOVDS:[BX+2],AXMOVAL,11HOUT30H,ALMOVAL,08HOUT31H,ALMOVAL,04HOUT31H,ALMOVAL,1DHOUT31H,AL从片初始化程序:MOVAX,00HMOVDS,AXMOVBX,85H*4 MOVAX,2340HMOVDS:[BX],AXMOVAX,4310HMOVDS:[BX+2],AXMOVAL,11HOUT36H,ALMOVAL,80HOUT37H,ALMOVAL,02HOUT37H,ALMOVAL,01HOUT37H,AL微机原理习题第8章部分答案2、I/O接口的主要功能有哪些?一般有哪两种编址方式?两种编址方式各自有什么特点?I/O接口的主要功能有:(l)解决CPU与外设之间速度不匹配问题(2)实现信号电平的转换(3)实现信号格式的转换I/O端口的编址方式有两种:统一编址方式和独立编址方式。(1)统一编址方式(存储器映像寻址) 优点:1)简化了指令系统的设计,在微处理器指令集中不必包含I/O操作指令;2)访问I/O设备的指令类型多、功能强,能用访问存储器指令,对I/O设备进行方便、灵活的操作;3)I/O地址空间可大可小,能根据实际系统上的外设数目来调整。缺点:I/O端口占用了存储单元的地址空间,且I/O译码电路变得较复杂。其次,访问存储器的指令一般要比较长,这样延长了输入输出操作时间。(2)独立编址方式优点:1)可读性好,输入输出指令和访问存储器的指令有明显的区别,使程序清晰;2)I/O指令长度短,执行的速度快,占用内存空间少;3)I/O地址译码电路较简单。缺点:CPU指令系统中必须有专门的IN和OUT指令,而且这些指令的功能没有访问存储器的指令强。4、什么是直接存储器存取方式(DMA)?DMA控制器在CPU与外设的数据传送过程中发挥怎样的作用?直接存储器传送DMA指将外设的数据不经过CPU直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。DMA控制器的功能:(1)能向CPU发出总线请求信号(2)能实行对总线的控制(3)能发送地址信号并对内存储器寻址(4)能修改地址指针 (5)能向存储器和外设发出读/写控制信号(6)能判断DMA传送是否结束(7)能发出DMA过程结束信号,使CPU能正常工作7、在8086微机系统中,有一外设的接口地址为2A8H~2AFH,请用74LS128译码器设计符合要求的地址译码电路.9、一个采用查询式数据传送的输出接口,其数据端口地址为300H,状态端口地址为301H,外设状态位用D7位表示。如果要将存储器缓冲区DATA中的200个字节数据通过该输出口输出,画出流程图,编写控制程序段。程序段为:LEASI,DATAMOVCX,200LP1:MOVDX,301HNR:INAL,DXSHLAL,1JNCNRDECDXMOVAL,[SI]OUTDX,ALINCSI LOOPLP1微机原理第9章部分习题答案1、(1)D(2)C(3)B(4)D2、填空题(1)3,基本输入/输出方式,选通输入/输出方式,双向总线I/O方式(2)外设响应信号(3)方式选择控制字,置位/复位控制字(4)中断允许信号,PC63、设8255A的端口A和B均工作与方式1,端口A输出,端口B和C为输入,端口A地址为00C0H。(1)写出工作方式控制字。0AFH(2)编写8255A的初始化程序。MOVDX,00C3HMOVAL,0AFHOUTDX,AL(3)若要用置位/复位方式将PC2置为1,PC7清0,试写出相应程序。MOVDX,00C3HMOVAL,05HOUTDX,ALMOVAL,0EHOUTDX,AL 4、现拟用8255A设计一个3X3的键盘,并通过发光二极管显示按键状态。要求该键盘能表示数字1~9,且按下1~8按键时,有一个相应的发光二极管点亮,若按下按键9,则8个二极管同时发亮。设计并画出相应接口电路。字号:大大中中小小微机原理第十章部分习题答案3、试编程,要求将8253计数器0设置为方式0,计数初值为3000H,计数器1设置为方式2,计数初值为2010H,计数器2设置为方式4,计数初值为4030H。假设端口地址为284H~287HMOVAL,30H;计数器0MOVDX,287HOUTDX,ALMOVDX,284HMOVAL,00HOUTDX,ALMOVAL,30HOUTDX,ALMOVAL,74H;计数器1MOVDX,287HOUTDX,ALMOVDX,285HMOVAL,10HOUTDX,AL MOVAL,20HOUTDX,ALMOVAL,0B8H;计数器2MOVDX,287HOUTDX,ALMOVDX,286HMOVAL,30HOUTDX,ALMOVAL,40HOUTDX,AL4、8253利用软件产生一次性中断,最好采用哪种方式?若将计数初值送到某端口的计数值寄存器后经过20ms产生一次中断,如何进行编程?设时钟频率CLK为1MHz。N=20000MOVAL,38H;计数器0方式4MOVDX,287HOUTDX,ALMOVDX,284HMOVAX,20000;初值为20000OUTDX,AL MOVAL,AHOUTDX,AL字号:大大中中小小微机原理第十一章部分习题答案4、设计一个采用异步通信方式输出字符的程序段。规定波特率因子为64,7位数据位,1位停止位,偶校验,端口地址为60H,62H,缓冲区为2000H~3000H。MOVAL,0MOVDX,62HOUTDX,ALOUTDX,ALOUTDX,ALMOVAL,40H;送控制口3个0和40H复位OUTDX,ALMOVAL,01111011B;方式字,1停止,偶校验,7位,异64OUTDX,ALCALLDELAY;延时MOVAL,00000001B;控制字,允许发送OUTDX,ALDELAY CALLSEND┇SENDPROCNEAR PUSHAXPUSHCX PUSHSIMOVSI,00HMOVCX,80HAGAIN:MOVDX,309HINAL,DXTESTAL,81H;测TxRDY,DSR位(数据设备准备好)JZAGAINMOVAL,ADAT[SI]DECDXOUTDX,ALINCSILOOPAGAINPOPSIPOPCXPOPAXRETSENDENDPDELAYMACROMOVCX,02TIME:LOOPTIME字号:大大中中小小微机原理第十二章部分习题答案1、采用DMA方式为什么能进行高速数据传送? 答:采用DMA方式传送数据时,不需要CPU的干预,数据的传送完全由硬件控制,即不需要CPU产生地址信息、数据信息、控制信息以及进行来回传送数据的指令操作,从而使数据传送速度达到硬件所允许的最快速度。8、试编写程序段,要求利用8237A在存储区的两个区域BUF1和BUF2之间直接传送数据,传送的长度为64KB。用通道0取BUF1中数,用通道1写入BUF2中DMAEQU0000H;DMA起始端口地址MOVAL,04HMOVDX,DMA+08H;控制寄存器端口OUTDX,AL;设控制字,禁止8237A工作MOVDX,DMA+0DH;复位命令端口OUTDX,AL;发复位命令MOVDX,DMA+00H;通道0地址寄存器端口MOVAX,BUF1;源数据区首址OUTDX,AL;写入地址低8位MOVAL,AHOUTDX,AL;写入地址高8位MOVDX,DMA+02H;通道1基地址与当前地址MOVAX,BUF2;目的数据区首址OUTDX,AL;写入地址低8位MOVAL,AHOUTDX,AL;写入地址高8位MOVDX,DMA+03H;通道1基计数与当前字节计数MOVAX,0FFFFH OUTDX,AL;写入初始值低8位MOVAL,AHOUTDX,AL;写入初始值高8位MOVDX,DMA+0CH;先/后触发器端口OUTDX,AL;清先/后触发器端口MOVDX,DMA+0BH;方式寄存器端口MOVAL,88HOUTDX,AL;设通道0方式字,数据块读增量MOVDX,DMA+0CHOUTDX,AL;清先/后触发器端口MOVDX,DMA+0BH;方式寄存器端口MOVAL,85HOUTDX,AL;设通道1方式字,数据块写增量MOVDX,DMA+0CHOUTDX,AL;清先/后触发器端口MOVDX,DMA+0FH;主屏蔽字端口MOVAL,0CHOUTDX,AL;屏蔽通道2、3MOVDX,DMA+0CHOUTDX,AL;清先/后触发器端口MOVDX,DMA+08H;控制寄存器端口 MOVAL,01HOUTDX,AL;设控制字,允许存储器到存储器,启动8237A工作MOVDX,DMA+0CHOUTDX,AL;清先/后触发器端口MOVDX,DMA+09H;请求寄存器端口MOVAL,04HOUTDX,AL;向通道0发出DMA请求MOVDX,DMA+08H;读状态寄存器端口AA1:INAL,DXJZAA1MOVDX,DMA+0CHOUTDX,AL;清先/后触发器端口MOVDX,DMA+09H;请求寄存器端口MOVAL,00HOUTDX,AL;通道0撤销DMA请求MOVDX,DMA+0CHOUTDX,AL;清先/后触发器端口MOVDX,DMA+08H;设控制字MOVAL,04HOUTDX,AL;禁止8237A工作HLT '

您可能关注的文档