微机原理部分习题解答与复习重点(2013年秋)

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

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

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

资源描述

微机原理及接口技术部分习题解答原作者:车向泉时间:2013年12月30日13:14:29微机原理及接口技术第3章Intel处理器指令系统及汇编语言P134~135习题33.1判别下列指令的寻址方式:MOVAX,00HSUBAX,AXMOVAX,[BX]ADDAX,TABLEMOVAL,ARRAY[SI]MOVAX,[BX+6]P134习题立即寻址寄存器寻址寄存器间接寻址直接寻址寄存器相对寻址寄存器相对寻址43.2若1KB的数据存放在TABLE以下,试编程序将该数据块搬到NEXT为首地址的内存区域中。①利用串操作指令。②不用串操作指令。P134习题START:MOVDX,SEGTABLEMOVDS,DXMOVSI,OFFSETTABLEMOVDX,SEGNEXTMOVES,DXMOVDI,OFFSETNEXTMOVCX,1024CLDREPMOVSB……START:MOVDX,SEGTABLEMOVDS,DXMOVSI,OFFSETTABLEMOVDX,SEGNEXTMOVES,DXMOVDI,OFFSETNEXTMOVCX,1024GOON:MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPGOON……53.5试编写程序将BUFFER中的一个8位二进制数转换为用ASCII码表示的十进制数,并按位数高低顺序存放在ANSWER为首地址的内存区域中。P134习题START:MOVDX,SEGBUFFERMOVDS,DXMOVDI,OFFSETANSWERMOVSI,OFFSETBUFFERMOVBL,10MOVAH,0MOVAL,[SI]MOV[DI],3030HMOV[DI+2],30HGOON:CMPAX,0JENEXTDIVBL;BL=10ORAH,30H;AH:余数MOV[DI],AHMOVAH,00HINCDIJMPGOONNEXT:……63.6在DATA1为首地址的内存区域中顺序存放着以ASCII码表示的十进制千位数,现欲将其转换成二进制数,试编写程序实现之。P134习题PROGM:MOVDX,SEGDATA1MOVDS,DXMOVBH,0MOVSI,OFFSETDATA1MOVDX,0MOVBL,[SI+3];千位ANDBL,0FHMOVAX,1000MULBXADDDX,AXMOVBL,[SI+2];百位ANDBL,0FHMOVAL,100MULBLADDDX,AXMOVBL,[SI+1];十位ANDBL,0FHMOVAL,0AHMULBLADDDX,AXMOVBL,[SI];个位ANDBL,0FHMOVAH,0MOVAL,BLADDDX,AX……3.7试编写程序将MOLT中的一个8位二进制数乘以20,乘积放在ANS单元及其下一单元中(用3种方法完成)。①用乘法指令实现;②利用连续加法实现;③利用移位指令实现。START:MOVAL,MOLTMOVBL,20MULBLMOVANS,AXSTART:MOVAL,MOLTMOVAH,0MOVDX,0MOVCX,20GOON:ADDDX,AXLOOPGOONMOVANS,DXSTART:MOVAL,MOLTMOVAH,0MOVCL,2SHLAX,CLMOVBX,AXMOVCL,2SHLAX,CLADDAX,BXMOVANS,AXM×20=M×(16+4)=(M×4)×4+M×4①②③83.8在DATA为首地址的内存区域中存放100个无符号8位数,试编写程序找出其中最大的数,并将其放在KVFF中。P134习题MOVBX,OFFSETDATAMOVAL,[BX]INCBXMOVCX,99AGAIN:CMPAL,[BX]JGENEXTMOVAL,[BX]NEXT:INCBXLOOPAGAINMOVKVFF,AL……93.9在DATA为首地址的内存区域中存放100个无符号8位数,要求将数据按大小顺序排列,试编写程序实现。P134习题LEADI,DATAMOVBL,99NEXT1:MOVSI,DIMOVCL,BLNEXT2:MOVAL,[SI]INCSICMPAL,[SI]JBENEXT3MOVDL,[SI]MOV[SI-1],DLMOV[SI],ALNEXT3:DECCLJNZNEXT2DECBLJNZNEXT1……冒泡排序法103.10在BVFF单元中有一个BCD数A,试编写程序计算Y,结果送DES单元,其中:START:LEASI,BVFFMOVAL,[SI]CMPAL,20HJBENEXT1CMPAL,60HJBNEXT2MOVAL,80H;A≥60JMPSAVENEXT1:MOVBL,AL;A≤20ADDAL,BLDAAADDAL,BLDAAJMPSAVENEXT2:SUBAL,20H;20<A<60DASSAVE:MOVDES,ALY=3A,A≤20A-20,20<A<6080,A≥60113.13试编写程序,给从内存40000H到4BFFFH的每个单元中均写入55H,并逐个单元读出比较。若写入的与读出的完全一致,则将AL置7EH;若有错则将AL置81H。START:MOVDX,4000HMOVDS,DXMOVSI,0MOVCX,0C000HMOVAL,55HGOON1:MOV[SI],ALINCSILOOPGOON1MOVSI,0MOVCX,0C000HGOON2:CMP[SI],ALJNEERRORINCSILOOPGOON2MOVAL,7EHJMPSTOPERROR:MOVAL,81HSTOP:……方法1:使用常规指令123.13试编写程序,给从内存40000H到4BFFFH的每个单元中均写入55H,并逐个单元读出比较。若写入的与读出的完全一致,则将AL置7EH;若有错则将AL置81H。START:MOVDX,4000HMOVES,DXMOVDI,0MOVCX,0C000HMOVAL,55HCLDREPSTOSBMOVDI,0MOVCX,0C000HREPESCASBJNZERRORMOVAL,7EHJMPSTOPERROR:MOVAL,81HSTOP:……方法2:使用串操作指令133.14试编写程序,统计由40000H开始的16K个单元中所存放的字符“A”的个数,并将结果存放在DX中。START:MOVDX,4000HMOVDS,DXMOVCX,4000HMOVSI,0MOVDX,0GOON:MOVAL,[SI]CMPAL,'A'JNENEXTINCDXNEXT:INCSILOOPGOON……微机原理及接口技术第5章存储技术Page242~243习题15P242习题5.5两片6116SRAM(2K×8bit),连接到8088系统总线,地址范围40000H~40FFFH。1.画电路图。2.编程序:写入某数,读出比较【解】地址分析:有错:01H→DL都对:EEH→DLA19A18A17A16A15A14A13A12A11A10A9A8A7…A1A0010000000xxxx…xx010000001xxxx…xx片内地址可用3-8译码器实现D0~D7A0~A10R/WOECS6116D0~D7A0~A10MEMWMEMRD0~D7A0~A10R/WOECS6116D0~D7A0~A10MEMWMEMRMEMWMEMR&1≥1A18A19A17A15A16A14A12A13A11ABCG1G2AG2BY0Y174LS1388088系统总线40800H~40FFFH40000H~407FFH17【程序】方法1:用串操作指令TESTP:MOVDX,4000H;串操作:DS:SI→源串MOVES,DX;ES:DI→目的串MOVDI,0MOVCX,1000H;4K次MOVAL,55HCLD;DF=0,DI自增REPSTOSB;AL→ES:DI,4K次,DI自增MOVDI,0MOVCX,1000H;4K次MOVAL,55HREPESCASB;AL与ES:DI比较;ZF=1、CX≠0重复JCXZGOODMOVDL,01HJMPSTOPGOOD:MOVDL,0EEHSTOP:……18【程序】方法2:用LOOP循环TESTP:MOVDX,4000HMOVDS,DX;初始化数据段寄存器MOVAL,55H;要写入的数据:55HMOVSI,0;段内偏移(地址指针)MOVCX,1000H;循环4K次WRT:MOV[SI],AL;写数据INCSILOOPWRTMOVSI,0MOVCX,1000HCHK:CMP[SI],AL;数据读出校验JNZERRORINCSILOOPCHKMOVDL,0EEH;分支1:都对JMPSTOPERROR:MOVDL,01H;分支2:有错STOP:……;程序出口19P242习题5.104片6264SRAM(8K×8bit),连接到8086系统总线,地址范围70000H~77FFFH,画电路图。【解】地址分析:A19A18A17A16A15A14A13A12A11A10A9A8A7…A1A001110000xxxxx…xx01110111xxxxx…xx片内地址可用3-8译码器实现A0~A12D0~D7CS1,CS2OEWE6264:D0~D7D8~D15D0~D7A0~A12WECS16264CS2OE+5vD0~D7A0~A12WECS16264CS2OE+5vD0~D7A0~A12WECS16264CS2OE+5vD0~D7A0~A12WECS16264CS2OE+5vA1~A13MEMWMEMRA0BHEA19A18A17A16A15A14ABCG1G2AG2BY4Y574LS138≥1≥1≥1≥1&&70000H~73FFFH74000H~77FFFH8086系统总线21P243习题5.13、5.141.E2PROM98C64A(8K×8bit),连接到8088系统总线,地址范围40000H~41FFFH,画电路图。2.编程:将内存B0000H开始的顺序8KB内容写入此E2PROM,调用20ms延时子程序。【解】地址分析:A19A18A17A16A15A14A13A12A11A10A9A8A7…A1A001000000xxxxx…xx01000001xxxxx…xx片内地址用基本门电路实现MEMWMEMR1≥1A18A19A17A15A16A14A138088系统总线D0~D7A0~A12D0~D7A0~A12WE98C64AOECEReady/BusySTART:MOVAX,0B000HMOVDS,AXMOVSI,0MOVAX,4000HMOVES,AXMOVDI,0MOVCX,2000HTRANS:MOVAL,[SI]MOVES:[DI],ALCALLT20MSINCSIINCDILOOPTRANS……1.E2PROM地址范围:40000H~41FFFH2.内存地址:B0000H开始,共8KB。A19A18A17A16A15A14A13A12A11A10A9A8A7…A1A001000000xxxxx…xx01000001xxxxx…xx片内地址段超越前缀微机原理及接口技术第6章基本输入输出技术Page298~299习题24P299习题6.7利用74LS244→输入接口,地址:04E5H画出与8088总线连接图。解:地址分析A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000010011100101IOR=0译码输出有效的条件25P299习题6.7利用74LS244→输入接口,地址:04E5H画出与8088总线连接图。解:地址分析A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000010011100101Y0Y7A0A7E174LS244D0~D7允许E2外设IOR=0译码输出有效的条件接译码电路输出266.8①画连接图:输出接口(三态输出锁存器74LS374),地址为E504H。②编程序:题6.7中,若输入bit3、bit4、bit7同时为1时,将DATA为首地址的10个内存数据连续由输出接口输出;不满足条件则等待。解:地址分析A15A14A13A12

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

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

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

×
保存成功