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