您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 97微机原理及应用复习题
微机原理及应用复习题三、简答题1、下列指令中源操作数的寻址方式是什么?(1)MOVBX,[0100H]答:(2)MOVCX,DATA[SI]答:(3)MOVES:[SI],AX答:(4)ADDAX,[BX][DI]答:(5)MOVAL,NUMBER[BP][DI]答:2、执行下列指令后,AX寄存器的内容是什么?定义:TABLEDW0,100H,200H,300H,400HDISTADW6(1)执行MOVBX,OFFSETTABLEADDBX,DISTAMOVAX,[BX]AX的内容:(2)执行MOVSI,4LEABX,TABLEMOVAX,[BX][SI]AX的内容:3、指出下列指令的错误。a.MOVAX,[SI][DI];答:b.MOV[SI],OFFH;答:c.MOVDATA[SI],CS:AX;答:d.MOVCL,BX;答:e.OUT280H,AL;答:4、变量有哪几种属性?标号有哪几种属性?二者有何区别?5.8086/8088系统中有20根地址线,它的存储空间最大是多少?将该内存空间顺序分为16段,每段64K,试写出第二段和最末段的地址范围。6.分析下列程序段,写出该程序段的功能。MOVAX,2000HMOVDS,AXMOVAX,6000HMOVES,AXMOVSI,1200HMOVDI,0MOVCX,100CLDNEXT:REPMOVESB7.8088CPU的中断系统中,中断向量表长度是多少字节?中断向量表的地址范围是多少?8、已知X=-1101001Y=-1010110,计算[X-Y]补=?9、8088的EU和BIU有哪些主要功能?在执行指令期间,EU能直接访问存储器吗?10、指出以下指令中源操作数的寻址方式。MOVSI,300MOVAX,[3102H]ADDAX,[BX][SI]MULBLMOV[BP],AX11、编写程序段,当输入接口的bit1、bit4、bit7位同时为1时,CPU将内存中以DATA为首址的10个单元的数据从输出接口输出,若不满足上述条件则等待。已知输入接口地址:FF80H输出接口地址:FF81H12、已知X=1100001B,Y=1010101B,用8位补码计算(X-Y)补=?,并说明结果是否溢出。14、在8086/8088系统中,当前数据段位于存储器的78000H-87FFFH,则DS段寄存器为:。15、在数据段中有以下定义:ARRAY1EQU16HARRAY2DW7F16H请指出下面两条指令中源操作数的寻址方式:MOVAX,ARRAY1;寻址方式MOVAX,ARRAY2;寻址方式四、程序设计1、下列程序段为RAM实验中的存储器测试程序,将语句补充完整。DATASEGMENTMESSAGEDB’PLEASEENTERAKEYTOSHOWTHECONTENTS’,ODH,OAH,’$’DATACODESEGMENTASSUMECS:CODE,DS:,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,MOVAX,2000HMOVES,AXMOVBX,1000HMOVDL,40HREP1:INCDL;输入A到Z26个字符MOVES:[BX],DLINC;修改指针CMPDL,’Z’JNZLEADX,;以下显示提示信息MOVAH,09HINT21HMOVAH,01H;等待按键INT21HMOVAX,2000H;MOVES,AXMOVBX,1000HMOVCX,26;以下显示已写入的字符REP2:MOVDL,ES:[BX]MOV,02HINT21HINCBXLOOPMOVAX,;返回DOSINT21HCODEENDSTART2、设在内存NUM单元开始存放着100个字节,要求将其中为零的元素全部删除,并将保留的数据连续存放,以$为结束标志;结束标志的下一个单元保存零元素个数。下列程序是满足以上要求的部分程序,请补充完整。DATASEGMENTNUMA1,A2,…A99,A100NUM1DB00,00DATAENDSCODESEGMENTASSUMECS:CODE,START:MOVAX,DATAMOVDS,AXLEASI,;取NUM数据区首址MOVDI,SIMOVCX,100XORDL,DL;DL作为统计零元素个数的计数器GO1:MOVAL,[SI]CMPJNZGO2INCJMPGO3GO2:INCDIGO3:INCSIGO1MOV[DI],‘$’INCDIMOV[DI],MOVAH,INT21HCODEENDSTART3、设在内存NUM单元开始存放着100个字节类型的整数,要求将其中为一的元素全部删除,并将剩余的数据元素连续存放,以0为结束标志,另外结束标志的下一个单元保存零元素个数。下列程序是满足以上要求的部分程序,完成该程序:DATASEGMENTNUMa1,a2,……,a100NUM1DB0,0DATAENDSCODESEGMENTASSUMECS:CODE,DS:START:MOVAX,DATAMOVDS,AXLEASI,;取数据首址MOVDI,SIMOVCX,100XORDL,DL;DL作为统计零元素个数的计数器GO1:MOVAL,|SI|CMP,0;与0比较JNZGO2INC;零元素计数器加一JMPGO3GO2:MOV[DL],;保存非零元素INCDIGO3:INCSILOOPGO1MOVBYTEPTR|DI|,0MOV,DL;保存零元素个数MOVAH,INT21HCODEENDSEND4、把从ARRAY单元开始的6个无符号数按从小到大的顺序排序。请把程序补充完整,说明:本程序用BL寄存器作为交换标志寄存器,BL=0,表示排序完成;BL=0FFH,表示排序示完成,BL初值预置为0FFH。程序如下:DATAARRAYDB25,75,3,46,5,30COUNTEQI6DATAENDSSTACKSEGMENTDW50DCP(?)STACKENDSCODESEGMENTCS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,;初始化DS,ES,SSMOVDS,AXMOVES,AXMOVAX,MOVSS,AXMOVBL,0FFH;初始化变换标志寄存器AGAIN0:CMPBL,0JZDONE;BL=0,转移到DONEBL,BL;否则BL清0MOVSI,OFFSETARRAYMOVCX,;置循环次数DECCXAGAINI:MOVAL,|SI|;两元素比较CMP,|SI+1|JBEUNCH;若|SI|≤|SI+1,不交换EXCH:MOVDL,|SI+1|;否则交换MOV|SI|,DLMOV|SI+1|,MOVBL,0FFH;互换标志位UNCH:INCSILOOPAGAIN1JMPAGAIN0DONE:MOVAH;返回DOSINT21HCODE;码段结束ENDSTART五、应用题(一)、可编程定时/计数8253应用定时/计数器8253接线图如下图所示,已知8253CLK0输入时钟为1MHZ,计数器0工作方式3,由OUT0发出1ms的方波。要求:(1)确定端口地址;(2)确定控制字及时间常数;(3)设计初始化程序。1.确定各端口地址:计数器0,计数器1,计数器2,控制寄存器2.确定计数器0的控制字:3.确定计数器0的时间常数:4.完成8253的初始化程序段MOVDX,MOVAL,OUTDX,ALMOVDX,MOVAL,00HOUTDX,ALMOVAL,OUTDX,AL定时器/计数器8253A7D0~D7RDWROUT0OUT1OUT28253CLK0CLK1CLK2A1A0CS&G12AG74LS1382BGCBA≥1D0~D7IORIOWA9A8A6A5&A15A14A13A12A11A4A3A24YA1A0GATE0GATE1GATE25V1ms1MHA10六、存储器设计利用SRAM6264(8K×3位)芯片和EPROM2764(8K×8位)芯片构成存储器,与8088/8086系统总线相连(如下图所示),请根据接线图回答下列问题。1.写出SRAM6264的地址范围:2.写出EPROM2764地址范围:3.如果地址线A18不参与译码,写出SRAM6264的地址范围:写出EPROM2764的地址范围:4.根据总线信号说明8088CPU的工作模式:D0~D7A0A10R/WOECSM1SRAM6116D0~D7A0A10MEMWMEMR&&G2AG74LS1382BGCBA≥1A19A17A16A13A12A18A15A14A11D0~D7A0A10R/WOECSM2SRAM6116D0~D7A0A10MEMR……Y()0Y七、应用题(一)在8088系统中,地址线20根,数据线8根,设计32K×8的存储系统;其中RAM为16K×8位,选用6264芯片,地址范围为E8000H~EBFFFH;ROM为16K×8位,选用2764芯片,地址范围为EC000H~EFFFFH;电路原理图如下:1、请写出Y4、Y6的地址范围。Y4:Y6:2、请标出未说明的总线信号名称:标在图中。3、此系统的8088是工作在什么模式下?D0~D7A0A12MEMWMEMRD0~D7A0A12D0~D7A0A12WEOE6264CS2+5VCS1MEMRD0~D7A0A122764OECE≥1A191GLS1382AG2BGCBAA18A17A16A18A17A167Y0Y+5VD0~D7A0A12()+5VD0~D7A0A12WEOECS2CS1D0~D7……D0~D7A0A12WEOECS2CS1D0~D7D0~D7()(二)设计数器/定时器8253在微机系统中的端口地址分配如下:计数器0:340H计数器1:341H计数器2:342H控制口:343H设已有信号源频率为2MHs,计数器0产生周期为10μs的方波信号,二进制计数;计数器1作频率发生器,产生频率为10KHz的脉冲,BCD码计数;计数器2BCD码计数;利用计数器1和计数器2来产生周期为1秒的脉冲信号:1、请确定计数器0的时间常数:;控制字:。2、请确定计数器1的时间常数:;控制字:。3、请确定计数器2的时间常数:;控制字:。4、编程初始化8253。(三)如下图所示,8255的A端口接有8个开关,C端口接有8个发光二极管。编程控制,当开关闭合,相应灯亮;当开关全部断开,则循环延时点亮发光二极管。1、确定8255的各端口地址:2、确定控制字,答;3、填空完成下面的程序:MOVDX,0FF03H;控制口地址MOVAL,;控制字OUTDX,ALMOVBL,0FEH;循环点亮初值L1:MOVDX,;端口地址INAL,DX;读开关状态CMPAL,0FFHJZL2INCDXINCDXOUTDX,AL;DX中值的含义:JMPL1L2:MOVDX,;C端口地址MOVAL,BLOUTDX,ALMOVCX,0FFFHL3:LOOPL3RORBL,1;循环移位JMPL1SC1SC0RL1RL0M2M1M0BCD8253控制字D7D6D5D4D3D2D1D01A组控制B组控制8255控制字(四)、8253与系统的连接如下图所示,FIN0频率为1MHz,FIN2频率2MHz。计数器0采用BCD码计数,以最大计数值计数,输出方波(方式3);计数器1工作于方式2,二进制计数,输出的FOUT1频率为0.5Hz;FOUT,为50Hz的方波(方式3)。完成8253的初始化程序:TIM_CTLFQU;控制端口地址MOVDX,TIM_CTL;初始化计数器0+5VK0D0~D7A□RESETRDWRB□A1A0CSC□8255D0~D7RESETIORIOWA1A0&A15A14A13A12A11A10A9A82AG2BGG1CBA74LS138≥1A7A6A5&IOWIORA4A3A20Y+5VK7MOVAL,;控制字OUTDX;ALMOVDX,;计数器0地址MOVAL,;时间常数OUTDX,ALOUTDX,ALMOVDX,TIM_CTL;初始化计数器1MOVAL,OUTDX,ALMOVDX,MOVAL,OUTDX,ALMOVDX,TIM_CTL
本文标题:97微机原理及应用复习题
链接地址:https://www.777doc.com/doc-6455464 .html