Вопрос о том, как MIPS читает в десятичных числах - PullRequest
0 голосов
/ 19 сентября 2018

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

Я не понимаю, как работает MIPSс двоичнымЯ знаю, что если я введу число, скажем, 500, оно будет сохранено в регистре как 1F4, но мой вопрос заключается в том, что мне нужно увидеть двоичное преобразование 500 (111110100) для части моей программы, например, проверить, является ли 7-я цифра этого числачисло - 1 или 0.

Не ведя меня прямо к ответу, кто-нибудь может направить меня в этом направлении?Я думаю, что я мог что-то упустить.

1 Ответ

0 голосов
/ 19 сентября 2018

Звучит так, как будто вы просто хотите проверить 7-й бит двоичного целого числа в регистре, и не имеет значения, был ли он результатом преобразования из десятичной дроби, является ли он результатом сложения, умножения илиShift или что-то еще.

Изолируйте этот бит с помощью маски AND, а затем разветвите в результирующем регистре ноль / ненулевое значение.

  # Input in $t0
andi $t1, $t0,  1<<7
beq $t1, $zero, target

Или сдвиньте этот бит до дназарегистрируйтесь и AND с помощью 1, чтобы получить 0/1 результат в регистре.

...