1.配列変数BにC言語プログラムとして宣言「int型B [10] [5];」次のように、for文があります。
for (i=0; i<10, i++)
for (j=0; j<5; j++)
sum+= b[i][j];
"+ = B [i]の総和[J];" を行うことを想定し、EAXに、B [i]が[0]のアドレスをEDXに位置する和の値は、ESIでjは、次いで、「和+ = B [I ] [J];「コマンド(AT&T形式)は、対応する()であってもよいです。
B.addl 0(%ESI、%EDX、4)、%EAX
C.addl 0(%のEDX、%ESI、2)、%EAX
D.addl 0(%のEDX、%ESI、4)、%EAX
2.IA-32命令 "POPL%のEBP" 関数は、(あります)。
BR [EBP]←M [R [ESP]、R [ESP]←R [ESP] +4
CR [ESP]←R [ESP] + 4、R [EBP]←M [R [ESP]
DR [EBP]←M [R [ESP]、R [ESP]←R [ESP] -4
3.IA-32命令 "MOVL 8(%EDX、%ESI、4)、%EDX" 関数です()。
BM [R [] + R [EDX] * 4 + 8]←R [EDX]
C [EDX]←M [R [EDX] + R [ESI] * 4 + 8]
DIR [EDX]←M [R [ESI] + R [EDX] * 4 + 8]
4.配置さsignext [X]は、x、ZeroExt [x]は示したXゼロ拡張の符号拡張を表します。IA-32命令 "movswl%CX、-20(%のEBP)が" 関数です()。
BR [CX]←SignExt [M [R [EBP] -20]
CM [R [EBP] -20]←ZeroExt [R [CX]
DR [CX]←ZeroExt [M [R [EBP] -20]
フラグの内容がレジスタ5と仮定R [AX] = FFE8H、R [BX = 7FE6H、実行命令 "SUBW%BX、%斧"、及び変更が設定されています()。
BR [BX = 8002H、= 0、SF = 1、CF = 0、ZF = 0 OF
CR [AX] = 8002H、= 1、SF = 1、CF = 0、ZF = 0 OF
DR [BX = 8002H、= 1、SF = 1、CF = 0、ZF = 0 OF
6.と仮定R [EAX = 0000B160H、R [EBX] = 00FF0110H、実行命令 "imulw%BX"、汎用レジスタの内容が変更()。
BR [EAX = FFAC7600H、残り不変
CR [EAX = 00BC7600、不変のまま
DR [EAX = 00007600H、R [DX] = FFACH
R [AX] = FF70H、コマンドを実行する「$ 2小型武器、%斧」は、機械番号、変数xが真の値(ある場合は7と仮定短い変数x)は、レジスタAXに割り当てられます。
B.FDC0H、-576
C.FFDCH、-36
D.3FDC、16348
8.二つの変数iおよびjがそれぞれ割り当てられ、レジスタEAXとEDXでプログラムPは、P文は「IF(I <J){ ...}」 の命令の次の配列に対応する(命令アドレスが左側にあり、中央マシンコード、アセンブリ命令に右):
804846a 39%C2 CMPL EAX、EDX%
804846c 7E 0D JLE XXXXXXXX
で実行命令804846aのCMPLは、私は105、J = 100 =場合 、 JLEの命令実行後()命令実行時。
B.804846e
C.8048461
D.8048479
9.浮動小数点処理でのx87 FPU命令に関する次のステートメント、エラーは()です。
B. 80は、ST(0)を積層し、積層構造を用いて、8浮動小数点レジスタST(0)〜ST(7)を提供
C.float、二重、および浮動小数点レジスタに格納された80のデータと長い二ビットフォーマットの三種類
D.float、メインメモリに二重、およびlong double型のデータは、32、64及び96を占める場合
MMX / SSE命令セット約10以下の文は、エラーです()。
B.同じマイクロプロセッサは、IA-32命令セットMMX / SSE命令セットをサポート
C.SSE利用指示はSIMD(単一命令複数データ)命令レベルの並列技術データであります
D. 128は、現在、2つの64ビットの倍精度浮動小数点と並列に又は同時に演算処理整数SSEをサポート