Как и все машинные инструкции, subu
даст вам двоичный результат - 32 бита, которые хранятся в регистре назначения.Эти биты просто биты, они не являются ни положительными, ни отрицательными сами по себе, это зависит от того, как вы их интерпретируете.Если вы интерпретируете их как целое число со знаком, оно может быть положительным или отрицательным.Вместо этого вы можете рассматривать биты как число с плавающим указателем - откуда биты не имеют значения - хотя это может быть бессмысленным.
Обратите внимание, что ЕДИНСТВЕННАЯ разница между sub
и subu
что sub
будет ловушкой при переполнении, обрабатывая операнды как целые числа со знаком.subu
даст точно такой же результат, но не перехватит.
sra
сдвигает биты вниз (вправо), оставляя самый верхний бит (который является знаковым битом, если обработать биты взарегистрировать как целое число со знаком) и скопировать его в любые верхние позиции, которые свободны