Я пытаюсь преобразовать около 25 строк программы MIPS из машинного кода в инструкции.
Когда я конвертирую машинный код 0x1620fff9
, он дает следующее: 000101 10001 00000 1111 1111 1111 1001
Я понимаю, что это I-формат, а инструкция - BNE
с целевым регистром $17
и источником $0
, однако меня смущает непосредственный / адрес.
Поскольку 1111 1111 1111 1001
является числом со знаком, его дополнение до двух дает результат -7
. Я просто не знаю, что мне делать с таким результатом. Симулятору MARS нужна метка, указывающая, куда он должен разветвляться, но я не понимаю, что делать. Программа, которую я конвертирую, имеет только главную функцию и функцию печати.
Спасибо
.
,$
или*
(в зависимости от ассемблера). Вы можете написать что-то вродеbne $s0, $t0, .-7
(при необходимости отрегулируйте смещение). - person Jester   schedule 17.03.2016bne $s0, $t0, . - 28
- person markgz   schedule 18.03.2016