Pular para o conteúdo

Vetor em assembly!

Responder tópico
  • Denunciar
  • Indicar

1. Vetor em assembly!

Enviado em 02/11/2005 - 22:00h

Pessoal, estou estudando assembly e fazendo uns testes... então resolvi colocar um programinha q manipula vetores aqui no VOL, mas como não tem assembly na seção scripts, vou colocar aqui mesmo:

;declara as variaveis ja inicializadas
SECTION .DATA

maior db 'Maior',10
lenmaior equ $-maior

menor db 'Menor',10
lenmenor equ $-menor

igual db 'Igualin!!',10
lenigual equ $-igual

;declara as variaveis nao inicializadas
SECTION .bss

vetor resb 4 ;o vetor!
numero: resb 1 ;um numero qualquer

SECTION .TEXT
global _start

;comece!
_start:

mov byte [numero], 7 ;coloca o numero 7 em 'numero'

mov byte [vetor+0], 1 ;preenche
mov byte [vetor+1], 2 ;os elementos
mov byte [vetor+2], 3 ;do
mov byte [vetor+3], 4 ;vetor

mov al, [numero] ;copia o conteudo de numero em al...
cmp byte [vetor+3], al ;... e compara com o elemento ->4<- do vetor
jg ehmaior ;caso for maior...
jl ehmenor ;caso for menor...
je ehigual ;caso for igual...

ehmaior: ;escreve maior na tela
mov ecx, maior
mov edx, lenmaior
call escreve
jmp fim ;sai do programa

ehmenor: ;escreve menor na tela
mov ecx, menor
mov edx, lenmenor
call escreve
jmp fim ;sai do programa

ehigual: ;escreve igualin na tela
mov ecx, igual
mov edx, lenigual
call escreve

fim: ;sai do programa
mov eax, 1
mov ebx, 0
int 0x80


escreve: ;escreve o conteudo em ecx na tela
mov eax, 4
mov ebx, 1
int 0x80
ret

espero que seja útil pra alguem, e se tiverem dicas sobre como melhorar esse código eu agradeço!

Marcos

Responder tópico

2. Re: Vetor em assembly!

Enviado em 14/11/2005 - 14:12h

Olá Marcos,

tenho que fazer um programa(trabalho de escola) em assembly, onde que encontro matérial fácil(se for possivel)...? A tarefa é simples, soma, diminuir e fazer uns mode e imprimir os valores pares digitados. Agradeço muito qualquer informação!
Ismael Santana

3. Re: Vetor em assembly!

Enviado em 15/11/2005 - 00:24h

Um material bem completo é o "Art of Assembly",
que você encontra nesse link:

http://webster.cs.ucr.edu/AoA/DOS/index.html

e apesar de ser para DOS, eu considero um dos melhores. Tem muito conceito nele.

Tem também o:
http://linuxassembly.org

que tem bastante coisa.
Tem também alguns grupos no yahoo groups, que tem bastante exemplo.

Espero ter ajudado!

Flws!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder