Mips

322 palavras 2 páginas
.data

array1: .space 12 # array de 3 inteiros

texto: .asciiz "Digite um numero entre 1 e 5\n\n. texto2 :.asciiz"digite o elemento do vetor\n. operacaoinvalida: .asciiz "nao deu certo\n. textofim: .asciiz "terminando programa. texto3: .asciiz "quantos elementos devem ser mostrados na tela : .text main:

Programa: la $t0, array1 # carrega o endeço do array1 # addi $t1,$t1,5 # Tamanho max do vetor # la $a0,texto #carrega o texto # li $v0, 4 # altera valor de v0, para imprimir uma string. # syscall #printa o texto #

li $v0, 5 syscall # Tamanho do vetor que o usuario quer #

add $t2,$v0,$zero # t2 recebe v0, que e o tamanho de vetor beq $t2, 0, erro # se t2 for igual a zero vai para rotina de erro # ble $t2, 0, erro #se for menor que 0 vai para rotina de erro # bge $t2 ,6, erro #se for maior que 6 vai para rotina de erro # addi $t3,$t3,1 # i=1 addi $t4,$t4,0 #1 la $t6, array1 # t6 recebe o endereco de array1 For: bge $t2,$t3,For2 # se t2 for maior que i, vai para For2 # bge $t3,$t2,Printar # se i for maior ou igual que t2, vai para Printar # For2: la $a0,texto2 li $v0, 4 syscall li $v0, 5 syscall sw $v0,($t6) addi $t6,$t6,4 addi $t3,$t3,1 jal For

erro: li $v0, 4 #Especifica o serviço de impressão (4 na tela) # la $a0,operacaoinvalida #carregando o endereço prompt para o registrador # syscall jal Programa Fim: li $v0, 4 #Especifica o serviço de impressão (4 na tela) # la $a0,textofim #carregando o endereço prompt para o registrador # syscall li $v0, 10 syscall

Printar:

la $a0,texto3 li $v0, 4 syscall li $v0, 5 syscall add $s2,$v0,$zero beq $t4,0,Soma

Relacionados

  • Mips
    3547 palavras | 15 páginas
  • Mips
    453 palavras | 2 páginas
  • Mips
    3627 palavras | 15 páginas
  • Mips
    568 palavras | 3 páginas
  • mips
    2326 palavras | 10 páginas
  • mips
    1039 palavras | 5 páginas
  • Mips
    7552 palavras | 31 páginas
  • Mips
    1910 palavras | 8 páginas
  • mip soja
    14264 palavras | 58 páginas
  • Introduçao MIPS
    1843 palavras | 8 páginas