Retorna o maior e menor elemento de um vetor em Assembly

Publicado por Marcos Augusto (última atualização em 01/10/2015)

[ Hits: 10.186 ]

Homepage: ...

Download MaiorMenorVetor




Este algoritmo tem como objetivo comparar os elementos de um vetor unidimensional e retornar o maior e o menor entre eles.

Ele foi implementado no MARS: http://courses.missouristate.edu/kenvollmar/mars

  



Esconder código-fonte

.data
    vetor: .word 0,2,3,4,5,6,7,8,19,10
    ler1: .asciiz"\nMaior elemento do vetor: "
    ler2: .asciiz"\nMenor elemento do Vetor: "
    ler3: .asciiz"\nElementos do Vetor que foram inseridos direto na memoria:  "
    pula_linha: .asciiz"  "

.text
    la $t0,vetor
    li $t1, 0
    la $t8,vetor
    li $t3,10
    lw $t5,0($t0) #maior
    lw $t6,0($t0) #menor
principal:
    la $a0,ler3
    li $v0,4
    syscall
loop:
     beq $t1,$t3,saida
     lw $t4,0($t0)

     move $a0, $t4
     li $v0,1
     syscall

     la $a0,pula_linha
     li $v0,4
     syscall

     lw $t7,0($t8)
     addi $t1,$t1,1
     addi $t0,$t0,4
     addi $t8,$t8,4
     bgt $t4,$t5,guarda
     blt $t7,$t6,guardaMenor
     j loop
guarda:
     move $t5,$t4
     j loop
guardaMenor:
    move $t6,$t7
    j loop
saida:
    la $a0,ler1
    li $v0,4
    syscall

        move $a0, $t5
        li $v0,1
        syscall

        la $a0,ler2
    li $v0,4
    syscall

        move $a0, $t6
        li $v0,1
        syscall

Scripts recomendados

script corewars

Escrita de número em hexadecimal em Assembly Puro para Linux 64bits (Nasm - Netwide Assemble)

GAS Informações da CPU

GAS Inteiro para String

"Clear Screen" para Linux 64 bits em Assembly Puro (GNU Assembly)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts