MIPS Assembly Расчет адресов памяти - PullRequest
0 голосов
/ 24 февраля 2019

Я изучаю ассемблер и выполняю ассемблерные вычисления, особенно инструкции MIPS для вычисления измененных регистров и адресов памяти.

Исходные состояния адреса здесь:

$ t0 = 0x0000000B, $ t1 = 0xFFFFFFFF, $ t2 = 0xABABABAC

Это код, который мы должны использовать для вычисления:addi $ t4, $ t0, -3.sub $ t4, $ t4, $ t1

Я рассчитал первое здесь:
добавить промежуточное значение $ t0 + (- 3) в $ t4 $ t4 = 0x0000000B - 0x00000003 (B = 11 в шестнадцатеричном)(11-3) 0x00000008 хранится в регистре $ t4.(8)

Для этого я вычислил его и вычел $ t4 - $ t1 в $ t4 $ t4 = 0x00000008 - 0xFFFFFFFF = -0x00000007

, но я не уверен, что этоправильно, потому что это отрицательный адрес памяти, так что он будет только положительным?Переключение (0xFFFFFFFF - 0x00000008 дает 0x00000007, но это неправильный порядок операций в коде, если я не ошибаюсь)

Кто-нибудь может объяснить, какой из них правильный?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...