指出MOV EAX,12345678H指令中源操作数和目的操作数的寻址方式
源操作数的寻址方式:立即寻址目的操作数的寻址方式:寄存器寻址
源操作数的寻址方式:立即寻址目的操作数的寻址方式:寄存器寻址
第1题
下列指令中操作数在代码段中的()
A MOV EAX,123400FEH
B ADD EBP,EAX
C SUB [BX],DI
D INC WORD PTR[BX]
第2题
如下为一个C语言程序: void main() { int i=0,J=0,k=0; i=1; j=2; while(true) { k=i+1; j=J+kj if(j<100)break; } } 在x86的处理器上经过编译优化后生成如下的代码: TITLE E:\Temp\ifelse.cpp .386p include listing.inc PUBLIC main ;COMDAT_main _TEXT SEGMENT _main PROC NEAR COMDAT mov eax,2 试说明编译器对该程序进行了哪些优化。
第3题
指出8086/8088下列指令的错误。
(1) MOV[SI],IP (2) MOV CS,AX
(3) MOV BL,SI+2 (4) MOV 60H,AL
(5) PUSH 2400H (6) INC[BX]
(7) MUL-60H (8) ADD [2400H],2AH
(9) MOV[BX],[DI] (10) MOV SI,AL
第4题
指出8086/8088下列指令中存储器操作数物理地址的计数表达式。
(1) MOV AL,[DI] (2) MOV AX,[BX+SI]
(3) MOV AL,8[BX+DI] (4) ADD AL,ES:[BX]
(5) SUB AX,[2400H] (6) ADC AX,[BX+DI+1200H]
(7) MOV CX,[BP+SI] (8) INC BYTE PTR [DI]
第5题
指出8086/8088下列指令源操作数的寻址方式。
(1) MOV AX,1200H (2) MOV BX,[1200H]
(3) MOV BX,[SI] (4) MOV BX,[SI+1200H]
(5) MOV [BX+SI],AL (6) ADD AX,[BX+DI+20H]
(7) MUL BL (8) XLAT
(9) IN AL,DX (10) INC WORD PTR [BP+50H]
第6题
MOVAH, CX;
MOV33H,AL;
MOVAX, [SI][DI];
MOV[BX],[SI];
ADDBYTEPTR[BP], 256;
MOVDATA[SI],ES: AX;
JMPBYTEPTR[BX];
OUT230H,AX;
MOVDS,BP;
MUL 39H。
第7题
下列程序要完成16位无符号数相加,两数分别存于30H,31H和40H,41H(低位在前),并把和存于30H,31H中(设和无进位输出)。请指出错误,并改正之。
MOV A,30H
ADD A,40H
MOV 30H,A
MOV A,31H
ADD A,41H
MOV 31H,A
错误:______
改正:______
参考答案:错误
第10题
A.movl%ecx,%eax
B.movl%edx,%eax
C.leal(,%ecx,4),%eax
D.leal(,"0edx,4),%eax
第11题
A.0x00FFFFE4
B.0x00FFFFE6
C.0x00FFFFEA
D.0x00FFFFEC