《2022年汇编期末复习题.docx》由会员分享,可在线阅读,更多相关《2022年汇编期末复习题.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源一、问答题1、 写出 8086 操作数的寻址方式; 8086 的储备器寻址方式有哪些?答:操作数的寻址方式有:立刻数寻址;寄存器寻址;储备器寻址;储备器寻址方式有:立刻寻址;寄存器寻址;直接寻址;寄存器间接;寄存器相对; 基址变址;相对基址变址;2、 何谓中断向量,何谓中断号?答:中断向量即中断服务程序的入口地址; 中断类型号是系统安排给每个中断源的代号;3、 试写出由规律地址运算物理地址的运算公式;写出 8086 在储备器寻址下,储备单元的规律地址的表示形式;答: PA=段基址 *16+ 偏移量 LA= 段基址:偏移量4、 在内存物理地址为 00002H 起的字单元内存放 785
2、6H ,请用图表示出它们在储备器里存放的情形;寄存器寄存器00002H00003H00004H56H78H00002H00003H00004H12H34H4 题图5 题图5、 在物理内存地址为00002H 起的字单元内存放3412H ,请用图表示出它们在储备器里存放的情形;6、 8088 的寻址空间有多大?要寻址全部内存空间必需采纳什么技术措施? 答: 1MB ,分段寻址7、 寄存器间接寻址方式可使用哪些寄存器?答:在 8086 中: BX/BP/SI/DI8、 在分断技术中,寄存器BX 和 BP 默认对应的段寄存器是哪些? 答: BX 对应的是 DS,BP 对应的是 SS;9、 寄存器相对寻
3、址方式中的位移量可以用什么形式表达? 答:位移量 =EA 基址变址 *比例因子10、 微机的内存的最小编址单位是什么?字型数据在内存的中的存放原就是什么? 答:最小编址单位是B,存放原就是先低字节,后高字节;11、 基址变址寻址方式的可用寄存器有哪些?答: BXSI/BXDI12、 写出相对基址变址寻址方式的偏移地址EA 的运算公式;答: EA= 位移量 +基址+变址13、 在内存物理地址为 30476H 起的连续地址空间内存放了一个值为 90634511H 的双字型数据, 请用图表示出它们在储备器里存放的情形;欢迎下载精品学习资源30476H11H65780H78H30477H45H6578
4、1H56H30478H63H65782H34H30479H30480H90H65783H65784H12H寄存器寄存器13 题图14 题图14、 在内存物理地址为65780H 起的连续地址空间内存放了一个值为12345678H 的双字型数据, 请用图表示出它们在储备器里存放的情形;15、 条件转移指令的转移范畴是多少? 答: 12812716、 LOOP 指令使用的循环计数器是什么? 答: CX.17、 设有变量 ABCD ,要取它的偏移地址送到寄存器AX中,可用哪两种方法?用指令表达出来;答: LEAAX,ABCD MOVAX,ABCD18、 子程序调用时传递参数的三种基本方法是什么?答:通
5、过寄存器传送;通过堆栈传送;通过变量传送;19、 串操作指令在使用前应做哪些预备工作?答:把存放在数据段中的源串首地址如反向传送就应是末地址放入源变址寄存器中; 把将要存放数据串的附加段中的目的串首地址或反向传送时的末地址放入目的变址寄存器中;把数据串长度放入计数寄存器;建立方向标志;二、简答题写出以下各指令的源操作数的寻址方式;1MOVAX,0AH立刻寻址21SUBCX,0CFH立刻寻址2MOVBX,12H立刻寻址22MOVDX,49H立刻寻址3MOVBX,CL寄存器寻址23ADDCBP,DL寄存器寻址4MOVBX,CX寄存器寻址24ACHGBX,AH寄存器寻址5MOVAX,200H直接寻址
6、25ANDAX,ES:buf直接寻址6MOVAX,100H直接寻址26MOVCX,SS:buf直接寻址7MOVBX,BX寄存器间接寻址27XORAX,DI寄存器间接寻址8MOVAX,BX寄存器间接寻址28MOVCX,BX寄存器间接寻址9MOVAX,BP寄存器间接寻址29ORDX,BP寄存器间接寻址10MOVDX,BP寄存器间接寻址30MOVCX,BP寄存器间接寻址11MOVAX,SIBX基址变址寻址31ANDDL,BP+DI基址变址寻址12MOVCX,BXSI基址变址寻址32MOVBX,SI+BP基址变址寻址13MOVDI,BX+20相对基址寻址33XORSI,56BX相对基址寻址欢迎下载精品
7、学习资源14MOVDI,20BX相对基址寻址34MOVDI,BX+30相对基址寻址15MOV16MOVDH,V ALBX相对基址寻址DH,ARRYBX相对基址寻址35ADD36MOVDL,bufBXAL,buf+BP相对基址寻址相对基址寻址17MOVDS,VAL直接寻址37MOVDS,BX+DI基址变址寻址18MOVDS,ARRY直接寻址38MOVDS,BX+SI基址变址寻址19MOVBX,V ALBXSI相对基址变址寻址39MOVAH,buf+BP+DI相对基址变址寻址20MOVBX,ARRYBXDI相对基址变址寻址40ADDAL,buf+BX+SI相对基址变址寻址三、判定题对者在题号前的括
8、号中打“” ,错的打“” 1.SBBAL,DX 1.XCHGBX,AX 2.MOV 3.CMPCX,DXBX,DI 2.XOR 3.CMPBL,CXAX,SI 4.CMPBP,BX 4.POPDI 5.POPDI 5.POP 6.POPSI 6.PUSHAX 7.PUSHAL堆栈操作以字为单位 8.PUSHDL堆栈操作以字为单位CL 堆栈操作以字为单位 7.PUSH AL 堆栈操作以字为单位 8.OR BYTE PTR BP,98 9.MOVBYTEPTR BP,124 9.ANDBX,255 10.MOVBYTEPTR BX,100 10.SUBSI,BYTEPTR 35 11.ADDDI,
9、BYTEPTR 24 11.MOVBP,10 12.SUBBP,BYTEPTR 10 12.DECCXCX 不能间接寻址 13.DECDXDX不能间接寻址 13.INC8BX 14.INC2BX 14.SHLAL,1 15.RORBL,1 15.MOVBX,DXDX 不能间接寻址 16.MOVCX,DXDX 不能间接寻址 16.MOVbufBPSI,CL 17.MOVDA TBPDI,AL 17.MOVbufBXDI,CX欢迎下载精品学习资源 18.ADDCAL,BYTEPTR ACAC为字变量 19.CMPCX,WORDPTR WLWL 18.MOVDA TBXSI,AX 19.SUBAL,
10、BYTEPTR ACAC 20.ADDCX,WORDPTR WLWL为字节变量 20.ADDBX,DI四、程序填空题1、 要求用移位指令实现BX BX *9 MOVAX,BXMOV CL,3SHL AX,CLADDBX,AX2、 要求用移位指令实现BX BX *5MOV AX,BX MOVCL,2 SHLAX,CL ADD BX,AX3、 假设程序中数据定义如下:ASDDB 3要求把变量 ASD 的值在显示器上显示出来;MOVDL,ASD为字变量 为字节变量 欢迎下载精品学习资源ADD DL,30H MOVAH,2 INT 21H4、 假设程序中数据定义如下:XDB 3要求把变量 X 的值在显
11、示器上显示出来;MOV DL,X ADDDL,30H MOV AH,3 INT21H5、 假设程序中字符串MESS 定义如下:MESSDBABCDEF 要求把字符串MESS 送到显示器上显示出来;LEADX,MESSMOV AH,9INT21H6、 假设程序中字符串BUF 定义如下:BUFDBABCDEF MOV AH,9 INT 21H7、 假设程序中数据定义如下:BUFDB32 DUP .要求在 BUF 中查找第一个 B . CLDMOV CX,32MOVAL, B LEADI,BUF REPEN SCASB8、 假设程序中数据定义如下:BUFDB38 DUP.要求在 BUF 中查找第一个
12、 M CLDMOVCX,38MOV AL,MLEADI,BUFREPEN SCASB9、 比较两个字符串 B1 和 B2,其长度为 20 个字节,找出它们相匹配的位置;LEASI,B1LEADI,B2CLDMOV CX,0014HREPNECMPSB10、比较两个字符串STR1 和 STR2 ,其长度为 45 个字节,找出它们不相匹配的位置;LEASI,STR1欢迎下载精品学习资源LEADI,STR2CLDMOV CX,002DHREPECMPSB五、写出以下程序段的执行结果;1、 CODE1SEGMENTASSUMECS:CODE1 MAINPROCFAR START:PUSHDSXORAX
13、,AXPUSHAXMOVCH,4欢迎下载精品学习资源ROT1:OUT1 :MOVCL,4ROLBX,CLMOVDL,BLANDDL,0FHADDDL,30H CMPDL,3AH JBOUT1 ADDDL,7HMOVAH,2 INT21HDECCHJNZROT1 RET欢迎下载精品学习资源MAINENDP CODE1ENDSENDMAIN此程序执行后,屏幕上显示的内容为:C48F 2、 DA TASEGMENTBUFDB7,9,6DA TAENDS CODESEGMENTASSUMECS:CODE,DS:DA TA BEGIN:MOVAX,DATA MOVDS,AXMOVCX,2MOVBX,OF
14、FSETBUF MOVSI,1欢迎下载精品学习资源AAA:MOVAL,BUFCMPAL,BX+SI JLNEXTMOVAL,BX+SI欢迎下载精品学习资源NEXT:INCSI LOOPAAAMOVDL,AL ADDDL,30H MOVAH,2 INT21HMOVAH,4CH INT21HCODEENDSENDBEGIN执行此程序后,屏幕上显示的内容为:6此程序功能是将串中小于7 的数字屏显出来 3、 MOVAL,03HMOVCL,2SHLAL,CL此指令段执行后, AL 中的值为: 0CH即 3*2*2=12 4、MOVAL,40HMOVCL,2SHRAL,CL此程序段执行后, AL 中的值为
15、: 10H即 64/2/2=16 5、CODESEGMENTASSUMECS:CODE MAIN:MOVAH,1INT21HMOVAH,2MOVDL,ALADDDL,30HINT21HMOVAH,4CHINT21HCODEENDSENDMAIN设输入数字 7,其输出结果是多少?7 6、 CODESEGMENTASSUMECS:CODEMAIN:MOVAH,1 INT21H欢迎下载精品学习资源ADDAL,2MOVAH,2MOVDL,ALADDAL,30HINT21HMOVAH,4CHINT21HCODEENDSENDMAIN设输入数字 3,其输出结果是多少?5六、程序设计1、 求两个字节数X 和
16、 Y 的 2 倍放到 Z 单元中;设 X 与 Y 的和是字节数;DATA SEGMENT X DB 2Y DB 2Z DB . DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV BL,XMOV CL,Y ADD BL,CL MOV CL,BL ADD CL,BL MOV Z,CL MOV DL,Z ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21HCODE ENDSEND START2、 求两个字节数X 和 Y 的平均数放到 Z 单元中;DATA
17、 SEGMENT X DB 7Y DB 8Z DB ./商W DB ./ 余数DATA ENDSCODE SEGMENT欢迎下载精品学习资源ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV BL,XMOV CL,Y ADD BL,CL CBWMOV AX,BX MOV CL,2 DIV CL MOV Z,AL MOV W,AH MOV DL,ZADD DL,30HMOV AH,02H INT 21H MOV DL,W ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21HCODE ENDSEN
18、D START3、 编写程序,把从键盘读入的一个小写字母转换成相应的大写字母,并输出;注:对应大小写字母之间的 ASCII 码值相差 20H PROGNAM SEGMENT MAIN PROC FARASSUME CS:PROGNAM START:PUSH DS SUB AX,AX PUSH AXNEXT:MOVAH,1 INT 21H CMPAL,A JBEXIT CMPAL,Z JAEXITSUBAL ,20HMOV DL,AL MOV AH,2欢迎下载精品学习资源INT 21H MOV DL,0AH MOV AH,2 INT 21HJMP NEXTEXIT:RETMAINENDP PRO
19、GNAMENDSENDSTART4、 编写程序,把从键盘读入的一个大写字母转换成相应的小写字母,并输出;注:对应大小写字母之间的 ASCII 码值相差 20H PROGNAMSEGMENT MAIN PROC FARASSUME CS:PROGNAMSTART:PUSH DS SUB AX,AX PUSH AXNEXT:MOVAH,1 INT 21H CMPAL,A JBEXIT CMPAL,Z JAEXITADDAL ,20H MOV DL,AL MOV AH,2INT 21H MOV DL,0AH MOV AH,2 INT 21HJMP NEXT EXIT:RETMAINENDP PROG
20、NAMENDSENDSTART5、 已知数组 X 包含有 8 个无符号整数,编写对其中的每个奇数运算1+2+ +N,并把它们次序存入内存字单元 SUM 开头的储备区中,要求1+2+ +N 用子程序实现;不考虑溢出;DATASEGMENTXDW2,3,4,5,6,7,8,9欢迎下载精品学习资源SUMDW 8 DUP .DATAENDS CODESEGMENTASSUME CS:CODE,DS:DATAMAIN:MOVAX,DA TAMOVDS,AXLEABX,XLEADI,SUMMOVCX,8 NEXT:MOVDX,BXMOVAX,DXSHRAX,1JNCN1CALLSUB1MOVDI,AXAD
21、DDI,2N1:ADDBX,2 LOOPNEXT MOVAH,4CH INT21HSUB1PROCNEAR PUSHCXXORAX,AXMOVCX,DX AGAIN:ADDAX,CX LOOPAGAIN POPCXRETSUB1ENDPCODEENDSENDMAIN6、 已知数组 X 包含有 8 个无符号整数,编写对其中的每个偶数运算1+2+ +N,并把它们次序存入内存字单元 SUM 开头的储备区中,要求1+2+ +N 用子程序实现;不考虑溢出;DATASEGMENTXDW2,3,4,5,6,7,8,9 SUMDW 8 DUP.DATAENDS CODESEGMENTASSUME CS:COD
22、E,DS:DATAMAIN:欢迎下载精品学习资源MOVAX,DA TAMOVDS,AXLEABX,XLEADI,SUMMOVCX,8 NEXT:MOVDX,BXMOVAX,DXSHRAX,1 JCN1 CALLSUB1MOVDI,AXADDDI,2N1:ADDBX,2 LOOPNEXT MOVAH,4CH INT21HSUB1PROCNEAR PUSHCXXORAX,AX MOVCX,DXAGAIN:ADDAX,CX LOOPAGAIN POPCXRETSUB1ENDPCODEENDSENDMAIN注:编者水平有限,不能保证全部答案都正确,如发觉错误之处,请指出;卷上部分答案来源于互联网,不代表标准答案,此卷仅供参考;最终两个编程题中有一道考试必考!我只能帮你们到这里了!呵呵欢迎下载