# # Programa exemplo para execucao no SPIM # # Executar com: c:\>spim -file ex1.s # # Autor: Eduardo Augusto Bezerra # Data da ultima alteracao: 13/10/97 # .data msg: .asciiz "\n\nDigite seu nome: " msg1: .asciiz "\n\nVoce digitou: " fim: .asciiz "\nFIM DE PROGRAMA " lf: .asciiz "\n\n" .text .globl __start # # Programa principal # __start: jal inicio # Desvio para subrotina inicio addiu $v0, $0, 10 syscall # syscall 10 (exit) # # fim do programa principal # # # subrotina inicio # inicio: addu $20, $0, $31 # Salva endereco de retorno em $20 # Escreve a string msg na tela li $2, 4 la $4, msg syscall # Leitura de string do teclado (10 caracteres) para msg le_str: la $a0, msg li $a1, 10 li $v0, 8 syscall # Escreve a string msg1 na tela li $2, 4 la $4, msg1 syscall # Escreve a string msg na tela - agora contem informacao do usuario addi $2, $0, 4 la $4, msg syscall # Escreve a string fim na tela STACO li $2, 4 la $4, fim syscall # Escreve salto de linha na tela addi $2, $0, 4 la $4, lf syscall addu $31, $0, $20 # Recupera endereco de retorno jr $31 # Volta para o programa principal # # fim de inicio #