发布时间 : 星期日 文章汇编语言设计复习题(第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