SlideShare uma empresa Scribd logo
MIPS 32 BITS CHEAT SHEET
Tipos de Instruções
opcode rs rt rd Shamt Funct
6 bits 5 bits 5 bits 5 bits 5 bits 6 bits
Código da
operação
Registrador
Fonte
Registrador
Fonte
Registrador
Destino
Deslocamento Código de
operação
secundário
Instruções Tipo R
opcode rs rt endereço
6 bits 5 bits 5 bits 16 bits
Código da
Operação
Registrador Registrador Endereço de
memória
Instruções Tipo I
opcode rs endereço
6 bits 5 bits 21 bits
Código da
operação
Registrador Endereço de
memória
Instruções Tipo J
Instrução C a = b + c;
Linguagem de
Montagem
ADD $t0, $s0, $s1
Linguagem de
máquina
ADD $8, $16, $17
Representação 0 16 17 8 0 32
Código de
Máquina
000000 10000 10001 01000 00000
100000
Instrução C g = h + a[8];
Linguagem de
Montagem
LW $t0, 8 ($s3)
ADD $s1, $s2, $t0
Linguagem de
Máquina
LW $8, 8 ($19)
ADD $16, $17, $8
Representação 35 8 19 8
0 17 8 16 0 32
Código de Máquina 100011 010000 10011 0000 0000 0000 1000
000000 10001 01000 10000 00000 100000
Instrução C EXIT, ELSE, ou algum outro label, ou retorno de função
Linguagem de Montagem JR $t0
Linguagem de máquina JR $8
Representação 0 8 8
Código de Máquina 000000 01001 00000 00000 00000 001000
elainececiliagatto@gmail.com
MIPS 32 BITS CHEAT SHEET
Registradores e Memória
opcode Operação básica da instrução
rs Registrador do primeiro operando fonte
rt Registrador do segundo operando fonte
rd Registrador do operando destino
shamt Shift amount, em português, quantidade de
deslocamento. Utilizado em algumas instru-
ções lógicas
funct Função ou código de função. É um código
variante do opcode. Utilizado em algumas
instruções aritméticas.
Registrador Decimal Binário Uso
$zero 0 000 000 Constante zero
$at 1 000 001 Montador
$v0 2 000 010 Avaliação de
expressão e
resultados de
função
$v1 3 000 011
$a0 4 000 100
Argumentos de
Função
$a1 5 000 101
$a2 6 001 110
$a3 7 000 111
$k0 26 011 010 Reservado para
o Kernel do S.O.
$k1 27 011 011
$gp 28 011 100 Global pointer
$sp 29 011 101 Stack pointer
$fp 30 011 110 Frame pointer
$ra 31 011 111 Endereço de
retorno da fun-
ção
Registrador Decimal Binário Uso
$t0 8 001 000
Registrado-
res tempo-
rários. Não
preservados
pela chama-
da.
$t1 9 001 001
$t2 10 001 010
$t3 11 001 011
$t4 12 001 100
$t5 13 001 101
$t6 14 001 110
$t7 15 001 111
$s0 16 010 000
Registrado-
res tempo-
rários sal-
vos. Preser-
vados pela
camada.
$s1 17 010 001
$s2 18 010 010
$s3 19 010 011
$s4 20 010 100
$s5 21 010 101
$s6 22 010 110
$s7 23 010 111
Segmento de Pilha
Dados Dinâmicos
Dados Estáticos
Segmento de Texto
Reservado
MEMÓRIA
...
Registros salvos
Argumento 5
Argumento 6
FRAME DE PILHA
Variáveis Locais
Endereço de Memória mais alto
Endereço de Memória mais baixo
$sp
$fp
- 32 registradores de propósito geral;
- HI e LO: registradores de propósito especial para
guardar resultados de divisão e multiplicação de
inteiros e outras operações acumuladoras;
- PC: counter program, ou contador de programa,
registrador de propósito especial;
elainececiliagatto@gmail.com
4 co-processadores:
- CP0: cpu, sistema de controle; memória virtual, execções;
- CP1: ponto flutuanteCoprocessor 2 (CP2) is available for specific imple-
mentations;
- CP2: implementações específicas
- CP3: ponto flutuante mips 64 bits
Memória
Word
MIPS 32 BITS CHEAT SHEET
Modos de Endereçamento e Instruções
op rs rt imediato
Imediato
op rd shamt funct
rs rt
Registrador
Registro
op rs rt Endereço
Base
Half Word
Byte
Registrador
+
Memória
Word
PC
op rs rt Endereço
Relativo ao PC
+
Memória
Word
PC
op Endereço
Pseudodireto
+
- Instruções MIPS possuem endereços em
BYTES
- Os endereços das palavras sequenciais
diferem em 4
- MIPS é Big Endian
20 000
20 004
20 008
20 012
20 016
O operando é uma constante dentro da pró-
pria instrução.
O operando é um registrador
O operando está no local de memória
cujo endereço é a soma de um regis-
trador e uma constante na instrução
O endereço de desvio é a soma do PC e
uma constante na instrução
O endereço de jump são os 26 bits da ins-
trução concatenados com os bits mais altos
do PC
Instrução Código
Add (32)10 (20)16
addi (08)10 (08)16
addiu (09)10 (09)16
And (36)10 (24)16
beq (04)10 (04)16
bne (05)10 (05)16
div (26)10 (1A)16
divu (27)10 (1B)16
j (02)10 (02)16
jr (8)10 (8)16
lw (35)10 (23)16
mult (24)10 (18)16
Nor (39)10 (27)16
Or (37)10 (25)16
sll (0)10 (0)16
Slt (42)10 (2A)16
sra (2)10 (2)16
Sub (34)10 (22)16
subu (35)10 (23)16
sw (43)10 (2B)16
Xor (38)10 (26)16
Principais Instruções
Instruções Implementadas
- Aritméticas, Lógicas e Relacionais;
- Desvios condicionais e incondicio-
nais;
- Manipulação de operandos constan-
tes e imediatos;
- Tratamento de Exceções e Interrup-
ções;
- Carga e Armazenamento;
- Transferência de dados;
- Ponto Flutuante.
elainececiliagatto@gmail.com
MIPS 32 BITS CHEAT SHEET
BNE, BEQ, SLT e SLTI
Passo a passo: conversão ALTO NÍVEL
para ASSEMBLY
1. Converter a instrução de alto nível
para Linguagem de Montagem;
2. Converter a instrução na Linguagem
de Montagem para Linguagem de Má-
quina;
3. Fazer a representação corresponden-
te da Linguagem de Máquina;
4. Converter a representação da Lin-
guagem de Máquina para Código de
Máquina.
Passo a passo: conversão ASSEMBLY
para ALTO NÍVEL
1. Converter o Código de Máquina para
a Representação;
2. Converter a Representação em Lin-
guagem de Máquina;
3. Converter a Linguagem de Máquina
para Linguagem de Montagem;
4. Converter Linguagem de Montagem
para instrução de alto nível;
inicio
reg1 == reg2 ?
instruções
Desvie para cá se
REG1 != REG2
REG1 == REG2
Não executa se
reg1 != reg2
BNE: BRANCH IF NOT EQUAL
Desvie se não for igual. Testa uma desigualdade. A próxima
instrução a ser executada é aquela que estiver armazenada no
endereço do LABEL se o valor no registrador 1 não for igual ao
valor no registrador 2.
BNE REG1, REG2, ELSE # vá para ELSE se REG1 != REG2
.....
instruções
ELSE
inicio
reg1 == reg2 ?
instruções
REG1 != REG2
Não executa se
reg1 == reg2
.....
instruções
ELSE
BEQ: BRANCH IF EQUAL
Desvie se for igual. Testa uma igualdade. A próxima instrução a
ser executada é aquela que estiver armazenada no endereço do
LABEL se o valor no registrador 1 for igual ao valor no registra-
dor 2.
BEQ REG1, REG2, ELSE # vá para ELSE se REG1 == REG2
Desvie para cá se
REG1 == REG2
Cálculo do endereço relativo da memória
- Instruções de desvio acrescentam X palavras, ou X bytes, ao
endereço da instrução seguinte à si mesma;
- Especificam o destino do desvio em relação à instrução seguin-
te e não em relação à instrução de desvio ou ao uso do endereço
de destino completo
Exemplo:
80000 bne $s3, $s4, Else
80004 add $s0, $s1, $s2 # instrução seguinte à bne
80008 j Exit # + 2 palavras ou 8 bytes
# 80008 + 4 = 80012
80012 ELSE: sub $s0, $s1, $s2
80016 Exit: # endereço completo 20004 * 4
SLT: SET ON LESS THAN
Compara dois valores de dois
registradores diferentes.
Atribui o valor 1 a um tercei-
ro registrador se o valor do
primeiro registrador for
menor que o valor do segun-
do registrador. Caso contrá-
rio, atribui zero.
SLT REG3, REG1, REG2
REG3 = 1 se REG1 < REG2
REG3 = 0 se REG1 > REG2
SLTI: SET ON LESS THAN
IMMEDIATE
Compara o valor de um regis-
trador com um valor constan-
te ou imediato. Atribui o
valor 1 a um terceiro regis-
trador se o valor do primeiro
registrador for menor que o
valor do segundo registrador.
Caso contrário, atribui zero.
SLTI REG3, REG1, VALOR
REG3 = 1 se REG1 < VALOR
REG3 = 0 se REG1 > VALOR
elainececiliagatto@gmail.com
MIPS 32 BITS CHEAT SHEET
LOAD WORD e STORE WORD
LOAD WORD
Transfere dados da memória para o registrador
LW REG1, valor (REG2) # REG1 = memória [ REG2 + valor ]
EXEMPLO 1: LOAD
Instrução:
g = h + a[8];
* multiplicar 8 por 4 devido à restrição de alinhamento
Linguagem de montagem:
LW $t0, 32($s3)
ADD $s0, $s1, $t0
Linguagem de máquina:
LW $8, 32 ($19)
ADD $16, $17, $8
Representação:
35 8 19 32
0 17 8 16 0 32
Código de Máquina:
100011 01000 10011 00000 00000 100000
000000 10001 01000 10000 00000 100000
STORE WORD
Transfere dados do registrador para a memória
SW REG1, valor (REG2) # memória [ REG2 + valor ] = REG1
EXEMPLO 2: STORE
Instrução:
g[8] = h + a;
* multiplicar 8 por 4 devido à restrição de alinhamento
Linguagem de montagem:
ADD $t0, $s1, $t0
SW $t0, 32($s0)
Linguagem de máquina:
ADD $8, $17, $8
SW $8, 32 ($16)
Representação:
0 8 17 8 0 32
43 8 16 32
Código de Máquina:
000000 01000 10001 01000 00000 100000
101011 01000 01000 00000 00000 100000
EXEMPLO 3: LOAD E STORE
Instrução:
g[2] = h + a[4];
Linguagem de montagem:
LW $t0, 16 ($s0)
ADD $t1, $s1, $t0
SW $t1, 8 ($s2)
Linguagem de máquina:
LW $8, 16 ($16)
ADD $9, $17, $8
SW $9, 4 ($18)
Representação:
35 8 16 16
0 17 8 9 0 32
43 9 18 4
Código de Máquina:
100011 01000 10000 00000 00000 10000
000000 10001 01000 01001 00000 100000
101011 01001 10010 00000 00000 000100
elainececiliagatto@gmail.com
EXEMPLO 4: ÍNDICE VARIÁVEL
Instrução:
g = h + a[i];
Linguagem de montagem:
ADD $t0, $s3, $s3 # 2*i
ADD $t0, $t0, $t0 # 4*i
ADD $t0, $t0, $s2 # a[i]=(4*i+$s2)
LW $t1,0($t0) # $t1=a[i]
ADD $s0, $s1, $t1 # g=h+a[i]
Linguagem de máquina:
ADD $8, $19, $19 # 2*i
ADD $8, $8, $8 # 4*i
ADD $8, $8, $18 # a[i]=(4*i+$s2)
LW $9,0($8) # $t1=a[i]
ADD $16, $17, $9 # g=h+a[i]
Representação:
0 19 19 8 0 32
0 8 8 8 0 32
0 8 18 8 0 32
35 9 8 0
MIPS 32 BITS CHEAT SHEET
Controle de Programa e Array
IF SIMPLES
Instrução: if (a==b){ c = a + b }
Resolução:
Se a ==b então execute a instrução c = a + b, caso
contrário, sai do if. O desvio só vai acontecer se a !
= b, caso contrário não tem desvio!!! Portanto, Se
(a==b) entra no if e se (a!=b) vai para EXIT
(desvia).
Linguagem de Montagem:
BNE $s0, $s1, EXIT
ADD $t0, $s0, $s1
J EXIT
Linguagem de Máquina:
BNE $16, $17, EXIT
ADD $8, $16, $17
J EXIT
Representação:
5 16 17 EXIT
0 16 17 8 0 32
2 [endereço]
Código:
000101 10000 10001 [endereço]
000000 10000 10001 01000 00000 100000
000010 [endereço]
IF COMPOSTO
Instrução: if (a==b) { c = a + b } else { c = a — b}
Resolução:
Se a ==b então execute a instrução c = a + b, caso
contrário, execute a instrução c = a—b.
Linguagem de Montagem:
BNE $s0, $s1, ELSE
ADD $t0, $s0, $s1
J EXIT
ELSE SUB $t0, $s0, $s1
Linguagem de Máquina:
BNE $16, $17, EXIT
ADD $8, $16, $17
J EXIT
ELSE SUB $8, $16, $17
Representação:
5 16 17 EXIT
0 16 17 8 0 32
2 [endereço]
ELSE 0 16 17 8 0 34
Código:
000101 10000 10001 [endereço]
000000 10000 10001 01000 00000 100000
000010 [endereço]
ELSE 000000 10000 10001 01000 00000 100010
elainececiliagatto@gmail.com
FOR
Instrução:
for(indice=0; indice<10; indice++) {
soma = Vetor[indice] + soma; }
Resolução:
LOOP:
# t0 = 0 se $s0 >= $s3 ( i >= n), t0 = 1 caso contrário
SLT $t0, $s0, $s3
# se $s0 >= $s3 ( i >= n) vá para EXIT
BEQ $t0, $zero, EXIT
# $t1 = 4 * i, ou 4 * $s0
SLL $t1, $s0, 2
# t2 = ( vetor + ( 4 * i) )
ADD $t2, $s4, $t1
# $t3 = vetor[i], carregando o elemento do índice i
LW $t3, 0($t2)
# somando os elementos (soma = soma + vetor[i]
ADD $s1, $s1, $t3
# $s0 = $s0 + 1 (ou i = i + 1) é o contador
ADDI $s0, $s0, 1
# volta para o LOOP EXIT
J LOOP
WHILE
Instrução:
while(save[i] == k) { i += 1; }
Resolução:
LOOP:
SLL $t1, $s3, 2 # $t1 = 4 * i
ADD $t1, $t1, $s6 # $t1 = (4i + $s6)
LW $t0, 0 ($t1) # $t0 = save[i]
# vá para EXIT se save[i] diferente de k
BNE $t0, $s5, EXIT
ADDI $s3, $s3, 1 # $s3 = $s3 + 1 (ou i = i + 1)
J LOOP # volta para o LOOP
EXIT:
ARRAY
Instrução
int c[15] = {3, 0, 1, 2, -6, -2, 4, 10, 3, 7, 8, -9, -15, -20, -
87, 0};
int a = 0, b = 30;
a = b + c[10];
Resolução:
.data
c: .word 3, 0, 1, 2, -6, -2, 4, 10, 3, 7, 8, -9, -15, -20, -87,
0
.text
# determinando o valor para $s1 (b)
LI $s1, 30
# colocando o endereço do array em $s2
LA $s2, [Endereço. Exemplo: 80008]
# colocando o índice do array em $t2
LI $t2, 10
ADD $t2, $t2, $t2 # “2i”
ADD $t2, $t2, $t2 # “4i”
# combinando os dois componentes do
endereço
ADD $t1, $t2, $s2
# obtendo o valor da célula do array
LW $t0, 0 ( $t1 )
# executando a soma
ADD $s0, $s1, $t0
* podemos usar a instrução SLL no lugar
dos dois ADD para calcular o endereço:
SLL reg1, reg2, 2 # $t1 = 4 * i
MIPS 32 BITS CHEAT SHEET
Controle de Programa e Procedimentos
SWTICH/CASE
Instrução:
switch (k) {
case 0:
f = i + j; // k = 0 break;
case 1:
f = g + h; // k=1 break;
case 2:
f = g – h; // k = 2 break;
case 3:
f = i – j; // k = 3 break;
}
Resolução:
.data
jTable: .word L0,L1,L2,L3
.text
# Definindo as variáveis: carregando valores
para testar o código!
LI $s1, 15 # g = $s1 = 15
LI $s2, 20 # h = $s2 = 20
LI $s3, 10 # i = $s3 = 10
LI $s4, 5 # j = $s4 = 5
LI $s5, -1 # k = $s5 = 2
# $t4 = base address of the jump table
LA $t4, jTable
# Verificando os limites dos casos
SLT $t3, $s5, $zero
BNE $t3, $zero, EXIT
SLTI $t3, $s5, 4
BEQ $t3, $zero, EXIT
# Calculando o endereço correto do Label
SLL $t1, $s5, 2
ADD $t1, $t1, $t4
LW $t0, 0($t1)
JR $t0 # Seleção do Label
# Casos
L0: ADD $s0, $s3, $s4
J EXIT
L1: ADD $s0, $s1, $s2
J EXIT
L2: SUB $s0, $s1, $s2
J EXIT
L3: SUB $s0, $s3, $s4
EXIT:
elainececiliagatto@gmail.com
PROCEDIMENTOS
Instrução:
int exemplo ( int g, int h, int i, int j) {
int f;
f = ( g + h ) - ( i + j );
return f;
}
Resolução:
.text
LI $a0, 15 # g = $a0 = 15
LI $a1, 20 # h = $a1 = 20
LI $a2, 10 # i = $a2 = 10
LI $a3, 5 # j = $a3 = 5
EXEMPLO:
# salva os registradores temporários usados pelo corpo
da função
ADDI $sp, $sp, -12
SW $t1, 8 ($sp)
SW $t0, 4 ($sp)
SW $s0, 0 ($sp)
# corpo da função
ADD $t0, $a0, $a1 # (g + h) = 15 + 20 = 35
ADD $t1, $a2, $a3 # (i + j) = 10 + 5 = 15
SUB $s0, $t0, $t1 # (g + h ) - ( i + j) = 35 – 15 = 5
ADD $v0, $s0, $zero # retorno da função f ($v0 = $s0 + 0 )
LW $s0, 0 ($sp) # restaura o registrador para o caller
LW $t0, 4 ($sp) # restaura o registrador para o caller
LW $t1, 8 ($sp) # restaura o registrador para o caller
ADDI $sp, $sp, 12 # ajusta a pilha para excluir os 3 itens
JR $ra # volta para o endereço de retorno
Registradores para manipular procedimentos:
- $a0 até $a3: são os registradores de argumentos utilizados para a passagem de parâmetros;
- $v0 e $v1: são os registradores de valor utilizados para o retorno do procedimento;
- $ra: é o registrador de endereço do retorno do procedimento, utilizado na volta ao ponto de origem
da chamada do procedimento.
JAL: é uma instrução de salto (jump) utilizada unicamente para os procedimentos (jump and link). Essa
instrução desvia para um endereço e, ao mesmo tempo, salva o endereço da instrução seguinte no
registrador de endereço de retorno.
JR: uma instrução de desvio incondicional para o endereço especificado em um registrador; ela volta ao
endereço de retorno correto que é armazenado em $ra.
CALLER: é o programa que chama o procedimento, fornecendo os valores dos parâmetros.
CALLEE: é um procedimento que executa uma série de instruções armazenadas com base nos parâme-
tros fornecidos pelo Caller e depois retorna o controle para o Caller novamente.
SPILLED REGISTERS: é o processo de colocar variáveis menos utilizadas na memória
PILHA: gerencia as chamadas e retornos de procedimentos
STACK POINTER: é um valor que indica o endereço alocado mais recentemente em uma pilha, mostran-
do onde devem ser localizados os valores antigos dos registradores e onde os Spilled Registers devem
ser armazenados.
PUSH: coloca palavras para cada registrador salvo ou restaurado na pilha. Valores são colocados na
pilha pela subtração do valor do Stack Pointer.
POP: remove palavras da pilha. Valores são retirados da pilha pela soma do valor do stack pointer.
MIPS 32 BITS CHEAT SHEET
Memória, Montador e Sistema
elainececiliagatto@gmail.com
MEMÓRIA
- Segmento de texto:
+ É o segmento de memória que mantém as instruções do programa, começa no endereço 400000 hexa. O código
em linguagem de máquina para rotinas no arquivo de origem é mantido aqui.
- Segmento de dados:
+ A representação binária dos dados no arquivo de origem é mantida aqui.
+ Dados dinâmicos: são alocados pelo programa enquanto ele é executado.
+ Dados estáticos: são os objetos cujo tamanho é conhecido pelo compilador e cujo tempo de vida é a execução
inteira do programa
- Segmento de pilha:
+ O tamanho máximo da pilha de um programa não é conhecido antecipadamente
+ Conforme a pilha vai crescendo, o sistema operacional vai expandindo o segmento de pilha em direção ao seg-
mento de dados.
DIRETIVAS DO MONTADOR
.text: define um bloco de instruções.
.data: define um bloco de dados.
.align n: define que os itens nas linhas seguintes devem ser alinhados em um limite de 2n bytes, por exemplo,
.align 2 indica que o próximo item deverá estar em um limite da palavra.
.globl “nome”: indica que nome é um símbolo global e deve ser visível ao código armazenado em outros arquivos,
sendo nome o nome que você define.
.asciiz: armazena uma string terminada em nulo na memória.
CHAMADAS DO SISTEMA
Serviço Código Argumentos Resultado Observações
print_int 1 $a0 = integer
Recebe um inteiro e o imprime no
console
print_float 2 $f12 = float
Imprime um único número de
ponto flutuante
print_double 3 $f12 = double
Imprime um número de precisão
dupla
print_string 4 $a0 = string
Recebe um ponteiro para uma
string terminada em nulo e a
escreve no console
read_int 5 Integer em $v0
Leem uma linha inteira da entrada
incluindo o caractere de newline.
Caracteres após o número são
ignoradoso
read_float 6 Float em $f0
read_double 7 Double em $f0
read_string 8
$a0 = buffer
Igual a fgets do UNIX
$a1 = tamanho
sbrk 9 $a0 = valor Endereço em $v0
Retorna um ponteiro para um
bloco de memória contendo n
bytes adicionais
exit 10
Interrompe o programa que está
sendo executado
print_char 11 $a0 = char Escreve um único caractere
read_char 12 Char em $v0 Le um único caractere
open 13
$a0 = nome de arquivo
(string) Descritor de arquivo em
$a0
Chamadas da biblioteca padrão do
UNI
$a1 = flags
$a2 = modo
ead 14
$a0 = descritor de
arquivo Número de caracteres
lidos em $a0
$a1 = buffer
$a2 = tamanho
write 15
$a0 = descritor de
arquivo Número de caracteres
escritos em $a0
$a1 = buffer
$a2 = tamanho
close 16
$a0 = descritor de
arquivo

Mais conteúdo relacionado

Mais procurados

Teoria Cinética dos Gases
Teoria Cinética dos Gases Teoria Cinética dos Gases
Teoria Cinética dos Gases
redacao_portal
 
Exercicios resolvidos
Exercicios resolvidosExercicios resolvidos
Exercicios resolvidos
Brunna Vilar
 
Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)
Marcos Castro
 
Aula 8 variáveis aleatória contínua - parte 1
Aula 8   variáveis aleatória contínua - parte 1Aula 8   variáveis aleatória contínua - parte 1
Aula 8 variáveis aleatória contínua - parte 1
Ariel Rennó Chaves
 
Resis cap ind comerciais
Resis cap ind comerciaisResis cap ind comerciais
Resis cap ind comerciais
proffer001
 
Aula1 proposicoes e conectivos
Aula1 proposicoes e conectivosAula1 proposicoes e conectivos
Aula1 proposicoes e conectivos
SEDUC-PA
 
9 клас ДПА Хімія 2014
9 клас ДПА Хімія 20149 клас ДПА Хімія 2014
9 клас ДПА Хімія 2014
snakee0201
 
PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA
PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA
PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA
Michael Douglas
 
Aula 11 13 estereoquimica
Aula 11   13 estereoquimicaAula 11   13 estereoquimica
Aula 11 13 estereoquimica
Pam Pires
 
Curso de Java #13 - Estruturas de Repetição (Parte 3)
Curso de Java #13 - Estruturas de Repetição (Parte 3)Curso de Java #13 - Estruturas de Repetição (Parte 3)
Curso de Java #13 - Estruturas de Repetição (Parte 3)
Curso em Vídeo - Cursos Grátis com Certificado
 

Mais procurados (10)

Teoria Cinética dos Gases
Teoria Cinética dos Gases Teoria Cinética dos Gases
Teoria Cinética dos Gases
 
Exercicios resolvidos
Exercicios resolvidosExercicios resolvidos
Exercicios resolvidos
 
Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)Problema das N rainhas (Backtracking)
Problema das N rainhas (Backtracking)
 
Aula 8 variáveis aleatória contínua - parte 1
Aula 8   variáveis aleatória contínua - parte 1Aula 8   variáveis aleatória contínua - parte 1
Aula 8 variáveis aleatória contínua - parte 1
 
Resis cap ind comerciais
Resis cap ind comerciaisResis cap ind comerciais
Resis cap ind comerciais
 
Aula1 proposicoes e conectivos
Aula1 proposicoes e conectivosAula1 proposicoes e conectivos
Aula1 proposicoes e conectivos
 
9 клас ДПА Хімія 2014
9 клас ДПА Хімія 20149 клас ДПА Хімія 2014
9 клас ДПА Хімія 2014
 
PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA
PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA
PROJETO PEDAGÓGICO DO CURSO DE LICENCIATURA EM QUÍMICA
 
Aula 11 13 estereoquimica
Aula 11   13 estereoquimicaAula 11   13 estereoquimica
Aula 11 13 estereoquimica
 
Curso de Java #13 - Estruturas de Repetição (Parte 3)
Curso de Java #13 - Estruturas de Repetição (Parte 3)Curso de Java #13 - Estruturas de Repetição (Parte 3)
Curso de Java #13 - Estruturas de Repetição (Parte 3)
 

Semelhante a Cheat sheet Mips 32 bits

Guia rápido mips (1)
Guia rápido mips (1)Guia rápido mips (1)
Guia rápido mips (1)
Jéssica Santos
 
MIPS 32 BITS
MIPS 32 BITSMIPS 32 BITS
MIPS 32 BITS
Elaine Cecília Gatto
 
Pbl assembly avr como atmega328 p - rev.1
Pbl   assembly avr como atmega328 p - rev.1Pbl   assembly avr como atmega328 p - rev.1
Pbl assembly avr como atmega328 p - rev.1
andrademanoel
 
Estudo dirigido arquitetura didática
Estudo dirigido arquitetura didáticaEstudo dirigido arquitetura didática
Estudo dirigido arquitetura didática
andrademanoel
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
Marco Mendes
 
8085 2
8085 28085 2
8085 2
edgluc2001
 
Clp ab avancado
Clp ab avancadoClp ab avancado
Clp ab avancado
Ricardo Akerman
 
Aula 7 conjunto de instrucoes
Aula 7   conjunto de instrucoesAula 7   conjunto de instrucoes
Aula 7 conjunto de instrucoes
Cratuscb
 
Tradutor de Pig Latin
Tradutor de Pig LatinTradutor de Pig Latin
Tradutor de Pig Latin
Elen Arantza
 
Revisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas EmbarcadosRevisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas Embarcados
Rodrigo Almeida
 
Canivete shell
Canivete shellCanivete shell
Canivete shell
Carlos Eduardo
 
Canivete shell
Canivete shellCanivete shell
Canivete shell
Rafael Copatti Trindade
 
Py sintaxe
Py sintaxePy sintaxe
Py sintaxe
Flapenta
 
Tp representação de informação
Tp   representação de informaçãoTp   representação de informação
Tp representação de informação
Luis Lino Ferreira
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexados
Rodrigo Almeida
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
confidencial
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
confidencial
 
Pro2 04p
Pro2 04pPro2 04p
Pro2 04p
confidencial
 
EDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdfEDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdf
SimoneSantos16595
 
Apostila de comandos 8051
Apostila de comandos 8051Apostila de comandos 8051
Apostila de comandos 8051
Paulo Cerqueira
 

Semelhante a Cheat sheet Mips 32 bits (20)

Guia rápido mips (1)
Guia rápido mips (1)Guia rápido mips (1)
Guia rápido mips (1)
 
MIPS 32 BITS
MIPS 32 BITSMIPS 32 BITS
MIPS 32 BITS
 
Pbl assembly avr como atmega328 p - rev.1
Pbl   assembly avr como atmega328 p - rev.1Pbl   assembly avr como atmega328 p - rev.1
Pbl assembly avr como atmega328 p - rev.1
 
Estudo dirigido arquitetura didática
Estudo dirigido arquitetura didáticaEstudo dirigido arquitetura didática
Estudo dirigido arquitetura didática
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
8085 2
8085 28085 2
8085 2
 
Clp ab avancado
Clp ab avancadoClp ab avancado
Clp ab avancado
 
Aula 7 conjunto de instrucoes
Aula 7   conjunto de instrucoesAula 7   conjunto de instrucoes
Aula 7 conjunto de instrucoes
 
Tradutor de Pig Latin
Tradutor de Pig LatinTradutor de Pig Latin
Tradutor de Pig Latin
 
Revisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas EmbarcadosRevisão de linguagem C para Sistemas Embarcados
Revisão de linguagem C para Sistemas Embarcados
 
Canivete shell
Canivete shellCanivete shell
Canivete shell
 
Canivete shell
Canivete shellCanivete shell
Canivete shell
 
Py sintaxe
Py sintaxePy sintaxe
Py sintaxe
 
Tp representação de informação
Tp   representação de informaçãoTp   representação de informação
Tp representação de informação
 
Display de 7 segmentos multiplexados
Display de 7 segmentos multiplexadosDisplay de 7 segmentos multiplexados
Display de 7 segmentos multiplexados
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
CLP S7 300 E S7 400
CLP S7 300 E S7 400CLP S7 300 E S7 400
CLP S7 300 E S7 400
 
Pro2 04p
Pro2 04pPro2 04p
Pro2 04p
 
EDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdfEDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdf
 
Apostila de comandos 8051
Apostila de comandos 8051Apostila de comandos 8051
Apostila de comandos 8051
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
Elaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
Elaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
Elaine Cecília Gatto
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
Elaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
Elaine Cecília Gatto
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
Elaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
Elaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
Elaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Elaine Cecília Gatto
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
Elaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
Elaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Elaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
Elaine Cecília Gatto
 
Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...
Elaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 
Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...
 

Último

Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM
Falcão Brasil
 
Seminário de Gestão Pública e Defesa Civil
Seminário de Gestão Pública e Defesa CivilSeminário de Gestão Pública e Defesa Civil
Seminário de Gestão Pública e Defesa Civil
EduardoLealSilva
 
Caça - palavras e cruzadinha com dígrafos
Caça - palavras  e cruzadinha   com  dígrafosCaça - palavras  e cruzadinha   com  dígrafos
Caça - palavras e cruzadinha com dígrafos
Mary Alvarenga
 
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdfApostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
pattyhsilva271204
 
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdfGuia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
FLAVIOROBERTOGOUVEA
 
Alfabetização de adultos.pdf
Alfabetização de             adultos.pdfAlfabetização de             adultos.pdf
Alfabetização de adultos.pdf
arodatos81
 
NR-12-Treinamento-Maquinas-Rotativas.ppt
NR-12-Treinamento-Maquinas-Rotativas.pptNR-12-Treinamento-Maquinas-Rotativas.ppt
NR-12-Treinamento-Maquinas-Rotativas.ppt
Vanessa F. Rezende
 
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdfCALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CristviaFerreira
 
oficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdfoficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdf
marcos oliveira
 
Caça-palavras e cruzadinha - Encontros consonantais.
Caça-palavras e cruzadinha -  Encontros consonantais.Caça-palavras e cruzadinha -  Encontros consonantais.
Caça-palavras e cruzadinha - Encontros consonantais.
Mary Alvarenga
 
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptxA perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
marcos oliveira
 
Relatório de Atividades 2015 CENSIPAM.pdf
Relatório de Atividades 2015 CENSIPAM.pdfRelatório de Atividades 2015 CENSIPAM.pdf
Relatório de Atividades 2015 CENSIPAM.pdf
Falcão Brasil
 
Relatório de Atividades 2011 CENSIPAM.pdf
Relatório de Atividades 2011 CENSIPAM.pdfRelatório de Atividades 2011 CENSIPAM.pdf
Relatório de Atividades 2011 CENSIPAM.pdf
Falcão Brasil
 
Registros da 8ª edição da FECINTEC - AFV
Registros da 8ª edição da FECINTEC - AFVRegistros da 8ª edição da FECINTEC - AFV
Registros da 8ª edição da FECINTEC - AFV
Yan Kayk da Cruz Ferreira
 
Aprendizagem Imersiva: Conceitos e Caminhos
Aprendizagem Imersiva: Conceitos e CaminhosAprendizagem Imersiva: Conceitos e Caminhos
Aprendizagem Imersiva: Conceitos e Caminhos
Leonel Morgado
 
escrita criativa utilizada na arteterapia
escrita criativa   utilizada na arteterapiaescrita criativa   utilizada na arteterapia
escrita criativa utilizada na arteterapia
shirleisousa9166
 
Temática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores LocaisTemática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores Locais
Colaborar Educacional
 
Oficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdfOficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdf
beathrizalves131
 

Último (20)

Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM Relatório de Atividades 2009 CENSIPAM
Relatório de Atividades 2009 CENSIPAM
 
Seminário de Gestão Pública e Defesa Civil
Seminário de Gestão Pública e Defesa CivilSeminário de Gestão Pública e Defesa Civil
Seminário de Gestão Pública e Defesa Civil
 
Caça - palavras e cruzadinha com dígrafos
Caça - palavras  e cruzadinha   com  dígrafosCaça - palavras  e cruzadinha   com  dígrafos
Caça - palavras e cruzadinha com dígrafos
 
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdfApostila em LIBRAS - Curso Básico ENAP 2019.pdf
Apostila em LIBRAS - Curso Básico ENAP 2019.pdf
 
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdfGuia referencial de Apoio - Planejamento Escolar 2024.pdf
Guia referencial de Apoio - Planejamento Escolar 2024.pdf
 
Alfabetização de adultos.pdf
Alfabetização de             adultos.pdfAlfabetização de             adultos.pdf
Alfabetização de adultos.pdf
 
FOTOS_AS CIÊNCIAS EM AÇÃO .
FOTOS_AS CIÊNCIAS EM AÇÃO                .FOTOS_AS CIÊNCIAS EM AÇÃO                .
FOTOS_AS CIÊNCIAS EM AÇÃO .
 
NR-12-Treinamento-Maquinas-Rotativas.ppt
NR-12-Treinamento-Maquinas-Rotativas.pptNR-12-Treinamento-Maquinas-Rotativas.ppt
NR-12-Treinamento-Maquinas-Rotativas.ppt
 
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdfCALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
CALENDÁRIO GRADUAÇÃO 2024-07ddddd-04 (1).pdf
 
oficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdfoficia de construção de recursos para aluno DI.pdf
oficia de construção de recursos para aluno DI.pdf
 
Caça-palavras e cruzadinha - Encontros consonantais.
Caça-palavras e cruzadinha -  Encontros consonantais.Caça-palavras e cruzadinha -  Encontros consonantais.
Caça-palavras e cruzadinha - Encontros consonantais.
 
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptxA perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
A perspectiva colaborativa e as novas práticas de inclusão. (1).pptx
 
Relatório de Atividades 2015 CENSIPAM.pdf
Relatório de Atividades 2015 CENSIPAM.pdfRelatório de Atividades 2015 CENSIPAM.pdf
Relatório de Atividades 2015 CENSIPAM.pdf
 
Relatório de Atividades 2011 CENSIPAM.pdf
Relatório de Atividades 2011 CENSIPAM.pdfRelatório de Atividades 2011 CENSIPAM.pdf
Relatório de Atividades 2011 CENSIPAM.pdf
 
Registros da 8ª edição da FECINTEC - AFV
Registros da 8ª edição da FECINTEC - AFVRegistros da 8ª edição da FECINTEC - AFV
Registros da 8ª edição da FECINTEC - AFV
 
Aprendizagem Imersiva: Conceitos e Caminhos
Aprendizagem Imersiva: Conceitos e CaminhosAprendizagem Imersiva: Conceitos e Caminhos
Aprendizagem Imersiva: Conceitos e Caminhos
 
escrita criativa utilizada na arteterapia
escrita criativa   utilizada na arteterapiaescrita criativa   utilizada na arteterapia
escrita criativa utilizada na arteterapia
 
RECORDANDO BONS MOMENTOS! _
RECORDANDO BONS MOMENTOS!               _RECORDANDO BONS MOMENTOS!               _
RECORDANDO BONS MOMENTOS! _
 
Temática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores LocaisTemática – Projeto para Empreendedores Locais
Temática – Projeto para Empreendedores Locais
 
Oficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdfOficina de bases de dados - Dimensions.pdf
Oficina de bases de dados - Dimensions.pdf
 

Cheat sheet Mips 32 bits

  • 1. MIPS 32 BITS CHEAT SHEET Tipos de Instruções opcode rs rt rd Shamt Funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Código da operação Registrador Fonte Registrador Fonte Registrador Destino Deslocamento Código de operação secundário Instruções Tipo R opcode rs rt endereço 6 bits 5 bits 5 bits 16 bits Código da Operação Registrador Registrador Endereço de memória Instruções Tipo I opcode rs endereço 6 bits 5 bits 21 bits Código da operação Registrador Endereço de memória Instruções Tipo J Instrução C a = b + c; Linguagem de Montagem ADD $t0, $s0, $s1 Linguagem de máquina ADD $8, $16, $17 Representação 0 16 17 8 0 32 Código de Máquina 000000 10000 10001 01000 00000 100000 Instrução C g = h + a[8]; Linguagem de Montagem LW $t0, 8 ($s3) ADD $s1, $s2, $t0 Linguagem de Máquina LW $8, 8 ($19) ADD $16, $17, $8 Representação 35 8 19 8 0 17 8 16 0 32 Código de Máquina 100011 010000 10011 0000 0000 0000 1000 000000 10001 01000 10000 00000 100000 Instrução C EXIT, ELSE, ou algum outro label, ou retorno de função Linguagem de Montagem JR $t0 Linguagem de máquina JR $8 Representação 0 8 8 Código de Máquina 000000 01001 00000 00000 00000 001000 elainececiliagatto@gmail.com
  • 2. MIPS 32 BITS CHEAT SHEET Registradores e Memória opcode Operação básica da instrução rs Registrador do primeiro operando fonte rt Registrador do segundo operando fonte rd Registrador do operando destino shamt Shift amount, em português, quantidade de deslocamento. Utilizado em algumas instru- ções lógicas funct Função ou código de função. É um código variante do opcode. Utilizado em algumas instruções aritméticas. Registrador Decimal Binário Uso $zero 0 000 000 Constante zero $at 1 000 001 Montador $v0 2 000 010 Avaliação de expressão e resultados de função $v1 3 000 011 $a0 4 000 100 Argumentos de Função $a1 5 000 101 $a2 6 001 110 $a3 7 000 111 $k0 26 011 010 Reservado para o Kernel do S.O. $k1 27 011 011 $gp 28 011 100 Global pointer $sp 29 011 101 Stack pointer $fp 30 011 110 Frame pointer $ra 31 011 111 Endereço de retorno da fun- ção Registrador Decimal Binário Uso $t0 8 001 000 Registrado- res tempo- rários. Não preservados pela chama- da. $t1 9 001 001 $t2 10 001 010 $t3 11 001 011 $t4 12 001 100 $t5 13 001 101 $t6 14 001 110 $t7 15 001 111 $s0 16 010 000 Registrado- res tempo- rários sal- vos. Preser- vados pela camada. $s1 17 010 001 $s2 18 010 010 $s3 19 010 011 $s4 20 010 100 $s5 21 010 101 $s6 22 010 110 $s7 23 010 111 Segmento de Pilha Dados Dinâmicos Dados Estáticos Segmento de Texto Reservado MEMÓRIA ... Registros salvos Argumento 5 Argumento 6 FRAME DE PILHA Variáveis Locais Endereço de Memória mais alto Endereço de Memória mais baixo $sp $fp - 32 registradores de propósito geral; - HI e LO: registradores de propósito especial para guardar resultados de divisão e multiplicação de inteiros e outras operações acumuladoras; - PC: counter program, ou contador de programa, registrador de propósito especial; elainececiliagatto@gmail.com 4 co-processadores: - CP0: cpu, sistema de controle; memória virtual, execções; - CP1: ponto flutuanteCoprocessor 2 (CP2) is available for specific imple- mentations; - CP2: implementações específicas - CP3: ponto flutuante mips 64 bits
  • 3. Memória Word MIPS 32 BITS CHEAT SHEET Modos de Endereçamento e Instruções op rs rt imediato Imediato op rd shamt funct rs rt Registrador Registro op rs rt Endereço Base Half Word Byte Registrador + Memória Word PC op rs rt Endereço Relativo ao PC + Memória Word PC op Endereço Pseudodireto + - Instruções MIPS possuem endereços em BYTES - Os endereços das palavras sequenciais diferem em 4 - MIPS é Big Endian 20 000 20 004 20 008 20 012 20 016 O operando é uma constante dentro da pró- pria instrução. O operando é um registrador O operando está no local de memória cujo endereço é a soma de um regis- trador e uma constante na instrução O endereço de desvio é a soma do PC e uma constante na instrução O endereço de jump são os 26 bits da ins- trução concatenados com os bits mais altos do PC Instrução Código Add (32)10 (20)16 addi (08)10 (08)16 addiu (09)10 (09)16 And (36)10 (24)16 beq (04)10 (04)16 bne (05)10 (05)16 div (26)10 (1A)16 divu (27)10 (1B)16 j (02)10 (02)16 jr (8)10 (8)16 lw (35)10 (23)16 mult (24)10 (18)16 Nor (39)10 (27)16 Or (37)10 (25)16 sll (0)10 (0)16 Slt (42)10 (2A)16 sra (2)10 (2)16 Sub (34)10 (22)16 subu (35)10 (23)16 sw (43)10 (2B)16 Xor (38)10 (26)16 Principais Instruções Instruções Implementadas - Aritméticas, Lógicas e Relacionais; - Desvios condicionais e incondicio- nais; - Manipulação de operandos constan- tes e imediatos; - Tratamento de Exceções e Interrup- ções; - Carga e Armazenamento; - Transferência de dados; - Ponto Flutuante. elainececiliagatto@gmail.com
  • 4. MIPS 32 BITS CHEAT SHEET BNE, BEQ, SLT e SLTI Passo a passo: conversão ALTO NÍVEL para ASSEMBLY 1. Converter a instrução de alto nível para Linguagem de Montagem; 2. Converter a instrução na Linguagem de Montagem para Linguagem de Má- quina; 3. Fazer a representação corresponden- te da Linguagem de Máquina; 4. Converter a representação da Lin- guagem de Máquina para Código de Máquina. Passo a passo: conversão ASSEMBLY para ALTO NÍVEL 1. Converter o Código de Máquina para a Representação; 2. Converter a Representação em Lin- guagem de Máquina; 3. Converter a Linguagem de Máquina para Linguagem de Montagem; 4. Converter Linguagem de Montagem para instrução de alto nível; inicio reg1 == reg2 ? instruções Desvie para cá se REG1 != REG2 REG1 == REG2 Não executa se reg1 != reg2 BNE: BRANCH IF NOT EQUAL Desvie se não for igual. Testa uma desigualdade. A próxima instrução a ser executada é aquela que estiver armazenada no endereço do LABEL se o valor no registrador 1 não for igual ao valor no registrador 2. BNE REG1, REG2, ELSE # vá para ELSE se REG1 != REG2 ..... instruções ELSE inicio reg1 == reg2 ? instruções REG1 != REG2 Não executa se reg1 == reg2 ..... instruções ELSE BEQ: BRANCH IF EQUAL Desvie se for igual. Testa uma igualdade. A próxima instrução a ser executada é aquela que estiver armazenada no endereço do LABEL se o valor no registrador 1 for igual ao valor no registra- dor 2. BEQ REG1, REG2, ELSE # vá para ELSE se REG1 == REG2 Desvie para cá se REG1 == REG2 Cálculo do endereço relativo da memória - Instruções de desvio acrescentam X palavras, ou X bytes, ao endereço da instrução seguinte à si mesma; - Especificam o destino do desvio em relação à instrução seguin- te e não em relação à instrução de desvio ou ao uso do endereço de destino completo Exemplo: 80000 bne $s3, $s4, Else 80004 add $s0, $s1, $s2 # instrução seguinte à bne 80008 j Exit # + 2 palavras ou 8 bytes # 80008 + 4 = 80012 80012 ELSE: sub $s0, $s1, $s2 80016 Exit: # endereço completo 20004 * 4 SLT: SET ON LESS THAN Compara dois valores de dois registradores diferentes. Atribui o valor 1 a um tercei- ro registrador se o valor do primeiro registrador for menor que o valor do segun- do registrador. Caso contrá- rio, atribui zero. SLT REG3, REG1, REG2 REG3 = 1 se REG1 < REG2 REG3 = 0 se REG1 > REG2 SLTI: SET ON LESS THAN IMMEDIATE Compara o valor de um regis- trador com um valor constan- te ou imediato. Atribui o valor 1 a um terceiro regis- trador se o valor do primeiro registrador for menor que o valor do segundo registrador. Caso contrário, atribui zero. SLTI REG3, REG1, VALOR REG3 = 1 se REG1 < VALOR REG3 = 0 se REG1 > VALOR elainececiliagatto@gmail.com
  • 5. MIPS 32 BITS CHEAT SHEET LOAD WORD e STORE WORD LOAD WORD Transfere dados da memória para o registrador LW REG1, valor (REG2) # REG1 = memória [ REG2 + valor ] EXEMPLO 1: LOAD Instrução: g = h + a[8]; * multiplicar 8 por 4 devido à restrição de alinhamento Linguagem de montagem: LW $t0, 32($s3) ADD $s0, $s1, $t0 Linguagem de máquina: LW $8, 32 ($19) ADD $16, $17, $8 Representação: 35 8 19 32 0 17 8 16 0 32 Código de Máquina: 100011 01000 10011 00000 00000 100000 000000 10001 01000 10000 00000 100000 STORE WORD Transfere dados do registrador para a memória SW REG1, valor (REG2) # memória [ REG2 + valor ] = REG1 EXEMPLO 2: STORE Instrução: g[8] = h + a; * multiplicar 8 por 4 devido à restrição de alinhamento Linguagem de montagem: ADD $t0, $s1, $t0 SW $t0, 32($s0) Linguagem de máquina: ADD $8, $17, $8 SW $8, 32 ($16) Representação: 0 8 17 8 0 32 43 8 16 32 Código de Máquina: 000000 01000 10001 01000 00000 100000 101011 01000 01000 00000 00000 100000 EXEMPLO 3: LOAD E STORE Instrução: g[2] = h + a[4]; Linguagem de montagem: LW $t0, 16 ($s0) ADD $t1, $s1, $t0 SW $t1, 8 ($s2) Linguagem de máquina: LW $8, 16 ($16) ADD $9, $17, $8 SW $9, 4 ($18) Representação: 35 8 16 16 0 17 8 9 0 32 43 9 18 4 Código de Máquina: 100011 01000 10000 00000 00000 10000 000000 10001 01000 01001 00000 100000 101011 01001 10010 00000 00000 000100 elainececiliagatto@gmail.com EXEMPLO 4: ÍNDICE VARIÁVEL Instrução: g = h + a[i]; Linguagem de montagem: ADD $t0, $s3, $s3 # 2*i ADD $t0, $t0, $t0 # 4*i ADD $t0, $t0, $s2 # a[i]=(4*i+$s2) LW $t1,0($t0) # $t1=a[i] ADD $s0, $s1, $t1 # g=h+a[i] Linguagem de máquina: ADD $8, $19, $19 # 2*i ADD $8, $8, $8 # 4*i ADD $8, $8, $18 # a[i]=(4*i+$s2) LW $9,0($8) # $t1=a[i] ADD $16, $17, $9 # g=h+a[i] Representação: 0 19 19 8 0 32 0 8 8 8 0 32 0 8 18 8 0 32 35 9 8 0
  • 6. MIPS 32 BITS CHEAT SHEET Controle de Programa e Array IF SIMPLES Instrução: if (a==b){ c = a + b } Resolução: Se a ==b então execute a instrução c = a + b, caso contrário, sai do if. O desvio só vai acontecer se a ! = b, caso contrário não tem desvio!!! Portanto, Se (a==b) entra no if e se (a!=b) vai para EXIT (desvia). Linguagem de Montagem: BNE $s0, $s1, EXIT ADD $t0, $s0, $s1 J EXIT Linguagem de Máquina: BNE $16, $17, EXIT ADD $8, $16, $17 J EXIT Representação: 5 16 17 EXIT 0 16 17 8 0 32 2 [endereço] Código: 000101 10000 10001 [endereço] 000000 10000 10001 01000 00000 100000 000010 [endereço] IF COMPOSTO Instrução: if (a==b) { c = a + b } else { c = a — b} Resolução: Se a ==b então execute a instrução c = a + b, caso contrário, execute a instrução c = a—b. Linguagem de Montagem: BNE $s0, $s1, ELSE ADD $t0, $s0, $s1 J EXIT ELSE SUB $t0, $s0, $s1 Linguagem de Máquina: BNE $16, $17, EXIT ADD $8, $16, $17 J EXIT ELSE SUB $8, $16, $17 Representação: 5 16 17 EXIT 0 16 17 8 0 32 2 [endereço] ELSE 0 16 17 8 0 34 Código: 000101 10000 10001 [endereço] 000000 10000 10001 01000 00000 100000 000010 [endereço] ELSE 000000 10000 10001 01000 00000 100010 elainececiliagatto@gmail.com FOR Instrução: for(indice=0; indice<10; indice++) { soma = Vetor[indice] + soma; } Resolução: LOOP: # t0 = 0 se $s0 >= $s3 ( i >= n), t0 = 1 caso contrário SLT $t0, $s0, $s3 # se $s0 >= $s3 ( i >= n) vá para EXIT BEQ $t0, $zero, EXIT # $t1 = 4 * i, ou 4 * $s0 SLL $t1, $s0, 2 # t2 = ( vetor + ( 4 * i) ) ADD $t2, $s4, $t1 # $t3 = vetor[i], carregando o elemento do índice i LW $t3, 0($t2) # somando os elementos (soma = soma + vetor[i] ADD $s1, $s1, $t3 # $s0 = $s0 + 1 (ou i = i + 1) é o contador ADDI $s0, $s0, 1 # volta para o LOOP EXIT J LOOP WHILE Instrução: while(save[i] == k) { i += 1; } Resolução: LOOP: SLL $t1, $s3, 2 # $t1 = 4 * i ADD $t1, $t1, $s6 # $t1 = (4i + $s6) LW $t0, 0 ($t1) # $t0 = save[i] # vá para EXIT se save[i] diferente de k BNE $t0, $s5, EXIT ADDI $s3, $s3, 1 # $s3 = $s3 + 1 (ou i = i + 1) J LOOP # volta para o LOOP EXIT: ARRAY Instrução int c[15] = {3, 0, 1, 2, -6, -2, 4, 10, 3, 7, 8, -9, -15, -20, - 87, 0}; int a = 0, b = 30; a = b + c[10]; Resolução: .data c: .word 3, 0, 1, 2, -6, -2, 4, 10, 3, 7, 8, -9, -15, -20, -87, 0 .text # determinando o valor para $s1 (b) LI $s1, 30 # colocando o endereço do array em $s2 LA $s2, [Endereço. Exemplo: 80008] # colocando o índice do array em $t2 LI $t2, 10 ADD $t2, $t2, $t2 # “2i” ADD $t2, $t2, $t2 # “4i” # combinando os dois componentes do endereço ADD $t1, $t2, $s2 # obtendo o valor da célula do array LW $t0, 0 ( $t1 ) # executando a soma ADD $s0, $s1, $t0 * podemos usar a instrução SLL no lugar dos dois ADD para calcular o endereço: SLL reg1, reg2, 2 # $t1 = 4 * i
  • 7. MIPS 32 BITS CHEAT SHEET Controle de Programa e Procedimentos SWTICH/CASE Instrução: switch (k) { case 0: f = i + j; // k = 0 break; case 1: f = g + h; // k=1 break; case 2: f = g – h; // k = 2 break; case 3: f = i – j; // k = 3 break; } Resolução: .data jTable: .word L0,L1,L2,L3 .text # Definindo as variáveis: carregando valores para testar o código! LI $s1, 15 # g = $s1 = 15 LI $s2, 20 # h = $s2 = 20 LI $s3, 10 # i = $s3 = 10 LI $s4, 5 # j = $s4 = 5 LI $s5, -1 # k = $s5 = 2 # $t4 = base address of the jump table LA $t4, jTable # Verificando os limites dos casos SLT $t3, $s5, $zero BNE $t3, $zero, EXIT SLTI $t3, $s5, 4 BEQ $t3, $zero, EXIT # Calculando o endereço correto do Label SLL $t1, $s5, 2 ADD $t1, $t1, $t4 LW $t0, 0($t1) JR $t0 # Seleção do Label # Casos L0: ADD $s0, $s3, $s4 J EXIT L1: ADD $s0, $s1, $s2 J EXIT L2: SUB $s0, $s1, $s2 J EXIT L3: SUB $s0, $s3, $s4 EXIT: elainececiliagatto@gmail.com PROCEDIMENTOS Instrução: int exemplo ( int g, int h, int i, int j) { int f; f = ( g + h ) - ( i + j ); return f; } Resolução: .text LI $a0, 15 # g = $a0 = 15 LI $a1, 20 # h = $a1 = 20 LI $a2, 10 # i = $a2 = 10 LI $a3, 5 # j = $a3 = 5 EXEMPLO: # salva os registradores temporários usados pelo corpo da função ADDI $sp, $sp, -12 SW $t1, 8 ($sp) SW $t0, 4 ($sp) SW $s0, 0 ($sp) # corpo da função ADD $t0, $a0, $a1 # (g + h) = 15 + 20 = 35 ADD $t1, $a2, $a3 # (i + j) = 10 + 5 = 15 SUB $s0, $t0, $t1 # (g + h ) - ( i + j) = 35 – 15 = 5 ADD $v0, $s0, $zero # retorno da função f ($v0 = $s0 + 0 ) LW $s0, 0 ($sp) # restaura o registrador para o caller LW $t0, 4 ($sp) # restaura o registrador para o caller LW $t1, 8 ($sp) # restaura o registrador para o caller ADDI $sp, $sp, 12 # ajusta a pilha para excluir os 3 itens JR $ra # volta para o endereço de retorno Registradores para manipular procedimentos: - $a0 até $a3: são os registradores de argumentos utilizados para a passagem de parâmetros; - $v0 e $v1: são os registradores de valor utilizados para o retorno do procedimento; - $ra: é o registrador de endereço do retorno do procedimento, utilizado na volta ao ponto de origem da chamada do procedimento. JAL: é uma instrução de salto (jump) utilizada unicamente para os procedimentos (jump and link). Essa instrução desvia para um endereço e, ao mesmo tempo, salva o endereço da instrução seguinte no registrador de endereço de retorno. JR: uma instrução de desvio incondicional para o endereço especificado em um registrador; ela volta ao endereço de retorno correto que é armazenado em $ra. CALLER: é o programa que chama o procedimento, fornecendo os valores dos parâmetros. CALLEE: é um procedimento que executa uma série de instruções armazenadas com base nos parâme- tros fornecidos pelo Caller e depois retorna o controle para o Caller novamente. SPILLED REGISTERS: é o processo de colocar variáveis menos utilizadas na memória PILHA: gerencia as chamadas e retornos de procedimentos STACK POINTER: é um valor que indica o endereço alocado mais recentemente em uma pilha, mostran- do onde devem ser localizados os valores antigos dos registradores e onde os Spilled Registers devem ser armazenados. PUSH: coloca palavras para cada registrador salvo ou restaurado na pilha. Valores são colocados na pilha pela subtração do valor do Stack Pointer. POP: remove palavras da pilha. Valores são retirados da pilha pela soma do valor do stack pointer.
  • 8. MIPS 32 BITS CHEAT SHEET Memória, Montador e Sistema elainececiliagatto@gmail.com MEMÓRIA - Segmento de texto: + É o segmento de memória que mantém as instruções do programa, começa no endereço 400000 hexa. O código em linguagem de máquina para rotinas no arquivo de origem é mantido aqui. - Segmento de dados: + A representação binária dos dados no arquivo de origem é mantida aqui. + Dados dinâmicos: são alocados pelo programa enquanto ele é executado. + Dados estáticos: são os objetos cujo tamanho é conhecido pelo compilador e cujo tempo de vida é a execução inteira do programa - Segmento de pilha: + O tamanho máximo da pilha de um programa não é conhecido antecipadamente + Conforme a pilha vai crescendo, o sistema operacional vai expandindo o segmento de pilha em direção ao seg- mento de dados. DIRETIVAS DO MONTADOR .text: define um bloco de instruções. .data: define um bloco de dados. .align n: define que os itens nas linhas seguintes devem ser alinhados em um limite de 2n bytes, por exemplo, .align 2 indica que o próximo item deverá estar em um limite da palavra. .globl “nome”: indica que nome é um símbolo global e deve ser visível ao código armazenado em outros arquivos, sendo nome o nome que você define. .asciiz: armazena uma string terminada em nulo na memória. CHAMADAS DO SISTEMA Serviço Código Argumentos Resultado Observações print_int 1 $a0 = integer Recebe um inteiro e o imprime no console print_float 2 $f12 = float Imprime um único número de ponto flutuante print_double 3 $f12 = double Imprime um número de precisão dupla print_string 4 $a0 = string Recebe um ponteiro para uma string terminada em nulo e a escreve no console read_int 5 Integer em $v0 Leem uma linha inteira da entrada incluindo o caractere de newline. Caracteres após o número são ignoradoso read_float 6 Float em $f0 read_double 7 Double em $f0 read_string 8 $a0 = buffer Igual a fgets do UNIX $a1 = tamanho sbrk 9 $a0 = valor Endereço em $v0 Retorna um ponteiro para um bloco de memória contendo n bytes adicionais exit 10 Interrompe o programa que está sendo executado print_char 11 $a0 = char Escreve um único caractere read_char 12 Char em $v0 Le um único caractere open 13 $a0 = nome de arquivo (string) Descritor de arquivo em $a0 Chamadas da biblioteca padrão do UNI $a1 = flags $a2 = modo ead 14 $a0 = descritor de arquivo Número de caracteres lidos em $a0 $a1 = buffer $a2 = tamanho write 15 $a0 = descritor de arquivo Número de caracteres escritos em $a0 $a1 = buffer $a2 = tamanho close 16 $a0 = descritor de arquivo