Как написать код деления и остатка в MIPS? - PullRequest
0 голосов
/ 21 марта 2012

Мне нужно взять 2 пользовательских ввода и найти продукт, частное и остаток.Я также не могу использовать операторы умножения или деления.

Я получил код умножения

L1:
add  $t2,$s1,$s0  #diving $s0 by $s1
bge  $s1, $s0, EXIT   # branch if ! ( i < k )
addi $s1, $s1, 1      # k++
add  $t2, $s1, $s0    # i = i * 2 
EXIT:

Как мне найти частное и остаток?Я пытался просто поменять все надстройки на сабы, но не повезло.

Ответы [ 2 ]

3 голосов
/ 22 марта 2012

Если вы использовали сложение с циклом для умножения двух чисел, то используйте вычитание с циклом для их деления. Какой-то псевдокод:

main:
    #initialize registers

loop:
    #dividend -= divsor
    #quotient++

    #temp = dividend - divsor
    #if temp < 0 jump to done
    #jump to loop

done:
    #remainder = temp
2 голосов
/ 07 мая 2017

используйте следующие команды, чтобы получить частное и остаток

rem   d, s1, s2     #d = s1 % s2;  gives remainder
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...