汇编期末复习题.docx

上传人:牧羊曲112 文档编号:3613094 上传时间:2023-03-14 格式:DOCX 页数:13 大小:40.86KB
返回 下载 相关 举报
汇编期末复习题.docx_第1页
第1页 / 共13页
汇编期末复习题.docx_第2页
第2页 / 共13页
汇编期末复习题.docx_第3页
第3页 / 共13页
汇编期末复习题.docx_第4页
第4页 / 共13页
汇编期末复习题.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《汇编期末复习题.docx》由会员分享,可在线阅读,更多相关《汇编期末复习题.docx(13页珍藏版)》请在三一办公上搜索。

1、汇编期末复习题一、问答题 1、 写出8086操作数的寻址方式。8086的存储器寻址方式有哪些? 答:操作数的寻址方式有:立即寻址。寄存器寻址。存储器寻址。存储器寻址方式有:立即寻址。寄存器寻址。直接寻址。寄存器间接。寄存器相对。基址变址。相对基址变址。 2、 何谓中断向量,何谓中断号? 答:中断向量即中断服务程序的入口地址。中断类型号是系统分配给每个中断源的代号。 3、 试写出由逻辑地址计算物理地址的计算公式。写出8086在存储器寻址下,存储单元的逻辑地址的表示形式。 答:PA=段基址*16+偏移量 LA=段基址:偏移量 4、 在内存物理地址为00002H起的字单元内存放7856H,请用图表示

2、出它们在存储器里存放的情况。 寄存器 寄存器 00002H 00003H 00004H 56H 78H 00002H 00003H 00004H 12H 34H 5题图 5、 在物理内存地址为00002H起的字单元内存放3412H,请用图表示出它们在存储器里存放的情况。 6、 8088的寻址空间有多大?要寻址全部内存空间必须采用什么技术措施? 答:1MB,分段寻址 7、 寄存器间接寻址方式可使用哪些寄存器? 答:在8086中:BX/BP/SI/DI 8、 在分断技术中,寄存器BX和BP默认对应的段寄存器是哪些? 答:BX对应的是DS,BP对应的是SS。 9、 寄存器相对寻址方式中的位移量可以用

3、什么形式表达? 答:位移量=EA基址 10、 微机的内存的最小编址单位是什么?字型数据在内存的中的存放原则是什么? 答:最小编址单位是B,存放原则是先低字节,后高字节。 11、 基址变址寻址方式的可用寄存器有哪些? 答:BXSI/BXDI 12、 写出相对基址变址寻址方式的偏移地址EA的计算公式。 答:EA=位移量+基址+变址 13、 在内存物理地址为30476H起的连续地址空间内存放了一个值为90634511H的双字型数据,请用图表示出它们在存储器里存放的情况。 4题图 寄存器 寄存器 30476H 30477H 30478H 30479H 30480H 11H 45H 63H 90H 65

4、780H 65781H 65782H 65783H 65784H 78H 56H 34H 12H 13题图 14题图 14、 在内存物理地址为65780H起的连续地址空间内存放了一个值为12345678H的双字型数据,请用图表示出它们在存储器里存放的情况。 15、 条件转移指令的转移范围是多少? 答:128127 16、 LOOP指令使用的循环计数器是什么? 答:CX. 17、 设有变量ABCD,要取它的偏移地址送到寄存器AX中,可用哪两种方法?用指令表达出来。 答:LEA AX,ABCD MOV AX,ABCD 18、 子程序调用时传递参数的三种基本方法是什么? 答:通过寄存器传送。通过堆栈

5、传送。通过变量传送。 19、 串操作指令在使用前应做哪些准备工作? 答:把存放在数据段中的源串首地址放入源变址寄存器中。把将要存放数据串的附加段中的目的串首地址放入目的变址寄存器中。把数据串长度放入计数寄存器。建立方向标志。 二、简答题 写出下列各指令的源操作数的寻址方式。 (1)MOV AX,0AH 立即寻址 (21)SUB CX,0CFH 立即寻址 (2)MOV BX,12H 立即寻址 (22)MOV DX,49H 立即寻址 (3)MOV BX,CL 寄存器寻址 (23)ADDC BP,DL 寄存器寻址 (4)MOV BX,CX 寄存器寻址 (24)ACHG BX,AH 寄存器寻址 (5)

6、MOV AX,200H 直接寻址 (25)AND AX,ES:buf 直接寻址 (6)MOV AX,100H 直接寻址 (26)MOV CX,SS:buf 直接寻址 (7)MOV BX,BX 寄存器间接寻址 (27)XOR AX,DI 寄存器间接寻址 (8)MOV AX,BX 寄存器间接寻址 (28)MOV CX,BX 寄存器间接寻址 (9)MOV AX,BP 寄存器间接寻址 (29)OR DX,BP 寄存器间接寻址 (10)MOV DX,BP 寄存器间接寻址 (30)MOV CX,BP 寄存器间接寻址 (11)MOV AX,SIBX 基址变址寻址 (31)AND DL,BP+DI 基址变址寻

7、址 (12)MOV CX,BXSI 基址变址寻址 (32)MOV BX,SI+BP 基址变址寻址 (13)MOV DI,BX+20 相对基址寻址 (33)XOR SI,56BX 相对基址寻址 (14)MOV DI,20BX 相对基址寻址 (34)MOV DI,BX+30 相对基址寻址 (15)MOV DH,VALBX 相对基址寻址 (35)ADD DL,bufBX 相对基址寻址 (16)MOV DH,ARRYBX 相对基址寻址 (36)MOV AL,buf+BP 相对基址寻址 (17)MOV DS,VAL 直接寻址 (37)MOV DS,BX+DI 基址变址寻址 (18)MOV DS,ARRY

8、 直接寻址 (38)MOV DS,BX+SI 基址变址寻址 (19)MOV BX,VALBXSI 相对基址变址寻址 (39)MOV AH,buf+BP+DI 相对基址变址寻址 (20)MOV BX,ARRYBXDI 相对基址变址寻址 (40)ADD AL,buf+BX+SI 相对基址变址寻址 三、判断题 对者在题号前的括号中打“”,错的打“” ()1.SBB AL,DX ()2.MOV CX,DX ()3.CMP BX,DI ()4.CMP BP,BX ()5.POP DI ()6.POP SI ()7.PUSH AL 堆栈操作以字为单位 ()8.PUSH DL 堆栈操作以字为单位 ()9.M

9、OV BYTE PTR BP,124 ()10.MOV BYTE PTR BX,100 ()11.ADD DI,BYTE PTR 24 ()12.SUB BP,BYTE PTR 10 ()13.DEC DX DX不能间接寻址 ()14.INC 2BX ()15.ROR BL,1 ()16.MOV CX,DX DX不能间接寻址 ()17.MOV DATBPDI,AL ()18.MOV DATBXSI,AX ()19.SUB AL,BYTE PTR AC(AC为字变量) ()20.ADD CX,WORD PTR WL(WL为字节变量) 四、程序填空题 1、 要求用移位指令实现*9 MOV AX,B

10、X MOV CL,3 SHL AX,CL ADD BX,AX 2、 要求用移位指令实现*5 MOV AX,BX MOV CL,2 SHL AX,CL ADD BX,AX 3、 假设程序中数据定义如下: ASD DB 3 要求把变量ASD的值在显示器上显示出来。 MOV DL,ASD ()1.XCHG BX,AX ()2.XOR BL,CX ()3.CMP AX,SI ()4.POP DI ()5.POP AX ()6.PUSH CL 堆栈操作以字为单位 ()7.PUSH AL 堆栈操作以字为单位 ()8.OR BYTE PTR BP,98 ()9.AND BX,255 ()10.SUB SI,

11、BYTE PTR 35 ()11.MOV BP,10 ()12.DEC CX CX不能间接寻址 ()13.INC 8BX ()14.SHL AL,1 ()15.MOV BX,DX DX不能间接寻址 ()16.MOV bufBPSI,CL ()17.MOV bufBXDI,CX ()18.ADDC AL,BYTE PTR AC(AC为字变量) ()19.CMP CX,WORD PTR WL(WL为字节变量) ()20.ADD BX,DI ADD DL,30H MOV AH,2 INT 21H 4、 假设程序中数据定义如下: X DB 3 要求把变量X的值在显示器上显示出来。 MOV DL,X A

12、DD 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,B LEA DI,BUF REPEN SCASB 8、 假设程序中数据定义如下: BUF DB 38 DUP(?) 要求在BUF中

13、查找第一个M CLD MOV CX,38 MOV AL,M LEA DI,BUF REPEN SCASB 9、 比较两个字符串B1和B2,其长度为20个字节,找出它们相匹配的位置。 LEA SI,B1 LEA DI,B2 CLD MOV CX,0014H REPNE CMPSB 10、比较两个字符串STR1和STR2,其长度为45个字节,找出它们不相匹配的位置。 LEA SI,STR1 LEA DI,STR2 CLD MOV CX,002DH REPE CMPSB 五、写出下列程序的执行结果。 1、 CODE1 SEGMENT ASSUME CS:CODE1 MAIN PROC FAR STA

14、RT: PUSH DS XOR AX,AX PUSH AX MOV CH,4 MOV BX,1100010010001111B 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 ASS

15、UME CS:CODE,DS:DATA BEGIN: MOV AX,DATA MOV DS,AX MOV CX,2 MOV BX,OFFSET BUF MOV SI,1 MOV AL,BUF AAA: CMP AL,BX+SI JL NEXT MOV AL,BX+SI NEXT: INC SI LOOP AAA MOV DL,AL ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN 执行此程序后,屏幕上显示的内容为:6 (此程序功能是将串中小于7的数字屏显出来) 3、 MOV AL,03H MOV CL,2 SH

16、L AL,CL 此指令段执行后,AL中的值为:0CH (即3*2*2=12) 4、MOV AL,40H MOV CL,2 SHR AL,CL 此程序段执行后,AL中的值为:10H (即64/2/2=16) 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 INT

17、 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:DATA START: MOV AX,DATA MOV DS,AX MOV BL,X MOV CL,Y ADD BL,CL MOV CL,BL ADD

18、 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 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BL,X MOV CL,Y ADD BL,CL CBW MOV AX,BX MOV CL,2 DIV CL M

19、OV 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、 编写程序,把从键盘读入的一个小写字母转换成相应的大写字母,并输出。 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

20、 JA EXIT SUB AL ,20H MOV DL,AL MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H JMP NEXT EXIT: RET MAIN ENDP PROGNAM ENDS END START 4、 编写程序,把从键盘读入的一个大写字母转换成相应的小写字母,并输出。 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 EX

21、IT 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 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

22、 MAIN: MOV AX,DATA 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个无符号整数

23、,编写对其中的每个偶数计算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,DATA 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 CODE ENDS END MAIN 注:编者水平有限,不能保证所有答案都正确,如发现错误之处,请指出。卷上部分答案来源于互联网,不代表标准答案,此卷仅供参考。最后两个编程题中有一道考试必考!我只能帮你们到这里了!呵呵

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号