Мипс, как мне распечатать все числа больше 10 - PullRequest
1 голос
/ 13 декабря 2010

Как написать код MIPS для печати всех чисел, превышающих 10 в массиве?

Предположим:

  • массив существует в блоке памяти;
  • начальный адрес в регистре $t0;
  • размер массива в регистре $t1;

Это один из вопросов, появляющихся на моем листе обзорадля финального экзамена, и я понятия не имею об этом.Поэтому я надеюсь, что любой, кто хорошо разбирается в MIPS, может помочь мне с этим.

1 Ответ

0 голосов
/ 13 декабря 2010

Если это в вашем итоговом экзаменационном листе, то вы, вероятно, должны понимать базовый синтаксис, который говорит, что вам нужно инициализировать значение счетчика и установить его в одном из ваших временных регистров, скажем, $ t2, вы запускаете в ноль. Каждую итерацию вашего кода в конце вы выполняете:

bgt $t2, $t1, BEGINNING_OF_LOOP

Это говорит вам, если вы уже прошли цикл по массиву. Вы сохраняете 10 в одном из своих регистров, скажем, $ t3, и в каждом цикле по массиву вы получаете значение в $ t0, увеличиваете регистр на длину слова и проверяете, не превышает ли это значение значение 10:

lw $t4, $t0
addi $t0, $t0, 4
bgt $t4, 10, CODE_TO_PRINT_VARIABLE

Это должно помочь вам продвинуться по пути, но вам необходимо понять основы MIPS, чтобы ответить на такой вопрос. Я предлагаю вам написать эту короткую программу, если у вас есть время. Если вы хотя бы раз видите управляющие структуры в действии, это помогает закрепить концепции в вашем уме. Надеюсь, это поможет, удачи!

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