Académique Documents
Professionnel Documents
Culture Documents
Computadores
LABORATRIO - MIPS
Reviso
1. Instrues de Load e Store.
2. Operaes com registradores.
3. Syscall
4. Loops
5. Recurso
Arquitetura MIPS
Tipos de Dados:
Instrues esto formatadas em 32 bits.
Byte(8 bits), meia palavra (2 bytes), palavra (4 bytes)
A[12] = h + A[8];
MIPS:
lw $t0, 32($s3)
add $t0, $s2, $t0
sw $t0, 48($s3)
#addr of A in reg s3
#h in reg s2
Uma dvida, por que 32 e 48 como offsets quando na verdade eu quero a 8 e 12 posio do array?
.asciiz
Lembra que fizemos:
msg1: .byte 'H','e','l','l','o',' ','W','o','r','l','d, !
MIPS proporciona um facilitador:
msg2: .asciiz Hello World!
Contudo, do ponto de vista de recursos computacionais, msg1 e msg2 so igual.
Array de bytes.
Registradores - MIPS
Syscall- MIPS
Servios do sistemas (Entrada/Sada) esto disponveis:
Servio
Imprime inteiro
Imprime float
Imprime double
Imprime String
L inteiro
L float
L double
$v0
Argumentos
Resultado
1 $a0 = Inteiro a imprimir
2 $f12 = float a imprimir
3 $f12 = double a imprimir
4 $a0 = Endereo da string
$v0 contem o valor inteiro lido
5
$f0 contem o valor float lido
6
$f0 contem o valor double lido
7
L string
Sair
10
I/O em MIPS
Agora desenvolva um programa em MIPS.
1. O programa deve ter o seu nome armazenado na memria.
2. Voc deve escrever uma frase e ele deve retornar o seu nome.
a) f = g + h + B[4]
b) f = g A[B[4]]
Arquitetura e Organizao de
Computadores
LOOPS - MIPS
Exerccio
Converta o seguinte fragmento em c equivalente em MIPS.
Assuma que as variveis a e b foram atribuidas aos registradores $s0 e $s1
respectivamente. Assuma que o endereo base do array D est no registrado $s2.
While(a < 10)
{
D[a] = b + a;
a += 1;
}
Arquitetura e Organizao de
Computadores
RECURSO- MIPS
Exerccio
Converta o seguinte fragmento em c equivalente em MIPS.
Assuma que as variveis a e b foram atribuidas aos registradores $s0 e $s1
respectivamente. Assuma que o endereo base do array D est no registrado $s2.
int factorial(int n)
{
if (n <= 1)
return 1;
return n * factorial(n - 1);
}
Leituras Recomendadas
Bsica
Referncia MIPS
http://courses.missouristate.edu/KenVollmar/MARS/Help/MarsHelpIntro.html
http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html
Recursos do MARS
http://courses.missouristate.edu/KenVollmar/MARS/features.htm