NEG および NEGU の定義によると、
NEG $X,Y,$Z (negate signed): s($X) := Y - s($Z).
NEGU $X,Y,$Z (negate unsigned): u($X) := (Y - u($Z)) mod 2^64.
$Z = s(-1)
またはとしましょうu(2^64 - 1)
。次に、最初のオペコードは、 の$X
ときに値 1 をレジスタに入れます。Y = 0
最近のオペコードは、u(-(2^64 - 1)) mod 2^64 = 1
. 私は正しいですか?NEG
次の場合、命令はオーバーフロー例外を発生させる必要があり$Z = -2^63
ますか?