汇编语言设计复习题(第2章:8086的寻址方式和指令系统) 联系客服

发布时间 : 星期日 文章汇编语言设计复习题(第2章:8086的寻址方式和指令系统)更新完毕开始阅读

56、下面的数据传送指令中,错误的操作是(④ )。 DX

① MOV SS:[BX+DI],1000H ② MOV DX,1000H ③ MOV WORD PTR[BX],1000H ④ MOV DS,2000H

57、下面指令执行后,变量DAB中的内容是(0F5H )。 DX DAW DW2A05H

DAB DB 0FAH :

MOV AL,BYTE PRT DAW SUB DAB,AL

58、执行下列指令后,正确的结果是(② )。 DX MOV AL,100 MOV BL,-2 ① AL=100H BL=02H ② AL=64H BL=0FEH ③ AL=64H BL=82H ④ AL=100H BL=0FEH

59、设数据段中已有:

DA1 DB 12H,34H DA2 DW 56H,78H

下面有语法错误的语句是(② )。 DX ① ADR1 DW DA1 ② MOV DA1+1,AX ③ MOV BYTE PTR DA2+1,AL ④ MOV WORD PTR DA1+1,AX

60、 DATA SEGMENT

TA1 DW 0102H,0304H,0506H TA2 DB 02H,03H,04H :

MOV BX,DS:[0006H] AND BX,0FFH

AND BH,[BX]

上述指令序列运行后,BX的内容是( 0402H)。 DX

61、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为___20A8H _____,其物理地址为___11488H _____。 TK

62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____ IP____,而后两个字节存放的是____ CS____。 TK 63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是___ STOS____或___ CMP__才有实际意义。 TK

64、已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。 JD

(1)MOV AL,[BX] 21357H

(2)MOV CS:[BX+DI],AH 43357H 65、

0P1 DB 1,2

0P2 DW 3412H,5678H

MOV AX,OP1+1;字单元(OP1+1) AX

MOV BL,OP2+1;字节单元(OP2+1) BL

上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。 JD MOV AX,WORD PTR(OP1+1) MOV BL,BYTE PTR(OP2+1)

66、下列语句在存储器中分别为变量分配多少字节? JD (1)AD2 DW 10 DUP(?),10 22 (2)AD3 DD 100 DUP(?) 400

67、简述下面两条指令分别是什么语法错误? JD MOV [BX],[SI]

MOV AX,DL

MOV指令不能在两个存储器操作数之间进行; 操作数类型不匹配。

68、在指令系统中,段内、段间返回均为RET指令。试回答: JD

(1)执行段内返回RET指令时,执行的操作是:栈顶内容→IP,SP+2→SP (2)执行段间返回RET指令时,执行的操作是:①栈顶内容→IP,SP+2→SP ②栈顶内容→CS,SP+2→SP

69、

ARY DW 10 DUP(?)

MOV AL,TYPE ARY

MOV BL,LENGTH ARY MOV CL,SIZE ARY

上述MOV指令序列执行后的结果是什么? JD AL=2 BL=10

CL=20

70、设某数据段: JD DATA SEGMENT ORG 20H NUM1=8

NUM2=NUM1+10H

DA1 DB 'COMPUTER' DB 0AH,0DH

COUNT EQU $-DA1

DA2 DW'CO','MP','UT','ER' DATA ENDS

试回答:(1)DA1的偏移地址是: 20H (2)COUNT的值是 0AH (3)DA2+5字节单

元的内容是 ‘U’的ASCII码_

71、已知

AX=0FF60H,CF=1 MOV DX,96 XOR DH,0FFH

SBB AX,DX

执行上述指令序列后,AX=_________0__________,CF=______0__________。 CXFX

72、设寄存器AL,BL,CL中内容均为76H, XOR AL,0FH AND BL,0FH OR CL,0FH

执行上述指令序列后,AL=______79H ___,BL=__06H ___CL=_7FH___。 CXFX

73、已知

AX=0A33AH,DX=0F0F0H AND AH,DL XOR AL,DH NEG AH NOT AL

执行上述指令序列后,AH=____60H____,AL=_____35H_。 CXFX 74、假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。 JD

(1)SHR DX,1 (2)RCR DL,1 (3)RCL DX,CL 答:(1) 005CH (2) 00DCH (3) 05CCH

75、写出完成下述功能的程序段: JD

(1)传送25H到AL寄存器 (2)将AL的内容乘以2 (3)传送15H到BL寄存器(4)AL的内容乘以BL的内容

并请写出最后(AX)=? 答:(1)MOV AL, 25H (2)SHL AL, 1 (3)MOV BL, 15H(4)MUL BL 最后,(AX)=612H =1554

76、写一程序段,求双字长数DX∶bX的相反数。 JD

答: NEG DX NEG AX SBB DX, 0

77、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如: JD

PUSH AX\\

PUSH BX \\ 保护现场 PUSH CX / PUSH DX/ :

}恢复现场

试写出恢复现场时的指令序列。 答: POP DX

POP CX POP BX

POP AX

78、完成下列操作,选用什么指令: JD

(1)将AX的内容,减去0520H,和上次运算的借位; (2)将变量名TABL的段地址送AX;

答:(1)SBB AX,0520H(2分) (2)MOV AX,SEG TABL(2分) 79、D1 DB 20H DUP(?)

D2 DW D1 请写出用一条指令实现取D1的偏移地址=>SI中的三种方法。 JD

答: ① LEA SI,D1 ② MOV SI,OFFSET D1 ③ MOV SI,D2 80、A DW 1234H B DW 5678H :

PUSH A PUSH B POP A POP B

试回答: CXFX

①上述程序段执行后(A)=__________,(B)=_____ ②设执行前SP=200H,执行后SP=____________ 答:

①(A)=5678H(2分)(B)=1234H(2分) ②SP=2000H(2分) 81、现有下列程序段: CXFX MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL

试问上述程序段运行后, (AX)=_5400H_ (BL)=_06H_(DX)=_2106H_

82、分析下面程序段, CXFX

MOV AL,200 SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,CL