14
Ambiente Mars Prof. André Luis Meneses Silva

Ambiente Mars

  • Upload
    bonnie

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Ambiente Mars. Prof. André Luis Meneses Silva. Introdução. O simulador MIPS Mars foi desenvolvido pela universidade de Missouri. Mars foi projetado para ser um simulador de fácil utilização, para alunos de graduação. - PowerPoint PPT Presentation

Citation preview

Page 1: Ambiente Mars

Ambiente Mars

Prof. André Luis Meneses Silva

Page 2: Ambiente Mars

Introdução

• O simulador MIPS Mars foi desenvolvido pela universidade de Missouri.

• Mars foi projetado para ser um simulador de fácil utilização, para alunos de graduação.

• Não apresenta recursos de simuladores mais avançados (tal como PCSpim), porém sua interface é bem mais amigável.

• Desenvolvido em Java.

Page 3: Ambiente Mars

Aba EditMenu de ediçãoMenu de edição

Page 4: Ambiente Mars

Aba Execute RegistradoresRegistradores

Memória de DadosMemória de DadosSaída/Entrada de dadosSaída/Entrada de dados

Programa em execuçãoPrograma em execução

Page 5: Ambiente Mars

Primeiro programa• .data• hello_str: .asciiz "Hello world!"• .globl main

• .text

• main:• la $a0,hello_str #carrega end. do string no reg. $a0.• li $v0,4 #carrega o código da syscall no reg. $v0• syscall

• li $v0,10 #carrega o código da syscall no reg. $v0• syscall

Page 6: Ambiente Mars

Sintaxe do Assembler

• Sintaxe do assembler:– Comentários de linha iniciam-se com #.– Identificadores são seqüências de caracteres

alfanuméricos, _ e ., e não se iniciam com números.– Rótulos são colocados no começo de uma linha e

seguidos de :.– Números estão na base decimal por padrão; se

precedidos por 0x são interpretados como hexadecimais.

– Strings são envolvidos com “”,

Page 7: Ambiente Mars

Diretivas• Utilizadas pelo programador para instruir o assembler como

traduzir um programa.• Não produz instruções de máquina.• Principais diretivas:

– .asciiz armazena caracteres de um string na memória e finaliza-o com o caracter null;

– .ascii armazena caracteres de um string na memória, mas não finaliza-o com null;

– .data <end.> armazena os itens na seqüência no segmento de dados. Se <end.> for fornecido, os dados são armazenados a partir do endereço fornecido;

– .globl rótulo declara rótulo como global, podendo ser acessado de outros arquivos;

– .text armazena os itens na seqüência no segmento de textos do usuário. Itens devem ser instruções

Page 8: Ambiente Mars

Syscall

• O Mars provê alguns serviços do sistema operacional através da instrução syscall.

• Para utilizar um serviço:– Carregar o código do serviço no registrador $v0;– Carregar os argumentos do serviço nos

registradores $a0-$a3;– Chama a instrução syscall.

Page 9: Ambiente Mars

SyscallServiço Código Argumentos Resultado

print_int 1 $a0 = inteiro

print_float 2 $f12 = float

print_double 3 $f12 = double

print_string 4 $a0 = string

read_int 5 inteiro (em $v0)

read_float 6 float (em $v0)

read_double 7 double (em $v0)

read_string 8 $a0 = buffer, $a1 = tamanho

exit 10

print_char 11 $a0 = char

exit2 17 $a0 = resultado

Page 10: Ambiente Mars

Simulando um programa

• Para simular um programa em Assembly:– Utilize a aba edit para escrever um programa ou– Carregar o arquivo (menu File/Open ou ícone

Open), que deve ter extensão .s ou .asm.– Ir até a opção Run >> Assemble– Run >> Go ou ir até o ícone – Dá suporte a execução passo a passo através do

botão – Entrada e saída do programa são fornecidas

através da janela Run/IO.

Page 11: Ambiente Mars

Simulando um programa

• O Mars permite a introdução de breakpoints.

• Também da suporte a retornar a execução em uma instrução (no caso de execução passo a passo).

Page 12: Ambiente Mars

Mars

• Além disso, o MARS possui muitos outros recursos...– Visualizador de estado da memória– Simulador de Cache– Floating pointing representation

• Serão explorados no decorrer do curso

Page 13: Ambiente Mars

Exercícios

• Codificar todo os exemplos de aula no MARS.

Page 14: Ambiente Mars

Referências

• Mars Home Page– http://courses.missouristate.edu/KenVollmar/

MARS/features.htm

• Spim Home Page– http://pages.cs.wisc.edu/~larus/spim.html

• Notas de aula da professora Kalina Rabbani– Em breve, disponível no site da disciplina.