川农汇编语言题库及部分答案解析 下载本文

27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用 REPNE(REPNZ) 重复前缀。

28.转移指令“JNZ L ”的转移范围(十进制)是 –128~127 。该指令的第二个字节为位移量,用 补码 形式表示。 29.段内调用指令改变 IP 中的内容。 30.段间调用指令改变 CS和IP 中的内容。

四.判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因) 1.ADD AL,BX 2.MOV [BX],SI 3.SUB [BX],[SI] 4.CMP 5,AL 5.MOV CX,AX 6.LEA BL,A 7.SHR AL,6 8.MOV AL,[DI+SI] 9.MOV BL,200H 10.MOV AX,DATA 11.INC [BX]

12.CMP [BX],A ;A为变量 13.MOV AX,‘+’ 14.MOV AX, [BP+BX] 15.ADD AX,[CX] 16.OUT 400,AL 17.JNC P

18.MOV BX,,OFFSET A 19.LEA DI,A[SI] 20.CMP AX,5

五.改错题(按下列指令中的原意改正下列指令) 1.DEC [SI]

2.CMP AL,BX ;无符号数比较 3.MOV [DX],AL 4.MOV AL,300H

5.MOV [BX],[DI] ;字节操作 6.ADD AL,[CX+SI]

7.ADD AL,BX ;有符号数相加 8.PUSH AL

9.CMP [BX],5 ;字节比较 10.MOV DS,1234H 六.简答题

1.设BX=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么?

(1)使用D的直接寻址 (2)使用BX寄存器的间接寻址 (3)使用BX寄存器的相对寻址 (4)基址变址寻址 (5)相对基址变址寻址

2.请指出下列各条指令的源操作数的寻址方式是什么? (1)MOV AX,BUF (2)CMP AL,5 (3)ADD [BX+5],AX (4)SUB AX,[BX+SI] (5)ADC AH,A[SI] (6)MOV BX,[SI] (7)AND CX,B[BP+SI]

(8)JMP WORD PTR [BX] (9)JMP P (10)JMP FAR PTR P

3.设 DS=2000H, BX=0100H, SI=0002H, (20100H)=12H, (20101H)=34H,(20102H)= 56H, (20103H)= 78H, (21200H)= 2AH, (21201H)= 4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器中的内容是多少? (1)MOV AX,1200H (2)MOV AX,BX (3)MOV AX,[1200H]

(4)MOV AX,[BX]

(5)MOV AX,[BX+1100H] (6)MOV AX,[BX+SI]

(7)MOV AX,[BX+SI+1100H]

4.按下列各小题的要求写出相应的一条汇编语言指令。

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中

(2)以BX和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到AX。 (3)以SI和位移量20H作寄存器相对寻址,将该单元中的内容与CX寄存器中的内 容相加,结果存入CX寄存器中。

(4)清除AX寄存器的内容,同时清除CF标志位 (5)将字单元NUM与0B6H进行比较

5.按下列各小题的要求使用相应的几条指令完成其操作。

(1)将偏移量为200H的存储单元中的数与300H相加,结果存入AX寄存器中 (2)比较AX寄存器中与BX寄存器中的16位有符号数,当AX中的内容大于BX中的内容时转移到L。

(3)将BUF1和BUF2中的16位数据交换

(4)测试BUF字缓冲区中第15位,如果为1则转移到P (5)将BUFI和BUF2的字相加,结果送S缓冲区

6.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么?

SHR BX,1 SAR BX,1

7.分别说明下列每组指令中的两条指令的区别。

(1) MOV BX,BUF LEA BX,BUF (2) OR BL,0FH AND BL,0FH (3) JMP SHORT L JMP L

(4) MOV AX,BX MOV AX,[BX] (5) MOV AX,[BX+DI] MOV AX,[BP+DI] 8.说明下列各指令的源操作数和目的操作数的存储地方。 (1)MOV [2000H],AX (2)ADD AX,[BX+5] (3)LEA SI,BUF

(4)DAA (5)MUL BL

9.指出下列无条件转移指令的转移目标地址是什么?存放在何处? (1)JMP BX

(2)JMP WORD PTR [BX] (3)JMP DWORD PTR [BX] (4)JMP P

(5)JMP SHORT R

10.说明MOVSB和CMPSB各能使用哪些重复前缀? 七.程序分析题

1.现有程序段如下: MOV AX,1234H MOV BX,60H ADD AX,BX

请回答 :(1)该程序段完成的功能是什么? (2)程序段执行完后AX= 。 2.现有程序段如下: MOV AX,0603H MOV BL,8 AAD DIV BL

请回答 :(1)该程序段完成的功能是什么? (2)程序段执行完后AX= 。

3.设AX=0D023H,BX=9FD0H,试分析执行完如下程序段后程序转向何处? ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5 4.程序段如下:

MOV AX,X MOV DX,X+2 ADD AX,Y ADC DX,Y+2 ADD AX,36 ADC DX,0 SUB AX,Z SBB DX,Z+2 MOV W,AX MOV W+2,DX

请回答 :(1)该程序段完成的功能是什么? (2)该程序的操作数是何类型? (3)结果存放在何处?

5.设A为字节变量,变量中的内容分别为64H、52H;B为字节变量,变量中的内容分别为12H、46H,现有程序段如下: MOV AL,A SUB AL,B DAS

MOV C,AL MOV AL,A+1 SBB AL,B+1 DAS

MOV C+1,AL

请回答 :(1)该程序段完成的功能是什么? (2)最后结果是什么? 6.现有程序段如下: MOV BL,AL MOV CL,4 SHR BL,CL MOV A,BL AND AL,0FH MOV B,AL