- 663.92 KB
- 2022-04-22 11:46:12 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'李伯成《微机原理》习题第一章本章作业参考书目:①薛钧义主编《微型计算机原理与应用——Intel80X86系列》机械工业出版社2002年2月第一版②陆一倩编《微型计算机原理及其应用(十六位微型机)》哈尔滨工业大学出版社1994年8月第四版③王永山等编《微型计算机原理与应用》西安电子科技大学出版社2000年9月1.1将下列二进制数转换成十进制数:X=10010110B=765432111*2+0*2+0*2+1*2+0*2+1*2+1*2+0*2=128D+0D+0D+16D+0D+0D+4D+2D=150DX=101101100B876543210=1*2+0*2+1*2+1*2+0*2+1*2+1*2+0*2+0*2=256D+0D+64D+32D+0D+16D+4D+0D=364DX=1101101B=65432101*2+1*2+0*2+1*2+1*2+0*2+1*2=64D+32D+0D+8D+4D+0D+1D=109D1.2将下列二进制小数转换成十进制数:(1)X=0.00111B=-1-2-3-4-50*2+0*2+1*2+1*2+1*2=0D+0D+0.125D+0.0625D+0.03125D=0.21875D(2)X=0.11011B=-1-2-3-4-51*2+1*2+0*2+1*2+1*2=0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D(3)X=0.101101B=-1-2-3-4-5-61*2+0*2+1*2+1*2+0*2+1*2=0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D1.3将下列十进制整数转换成二进制数:(1)X=254D=11111110B(2)X=1039D=10000001111B(3)X=141D=10001101B1.4将下列十进制小数转换成二进制数:(1)X=0.75D=0.11B(2)X=0.102D=0.0001101B(3)X=0.6667D=0.101010101B1.5将下列十进制数转换成二进制数(1)100.25D=01100100.01H(2)680.75D=001010101000.11B1.6将下列二进制数转换成十进制数(1)X=1001101.1011B=77.6875D
(2)X=111010.00101B=58.15625D1.7将下列二进制数转换成八进制数(1)X=101011101B=101‘011‘101B=535Q(2)X=1101111010010B=1‘101‘111‘010‘010B=15722Q(3)X=110B=6Q1.8将下列八进制数转换成二进制数:(1)X=760Q=111"110"000B(2)X=32415Q=11"010"100"001"101B1.9将下列二进制数转换成十六进制数:X=101010111101101B=55EDHX=1100110101"1001B=11001101011001B=3359HX=1000110001B=1000110001B=231H1.10将下列十六进制数转换成二进制数:X=ABCH=101010111100BX=3A6F.FFH=0011101001101111.11111111BX=F1C3.4B=1111000111000011.01001011B1.11将下列二进制数转换成BCD码:(1)X=1011011.101B=1"011"011.101B=91.625d=10010001.0110BCD(2)X=1010110.001B=1‘010‘110.001=126.1BCD1.12将下列十进制数转换成BCD码:(1)X=1024D=0001000000100100BCD(2)X=632=011000110010BCD(3)X=103=000100000011BCD1.13写出下列字符的ASCII码:A41H65D01000001B939H47D*2AH42D=3DH45D!21H33D1.14若加上偶校验码,下列字符的ASCII码是什么?字符原码加上偶校验码之后B42H,01000010B42H,01000010B434H,00110100BB4H,10110100B737H,00110111BB7H,10110111B=3DH,00111101BBDH,10111101B!21H,00100001B21H,00100001B?3FH00111111B3FH,00111111B1.15加上奇校验,上面的结果如何?字符原码加上奇校验码之后B42H,01000010BC2H,11000010B434H,00110100B34H,00110100B737H,00110111B37H,00110111B=3DH,00111101B3DH,00111101B!21H,00100001BA1H,10100001B
?3FH00111111BBFH,10111111B1.16计算下式:(1)[‗B‘/2+ABH-11011001B]*0.0101BCD=(42H/2+ABH-D9H)*0.21BCD==F3H*0.21BCD=(-DH)*0.21BCD=-2.73D(2)3CH–[(84D)/(16Q)+‘8‘/8D]=60D-[84D/14D+(56/8)]=60D-[13]D==47D1.17对下列十进制数,用八位二进制数写出其原码、反码和补码:(正数的反码与原码相同,负数的反码除符号位之外其余各位按位取反。正数的补码与原码相同;负数的补码除符号位以外,其余各位按位取反之后再加一。)数据原码反码补码+99011000110110001101100011-99111000111001110010011101+127011111110111111101111111-127111111111000000010000001+0000000000000000000000000-01000000011111111000000001.188位二进制数原码可表示数的范围是+127~-128;8位二进制数补码可表示的数的范围是+127~-127;8位二进制数反码可表示的数的范围是:+127~-128;1.1916位二进制数的原码、补码、反码可表示的数的范围是多少?+32767~-32768、+32767~-32768、+32767~-32768;1.20至少写出3种用二进制编码状态表示十进制数字的编码方式。8421码、5421码2421码余3码十进制数00000000000000110000100010001010010010001010000101200110011100101103010001001010011140101100010111000501101001110010016011110101101101071000101111101011810011100111111009
李伯成《微机原理》习题第二章①薛钧义主编《微型计算机原理与应用——Intel80X86系列》机械工业出版社2002年2月第一版②陆一倩编《微型计算机原理及其应用(十六位微型机)》哈尔滨工业大学出版社1994年8月第四版③王永山等编《微型计算机原理与应用》西安电子科技大学出版社2000年9月④洪志全等编《现代计算机接口技术》电子工业出版社2002年4月⑤仇玉章主编《32位微型计算机原理与接口技术》清华大学出版社2000年9月2.18086CPU的RESET引脚的功能是什么?答:RESET引脚称为复位引脚,输入、三态、高电平有效;RESET引脚将使CPU立即结束当前操作,处理器要求RESET信号至少要保持4个时钟周期的高电平,才能结束它正在进行的操作。CPU复位以后,除了代码段寄存器CS的值为FFFFH外,其余所有寄存器的值均为零,指令队列为空。当RESET回到低电平时,CPU开始执行―热启动‖程序,由于此时CS的值为FFFFH,IP的值为0000H,所以CPU复位以后执行的第一条指令的物理地址为
FFFF0H,该单元通常放置一条段间直接转移指令JMPSS:OO,SS:OO即为系统程序的实际起始地址。2.2在8086CPU工作在最小模式时,(1)当CPU访问存储器时,要利用哪些信号?当CPU访问存储器时,要利用AD0~AD15、WR*、RD*、IO/M*以及A16~A19;(2)当CPU访问外设接口时,要利用哪些信号?当CPU访问外设接口时,同样要利用AD0---AD15、WR*、RD*以及IO/M*,但不使用高端地址线A16---A19;(3)当HOLD有效并得到响应时,CPU哪些引脚置高阻?当HOLD有效并得到响应时,CPU除HOLD、HOLDA引脚外其余所有的信号引脚均为高阻态。2.3略2.4说明8086CPUREADY信号的功能。见P232.58086CPU的NMI和INTR引脚的不同有几点?两点:(1)INTR是可以由用户用指令禁止的,(通过中断允许标志IF的开---STI和关CLI进行);而NMI不能由用户禁止;(2)INTR是可以区分优先级别的,NMI是最高级的,没有中断优先级的排队。2.6说明8086CPU内部标志寄存器各位的含义。8086CPU的标志寄存器(PSW或FLAG)共有9个
标志位,分别是:CF(CarryFlag)---进位或借位标志;PF(ParityFlag)---奇偶标志;AF(auxiliaryFlag)----半进位标志;ZF(ZeroFlag)-----结果为零标志;SF(SignFlag)-----符号标志;OF(OverflowFlag)-----溢出标志;IF(InterruptEnableFlag)-----中断允许标志;DF(DirectionFlag)----方向标志;TF(TrapFlag)-----陷阱标志。2.7说明8086CPU内部14个寄存器的作用。8086内部的寄存器可以分为3类:第一类:通用寄存器:AX、BX、CX、DX、SI、DI、SP、BP,共8个可以存储数据或者地址的低16位;AX、BX、CX和DX可以分成8个8位的寄存器使用;SI、DI又称变址寄存器,用于存储变址地址;SP和BP存放指针变量值。第二类:段寄存器:CS、DS、SS、ES,共4个寄存器,只能存放对应段的段地址;第三类为IP和FLAG,IP在通常情况下不允许用户访问,而FLAG是用以向用户提供了解ALU工作状态或者控制CPU工作方式的标志寄存器。2.8试画出8086CPU工作在最小模式时的总线形成示意图。(注:BHE*引脚为34脚---即SS0,参见P25状态编码表)
四点说明:A、MN/MX端接+5V,决定了8086工作在最小模式。
B、有一片8234A,作为时钟发生器。C、有三片8282或74LS373,用来作为地址锁存器。D、当系统中所连接的存储器和外设比较多时,需要增加系统数据总线的驱动能力,这时,要用两片8286/8287(74LS244或74LS245)作为总线收发器。2.98086/8088为什么采用地址/数据引线复用技术?答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从时序逻辑的角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。2.10怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同?答:引线MN/MX*的逻辑状态决定8086的工作模式,MN/MX*引线接高电平,8086被设定为最小模式;MN/MX*引线接低电平,8086被设定为最大模式。最小模式下所有的控制信号由CPU相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入由8086的S2─S0三条状态信号引线提供。李伯成《微机原理》习题第三章
本章作业参考书目:1.周明德:微型计算机IBM-PC系统原理与应用清华大学出版社19912.王永山等:微型计算机原理与应用西安电子科大出版社19983.张怀莲:IBMPC汇编语言程序设计电子工业出版社1990注:本习题解中的程序仅为代码片段,可在Emu8086version2.57环境下仿真运行,如果在MASM下进行汇编,需添加段设置以及相应的伪指令。3.1MOVAX,00H;立即寻址SUBAX,AX;寄存器寻址MOVAX,[BX];寄存器间接寻址MOVAX,TABLE;直接寻址MOVAL,ARAY1[SI];寄存器相对寻址MOVAX,[BX+6];寄存器相对寻址3.2若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。程序片段如下:ORG100hMOVCX,03FFH;数据个数LEASI,TABLE;源区首地址LEADI,NEXT;目的区首地址AGAIN:MOVAL,[SI];MOV[DI],AL;搬移INCSIINCDI;移动地址指针DECCX;循环计数器递减JNZAGAIN;循环未结束转HLT;暂停TABLEDB1024dup("A");源数据区NEXTDB1024dup(0);目的数据区3.3编写10个字(16位二进制数)之和的程序ORG100hLEASI,ADD1;
LEADI,ADD2;LEABX,SUM;MOVCL,CONT;MOVCH,0;循环初始化CLC;进位清零MADD1:MOVAX,[SI];读加数1ADCAX,[DI]ADDSI,2;移动源区地址指针ADDDI,2;移动目的区地址指针MOV[BX],AX;回存计算结果ADDBX,2;移动―和‖存储区地址指针LOOPMADD1;循环控制HLT;暂停ADD1DB0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数1ADD2DB56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加数2SUMDB10DUP(0);和存储单元CONTDB5;循环次数3.4某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS和REMAIN中。ORG100hMOVBL,2;除数初值AGAIN:MOVCX,NUM;预计最大循环次数MOVAL,BL;0、1的平方根除外MULBL;得到2的平方CMPAX,CX;大于原始数据么?JGEXIT;若原始数据小于4转EXITMOVAX,CX;读数DIVBL;试除INCBL;除数递增JMPAGAIN;继续除EXIT:DECBL;去除除数自加MOVANS,BL;存商MOVAL,BL;恢复余数MULBL;SUBCX,AX;MOVREMAIN,CL;HLTNUMDW7;ANSDB?;
REMAINDB?;3.5在DATA1之下顺序存放着以ASCII码表示的千位数,将其转换成二进制数。MOVCL,4;移位次数MOVCH,CL;循环次数MOVSI,OFFSETASCBINCLDXORAX,AXXORDX,DXASCB1:LODSBANDAL,7FHCMPAL,"0";不大于‗0‘结束转换JLERRCMPAL,"9"JGASCB2;大于‗9‘转ASCB2SUBAL,30H;数字形式二进制数减30HJMPASCB3ASCB2:CMPAL,"A";大于‗9‘又小于‗A‘结束转换JLERRCMPAL,"F"JGERR;大于‗F‘为不合理数,结束转换SUBAL,37H;字符形式ASCII数减37HASCB3:ORDL,ALROLDX,CLDECCHJNZASCB1ROLDX,CLMOVBIN,DX;存储转换结果ERR:NOPHLTASCBINDB"1","B,"4","3"BINDW?3.7编写程序将MOLT中的一个8位数乘以20,乘积放在ANS中(用3种方式)。解:第一种方法:常规乘法运算ORG100hMOVAL,MOLTMOVBL,20MULBLMOVANS,AX
HLTMOLTDB2ANSDW?第二种方法,将MOLT连加20次ORG100hMOVCX,20MOVBX,MOLTXORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLTDW5ANSDW?第三种方法,将―20‖连加MOLT次ORG100hMOVCX,MOLTMOVBX,20XORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLTDW5ANSDW?3.8在DATA之下存放100个无符号的8位数,找出其最大者并将其存放在KVFF单元。ORG100hXORDL,DLLEADI,KVFF;NEXT0:LEASI,BUFFER;MOVCL,99;比较次数为N-1次
NEXT1:MOVAL,[SI];INCSI;CMPDL,AL;JNCNEXT2;MOVDL,AL;DL中始终存目前最大值NEXT2:DECCL;JNZNEXT1;MOV[DI],DL;最大值存储HLTBUFFERDB;自行定义100个数据KVFFDB?3.9若将数据按大小顺序排序,试编写程序..解:此处采用―冒泡法‖予以处理:ORG100hLEADI,BUFFER;数据区MOVBL,99;外循环次数NEXT0:MOVSI,DI;MOVCL,BL;内循环次数NEXT3:MOVAL,[SI];读数INCSI;移动指针CMPAL,[SI];比较JNCNEXT5;大于转NEXT5MOVDL,[SI];MOV[SI-1],DL;MOV[SI],AL;不大于互换NEXT5:DECCL;内循环次数减一JNZNEXT3;DECBL;外循环次数减一JNZNEXT0HLTBUFFERDB自行定义100个字节型数据3.10在BVFF单元中有一个BCD数A,试根据下列关系编写程序,计算结果存在DES中.A<20,Y=3*A;A<60,Y=A-20;A>=60,Y=80.
ORG100hMOVAL,BVFFCMPAL,20JLEX1CMPAL,60JLEX2MOVAL,80JMPSTOPEX1:MOVBL,3MULBLJMPSTOPEX2:SUBAL,20STOP:MOVDES,ALHLTBVFFDB8DESDB?3.11址为DATAB开始的80个单元中,存放某班80个学生的某课程成绩,要求:统计>=90分、80~89分、70~79分、60~69分、60分以下的人数,结果存放在BTRX开始的5个单元中求平均成绩,结果存放在LEVEL中。解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,总分、均分都在[DI]。ORG100hXORAH,AHXORDX,DX;统计结果清零XORBX,BX;统计结果清零LEASI,DATALEADI,LEVELMOVCL,CONT;总人数送循环计数器CXgoon:MOVAL,[SI];读原始数据ADC[DI],AL;累加总分ADC[DI+1],0;计算进位CMPAL,90JLPP8;不高于90分者转PP8INCDH;90--100分的人数加一JMPSTOR
PP8:CMPAL,80JLPP7;不高于80分转PP7INCDL;80----89分的人数加一JMPSTORPP7:CMPAL,70JLPP6;不高于70分者转PP6INCBH;70---79分的人数加一JMPSTORPP6:CMPAL,60JLPP5;不高于60分者转PP5INCBL;60---69分的人数加一JMPSTORPP5:INCAH;低于60分的人数加一STOR:INCSI;读下一个分数LOOPGOON;CX=CX-1,CX不为零转GOON,继续统计LEASI,BUFFER;回存统计结果MOV[SI],DHINCSIMOV[SI],DLINCSIMOV[SI],BHINCSIMOV[SI],BLINCSIMOV[SI],AHMOVAX,WORDPTR[DI];计算平均成绩MOVCL,CONTDIVCLMOVLEVEL,AL;回存平均成绩HLTCONTDB10DATADB30,65,99,80,75,89,100,45,60,70BUFFERDB?,?,?,?,?LEVELDB?,?3.12求两个有符号数(DATA1,DATA2)差的绝对值,结果存入DATA3.ORG100hMOVAL,DATA1;读入被减数SUBAL,DATA2;减去减数JCCHANGE;
JMPSTORCHANGE:NEGALSTOR:MOVDATA3,ALHLTDATA1DB3DATA2DB5DATA3DB?3.13存从40000H到4BFFH的个单元均写入55H,并再逐个读出,验证是否一致,若一致,置AL为7EH,否则置AL为81H.ORG100hMOVAX,4000H;MOVDS,AX;MOVSI,0START:MOVCX,0BFFFHBEGIN:MOV[SI],55HMOVAL,[SI]INCSICMPAL,55HJNZERRLOOPBEGINMOVAL,7EHJMPSTOPERR:MOVAL,81HSTOP:HLT3.14~3.15端口03FBH的BIT5为状态标志,当该位为1时,表示外设忙,不能接收数据;当为0时,表示外设闲,可以接收数据;当CPU向端口03F8H写入一个字节的数据时,03FBH的BIT5置1,当它变为0状态时,又可以写入下一个数据。据此编写将起始地址为SEDAT的50个数据输出到03F8H端口的程序。WAIT:MOVDX,03FBHINAL,DXTESTAL,00100000B;(20H)JZSENDJMPWAITSEND:MOVDX,3F8HMOVAL,[SI];CMPAL,0AH;输出字串结束标志符JZSTOPOUTDX,ALJMPWAITSTOP:HLT
3.16口02E0H的BIT2和BIT5同时为1,表示端口02E7H有一个字节型数据准备好可以用以输入,当CPU从该端口读入数据后,02E0端口的BIT2和BIT5就不再同时为1;只有当02E7H端口的数据再次准备好时,它们才会再次同时为1,据此编写从02E7H端口输入32个数据然后存入A1000H单元开始的区域。MOVAX,0A000HMOVDS,AXMOVSI,1000H;设置存储区地址MOVCL,20H;输入数据个数BEGIN:MOVDX,0E20HINAL,DXTESTAL,00100100B;测试状态位BIT5、BIT2JZBEGIN;不同时为1继续测试MOVDX,02E7HINAL,DX;输入数据MOV[SI],AL;存到指定区域INCSI;移动地址指针LOOPBEGIN;循环HLT3.17在内存40000H开始的16K的单元中存放着一组数据,将其顺序搬移到起始地址为A0000H的区域。解:利用字符串操作指令MOVSB,16K即16*1024=3FFFH。MOVAX,4000HMOVDS,AXMOVAX,A000HMOVES,AXMOVSI,0MOVDI,0MOVCX,3FFFHCLDREPMOVSBHLT3.18上题的基础上,将两个区域的数据逐个进行比较,若有错将BL置0,全对将BL置FFH。MOVAX,4000HMOVDS,AX
MOVAX,A000HMOVES,AXMOVSI,0MOVDI,0MOVCX,03FFHCLDAAB:CMPSBJNZSTOPLOOPAABMOVBL,0FFHJMPEX1STOP:MOVBL,0;EX1:NOPHLT3.19统计由40000H单元开始的16K个单元中所存字符‗A‘的个数,统计结果存放在DX寄存器中。MOVAX,4000HMOVDS,AXMOVSI,0;MOVCX,3FFFH;数据个数MOVDX,0;统计结果寄存器清零XORDX,DXCLDAAB:LODSBCMPAL,‗A‘;比较JZAAC;字符为‗A‘转计数LOOPAAB;循环JMPSTOP;处理完毕转结束AAC:INCDX;统计结果加1DECCX;循环次数减1JCXNZAAB;CX<>0继续STOP:HLT3.20编写对AL中的数据进行―偶校验‖的一个过程,并将校验结果放入AL寄存器。PJYPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAL,DATANDAL,ALJNPPJY1
MOVAL,00H;表示为偶JMPEXITPJY1:MOVAL,FFH;表示为奇EXIT:POPDXPOPCXPOPBXPOPAXRETPJYENDPDATDB?3.21对80000H开始的256个单元的数据加上偶校验。ORG100hMOVAX,8000HMOVDS,AXMOVSI,0MOVCX,100HCLDPAR0:LODSB;(MOVAL,[SI];INCSI)TESTAL,ALJNPPAR1LOOPPAR0JMPSTOPPAR1:ORAL,80H;MOV[SI-1],ALDECCXJNZPAR0STOP:HLT
4-1某以8088为CPU的微型计算机内存RAM区为00000H~3FFFFH,若采用6264、62256、2164或21256各需要多片芯片?14解答:8088内存单元为8bit,所以,从00000H到3FFFFH,共需要2个byte,共142*8bit,也就是共占用16Kbyte空间。由于各种芯片的数据总线根数不同,所以在连接时要特别注意芯片的位数;对于如下芯片:136264有8根数据线,13根地址线,故其容量为2*8bit,即8Kbyte,所以需要2片;1562256有8根数据线,15根地址线,故其容量为2*8bit,即32Kbyte,所以仅需要1片;尽管题目要求只需要16K的空间,但在使用62256时不得不使用1片。122164有8根数据线,12根地址线,故其容量为2*8bit,即4Kbyte,所以需要4片;21256有1根数据线,10根地址线(实际为20根,分两组),但由于仅有一根数据线,要构成八位的存储器至少需要8片,但总容量为8*256Bit,远远超过题目的要求。4.2利用全地址译码将6264接在8088的系统总线上,其所占的地址范围为BE000H~BFFFFH,试画出连接图。解答:6264有13根地址线,连接时接到系统总线的低13位,即A0~A12,其他7根地址线A19~A13的地址译码输入应该为:1011111B,故而有如下的连接:4.3试利用6264芯片,在8088系统总线上实现0000H~03FFFH的内存区域,试画出电路连接图。
14解答:0000H~03FFFH的地址范围为2=16K,,而6264芯片的容量为8*8K,所以需要连接2片,其中,第一片的地址为00000H~01FFFH,第二片的地址为02000H~03FFFH,这里用74LS138的Y0、Y1作为两个芯片的片选。4.4叙述EPROM的编程过程,说明EEPROM的编程过程。EPROM编程通常采用两种模式:标准编程和快速编程:标准编程是在VCC、VPP、CE、OE、地址信号、数据信号有效并稳定后加入50毫秒的PGM编程负脉冲,可以在写入一个数据后使OE变高而立即校验,也可以在所有数据写入后逐一校验。标准编程有两大缺陷:一是时间过长,比如2764全片编程约需7分钟,时间过长;再是编程脉冲宽度稍大容易造成芯片因功耗过大而烧毁。快速编程将PGM的宽度减小到100微妙左右,显然速度加快了500倍左右。能否使用快速编程取决于芯片的型号。EEPROM由于可以在线擦除信息,所以可以单字节编程或自动按页编程。在单字节写入时,CE为低,OE为高,在WE加入100纳秒的负脉冲,写入时间包括擦除原有内容和写入新内容的时间,一般为10毫秒以内,可以通过查询READY/BUSY的状态判定。
自动按页编程用高位线决定页地址,低位线决定页容量,然后一次写入一页内容,写完后查询READY/BUSY状态,此一过程耗时在300微秒左右,所以速度较快。4.5已有两片6116,现欲将其接到8088系统中去,其地址范围为40000H~40FFFH,试画出电路连接图;写入某数据并读出与之比较,若有错,则在DL中写入01H,若全对,在DL中写入EEH,试编写此检测程序。解答:电路连接如图示:检测程序定义为一个过程,编程如下:CHKRAMPROCFARPUSHSI;PUSHDL;PUSHCX;PUSHAX;MOVCX,10000H;待检验的单元个数MOVSI,4000H;存储体段地址MOVDS,SI;MOVSI,0000H;存储体首地址CHK:MOVAL,0FFH;MOV[SI],AL;写入检验数据FFHMOVAL,[SI];读出
ADDAL,01HJNZRAMERRMOVAL,0;MOV[SI],AL;写入另一格检验数据MOVAL,[SI];读出ANDAL,ALJNZRAMERRMOVDL,0EEH;所有单元全对JMPRAMCHKOUTRAMERR:MOVDL,01H;发现错误单元RAMCHKOUT:POPAX;POPCX;POPDL;POPSI;RETENDPCHKRAM4.6利用全地址译码将EPROM27128接到首地址为A0000H的内存区,试画出电路图。解答:EPROM27128的容量为8*16K,所以有14根地址线,那么如果将其接到首地址为A0000H内存区,高6位地址线的排列应该为:101000B,所以有如下的连接:4.7内存地址从40000H到BBFFFH共有多少K?解答:从40000H到BBFFFH的地址空间应该为BBFFFH-40000H=7BFFFH10每K为2,即3FFH,7BFFFH/3FFH=1F0H=496D
所以,该地址空间的范围应该为496KByte。4.8试判断8088系统中存储器译码器74LS138的输出Y0、Y4、Y6和Y7所决定的内存地址范围,电路连接见附图。解答:根据示意图,A19、A18、A17、A16的电平值为1X00B,由于采用的是部分译码(A18未使用),所以每个地址译码输出对应的两个地址范围。Y0对应A15、A14、A13均为0,所以其地址范围应该为:当A18=0时,地址范围为:1000000000000000~10000001111111111111B即80000H~81FFFH当A18=1时,地址范围为:1100000000000000~11000001111111111111B即C0000H~C1FFFFHY4对应的A15、A14、A13为100,所以其地址范围应该为:当A18=0时,地址范围为:10001000000000000000B~10001001111111111111B即88000H~89FFFH当A18=1时,地址范围为:11001000000000000000~11001001111111111111B即C8000H~C9FFFH
Y6对应的A15、A14、A13为110,所以其地址范围为:当A18=0时,地址范围为:10001100000000000000B~10001101111111111111B即8C000H~8DFFFH当A18=1时,地址范围为:11001100000000000000B~11001101111111111111B即CC000H~CDFFFHY7对应的A15、A14、A14为111,所以其地址范围为:当A18=0时,地址范围为:10001110000000000000B~10001111111111111111B即8E000H~8FFFFH当A18=1时,地址范围为:11001110000000000000B~11001111111111111111B即CE000H~CFFFFH。李伯成《微机原理》习题第五章
本章作业参考书目:1.王永山等:微型计算机原理与应用西安电子科大出版社19983.洪志全等编《现代计算机接口技术》电子工业出版社2002年4月5-1满足那些条件8086CPU才能响应中断源的中断请求?参考答案:8088/8086的中断承认需要满足4个条件:(1)一条指令执行之后---因为8088/8086CPU只在指令周期的最后一个时钟周期检测INTR信号;(2)中断允许标志IF=1;(3)没有发生NMI、HOLD和RESET;(4)指令STI、IREI指令执行之后须再执行一条其他指令,但一些指令组合(如REP)要视为一个指令总体。5-2说明8088/8086软件中断指令INTn的执行过程。由指令INTn引起的中断也称为“异常”,即软件中断或内部中断。这里,INT为指令操作码,n是中断类型号(中断向量码);当该指令执行时,CPU根据中断向量码的数值在中断向量表(IDT---InterruptDirectionTable)找到相应的中断服务程序入口地址,在对CS、IP和FLAG进行入栈保护之后,进而转向指定程序的运行。5-3用三态门74LS244作为输入接口,接口地址规定为04E5H,试画出其与8088的总线连接图。解:根据题意,当地址线上的电平为0000010011100101且IOR信号为低(IOR低电平有效)时,74LS244的门控信号E1、E2应该为低,据此画出下列电路:5-4利用具有三态输出的锁存器74LS374作为输出接口,就接口地址为0E504H,试画出连接图。若5-3题中的输入接口的BIT3、BIT4、BIT7同时为1时,将DATA为首地址的10个内存数据连续由输出接口输出。若不满足则等待,试编写程序。
解:根据题意,当地址线上的电平为1110010100000100且IOW信号为低(IOW低电平有效)时,74LS374的时钟端CP应该为低,而74LS374的OE始终为低,据此画出下列电路:根据题5-3和题5-4电路,如果题5-3电路中的BIT3、BIT4和BIT7同时为1,则将以DATA为首地址的10个数据连续由0E504H输出口输出,不满足条件等待,对应的程序段如下:OUTWAIT:MOVDX,04E5HINAL,DXTESTAL,98H;10011000BJZOUTWAIT;MOVSI,OFFSETDATAMOVCL,0AH;数据个数MOVDX,0E504HOUTPUT:MOVAL,SIINCSIOUTDX,ALLOOPOUTPUT5-5若要求8259的地址为E010H和E011H,试画出与8080总线的连接图。若系统中只有一片8259,允许8个中断源边沿触发,不要缓冲,一般全嵌套方式,中断向量定为40H,试编写初始化程序。解:电路连接见图示,根据8259的ICW格式,有如下数据:ICW100010011=13H特征位无意义特征位边沿触发无意义单片有ICW4ICW20100000=40H无ICW3(单片,无级连控制)
ICW400000011=03H无意义一般嵌套非缓冲模式自动EOI8086模式据上述有下列初始化语句:MOVDX,0E010H;方式控制寄存器端口1地址MOVAL,13HOUTDX,ALMOVDX,0E011H;方式控制寄存器端口2地址MOVAL,40HOUTDX,ALMOVAL,03HOUTDX,AL;5-5DMAC(8237)占几个接口地址?这些地址在读写时的作用是什么?叙述DMAC由内存向接口传送一个数据块的过程。若希望利用8237把内存中的一个数据块传送到内存的另一个区域,应当如何处理?当考虑到8237工作在8088系统,数据是由内存的某一段向另外的一段传送且数据块的长度大于64KB,应当如何考虑?答:8237的A0~A3在其空闲周期作为内部寄存器的选址线,故而8237共占用16个端口地址;当利用8237由内存向接口传送一个数据块时,8237送出内存地址及MEMR控制信号,将选中的存储单元的内容读出并放置到数据总线,同时,DMAC送出IOW控制信号,将数据写到预选的规定接口中,此后,DMAC自动修改内部寄存器得值,以适应下一个数据的传送;当利用8237把内存中的一个数据块传送到内存的另一个区域时,选择通道0和通道1实现传送。这时由通道0送出源区地址和MEMR控制信号,将选中的数据送入8237内部暂存器,同时修改源区地址指针;此后,由通道1送出目的区地址和MEMW信号,将内部暂存器的数据写到目的区,同时通道1修改地址和字节计数,当通道1的字节计数器为零时或者外部输入了EOP信号,传送结束。
数据是由内存的某一段向另外的一段传送且数据块的长度大于64KB时,可以利用页面寄存器技术来完成,即改变写入页面寄存器74LS670的内容,以达到传送64KB以上的内容。5-7说明微机中常用的外设编址方式及其优缺点。答:在微机系统中主要采用两种外设的编址,即外设与内存统一编址和外设和内存独立编址;统一编址又称存储器映射编址,即把内存的部分地址分配给外设,这样,外设就占用了部分内存地址,这样做的好处是不需要I/O指令,但也就不易分辨存储器操作指令还是I/O指令,同时,内存范围相应的减小了。独立编址时,内存空间和外设地址空间是相对独立的。这样,地址范围相应扩大,但需要IO/M信号和对应的输入、输出指令。5-8说明8088中采用中断方式工作时必须由设计人员完成的3项工作。答:在采用中断方式工作时,程序设计人员通常要做的3项工作如下:(1)、编写中断服务程序,即ISP;在编写ISP时,要注意现场保护、中断嵌套以及中断标志的处理;(2)、确定中断向量,此时要注意,如果系统采用了8259,那么在中断向量表内至少要有32个连续的字节;(3)、填写中断向量表,即把ISP的段地址和偏移地址填入向量表中相应的字节,这是,可以用机器指令方式,也可以统过DOS调用来完成,具体方法如下:机器指令方式:MOVAX,0MOVDS,AX;中断向量表段地址设置MOVSI,(向量码*4);向量表中的地址MOVDX,OFFSETISP;中断服务程序偏移地址MOV[SI],DXMOVDX,SEGISP;中断服务程序的段地址MOV[SI+2],DXDOS调用方式:MOVAH,25H;DOS调用功能号MOVAL,向量码;MOVDX,SEGISPMOVDS,DXMOVDX,OFFSETISPINT21H'
您可能关注的文档
- 彭剑锋教材《人力资源管理概论》各章要点思考题参考答案.doc
- 影视鉴赏课后答案.docx
- 徐寿昌主编《有机化学》(第二版)-课后1-13章习题答案.doc
- 徐寿昌编《有机化学》第二版习题参考答案.doc
- 徐州市《沟通与协调能力考试》判断题及参考答案.doc
- 徐恒钧《材料科学基础》第四章课后习题答案.pdf
- 微分方程习题及答案.doc
- 微型计算机原理与接口技术 课后答案.pdf
- 微型计算机原理与接口技术(第三版)冯博琴主编 课后答案.doc
- 机系统原理及应用_第五版_课后习题全部答案__周明德版.doc
- 微机原理(何小海)习题解答.pdf
- 微机原理与接口技术 第二版 (周明德) 课后题答案.doc
- 微机原理与接口技术(楼顺天版)课后习题解答.pdf
- 微机原理与接口技术习题答案.doc
- 微机原理与接口技术习题答案2-9(朱红_著)1.doc
- 微机原理与接口技术习题答案第五版.pdf
- 微机原理与接口技术笔试练习题及其参考解答.pdf
- 微机原理与接口技术考试试题及答案.doc
相关文档
- 施工规范CECS140-2002给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程
- 施工规范CECS141-2002给水排水工程埋地钢管管道结构设计规程
- 施工规范CECS142-2002给水排水工程埋地铸铁管管道结构设计规程
- 施工规范CECS143-2002给水排水工程埋地预制混凝土圆形管管道结构设计规程
- 施工规范CECS145-2002给水排水工程埋地矩形管管道结构设计规程
- 施工规范CECS190-2005给水排水工程埋地玻璃纤维增强塑料夹砂管管道结构设计规程
- cecs 140:2002 给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程(含条文说明)
- cecs 141:2002 给水排水工程埋地钢管管道结构设计规程 条文说明
- cecs 140:2002 给水排水工程埋地管芯缠丝预应力混凝土管和预应力钢筒混凝土管管道结构设计规程 条文说明
- cecs 142:2002 给水排水工程埋地铸铁管管道结构设计规程 条文说明