指令执行后AX中的内容是( ‘FC’ )。 DX
55、在汇编语言程序中,对END语句的叙述正确的是( ③)。 DX
① END语句是一可执行语句 ② END语句表示程序执行到此结束
③ END语句表示源程序到此结束 ④ END语句在汇编后要产生机器码 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
6
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
7
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/
8
:
}恢复现场
试写出恢复现场时的指令序列。 答: 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
ADD AL,BL 试问程序段执行后(BL)=__0E4H_(AL)=__0DDH___
9
83、DA3 EQU WORD PTR DA4 DA4 DB 0ABH,89H ┇
SHR DA3,1 MOV DX,DA3
SHL DA4,1
MOV CX,DA3 上述程序段运行后,CX=___44AAH___,DX=__44D5H___。 CXFX 84、设(SP)=100H,(AX)=0FFFFH STC PUSH AX ADC AX,0 PUSH AX
POP BX 上述程序段运行后,(BX)= 0 ,(SP)= 0FEH 。 CXFX
85、STRING DB ‘ABCDEFGHIJ' :
MOV AH,01 ;从键盘输入字符1~9 INT 21H
AND AL,0FH DEC AL
XOR AH,AH
MOV BX,OFFSET STRING ADD BX,AX MOV BL,[BX]
MOV AH,02H ;显示输出
INT 21H :
试回答:
(1)上述程序段的功能是什么? CXFX 根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。(2)如从键盘输入字符‘4',程序段有什么结果? 显示器显示字符‘D’
86、已知: BX=4567H NEG BX INC BX NEG BX
DEC BX 程序段执行后,BX=____4565H___,CF=___1_____。 CXFX 87、已知数据段中定义
DAT1 DB 12H,34H,56H,78H MOV CX,0
MOV AX,WORD PTR DAT1
MOV CL,DAT1+3 当程序段执行完后AX=___3412H____,CX=__0078H_____。 CXFX
10