neg (否定) 命令
目的
汎用レジスターの内容の算術符号を変更して、その結果を別の汎用レジスターに入れます。
構文
| ビット | VALUE |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | RT |
| 11 - 15 | RA |
| 16 - 20 | /// |
| 21 | OE |
| 22 - 30 | 104 |
| 31 | RC |
description
neg 命令は、汎用レジスター (GPR) RA の内容の 1 の補数に 1 を加算し、その結果を GPR RTに保管します。
GPR RA に最も負の数値 (つまり、 0x8000 0000) が含まれている場合、命令の結果は最も負の数値になり、OE が 1 の場合は固定小数点例外レジスターのオーバーフロー・ビットをシグナル通知します。
neg 命令には、4 つの構文形式があります。 各構文形式は、条件レジスター・フィールド 0 および固定小数点例外レジスターに対して異なる影響を与えます。
| 項目 | 説明 | |||
|---|---|---|---|---|
| 構文形式 | オーバーフロー 例外 (OE) | 固定小数点 例外レジスター | レコード ビット (RC) | 条件 フィールド 0 の登録 |
| 負 | 0 | なし | 0 | なし |
| ネグ | 0 | なし | 1 | LT、GT、EQ、SO |
| ネゴ (nego) | 1 | SO、OV | 0 | なし |
| nego: | 1 | SO、OV | 1 | LT、GT、EQ、SO |
neg 命令の 4 つの構文形式は、固定小数点例外レジスターのカリー・ビット (CA) には影響しません。 構文形式がオーバーフロー例外 (OE) ビットを 1 に設定する場合、命令は固定小数点例外レジスターの要約オーバーフロー (SO) およびオーバーフロー (OV) ビットに影響します。 構文形式がレコード (Rc) ビットを 1 に設定する場合、命令は条件レジスター・フィールド 0 の「より小 (LT) ゼロ」、「より大 (GT) ゼロ」、「等しい (EQ) ゼロ」、および要約オーバーフロー (SO) ビットに影響します。
パラメーター
| 項目 | 説明 |
|---|---|
| RT | 操作の結果が保管されるターゲット汎用レジスターを指定します。 |
| RA | 操作のソース汎用レジスターを指定します。 |
例
- 以下のコードは、GPR 4 の内容を否定し、結果を GPR 6 に保管します。
# Assume GPR 4 contains 0x9000 3000. neg 6,4 # GPR 6 now contains 0x6FFF D000. - 以下のコードは、GPR 4 の内容を否定し、結果を GPR 6 に保管し、演算の結果を反映するように条件レジスター・フィールド 0 を設定します。
# Assume GPR 4 contains 0x789A 789B. neg. 6,4 # GPR 6 now contains 0x8765 8765. - 以下のコードは、GPR 4 の内容を否定し、結果を GPR 6 に保管し、演算の結果を反映するために固定小数点例外レジスター要約オーバーフローとオーバーフロー・ビットを設定します。
# Assume GPR 4 contains 0x9000 3000. nego 6,4 # GPR 6 now contains 0x6FFF D000. - 以下のコードは、GPR 4 の内容を否定し、結果を GPR 6 に保管し、条件レジスター・フィールド 0 と固定小数点例外レジスター要約オーバーフローおよびオーバーフロー・ビットを設定して、演算の結果を反映します。
# Assume GPR 4 contains 0x8000 0000. nego. 6,4 # GPR 6 now contains 0x8000 0000.