您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 汇编期末复习题(完整含答案版)
一、问答题1、写出8086操作数的寻址方式。8086的存储器寻址方式有哪些?答:操作数的寻址方式有:①立即(数)寻址。②寄存器寻址。③存储器寻址。存储器寻址方式有:①立即寻址。②寄存器寻址。③直接寻址。④寄存器间接。⑤寄存器相对。⑥基址变址。⑦相对基址变址。2、何谓中断向量,何谓中断号?答:中断向量即中断服务程序的入口地址。中断类型号是系统分配给每个中断源的代号。3、试写出由逻辑地址计算物理地址的计算公式。写出8086在存储器寻址下,存储单元的逻辑地址的表示形式。答:PA=段基址*16+偏移量LA=段基址:偏移量4、在内存物理地址为00002H起的字单元内存放7856H,请用图表示出它们在存储器里存放的情况。5、在物理内存地址为00002H起的字单元内存放3412H,请用图表示出它们在存储器里存放的情况。6、8088的寻址空间有多大?要寻址全部内存空间必须采用什么技术措施?答:1MB,分段寻址7、寄存器间接寻址方式可使用哪些寄存器?答:在8086中:BX/BP/SI/DI8、在分断技术中,寄存器BX和BP默认对应的段寄存器是哪些?答:BX对应的是DS,BP对应的是SS。9、寄存器相对寻址方式中的位移量可以用什么形式表达?答:位移量=EA—基址—(变址*比例因子)10、微机的内存的最小编址单位是什么?字型数据在内存的中的存放原则是什么?答:最小编址单位是B,存放原则是先低字节,后高字节。11、基址变址寻址方式的可用寄存器有哪些?答:[BX][SI]/[BX][DI]12、写出相对基址变址寻址方式的偏移地址EA的计算公式。答:EA=位移量+基址+变址13、在内存物理地址为30476H起的连续地址空间内存放了一个值为90634511H的双字型数据,请用图表示出它们在存储器里存放的情况。00002H00003H00004H12H34H5题图寄存器00002H00003H00004H56H78H4题图寄存器14、在内存物理地址为65780H起的连续地址空间内存放了一个值为12345678H的双字型数据,请用图表示出它们在存储器里存放的情况。15、条件转移指令的转移范围是多少?答:—128~12716、LOOP指令使用的循环计数器是什么?答:CX.17、设有变量ABCD,要取它的偏移地址送到寄存器AX中,可用哪两种方法?用指令表达出来。答:①LEAAX,ABCD②MOVAX,ABCD18、子程序调用时传递参数的三种基本方法是什么?答:①通过寄存器传送。②通过堆栈传送。③通过变量传送。19、串操作指令在使用前应做哪些准备工作?答:①把存放在数据段中的源串首地址(如反向传送则应是末地址)放入源变址寄存器中。②把将要存放数据串的附加段中的目的串首地址(或反向传送时的末地址)放入目的变址寄存器中。③把数据串长度放入计数寄存器。④建立方向标志。二、简答题写出下列各指令的源操作数的寻址方式。(1)MOVAX,0AH立即寻址(21)SUBCX,0CFH立即寻址(2)MOVBX,12H立即寻址(22)MOVDX,49H立即寻址(3)MOV[BX],CL寄存器寻址(23)ADDC[BP],DL寄存器寻址(4)MOV[BX],CX寄存器寻址(24)ACHG[BX],AH寄存器寻址(5)MOVAX,[200H]直接寻址(25)ANDAX,ES:[buf]直接寻址(6)MOVAX,[100H]直接寻址(26)MOVCX,SS:[buf]直接寻址(7)MOVBX,[BX]寄存器间接寻址(27)XORAX,[DI]寄存器间接寻址(8)MOVAX,[BX]寄存器间接寻址(28)MOVCX,[BX]寄存器间接寻址(9)MOVAX,[BP]寄存器间接寻址(29)ORDX,[BP]寄存器间接寻址(10)MOVDX,[BP]寄存器间接寻址(30)MOVCX,[BP]寄存器间接寻址(11)MOVAX,[SI][BX]基址变址寻址(31)ANDDL,[BP+DI]基址变址寻址(12)MOVCX,[BX][SI]基址变址寻址(32)MOVBX,[SI+BP]基址变址寻址(13)MOVDI,[BX+20]相对基址寻址(33)XORSI,56[BX]相对基址寻址65780H65781H65782H65783H65784H78H56H34H12H寄存器14题图30476H30477H30478H30479H30480H11H45H63H90H寄存器13题图(14)MOVDI,20[BX]相对基址寻址(34)MOVDI,[BX+30]相对基址寻址(15)MOVDH,VAL[BX]相对基址寻址(35)ADDDL,buf[BX]相对基址寻址(16)MOVDH,ARRY[BX]相对基址寻址(36)MOVAL,[buf+BP]相对基址寻址(17)MOVDS,VAL直接寻址(37)MOVDS,[BX+DI]基址变址寻址(18)MOVDS,ARRY直接寻址(38)MOVDS,[BX+SI]基址变址寻址(19)MOVBX,VAL[BX][SI]相对基址变址寻址(39)MOVAH,[buf+BP+DI]相对基址变址寻址(20)MOVBX,ARRY[BX][DI]相对基址变址寻址(40)ADDAL,[buf+BX+SI]相对基址变址寻址三、判断题对者在题号前的括号中打“√”,错的打“×”(×)1.SBBAL,DX(√)1.XCHGBX,AX(√)2.MOVCX,DX(×)2.XORBL,CX(√)3.CMPBX,[DI](√)3.CMPAX,[SI](×)4.CMP[BP],[BX](√)4.POPDI(√)5.POPDI(√)5.POPAX(√)6.POPSI(×)6.PUSHCL堆栈操作以字为单位(×)7.PUSHAL堆栈操作以字为单位(×)7.PUSHAL堆栈操作以字为单位(×)8.PUSHDL堆栈操作以字为单位(√)8.ORBYTEPTR[BP],98(√)9.MOVBYTEPTR[BP],124(√)9.AND[BX],255(√)10.MOVBYTEPTR[BX],100(√)10.SUB[SI],BYTEPTR35(√)11.ADD[DI],BYTEPTR24(√)11.MOV[BP],10(√)12.SUB[BP],BYTEPTR10(×)12.DEC[CX]CX不能间接寻址(×)13.DEC[DX]DX不能间接寻址(√)13.INC8[BX](√)14.INC2[BX](√)14.SHLAL,1(√)15.RORBL,1(×)15.MOVBX,[DX]DX不能间接寻址(×)16.MOVCX,[DX]DX不能间接寻址(√)16.MOVbuf[BP][SI],CL(√)17.MOVDAT[BP][DI],AL(√)17.MOVbuf[BX][DI],CX(√)18.MOVDAT[BX][SI],AX(√)18.ADDCAL,BYTEPTRAC(AC为字变量)(√)19.SUBAL,BYTEPTRAC(AC为字变量)(√)19.CMPCX,WORDPTRWL(WL为字节变量)(√)20.ADDCX,WORDPTRWL(WL为字节变量)(√)20.ADDBX,[DI]四、程序填空题1、要求用移位指令实现(BX)—(BX)*9MOVAX,BXMOVCL,3SHLAX,CLADDBX,AX2、要求用移位指令实现(BX)—(BX)*5MOVAX,BXMOVCL,2SHLAX,CLADDBX,AX3、假设程序中数据定义如下:ASDDB3要求把变量ASD的值在显示器上显示出来。MOVDL,ASDADDDL,30HMOVAH,2INT21H4、假设程序中数据定义如下:XDB3要求把变量X的值在显示器上显示出来。MOVDL,XADDDL,30HMOVAH,3INT21H5、假设程序中字符串MESS定义如下:MESSDB’ABCDEF’要求把字符串MESS送到显示器上显示出来。LEADX,MESSMOVAH,9INT21H6、假设程序中字符串BUF定义如下:BUFDB‘ABCDEF’MOVAH,9INT21H7、假设程序中数据定义如下:BUFDB32DUP(?)要求在BUF中查找第一个’B’.CLDMOVCX,32MOVAL,’B’LEADI,BUFREPENSCASB8、假设程序中数据定义如下:BUFDB38DUP(?)要求在BUF中查找第一个’M’CLDMOVCX,38MOVAL,‘M’LEADI,BUFREPENSCASB9、比较两个字符串B1和B2,其长度为20个字节,找出它们相匹配的位置。LEASI,B1LEADI,B2CLDMOVCX,0014HREPNECMPSB10、比较两个字符串STR1和STR2,其长度为45个字节,找出它们不相匹配的位置。LEASI,STR1LEADI,STR2CLDMOVCX,002DHREPECMPSB五、写出下列程序(段)的执行结果。1、CODE1SEGMENTASSUMECS:CODE1MAINPROCFARSTART:PUSHDSXORAX,AXPUSHAXMOVCH,4MOVBX,1100010010001111BROT1:MOVCL,4ROLBX,CLMOVDL,BLANDDL,0FHADDDL,30HCMPDL,3AHJBOUT1ADDDL,7HOUT1:MOVAH,2INT21HDECCHJNZROT1RETMAINENDPCODE1ENDSENDMAIN此程序执行后,屏幕上显示的内容为:C48F2、DATASEGMENTBUFDB7,9,6DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABEGIN:MOVAX,DATAMOVDS,AXMOVCX,2MOVBX,OFFSETBUFMOVSI,1MOVAL,BUFAAA:CMPAL,[BX+SI]JLNEXTMOVAL,[BX+SI]NEXT:INCSILOOPAAAMOVDL,ALADDDL,30HMOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDBEGIN执行此程序后,屏幕上显示的内容为:6(此程序功能是将串中小于7的数字屏显出来)3、MOVAL,03HMOVCL,2SHLAL,CL此指令段执行后,AL中的值为:0CH(即3*2*2=12)4、MOVAL,40HMOVCL,2SHRAL,CL此程序段执行后,AL中的值为:10H(即64/2/2=16)5、CODESEGMENTASSUMECS:CODEMAIN:MOVAH,1INT21HMOVAH,2MOVDL,ALADDDL,30HINT21HMOVAH,4CHINT21HCODEENDSENDMAIN设输入数字7,其输出结果是多少?76、CODESEGMENTASSUMECS:CODEMAIN:MOVAH,1INT21HADDAL,2MOVAH,2MOVDL,ALADDAL,30HINT21HMOVAH,4CHINT21HCODEENDSENDMAIN设输入数字3,其输出结果是多少?5六、程序设计1、求两个字节数X和Y的2倍放到Z单元中。设X与Y的和是字节数。DATASEGMENTXDB2YDB2ZDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBL,XMOVCL,YADDBL,CLMOVCL,BLADDCL,BLMOVZ,CLMOVDL,ZADDDL,30HMOVAH,02HINT21HMOVAH,4CHINT21HCODEENDSENDSTART2、求两个字节数X和Y的平均数放到Z单元中。DATASEGMENTXDB7YDB8ZDB?//商WDB?//余数DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBL,XMOVCL,YADDBL,CLCBWMOVAX,BXMOVCL,2DIVCLMOVZ,ALMOVW,AHMOVDL,ZADDDL,30HMOVAH,02HINT21HMOVDL,WADDD
本文标题:汇编期末复习题(完整含答案版)
链接地址:https://www.777doc.com/doc-3717608 .html