как изменить значение в регистре в MIPS - PullRequest
0 голосов
/ 14 июля 2020

Итак, в настоящее время в $ t0 у меня хранится переменная x. Я хочу, чтобы $ t0 теперь сохранял -x. Как я могу это сделать?

Я пробовал

sub $ t4, 0, $ t0 move $ t0, $ t4

Любые указатели на то, почему это говорит об ошибке синтаксиса парсера ?

Ответы [ 2 ]

3 голосов
/ 15 июля 2020

По формуле 0-x = -x и зная, что $0 жестко задан как ноль.

Попробуйте

sub $t0, $0, $t0

Это приведет к отрицанию $t0, а затем верните его в $t0.

1 голос
/ 14 июля 2020

Вы можете сохранить -x в $ t0, используя эти 2 строки:

not $t0,$t0
addi $t0,$t0,1

Эти 2 строки в основном применяют дополнение 2 к двоичному значению, хранящемуся в $ t0.

ПРИМЕЧАНИЕ: Возможно, это не самый оптимизированный вариант для MIPS, но он выполняет свою работу.

...