$a0
e $a1
,
e retornar seu resultado em $v0
.
Se a string $a1
estiver contida na string $a0
,
a função deve retornar o endereço de onde esta ocorrência começa
(isto é, um endereço para dentro da string $a0
,
onde encontramos $a1
).
Caso a string $a1
não esteja contida em $a0
,
a função deve retornar 0 (zero).
(Qualquer dúvida, vide a documentação da função strstr
da biblioteca padrão de C.)
$a0
e $a1
,
representados no formato IEEE float (32 bits),
e retornar o produto dos dois números
(no mesmo formato) no registrador $v0
.
Sua função deve tratar números positivos e negativos,
e todos os casos particulares da representação IEEE
(zero, infinito, "not a number", e números não normalizados).
Note que você não deve usar a pseudo-instrução mul
para multiplicar as mantissas.
Como cada mantissa tem 24 bits, o produto tem 48 bits,
e portanto não cabe em um único registrador.
Use a operação mult
,
que deixa o resultado em dois registradores.
O trabalho deverá ser feito em grupo de no máximo 2 (dois) alunos.
A entrega deverá ser feita até o dia 25/11.
Trabalhos fora do prazo perderão meio ponto por dia de atraso.
Os trabalhos deverão ser entregues em disquete
(um arquivo para cada item do trabalho,
chamados item1.asm
e item2.asm
)
e em listagem.
Para cada função pedida,
escreva também um "programa" main
que permita testarmos a função;
esse programa deverá repetidamente pedir os parâmetros na console,
chamar a função com os parâmetros dados e mostrar o resultado final.
Separe bem a função pedida da função main
.
As funções devem respeitar os protocolos de chamada de funções.
Em particular, não devem sujar outros registradores que não os
temporários ($t0
, etc.).
Também não devem acessar nenhuma variável global.
Toda a comunicação delas com o resto do mundo
(e com a main
) deve ser apenas através dos parâmetros
e valor de retorno.
Se necessário, simplifique o problema (por exemplo não tratando alguns casos especiais), mas entregue um trabalho que faça algo. É muito melhor um programa que faça corretamente uma parte do que foi pedido do que um programa que quase faça tudo perfeitamente, mas que na realidade não faça nada.
Qualquer dúvida não invente, consulte-nos!.