В MIPS, в чем разница между сложением со знаком, сложением без знака, вычитанием со знаком и вычитанием без знака?
add rd, rs, rt
addu rd, rs, rt
sub rd, rs, rt
subu rd, rs, rt
В MIPS, в чем разница между сложением со знаком, сложением без знака, вычитанием со знаком и вычитанием без знака? Если их результаты совпадают, какой смысл классифицировать их как использование методов со знаком и без знака?
1 ответ
u
просто означает, что они не попадают в ловушку при переполнении.
Цитата из "Архитектура MIPS32 для тома II программистов":
Термин "без знака" в названии инструкции является неправильным; эта операция является 32-битной арифметикой по модулю, которая не перехватывает переполнение. Эта инструкция подходит для арифметики без знака, такой как адресная арифметика, или целочисленной арифметической среды, которая игнорирует переполнение, такой как арифметика языка Си.