7

次のことを行うには、アセンブリで最大 2 つの命令を記述する必要があります。

  1. レジスタ AL のビット 0 と 7 をクリア、つまり 0 にする
  2. レジスタ AL のビット 3 と 4 をセット、つまり 1 にします。
  3. レジスタ AL のビット 1 とビット 5 を補数します。
  4. 値を変更せずに、レジスタ AL の他のすべてのビットをそのまま保持します。
4

2 に答える 2

9

ここでのトリックは、次のことを行うことです。

  1. OR 命令を使用して、ビット 0、3、4、および 7を設定します。

  2. XOR 命令を使用して、ビット 0、1、5、および 7を補完します。

ビット 0 と 7 は最初に (1) でセットされ、次に (2) でクリアされることに注意してください。

これはあなたの宿題なので、実際の asm の指示はあなたに任せます。

于 2010-04-27T05:16:02.673 に答える
4

256 個の「結果」値の配列を定義する 1 つの DB 命令と、al の現在の値をインデックスとして使用して、この配列の要素を al に移動する 1 つの move 命令。

それはうまくいきませんか?

DB は実際には実行時に実行される命令ではなく、コンパイル時の宣言であるため、これは実際には単一命令のソリューションでさえあるとさえ主張されるかもしれません。

于 2010-04-26T18:27:54.960 に答える