4.5JMPおよびLOOP命令
1リアルアドレスモードでは、LOOP命令でどのレジスタがカウンタとして使用されますか?(リアルアドレスモードでは、LOOP命令でどのレジスタがカウンタとして使用されますか?)
回答:CX
2 LOOP命令は、次のことを行います。ECXをデクリメントします。次に、ECXがゼロに等しくない場合、LOOPは宛先ラベルにジャンプします。[ターゲット]タブに移動します。)
回答:√
3JMPは条件付き転送命令です。
回答:×
4 JMP命令は、現在のプロシージャ内のラベルにのみジャンプできます。
回答:√
5 LOOP命令は、最初にECXがゼロに等しくないかどうかを確認します。次に、LOOPはECXをデクリメントし、宛先ラベルにジャンプします。
回答:×
6 LOOP命令のターゲットは、現在の場所から256バイト以内である必要があります。
回答:×
7ループを開始する前にECXがゼロに初期化された場合、LOOP命令は何回繰り返されますか?(ECXがループ内の他の命令によって変更されていないと仮定します。)
回答:4,294,967,296回
8この例のEAXの最終的な値は何ですか?
mov eax、0
mov ecx、10; アウターループカウンター
L1:
mov eax、3
mov ecx、5; 内部ループカウンター
L2:
eax、5
ループL2を追加します。内側のループ
ループL1を繰り返します。外側のループを繰り返す
回答:これはトリックです!最初のLOOP命令がECXをゼロにデクリメントするため、プログラムは停止しません。2番目のLOOP命令はECXをFFFFFFFFhにデクリメントし、外側のループを繰り返します(これはトリックです!プログラムは停止しません)。 、最初のループ命令はECXをゼロにデクリメントするためです。2番目のループ命令はECXをFFFFFFFFhにデクリメントし、外側のループを繰り返します。)