Intercessão entre dois vetores em Assembly

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

[ Hits: 3.848 ]

Homepage: ...

Download Intercessao




Este algoritmo tem como objetivo comparar os elementos de dois vetores unidimensionais e salvar em outro vetor a intercessão deles.

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

  



Esconder código-fonte

.data
    vetor1: .word 1,2,3,4,5,6,7,8,9,11
    vetor2: .word 0,5,6,7,8,9,10,11,12,13
    vetor3: .space 40
    ler: .asciiz"\nIntercessao entre o vetor A e B: "
    espaco: .asciiz"  "
.text
    la $t0,vetor1
    la $t1,vetor2
    la $t9,vetor3
    li $t2,0
    li $t4,10
    li $t5,0
    li $t6,0
 principal:
     beq $t2,$t4,intercessao
     lw $t8,0($t1)
     la $t0,vetor1
     li $t3,0

     addi $t2,$t2,1
     addi $t1,$t1,4
loop1:
        beq $t3,$t4,principal
    lw $t7,0($t0)
    addi $t0,$t0,4
    beq $t7,$t8,guarda
    addi $t3,$t3,1

    j loop1
guarda:
    sw $t7,0($t9)
    addi $t9,$t9,4
    addi $t5,$t5,1
    j principal
intercessao:
        la $a0,ler
        li $v0,4
        syscall
        li $t8,4
        mult $t5,$t8
        mflo  $t4
        sub $t9,$t9,$t4
resultado:
    beq $t6,$t5,saida
        lw $t7,0($t9)
    addi $t6,$t6,1
    addi $t9,$t9,4
    move $a0,$t7
        li $v0,1
        syscall
        la $a0,espaco
        li $v0,4
        syscall
        j resultado
 saida:

Scripts recomendados

Escrita de número em octal em Assembly puro para Linux 64 bits (NASM - Netwide Assembler)

Fibonnaci de N em Assembly

Assembler 8086 - Recebe um caractere do usuário e imprime o código ASCII em pontos

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

Crivo de Eratóstenes Simples para Linux x86 em Assembly Puro (GNU Assembler)


  

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