2022年汇编期末复习题 .docx
精选学习资料 - - - - - - - - - 一、问答题1、 写出 8086 操作数的寻址方式;8086 的储备器寻址方式有哪些?答:操作数的寻址方式有:立刻数寻址;寄存器寻址;储备器寻址;储备器 寻址方式有:立刻寻址;寄存器寻址;直接寻址;寄存器间接;寄存器相对; 基址变址;相对基址变址;2、 何谓中断向量,何谓中断号?答:中断向量即中断服务程序的入口地址;3、 试写出由规律地址运算物理地址的运算公式;写出 址的表示形式;中断类型号是系统安排给每个中断源的代号;8086 在储备器寻址下,储备单元的规律地答: PA=段基址 *16+ 偏移量 LA= 段基址:偏移量4、 在内存物理地址为 00002H 起的字单元内存放 7856H,请用图表示出它们在储备器里存放的情况;00002H 寄存器00002H 寄存器56H 12H 00003H 78H 00002H 起的字单元内存放00003H 34H 00004H 00004H 4 题图5 题图5、 在物理内存地址为3412H,请用图表示出它们在储备器里存放的情况;6、 8088 的寻址空间有多大?要寻址全部内存空间必需采纳什么技术措施?答: 1MB ,分段寻址7、 寄存器间接寻址方式可使用哪些寄存器?答:在 8086 中: BX/BP/SI/DI 8、 在分断技术中,寄存器BX 和 BP 默认对应的段寄存器是哪些?答: BX 对应的是 DS,BP 对应的是 SS;9、 寄存器相对寻址方式中的位移量可以用什么形式表达?答:位移量 =EA 基址变址 *比例因子10、 微机的内存的最小编址单位是什么?字型数据在内存的中的存放原就是什么?答:最小编址单位是B,存放原就是先低字节,后高字节;11、 基址变址寻址方式的可用寄存器有哪些?答: BXSI/BXDI 12、 写出相对基址变址寻址方式的偏移地址 EA 的运算公式;答: EA= 位移量 +基址 +变址13、 在内存物理地址为30476H 起的连续地址空间内存放了一个值为90634511H 的双字型数据,请用图表示出它们在储备器里存放的情形;名师归纳总结 - - - - - - -第 1 页,共 11 页精选学习资料 - - - - - - - - - 寄存器 寄存器30476H 11H 65780H 78H 30477H 45H 65781H 56H 12345678H 的双字型数据,30478H 63H 65782H 34H 30479H 90H 65783H 12H 30480H 65784H 14、 在内存物理地址为13 题图14 题图65780H 起的连续地址空间内存放了一个值为请用图表示出它们在储备器里存放的情形;15、 条件转移指令的转移范畴是多少?答: 128127 16、 LOOP 指令使用的循环计数器是什么?答: CX. 17、 设有变量ABCD ,要取它的偏移地址送到寄存器AX 中,可用哪两种方法?用指令表达出来;答: LEA AX,ABCD MOV AX,ABCD 18、 子程序调用时传递参数的三种基本方法是什么?答:通过寄存器传送;通过堆栈传送;通过变量传送;19、 串操作指令在使用前应做哪些预备工作?答:把存放在数据段中的源串首地址如反向传送就应是末地址放入源变址寄存器中; 把将要存放数据串的附加段中的目的串首地址或反向传送时的末地址放入目的变址寄存器中;把数据串长度放入计数寄存器;建立方向标志;二、简答题 写出以下各指令的源操作数的寻址方式;名师归纳总结 1MOV AX,0AH 立刻寻址21SUB CX,0CFH 立刻寻址第 2 页,共 11 页2MOV BX,12H 立刻寻址22MOV DX,49H 立刻寻址3MOV BX,CL 寄存器寻址23ADDC BP,DL 寄存器寻址4MOV BX,CX 寄存器寻址24ACHG BX,AH 寄存器寻址5MOV AX,200H 直接寻址25AND AX,ES:buf 直接寻址6MOV AX,100H 直接寻址26MOV CX,SS:buf 直接寻址7MOV BX,BX 寄存器间接寻址27XOR AX,DI 寄存器间接寻址8MOV AX,BX 寄存器间接寻址28MOV CX,BX 寄存器间接寻址9MOV AX,BP 寄存器间接寻址29OR DX,BP 寄存器间接寻址10MOV DX,BP 寄存器间接寻址30MOV CX,BP 寄存器间接寻址11MOV AX,SIBX 基址变址寻址31AND DL,BP+DI 基址变址寻址12MOV CX,BXSI 基址变址寻址32MOV BX,SI+BP 基址变址寻址13MOV DI,BX+20 相对基址寻址33XOR SI,56BX 相对基址寻址- - - - - - -精选学习资料 - - - - - - - - - 14MOV DI,20BX 相对基址寻址34MOV DI,BX+30 相对基址寻址15MOV DH,V ALBX 相对基址寻址35ADD DL,bufBX 相对基址寻址16MOV DH,ARRYBX 相对基址寻址36MOV AL,buf+BP 相对基址寻址17MOV DS,VAL 直接寻址37MOV DS,BX+DI 基址变址寻址18MOV DS,ARRY 直接寻址38MOV DS,BX+SI 基址变址寻址19MOV BX,V ALBXSI 相对基址变址寻址39MOV AH,buf+BP+DI 相对基址变址寻址20MOV BX,ARRYBXDI 相对基址变址寻址40ADD AL,buf+BX+SI 相对基址变址寻址三、判定题对者在题号前的括号中打“ ”,错的打“ × ”× 1.SBB AL,DX 1.XCHG BX,AX 2.MOV CX,DX × 2.XOR BL,CX 3.CMP BX,DI 3.CMP AX,SI × 4.CMP BP,BX 4.POP DI 5.POP DI 5.POP AX 6.POP SI × 6.PUSH CL 堆栈操作以字为单位× 7.PUSH AL 堆栈操作以字为单位 × 7.PUSH AL 堆栈操作以字为单位× 8.PUSH DL 堆栈操作以字为单位 8.OR BYTE PTR BP,98 9.MOV BYTE PTR BP,124 9.AND BX,255 10.MOV BYTE PTR BX,100 10.SUB SI,BYTE PTR 35 11.ADD DI,BYTE PTR 24 11.MOV BP,10 12.SUB BP,BYTE PTR 10 × 12.DEC CX CX 不能间接寻址× 13.DEC DX DX 不能间接寻址 13.INC 8BX 14.INC 2BX 14.SHL AL,1 15.ROR BL,1 × 15.MOV BX,DX DX 不能间接寻址× 16.MOV CX,DX DX 不能间接寻址 16.MOV bufBPSI,CL 17.MOV DATBPDI,AL 17.MOV bufBXDI,CX 18.MOV DATBXSI,AX 18.ADDC AL,BYTE PTR ACAC 为字变量 19.SUB AL,BYTE PTR ACAC 为字变量 19.CMP CX,WORD PTR WLWL 为字节变量 20.ADD CX,WORD PTR WLWL 为字节变量 20.ADD BX,DI 四、程序填空题1、 要求用移位指令实现BX < BX *9 MOV AX,BX MOV CL,3 SHL AX,CL ADD BX,AX2、 要求用移位指令实现BX < BX *5 MOV AX,BX MOV CL,2 SHL AX,CL ADD BX,AX 3、 假设程序中数据定义如下:名师归纳总结 ASD DB 3 第 3 页,共 11 页要求把变量ASD 的值在显示器上显示出来;MOV DL,ASD - - - - - - -精选学习资料 - - - - - - - - - ADD DL,30H MOV AH,2 INT 21H 4、 假设程序中数据定义如下:X DB 3 要求把变量 X 的值在显示器上显示出来;MOV DL,X ADD DL,30H MOV AH,3 INT 21H 5、 假设程序中字符串 MESS 定义如下:MESS DB ABCDEF 要求把字符串 MESS 送到显示器上显示出来;LEA DX,MESS MOV AH,9 INT 21H 6、 假设程序中字符串 BUF 定义如下:BUF DB ABCDEF MOV AH,9 INT 21H 7、 假设程序中数据定义如下:BUF DB 32 DUP . 要求在 BUF 中查找第一个 B . CLD MOV CX,32 MOV AL, BLEA DI,BUF REPEN SCASB 8、 假设程序中数据定义如下:BUF DB 38 DUP. 要求在 BUF 中查找第一个 M CLD MOV CX,38 MOV AL,MLEA DI,BUF REPEN SCASB 9、 比较两个字符串B1 和 B2,其长度为20 个字节,找出它们相匹配的位置;LEA SI,B1 LEA DI,B2 CLD MOV CX,0014H 名师归纳总结 REPNE CMPSB 45 个字节,找出它们不相匹配的位置;第 4 页,共 11 页10、比较两个字符串STR1 和 STR2,其长度为LEA SI,STR1 - - - - - - -精选学习资料 - - - - - - - - - LEA DI,STR2 CLD MOV CX,002DH REPE CMPSB 五、写出以下程序段的执行结果;1、 CODE1 SEGMENT ASSUME CS:CODE1 MAIN PROC FAR START: PUSH DS XOR AX,AX PUSH AX MOV CH,4 ROT1:MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH ADD DL,30H CMP DL,3AH JB OUT1 ADD DL,7H OUT1:MOV AH,2 INT 21H DEC CH JNZ ROT1 RET MAIN ENDP CODE1 ENDS END MAIN 此程序执行后,屏幕上显示的内容为:C48F 2、 DATA SEGMENT BUF DB 7,9,6 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA BEGIN: 名师归纳总结 MOV AX,DATA BUF 第 5 页,共 11 页MOV DS,AX MOV CX,2 MOV BX,OFFSET MOV SI,1 - - - - - - -精选学习资料 - - - - - - - - - MOV AL,BUF AAA: CMP AL,BX+SI JL NEXT MOV AL,BX+SI NEXT: INC SI 6 此程序功能是将串中小于7 的数字屏显出来 LOOP AAA MOV DL,AL ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN 执行此程序后,屏幕上显示的内容为:3、 MOV AL,03H 即 3*2*2=12 MOV CL,2 SHL AL,CL 此指令段执行后,AL 中的值为: 0CH 4、MOV AL,40H 即 64/2/2=16 MOV CL,2 SHR AL,CL 此程序段执行后,AL 中的值为: 10H 5、CODE SEGMENT ASSUME CS:CODE MAIN: MOV AH,1 INT 21H MOV AH,2 MOV DL,AL ADD DL,30H INT 21H MOV AH,4CH INT 21H CODE ENDS END MAIN 设输入数字 7,其输出结果是多少?7 6、 CODE SEGMENT ASSUME CS:CODE MAIN: 名师归纳总结 MOV AH,1 第 6 页,共 11 页INT 21H - - - - - - -精选学习资料 - - - - - - - - - ADD AL,2 MOV AH,2 MOV DL,AL ADD AL,30H INT 21H MOV AH,4CH INT 21H CODE ENDS END MAIN 设输入数字 3,其输出结果是多少?5 六、程序设计1、 求两个字节数X 和 Y 的 2 倍放到 Z 单元中;设X 与 Y 的和是字节数;DATA SEGMENT X DB 2 Y DB 2 Z DB . DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX MOV BL,X MOV 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 21H CODE ENDS END START 2、 求两个字节数X 和 Y 的平均数放到Z 单元中;DATA SEGMENT X DB 7 Y DB 8 Z DB . /商 W DB . /余数 DATA ENDS CODE SEGMENT 名师归纳总结 - - - - - - -第 7 页,共 11 页精选学习资料 - - - - - - - - - ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX MOV BL,X MOV CL,Y ADD BL,CL CBW MOV AX,BX MOV CL,2 DIV CL MOV Z,AL MOV W,AH MOV DL,Z ADD DL,30H MOV AH,02H INT 21H MOV DL,W ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 3、 编写程序,把从键盘读入的一个小写字母转换成相应的大写字母,并输出;注:对应大小写 字母之间的 ASCII 码值相差 20H PROGNAM SEGMENT MAIN PROC FAR ASSUME CS:PROGNAM START: PUSH DS SUB AX,AX PUSH AX NEXT: MOV AH,1 INT 21H CMP AL,'A' JB EXIT CMP AL,'Z' JA EXIT SUB AL ,20H MOV DL,AL MOV AH,2 名师归纳总结 - - - - - - -第 8 页,共 11 页精选学习资料 - - - - - - - - - INT 21H MOV DL,0AH MOV AH,2 INT 21H JMP NEXT EXIT: RET MAIN ENDP PROGNAM ENDS END START 4、 编写程序,把从键盘读入的一个大写字母转换成相应的小写字母,并输出;注:对应大小写 字母之间的 ASCII 码值相差 20H PROGNAM SEGMENT MAIN PROC FAR ASSUME CS:PROGNAM START: PUSH DS SUB AX,AX PUSH AX NEXT: MOV AH,1 INT 21H CMP AL,'A' JB EXIT CMP AL,'Z' JA EXIT ADD AL ,20H MOV DL,AL MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H JMP NEXT EXIT: RET 名师归纳总结 MAIN ENDP 第 9 页,共 11 页PROGNAM ENDS END START 5、 已知数组X 包含有 8 个无符号整数,编写对其中的每个奇数运算1+2+ +N,并把它们次序存入内存字单元SUM 开头的储备区中,要求1+2+ +N 用子程序实现;不考虑溢出;DATA SEGMENT X DW 2,3,4,5,6,7,8,9 - - - - - - -精选学习资料 - - - - - - - - - SUM DW 8 DUP . DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN: MOV AX,DA TA MOV DS,AX LEA BX,X LEA DI,SUM MOV CX,8 NEXT: MOV DX,BX MOV AX,DX SHR AX,1 JNC N1 CALL SUB1 MOV DI,AX ADD DI,2 N1: ADD BX,2 LOOP NEXT MOV AH,4CH INT 21H SUB1 PROC NEAR PUSH CX XOR AX,AX MOV CX,DX AGAIN: ADD AX,CX LOOP AGAIN POP CX RET SUB1 ENDP CODE ENDS END MAIN 6、 已知数组 X 包含有 8 个无符号整数,编写对其中的每个偶数运算 1+2+ +N,并把它们次序存入内存字单元 SUM 开头的储备区中,要求 1+2+ +N 用子程序实现;不考虑溢出;DATA SEGMENT X DW 2,3,4,5,6,7,8,9 SUM DW 8 DUP. DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN: 名师归纳总结 - - - - - - -第 10 页,共 11 页精选学习资料 - - - - - - - - - MOV AX,DA TA MOV DS,AX LEA BX,X LEA DI,SUM MOV CX,8 NEXT: MOV DX,BX MOV AX,DX SHR AX,1 JC N1 CALL SUB1 MOV DI,AX ADD DI,2 N1: ADD BX,2 LOOP NEXT MOV AH,4CH INT 21H SUB1 PROC NEAR PUSH CX XOR AX,AX MOV CX,DX AGAIN: ADD AX,CX LOOP AGAIN POP CX RET SUB1 ENDP MAIN CODE ENDS END 注:编者水平有限,不能保证全部答案都正确,如发觉错误之处,请指出;卷上部分答案来源于互联网,不代表标准答案,此卷仅供参考;最终两个编程题中有一道考试必考!我只能帮你们到这里了!呵呵名师归纳总结 - - - - - - -第 11 页,共 11 页