微机原理部分习题解答和复习重点秋市公开课金奖市赛课一等奖课件_第1页
微机原理部分习题解答和复习重点秋市公开课金奖市赛课一等奖课件_第2页
微机原理部分习题解答和复习重点秋市公开课金奖市赛课一等奖课件_第3页
微机原理部分习题解答和复习重点秋市公开课金奖市赛课一等奖课件_第4页
微机原理部分习题解答和复习重点秋市公开课金奖市赛课一等奖课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

微机原理及接口技术部分习题解答原作者:车向泉时间:年12月30日13:14:291第1页微机原理及接口技术第3章Intel处理器指令系统及汇编语言P134~135习题2第2页3.1判别以下指令寻址方式:MOVAX,00HSUBAX,AXMOVAX,[BX]ADDAX,TABLEMOVAL,ARRAY[SI]MOVAX,[BX+6]P134习题马上寻址存放器寻址存放器间接寻址直接寻址存放器相对寻址存放器相对寻址3第3页3.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……4第4页3.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:……5第5页3.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……6第6页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①②③7第7页3.8在DATA为首地址内存区域中存放100个无符号8位数,试编写程序找出其中最大数,并将其放在KVFF中。P134习题MOVBX,OFFSETDATAMOVAL,[BX]INCBXMOVCX,99AGAIN:CMPAL,[BX]JGENEXTMOVAL,[BX]NEXT:INCBXLOOPAGAINMOVKVFF,AL……8第8页3.9在DATA为首地址内存区域中存放100个无符号8位数,要求将数据按大小次序排列,试编写程序实现。P134习题LEADI,DATAMOVBL,99NEXT1:MOVSI,DIMOVCL,BLNEXT2:MOVAL,[SI]INCSICMPAL,[SI]JBENEXT3MOVDL,[SI]MOV[SI-1],DLMOV[SI],ALNEXT3:DECCLJNZNEXT2DECBLJNZNEXT1……冒泡排序法9第9页3.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≥6010第10页3.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:

使用常规指令11第11页3.13试编写程序,给从内存40000H到4BFFFH每个单元中均写入55H,并逐一单元读出比较。若写入与读出完全一致,则将AL置7EH;若有错则将AL置81H。START:MOVDX,4000HMOVES,DX

MOVDI,0MOVCX,0C000HMOVAL,55HCLD

REPSTOSBMOVDI,0MOVCX,0C000HREPESCASBJNZERRORMOVAL,7EHJMPSTOPERROR:MOVAL,81HSTOP:……方法2:

使用串操作指令12第12页3.14试编写程序,统计由40000H开始16K个单元中所存放字符“A”个数,并将结果存放在DX中。START:MOVDX,4000HMOVDS,DXMOVCX,4000HMOVSI,0MOVDX,0GOON:MOVAL,[SI]CMPAL,'A'JNENEXTINCDXNEXT:INCSILOOPGOON……13第13页微机原理及接口技术第5章存放技术Page242~243习题14第14页P242习题5.5两片6116SRAM(2K×8bit),连接到8088系统总线,地址范围40000H~40FFFH。1.画电路图。2.编程序:写入某数,读出比较【解】地址分析:有错:01H→DL都对:EEH→DLA19A18A17A16A15A14A13A12A11A10A9A8A7…A1A0010000000xxxx…xx010000001xxxx…xx片内地址可用3-8译码器实现15第15页D0~D7A0~A10R

/

WOECS6116D0~D7A0~A10MEMWMEMRD0~D7A0~A10R

/

WOECS6116D0~D7A0~A10MEMWMEMRMEMWMEMR&1≥1A18A19A17A15A16A14A12A13A11ABCG1G2AG2BY0Y174LS1388088

系统总线40800H~40FFFH40000H~407FFH16第16页【程序】方法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:……17第17页【程序】方法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:…… ;程序出口18第18页P242习题5.104片6264SRAM(8K×8bit),连接到8086系统总线,地址范围70000H~77FFFH,画电路图。【解】地址分析:A19A18A17A16A15A14A13A12A11A10A9A8A7…A1A001110000xxxxx…xx01110111xxxxx…xx片内地址可用3-8译码器实现A0~A12D0~D7CS1,CS2OEWE6264:19第19页D0~D7D8~D15D0~D7A0~A12WECS16264CS2OE+5vD0~D7A0~A12WECS16264CS2OE+5vD0~D7A0~A12WECS16264CS2OE+5vD0~D7A0~A12WECS16264CS2OE+5vA1~A13MEMWMEMRA0BHEA19A18A17A16A15A14ABCG1G2AG2BY4Y574LS138≥1≥1≥1≥1&&70000H~73FFFH74000H~77FFFH8086

系统

总线20第20页P243习题5.13、5.14E2PROM98C64A(8K×8bit),连接到8088系统总线,地址范围40000H~41FFFH,画电路图。编程:将内存B0000H开始次序8KB内容写入此E2PROM,调用20ms延时子程序。【解】地址分析:A19A18A17A16A15A14A13A12A11A10A9A8A7…A1A001000000xxxxx…xx01000001xxxxx…xx片内地址用基本门电路实现21第21页MEMWMEMR1≥1A18A19A17A15A16A14A138088

系统总线D0~D7A0~A12D0~D7A0~A12WE98C64AOECEReady/BusySTART:MOVAX,0B000HMOVDS,AXMOVSI,0

MOVAX,4000HMOVES,AXMOVDI,0

MOVCX,HTRANS:MOVAL,[SI]MOVES:[DI],ALCALLT20MSINCSIINCDILOOPTRANS……E2PROM地址范围:40000H~41FFFH内存地址:B0000H开始,共8KB。A19A18A17A16A15A14A13A12A11A10A9A8A7…A1A001000000xxxxx…xx01000001xxxxx…xx片内地址段超越前缀22第22页微机原理及接口技术第6章基本输入输出技术Page298~299习题23第23页P299习题6.7利用74LS244→输入接口,地址:04E5H

画出与8088总线连接图。解:地址分析A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000010011100101IOR=0译码输出有效条件24第24页P299习题6.7利用74LS244→输入接口,地址:04E5H

画出与8088总线连接图。解:地址分析A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000010011100101IOR=0译码输出有效条件接译码电路输出25第25页6.8①

画连接图:输出接口(三态输出锁存器74LS374),地址为E504H。

②编程序:题6.7中,若输入bit3、bit4、bit7同时为1时,将DATA为首地址10个内存数据连续由输出接口输出;不满足条件则等候。解:地址分析A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01110010100000100IOW=0译码输出有效条件26第26页6.8①

画连接图:输出接口(三态输出锁存器74LS374),地址为E504H。

②编程序:题6.7中,若输入bit3、bit4、bit7同时为1时,将DATA为首地址10个内存数据连续由输出接口输出;不满足条件则等候。解:地址分析A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01110010100000100IOW=0接译码电路输出27第27页TDataP:MOVDX,SEGDATAMOVDS,DXMOVSI,OFFSETDATAMOVCX,10MOVDX,04E5HGOON1:INAL,DXANDAL,98H

;bit76543210CMPAL,98H

;10011000JNEGOON1MOVDX,0E504HGOON2:MOVAL,[SI]OUTDX,ALINCSILOOPGOON2HLT28第28页6.9

8259地址:E010H、E011H,画与8088总线连接。

编写初始化程序:只有一片82598个中止源边缘触发不要缓冲普通嵌套中止向量为40H解:地址分析A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0111000000001000x地址初始化命令字内容E010ICW10001

0011E011ICW201000000E011ICW40000

0011E011OCW100000000自动EOIIOR·IOW=0译码输出有效条件29第29页D0~D7RDWRINTINTAA0CSIR0IR1IR2IR3IR4IR5IR6IR8SP/EN+5V8259中止源

中止请求

输入A15A14A13A12A11A5A4A3A2A1IORIOW1111~~≥1A0D0~D7IORIOWINTINTA&A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0111000000001000xIOR·IOW=08088

系统

总线30第30页INIT59:MOVDX,0E010HMOVAL,13H ;ICW1,00010011BOUTDX,ALMOVDX,0E011HMOVAL,40H ;ICW2,中止向量OUTDX,ALMOVAL,03H

;ICW4,00000011BOUTDX,AL ;01H也能够(非自动EOI)MOVAL,00H ;OCW1,中止屏蔽存放器OUTDX,AL31第31页6.11说明微机中惯用外设编址方法及其优缺点。外设与内存统一编址,又称为存放器映射编址方式。用于内存指令都可用于外设,给使用者提供了方便。降低了内存可用范围。从指令上不易区分是寻址内存指令还是用于I/O指令。外设与内存独立编址。用于内存和用于外设指令是不一样,很轻易识别。内存与I/O之间以DMA方式传送数据时,一个总线周期即可完成一个数据传送。用于外设指令功效比较弱,一些操作必须由外设首先输入到CPU存放器(累加器)后才能进行。32第32页6.12说明8086/8088中采取中止方式工作时必须由设计人员完成3项工作。假如要用好可屏蔽中止INTR,必须做好以下3件事:连接8259并初始化。选择接口地址,将8259连接到总线上,外设中止请求接到IR0~IR7上。编写8259初始化程序,要求外部中止源中止向量码。编写中止服务程序。填写中止向量表。33第33页微机原理及接口技术baidu文库中部分习题解答编辑:刘文东时间:年12月30日13:16:3934第34页最大模式下控制信号最小模式下控制信号5.0.请说明CPU执行以下指令时,各控制信号状态。35第35页5.1以8088为CPU某微型计算机内存RAM区为00000H~3FFFFH,若采取6264,62256,2164或21256,各需要多少片?解:先计算存放容量:3FFFFH+1-00000H=40000H40000H→1000000000000000000218Byte=256KB6264:256KB÷8KB=32片~~~62256:256KB÷32KB=8片2164:256KB÷64K×1=32片(4×8)21256:256KB÷256K×1=8片(1×8)36第36页5.2利用全地址译码将6264芯片连接在8088系统总线上,其所占地址范围为BE000H~BFFFFH,试画连接图。解:

先计算存放容量:BFFFFH+1-BE000H=C0000H-BE000H=HH→10000000000000213Byte=8KB计算所需芯个数:8KB÷8KB=1片~~~地址译码:37第37页5.2利用全地址译码将6264芯片连接在8088系统总线上,其所占地址范围为BE000H~BFFFFH,试画连接图。~~~地址译码:A191817161514131211109876543210

10111110000000000000BE000H十六进制地址

1111111111111BFFFFH依据上述分析,画出译码电路38第38页5.5已经有两片6116,现欲将它们连接到8088系统中去,其地址范围为40000H~40FFFH,试画连接电路图。写入某数据并读出与之比较,如有错,则在DL中写入01H,若每个单元均对,则在DL中写入EEH,试编写此检测程序。解:

先计算存放容量:40FFFH+1-40000H=1000H1000H→1000000000000212Byte=4KB计算所需芯个数:4KB÷2KB=2片地址译码:~~~39第39页5.5已经有两片6116,现欲将它们连接到8088系统中去,其地址范围为40000H~40FFFH,试画连接电路图。地址译码:~~~A191817161514131211109876543210

0100000000000000000040000H十六进制地址11111111111407FFH

0100000010000000000040800H1111111111140FFFH画电路图:40第40页5.5已经有两片6116,现欲将它们连接到8088系统中去,其地址范围为40000H~40FFFH,试画连接电路图。写入某数据并读出与之比较,如有错,则在DL中写入01H,若每个单元均对,则在DL中写入EEH,试编写此检测程序。~~~

MOVAX,4000H MOVDS,AX MOVSI,0 MOVCX,40FFFH+1-4000HNEXT:MOVBYTEPTR[SI],55H INCSI LOOPNEXT MOVSI,0 MOVCX,40FFFH+1-4000HNEXT2:CMPBYTEPTR[SI],55H JNEERROR INCSI LOOPNEXT2RIGHT:MOVDL,0EEH JMPEXITERROR:MOVDL,01HEXIT:…参见P1353.13题41第41页5.8

试判断8088系统中由74LS138输出所决定地址范围。A191817161514131211109876543210

1X00CBA

XXXXXXXXXXXXX80000H~/Y000081FFFH0C0000H~000C1FFFH188000H~/Y410089FFFH0C8000H~100C9FFFH18C000H~/Y61108DFFFH0CC000H~110CDFFFH18E000H~/Y71118FFFFH0CE000H~111CFFFFH1~~~42第42页5.9若将4片6264芯片连接到8088微处理器A0000H~A7FFFH地址空间中,并限用74LS138作为地址译码器,试画连接电路图。~~~A191817161514131211109876543210

10100000000000000000A0000H1111111111111A1FFFH

1010001AH~A3FFFH

1010010A4000H~A5FFFH

1010010A6000H~A7FFFH画电路图:43第43页P2996.5答:要满足那些条件,8086/88CPU才能响应INTR中止?当8086/88收到INTR高电平信号时,在当前指令执行完,且IF=1条件下88CPU才能响应INTR中止。第6章I/O方式作业44第44页P2996.7解:利用74LS244作输入口,口地址04E5H。0000

0100111001010

45第45页P2996.8解:利用74LS374作输出口,口地址E504H。11100101000001000

46第46页第6章I/O方式作业601.解:从中止向量表0008H单元开始依次存放有34H,FEH,00H和F0H。问该中止类型码是。该中止服务程序入口地址是。中止类型码是0008H/4=02H中止服务程序入口地址是F000H:FE34H47第47页603.填空一片8259可管理

8个中止源。两片8259级联可管理

15个中止源。8259在普通嵌套方式下,IR0~IR7优先级为

IR0→IR7

。4.I/O方式分为4种,分别是基本i/o方式、查询方式、中止方式及DMA方式。只有DMA是纯硬件方式。48第48页P3397.2第7章作业解:11111111111000**49第49页解:(1)编程,使82553个口24条线均为输出,且输出幅度和频率为任意方波。 MOVDX,0FFFE3H MOVAL,80H OUTDX,ALNEXT: MOVAL,0FFH MOVDX,0FFE0H OUTDX,AL INCDX OUTDX,AL INCDX,AL NOP

MOVAL,00H MOVDX,0FFE0H OUTDX,AL INCDX OUTDX,AL INCDX,AL JMPNEXT50第50页作业701.8255芯片为用户提供

个I/O端口,一片8255芯片最少占

端口地址;PA口有

种工作方式。PB口有______种工作方式。702.8253芯片为用户提供

个计数通道,一片8253芯片最少占

个端口地址;8253最大计数初值是

。51第51页分析8255端口地址52第52页分析8255端口地址00PA口0380H01PB口0381H10PC口0382H11控制存放器0383H从Y0分析,BCA为000即A4A3A2为000;从G信号分析,A9~A7为111;从G2A、G2B分析,A6A5为00,综上分析8255端口地址地址53第53页5.8试判断8088系统中由74LS138输出所决定地址范围。A1918171615141312111098765432108FFFFHCFFFFH8C000H~/Y61108DFFFH0CC000H~110CDFFFH18E000H~/Y71110CE000H~111181FFFHC1FFFH88000H~/Y410089FFFH0C8000H~100C9FFFH1

1X00CBA

XXXXXXXXXXXXX80000H~/Y00C0000H~000154第54页课堂作业:分析8255端口地址55第55页分析8255端口地址从Y0分析,BCA为000即A5A4A3为000;从G信号分析,A7A6为11;从G2A分析,A15~A8为11111011;从CS信号分析,A2=0,综上分析8255端口地址地址FBC0H~FBC3H111110111100XX56第56页课堂作业:总存放容量是多少各芯片地址范围P200图5.1557第57页解ROM芯片2732有12条(A0A11)地址线,其容量为22KB,即4KB,3片Rom芯片总容量为4*3=12KB。RAM芯片6264有13条(A0A13)地址线,其容量为23KB,即8KB,2片RAM芯片总容量为8*2=16KB。系统总存放量为12+16=28KB58第58页地址分析以下:

CBA

A19A18A17A16A15A14A13A120

0000

000Y000000H00FFFH0

0000

001Y101000H01FFFH0

0000

010Y20H02FFFH0

0000

011Y303000H03FFFH0

0000

100Y404000H04FFFH

温馨提示

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

评论

0/150

提交评论