Programa em Assembly_Seja A um vetor de 10 posições, faça um programa em assembly que retorne o menor e o maior elemento deste vetor.

526 palavras 3 páginas
3. Seja A um vetor de 10 posições, faça um programa em assembly que retorne o menor e o maior elemento deste vetor.

.data V: .word 0,0,0,0,0,0,0,0,0,0 #V[10] msg_1: .asciiz "Digite os Valores:\n " esp: .asciiz ", " msg_11: .asciiz "ºValor: " msg_2: .asciiz "\n Vetor:\n" msg_3: .asciiz "\nMenor = " msg_31: .asciiz "\nMaior = "

.text # a0 = V, a1 = 10(TAMANHO), t0 = i, t1 = MENOR, t2 = MAIOR, t3 = CONTADOR la $a0,V # a0 = V[0] li $a1,10 # a1 = 10(fixando tamanho vetor) li $t0,0 # t0 = i(Índice) li $t1,9999 # MENOR = 99999 li $t2,0 # MAIOR = 0 li $t3,0 # CONTADOR = 0 li $t5,0 # Flag para incrementar o endereço de memória do vetor add $t5,$zero,$a0 # Cópiando o primeiro endereço de memória do vetor
#------------------------------------Coletando Dados do Vetor e MENOR e MAIOR------------------------------------ la $a0,msg_1 # Carregando endereço de memória da mensagem 1 li $v0,4 # Habilitanto o serviço Output de String para SYSCALL syscall # Exibindo na Tela

VALORES_VETOR: addi $t3,$t3,1 # Incrementa CONTADOR move $a0,$t3 # Move o valor de t3 para a0 li $v0,1 # Habilitanto o serviço Output de Inteiros para SYSCALL syscall # Exibindo na Tela la $a0,msg_11 # Carregando endereço de memória da mensagem 1.1 li $v0,4 # Habilitanto o serviço Output de String para SYSCALL syscall # Output na Tela li $v0,5 # Habilitanto o serviço Input de Inteiros para SYSCALL syscall # Input na Tela move $t4,$v0 # Move o valor para t4 sw $t4,0($t5) # Carrega valor do registardor para memória(V[0] = t4) addi $t5,$t5,4 # Incremento endereço do vetor ble $t4,$t1, MENOR # Compara se t4 for menor ou igual vai para MENOR bge $t4,$t2, MAIOR # Compara se t4 for maior ou igual vai para MAIOR j COMP_CONT_TAM # Salta para COMP_CONT_TAM
MENOR:
move $t1,$t4 # Troca de posição j COMP_CONT_TAM # Salta para COMP_CONT_TAM
MAIOR:
move $t2,$t4 # Troca de posição j COMP_CONT_TAM # Salta para

Relacionados