微机与接口作业答案ppt课件_第1页
微机与接口作业答案ppt课件_第2页
微机与接口作业答案ppt课件_第3页
微机与接口作业答案ppt课件_第4页
微机与接口作业答案ppt课件_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机与接口作业参考答案,1,第一章,1-1、什么是机器码(数)?什么是真值?连同一个符号位在一起作为一个数,就称为机器码(数);而机器数所代表的数值称为该机器数的真值。1-2、计算机发展至今,经历了哪几代?计算机的发展根据其采用逻辑器件的组成情况,到目前为止已经经历了四代。第一代:电子管计算机第二代:晶体管计算机第三代:中小规模集成电路计算机第四代:大规模和超大规模集成电路计算机1-3、微型计算机的发展以CPU字长的发展为标志。,2,1-4、微机系统由哪几部分组成?微处理器、微机、微机系统的关系是什么?一个完整的微机系统应该包括硬件和软件两大部分。微机是微机系统的硬件部分,微处理器是微机的核心器件。1-5、微处理器由哪几部分组成?各部分的功能是多少?微处理器由运算器和控制器组成。运算器又称为算术逻辑单元ALU,功能是完成数据的算术和逻辑运算。控制器一般由指令寄存器、指令译码器和控制电路组成。其功能是根据指令的要求,对微机各部件发出相应的控制信息,使它们协调工作,从而完成对整个计算机系统的控制。,3,1-6、什么是单片机和单板机?单片机:将CPU、内存和I/O接口集成在一片硅片上单板机:将CPU、内存和I/O接口电路安装在一块印刷电路板上1-7、什么是微机的系统总线?有几种?功能是什么?系统总线是传送信息的公共导线。包括地址总线(AB):传送地址信息的总线。单向:从CPU到内存单元或I/O端口地址数据总线(DB):传送数据信息的总线。双向控制总线(AB):传送控制信息的总线。单向或双向,视情况而定。1-8、何为引脚的分时复用?如何从8088的地址、数据复用引脚准确地得到地址和数据信息?引脚的分时复用是指该引脚在不同时刻传送不同的信息。当CPU访问内存或I/O设备时,在AD7AD0上首先出现的是被访问的内存单元或I/O设备某端口的地址信息的低8位。然后,在这些线上就出现CPU进行读写的8位数据。,4,1-9、标志寄存器的功能及各种标志的意义是什么?进位标志和溢出标志的区别是什么?(答案略)1-10、查表得出下列字符ASCII码:回车、换行、空格、$、/、*、9、A、B、a、b。回车:0AH换行:0DH空格:FFH$:24H/:2FH*:2AH9:39HA:41HB:42Ha:61Hb:62H1-11、写出下列数表示的无符号数和带符号数的范围。(1)8位二进制数:0255,-128+127(2)16位二进制数:065535,-32768+32767,5,1-12、用8位和16位二进制数,写出下列数的原码、反码和补码。(1)+1(2)-1(3)+45(4)-45(5)+127(6)-1288位:,6,1-12、用8位和16位二进制数,写出下列数的原码、反码和补码。(1)+1(2)-1(3)+45(4)-45(5)+127(6)-12816位:,7,1-13、微机某内存单元的内容为C5H,若它表示的是一个无符号数,该数对应的十进制数是多少?若它表示的是一个带符号数,该数对应的十进制数是多少?197;-591-14、将下列十进制数分别转化为二进制数(保留4位小数)、十六进制数(保留1位小数)和压缩BCD数(1)125.74(2)513.85(3)742.24,8,1-15、(1)将下列二进制数分别转化为十进制数和十六进制数1)101011.1012)110110.11013)1001.110014)100111.0101,9,(2)将下列十六进制数分别转化为二进制数和十进制数1)5A.262)143.B53)6AB.244)E2F3.2C,1-16、求A95BH与8CA2H之和;并写出运算后标志寄存器中SF、ZF、CF、OF、PF、AF的值。35FDH;SF=0,ZF=0,CF=1,OF=1,PF=0,AF=0,10,1-17、8088执行一条指令所需的时间被称为(指令)周期,而总线周期是指(CPU从存储器或I/O端口存取一个字节的时间)。8088典型的总线周期由(4)个T组成。若8088的CLK引脚接5MHz的时钟信号,则每个T状态的持续时间为(200ns)。1-18、请简述8088CPU的内部结构各分为哪些模块及其功能。EU和BIU。功能略。1-19、在进行存储器寻址时,什么是8088的逻辑地址和物理地址?其16位的有效地址和20位的物理地址是在何处和如何形成的?(答案略)1-20、在8088的工作过程中,什么情况下会产生Tw?它发生在什么具体时刻?(答案略)1-21、8088CPU数据总线和地址总线各是多少?其最大存储空间是多少字节?8;20;1MB,11,1-22、8088CPU中指令队列起什么作用?其长度是多少字节?作用:暂存从存储器中取出的指令;4个字节1-23、简述CPU执行程序的工作原理。(答案略)1-24、8086/8088CPU中,存储器为什么要分段?一个段最大为多少字节?最小为多少字节?由于8086/8088提供20位的地址总线,可寻址1MB的存储空间,而8086/8088内部寄存器都是16位的,其寻址范围只能为64KB的范围,因此,为能达到对存储器寻址的20位物理地址,将1MB的存储空间划分成若干逻辑段。一个段最大为64KB;最小为16B。,12,1-25、已知某存储单元的逻辑地址为1F00:38A0H,其对应的物理地址是多少?228A0H1-26、已知存储器物理地址为78A00H,计算它对应的逻辑地址。此结果唯一吗?78A0:0000H;不唯一1-27、设当前数据段位于存储器的A8000H到B7FFFH,DS段寄存器的内容是什么?A800H,13,1-28、若CS=8000H,则当前代码段可寻址的存储空间的范围是多少?80000H8FFFFH1-39、8088CPU的最大模式和最小模式的主要区别是什么?8088CPU工作在最小模式时,系统只有一个微处理器,且系统所有的控制信号全部由8088CPU提供。8088CPU工作在最大模式时,系统是由多个微处理器/协处理器构成的多机系统,控制信号通过总线控制器产生,且系统资源由各处理器共享。,14,第二章,2-1、说明以下各指令的源操作数属于何种寻址方式MOVAX,BP;寄存器间接寻址MOVDS,AX;寄存器寻址MOVDI,0FF00H;立即寻址MOVBX,2100H;直接寻址MOVCX,SI+5;变址寻址MOVAX,TABLEBPDI;基址-变址寻址MOVDX,COUNTBX;基址寻址,15,2-2、已知有关寄存器中的内容为:(DS)=0F100H,(SS)=0A100H,(SI)=1000H,(DI)=2000H,(BX)=3000H,(BP)=4000H.偏移量TABLE=0AH,COUNT=0BH,说明题2-1中第1小题和第47小题指令源操作数的物理地址。1、SS+BP=0A1000H+4000H=0A5000H4、DS+2100H=0F1000H+2100H=0F3100H5、DS+SI+5=0F1000H+1000H+5H=0F2005H6、SS+TABLE+BP+DI=0A1000H+0AH+4000H+2000H=0A700AH7、DS+COUNT+BX=0F1000H+0BH+3000H=0F400BH,16,2-3、某一个存储单元的段基址为ABCDH,偏移地址为ABCDH,其物理地址是多少?另一个存储单元的物理地址为F1000H,偏移地址为FFF0H,其段基址是多少?ABCD0H+ABCDH=B689DHF1000H-FFF0H=E1010H,所以段基址E101H,17,2-4、将偏移地址为5000H的存储单元的一个字传送到6000H单元,要求源操作数和目标操作数分别采用以下寻址方式。直接寻址寄存器间接寻址1、MOVAX,5000HMOV6000H,AX2、MOVSI,5000HMOVDI,6000HMOVAX,SIMOVDI,AX,18,2-5、说明以下8086/8088指令是否正确,如果不正确,简述理由。MOVAL,SI;错,源和目标操作数类型不匹配MOV1001H,1000H;错,存储器操作数不应该同时为源和目标操作数MOVDS,2000H;错,段寄存器DS不能用立即数赋值MOVCS,AX;正确,但一般不用PUSH5000H;错,PUSH指令的操作数不能为立即数POPDL:错,POP操作数只能为16位INAX,1234H;错,口地址超过8位时,不能采用直接寻址方式XCHGBX,0F000H;错,XCHG指令的操作数不能为立即数,19,2-6、阅读以下程序段,说明其运行结果。MOVBX,0F100H;(BX)=0F100HMOVBH,BX;(BH)=A=41HMOVAH,BX;(AH)=4100H=B=42H初值:(F100H)=A,(4100H)=B结果:(AH)=42HMOVSI,2100H;(SI)=2100HMOV2800H,SI;2800H=2100H,2801H=21HMOVSP,2800H;(SP)=2800HPOPDI;(DI)=2100H,(SP)=2802H结果:(DI)=2100H,(SP)=2802H,20,MOVSI,2000H;(SI)=2000HMOVDI,3000H;(DI)=3000HMOVSP,0FF00H;(SP)=0FF00HPUSHSI;SI入栈PUSHDI;DI入栈XCHGSI,DI;(SI)=3000H(DI)=2000HMOVAL,SI;(AL)=a=61HMOVBL,DI;(BL)=1=31HPOPSI;从堆栈弹出一个字到SI,(SI)=3000HPOPDI;从堆栈弹出一个字到DI,(DI)=2000H初值:(2000H)=1,(3000H)=a结果:(SI)=3000H,(DI)=2000H,(AL)=61H,(BL)=31H,(SP)=0FF00H,21,2-7、用8086/8088指令编写程序段,分别实现以下要求:1.将AL和BL寄存器的内容互换。XCHGAL,BL2.将1000H和1001H内存单元中的字节互换MOVAL,1000HXCHGAL,1001MOV1000H,AL,22,3.将2000H和2100H内存单元中的字互换MOVAX,2000HXCHGAX,2100HMOV2000H,AX或者:PUSH2000HPUSH2100HPOP2000HPOP2100H,23,4.将BL、CL和DL三个寄存器的内容互换,BLCLDLXCHGBL,CL;(CL)=(BL),(BL)=(CL),XCHGBL,DL;(BL)=(DL),(DL)=(BL)=(CL)或者:MOVAL,DL;(AL)暂存(DL)的内容MOVDL,CL;(DL)(CL)MOVCL,BL;(CL)(BL)MOVBL,AL;(BL)(AL)=(DL),24,2-8、将首地址为3000H的100个存储单元的内容传送到首地址为3100H的内存区。MOVSI,3000HMOVDI,3100HMOVCX,100AGN:MOVAL,SIMOVDI,ALINCSIINCDIDECCXJNZAGNHLT,25,2-9、说明以下8086/8088指令是否正确,如果不正确,简述理由。ADDBL,0F100H;错,源和目标操作数类型应该相同SUBES,20H;错,ES不能为段寄存器AND0FH,AL;错,立即数不能为目标操作数CMPSI,DI;错,源和目标操作数不应该都是存储器操作数INC2000H;错,INC指令的操作数不能使立即数MULBL,CL;错,MUL指令只有一个操作数DIV08H;错,DIV指令的操作数不能为立即数SALAX,5;错,进行多位移位操作时,移位次数只能放在CX中,26,2-10、已知寄存器AL和BL的内容分别如下,试分析执行ADDAL,BL指令后,寄存器AL以及标志位CF、ZF、SF、AF、OF和PF的内容。,27,2-11、已知寄存器AL和BL的内容分别如下,试分析执行SUBAL,BL指令后,寄存器AL以及标志位CF、ZF、SF、AF、OF和PF的内容。,28,2-12、阅读以下程序段:MOVSI,4000HMOVDI,4100HMOVAL,SIADDAL,DIDAAMOVDI,ALMOVAL,SI+1ADCAL,DI+1DAAMOVDI+1,AL,29,根据给定的初值,说明运行结果初值:(4000H)=63H,(4001H)=54H,(4100H)=88H,(4101H)=29H结果:(4100H)=51H,(4101H)=84H在以上程序段中,当执行ADDAL,DI指令后,但尚未执行DAA指令时,寄存器AL以及标志位CF、ZF、SF、AF、OF和PF的内容分别为多少?(AL)=EBH,CF=0,ZF=0,SF=1,AF=0,OF=0,PF=1在以上程序段中,当第一次执行DAA指令后,寄存器AL以及标志位CF、ZF、SF、AF、OF和PF的内容分别为多少?(AL)=51H,CF=1,ZF=0,SF=0,AF=1,OF=0,PF=0如果在以上程序段中去掉两条DAA指令,但初值不变,则运行结果为:(4100H)=EBH,(4101H)=7DH,30,2-13、阅读以下程序段:START:LEABX,TABLEMOVCL,BXLOOPER:INCBXMOVAL,BXCMPAL,0AHJNCX1ADDAL,30HJMPNEXTX1:ADDAL,37HNEXT:MOVBX,ALDECCLJNZLOOPER,假设从地址TABLE开始,10个存储单元的内容依次为:05H,01H,09H,0CH,00H,0FH,03H,0BH,08H,0AH。依次写出运行以上程序段后,从地址TABLE开始的10个存储单元的内容。05H,31H,39H,43H,30H,46H,03H,0BH,08H,0AH2.简单扼要说明以上程序段的功能。把从TABLE+1开始的5个单元中存放的16进制数码转换成ASCII码,31,2-14、用一条或几条8086/8088指令实现以下要求:1.将AL寄存器清零,但进位标志CF不变。MOVAL,02.将AL寄存器和进位标志CF同时清零。XORAL,AL3.将进位标志CF清零,但AL寄存器内容不变。ANDAL,AL或者ORAL,AL4.将AL寄存器中内容的第0、2、4、6位取反,其余位不变XORAL,01010101B,32,5.将AL寄存器中内容的高4位清零,低4位保留。ANDAL,00001111B6.将AL寄存器中的带符号数(以补码形式存放)取绝对值后存入BL寄存器。ANDAL,ALJNSSTORENEGALSTORE:MOVBL,AL,33,7.统计AX寄存器的内容中“1”的个数,将统计结果存入CL寄存器。MOVCX,16MOVBL,0AGN:RORAX,1JNCAGN1INCBLAGN1:DECCXJNZAGNMOVCL,BL,34,两个不压缩BCD码分别存放在3000H和3001H单元的低4位,高4位均为0。将它们组合成为一个压缩的BCD码,前者放在低4位,后者放在高4位,存放在3002H单元。例如初值为:(3000H)=07H,(3001H)=05H,要求结果为(3002H)=57HMOVAL,3001HMOVCL,4SHLAL,CLADDAL,3000HMOV3002H,AL,35,9.将4000H和4001H单元的两个ASCII码分别转换为相应的十六进制数,然后共同存放在4002H单元,前者放在低4位,后者放在高4位。例如初值为:(4000H)=42H=B,(4001H)=36H=6,要求结果为(4002H)=6BH;转换4000H单元MOVAL,4000HCMPAL,41HJNCX1SUBAL,30HJMPNEXTX1:SUBAL,37H,;转换4001H单元NEXT:MOVAH,4001HCMPAH,41HJNCX2SUBAH,30HJMPNEXT1X2:SUBAH,37HNEXT2:MOVCL,4SHLAH,CLADDAH,AL;存入4002HMOV4002H,AH,36,10.将BL寄存器中的无符号数乘以128,高位放在BH寄存器,低位放在BL寄存器,要求执行速度尽量快(移位和循环指令实现)。;128=27,左移7次可实现XORBH,BHMOVCL,7SHLBX,CL,37,11.将CL寄存器中的带符号数乘以16,高位放在CH寄存器,低位放在CL寄存器,要求执行速度尽量快(移位和循环指令实现)。;16=24,算术左移4次可实现MOVAL,CLCBWMOVCL,4SALAX,CLMOVCX,AX,38,12.一个4位十进制数以压缩BCD码形式存放在偏移地址为DATA和DATA+1的内存单元中,DATA单元存放个位和十位,DATA+1单元存放百位和千位。要求将其转换为相应的ASCII码,存放到以BUFF为首地址的4个内存单元。例如初值:(DATA)=47H,(DATA+1)=92H,要求结果为:(BUFF)=7,(BUFF+1)=4,(BUFF+2)=2,(BUFF+3)=9,39,MOVAX,DATAMOVBX,AXANDAX,0F0FH;转换个位和百位ANDBX,F0F0H;留下十位和千位MOVCL,4SHRBX,CL;转换十位和千位MOVDI,OFFSETDATA+2;存放MOVDI,ALINCDIMOVDI,AHINCDIMOVDI,BLINCDIMOVDI,BH,40,2-15、假设AL寄存器的内容为FEH,BL寄存器的内容为04H,问:执行MULBL指令后,(AX)=03FBH,标志位OF和CF的值是1.执行IMULBL指令后,(AX)=FFF8H,标志位OF和CF的值是02-16、假设AX寄存器的内容为0101H,BL寄存器的内容为0AH,执行DIVBL指令后,(AL)=19H,(AH)=07H2-17、假设AX寄存器的内容为FFF5H(-11),BL寄存器的内容为FEH(-2),执行IDIVBL指令后,(AL)=05H(商+5),(AH)=FFH(余数-1),41,2-18、已知被减数和减数均为包括6个字节的十六进制数,分别存放在首地址为DATA1和DATA2的内存区,低位在前,高位在后。用8086/8088指令编写程序,要求相减以后得到的结果存放在首地址为DATA3的内存区。,42,2-18、MOVSI,0MOVCX,6CLCAGN:MOVAL,DATA1SISBBAL,DATA2SIMOVDATA3SI,ALINCSILOOPAGN,43,2-19、若题2-18中的被减数和减数均为包括6个字节的压缩BCD码(相当于12位十进制数),重新编写程序。并将结果输出到显示器上。2-20、采用8088/8086指令实现以下要求:1、将立即数1001H推入堆栈MOVAX,1001HPUSHAX2、将AX寄存器中的内容带进位循环左移5次。MOVCL,5RCLAX,CL,44,3、将BX寄存器中的带符号数与立即数0BH相乘,所得乘积放在CX寄存器中(假设乘积不超过16位二进制数)MOVAX,0BHIMULBXMOVCX,AX,45,第三章作业答案,3-1、DATADB11H,22H,33H,44H,55H,66H,77H,88HDATADW2211H,4433H,6655H,8877HDATADD44332211H,88776655H3-2、(1)(AL)=10H(2)(BX)=3(3)(SI)=23=17H,46,3-3、DATASEGMENTMEM1DB11H,02H,33H,4AHMEM2DB6AH,89H,44H,6FHSUMDB6DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AX;InitializeDSMOVES,AX;InitializeESLEASI,MEM1;InitialAddressofMEM1toSILEABX,MEM2;InitialAddressofMEM2toBXLEADI,SUM;InitialAddressofSUMtoDIMOVCX,4;repeatingcountis4CLD,47,CLCAGN:LODSBADCAL,BXINCBXMOVDI,ALINCDIDECCXJNZAGNCODEENDSENDSTART,48,3-4、(1)LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPMOVSB(2)LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPECMPSB;若串相等,(AL)=0FFH;否则,(AL)=0JZE1MOVAL,0JMPEXITE1:MOVAL,0FFHEXIT:HLT,49,(3)LEASI,DATA1MOVAL,3SIMOVAH,4SI(4)LEADI,DATA2MOV5DI,ALMOV6DI,AH3-5、TABLEDW10,20,30,40,50ENTRYDW3MOVBX,OFFSETTABLE;(BX)=aADDBX,ENTRY;(BX)=a+3MOVAX,BX;(AX)=1E00H,50,3-6、SHLBX,1RCLAX,1RCLDX,13-7、LEADI,BUFFERMOVCX,50MOVAX,AA55HREPSTOSW3-8、3-9。(略),51,52,4-3、分析:RAM区容量:43FFFH-40000H+1=4000H=100,0000,0000,0000B=214=16KB需要的存储芯片个数:16KB/8KB=2初始地址:40000H=0100,0000,0000,0000,0000B,A19A18A17A16,片内译码,53,54,4-4、分析:需要的存储芯片个数:8KB/2KB=4初始地址:20000H=0010,0000,0000,0000,0000B,55,56,4-5、分析:需要的存储芯片个数:32KB/8KB=4总容量:32K=215=8000H=末地址-始地址+1=FFFFFH-始地址+1所以:始地址=FFFFFH+1-8000H=F8000H,即:始地址为:F8000H=1111,1000,0000,0000,0000B,57,58,4-6、单选题1、以下存储器中,()是计算机的内存A、CD-ROMB、3.5英寸软盘C、使用EPROM的电子盘D、168引脚的32MB存储条2、2764是8K*8的EPROM,其地址线和数据线分别为()A、3,4B、13,4C、13,8D、8,8,59,4-7填空1、DRAM需要刷新的原因是因为DRAM靠(电容)存储电荷,如果不刷新,会因为漏电而失去存储的信息。2、EPROM存储器靠(紫外线)照射,可擦掉原有内容,是每个单元的内容为(FFH)H3、存储器片选引脚,国际上都设计为(低)电平有效。4、IBM-PC的存储器读控制信号为(MEMR),写控制信号为(MEMW),60,4-8、图中SRAM62256的地址范围为多少?答:初始地址:0011,10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论