estoy aprendiendo asm y necesito opinion y/o ayuda para mejor mis ejemplos

Iniciado por Belial & Grimoire, 27 Febrero 2011, 11:30 AM

0 Miembros y 1 Visitante están viendo este tema.

Belial & Grimoire

hola

alguien me podria decir si hice bien este codigo, estoy empezando a familiarizarme con ASM y como no encuentro tutoriales con ejemplo, trato de hacer todo lo que aprendi con C para hacerlo con ASM

solo que lo estoy haciendo con ejemplos que voy encontrando, ahorita trate de aprender como dos hola mundo en un mismo codigo ya que no sabia lo de borrar eax incluso no se si es necesario.. pero de esta manera lo logre, asi como usa "cmp" , "jmp" y "je"

pero no se si lo hice bien, por lo menos me funciona sin problemas pero no tengo idea de si esta bien escrito, si repeti mucho codigo inecesario... bueno, alguien me podria dar una opinion y una ayuda si ve algo mal o muy repetitivo por porfavor

salu2

Código (asm) [Seleccionar]
BITS 32

mensaje db 'Hello World',0x0A
error db 'Error',0x0A
correcto db 'Correcto', 0x0A

global _start
_start:

starter:

mov eax, 0
mov eax, 0x4
mov ebx, 1
mov ecx, mensaje
mov edx, 12
int 0x80

mov eax, 0
mov eax, 0x4
mov ebx, 1
mov ecx, mensaje
mov edx, 12
cmp edx, 1
je esca
int 0x80

xor eax, eax
mov ecx, correcto
mov edx, 9
cmp edx, 9
je correct

mov eax, 0
mov eax, 0x1
mov ebx, 0
int 0x80

esca:
mov eax, 0
mov eax, 0x4
mov ebx, 1
mov ecx, error
mov edx, 5
int 0x80

mov eax, 0
mov eax, 0x1
mov ebx, 0
int 0x80

correct:
mov eax, 0
mov eax, 0x4
mov ebx, 1
mov ecx, correcto
mov edx, 9
int 0x80

mov eax, 0
mov eax, 0x1
mov ebx, 0
int 0x80
.                                 

Garfield07

Tiene algunos detalles que se podrían mejorar [arriba tuyo y abajo correcto]

Código (asm) [Seleccionar]
mov eax, 0
Código (asm) [Seleccionar]
xor eax, eax

Código (asm) [Seleccionar]
mov ebx, 9
Código (asm) [Seleccionar]
mov ebx, 0x9

Hay veces que repites una y otra vez el mismo código. Usa más jmp.
Por lo demás, pocos errores se les puede sacar a un Hello World :P

Un saludo y suerte!
Sagrini


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo