From 9ef388f1c3635db413a1049ffef7ce156d7e9477 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Wed, 18 Aug 2021 16:33:19 -0700 Subject: [PATCH] docs/DSP: NEG can set overflow and carry --- .../GameCube_DSP_Users_Manual.tex | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex b/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex index 85530f543b..18706a8b45 100644 --- a/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex +++ b/docs/DSP/GameCube_DSP_Users_Manual/GameCube_DSP_Users_Manual.tex @@ -3516,12 +3516,19 @@ A ``-'' indicates that the flag retains its previous value, a ``0'' indicates th \end{DSPOpcodeDescription} \begin{DSPOpcodeOperation} - $acD = -$acD + $acD = 0 - $acD FLAGS($acD) $pc++ \end{DSPOpcodeOperation} - \DSPOpcodeFlags{-}{-}{X}{X}{X}{X}{0}{0} + \begin{DSPOpcodeNote} + \item The carry flag is set only if \Register{\$acD} was zero. + The overflow flag is set only if \Register{\$acD} was \Value{0x8000000000} (the minimum value), + as \Code{-INT\_MIN} is \Code{INT\_MIN} in two's complement. + In both of these cases, the value of \Register{\$acD} after the operation is the same as it was before. + \end{DSPOpcodeNote} + + \DSPOpcodeFlags{X}{-}{X}{X}{X}{X}{X}{X} \end{DSPOpcode} \begin{DSPOpcode}{NOT}