Sua tarefa nesse exercício é criar um procedimento chamado
divfac
que faz a divisão entre dois inteiros de 4 bytes.
Sua função deve:
Receber o dividendo e o divisor nos registradores $a0
e $a1
Retornar o resto e o quociente nos registradores hi
e lo
, respectivamente.
Lembre-se! Seu procedimento deve ser capaz de lidar com inteiros com sinal!
Não há dados de entrada para serem lidos.
Não há dados de saída para serem impressos.
Se divfac
for chamada com
$a0 = 15
e
$a1 = 5
então seu procedimento deve retornar
lo = 3
e
hi = 0
Se divfac
for chamada com
$a0 = -7
e
$a1 = 2
então seu procedimento deve retornar
lo = -3
e
hi = -1
Você deve submeter apenas seu procedimento divfac
, sem as seções .data
, .text
e o procedimento main
. Lembre-se de cumprir os protocolos de chamada a procedimento com jal
.
Você não pode utilizar nem a instrução div
nem a divu
em sua submissão, mas pode utilizá-la para conferir seus resultados em seus testes.