Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: Suncar007 en 18 Julio 2016, 08:24 am



Título: Alguien sabe?
Publicado por: Suncar007 en 18 Julio 2016, 08:24 am
Alguien sabe porque cuando ejecuto un programa hecho en assembler, se abre la ventana, pero luego dice que el programa fallo sin haber mostrado nada


Título: Re: Alguien sabe?
Publicado por: Eternal Idol en 18 Julio 2016, 09:37 am
1) Un programa cualquiera no, el tuyo. 2) ¿Quien dice? ¿Que dice exactamente? No somos adivinos, no tenemos ni la menor idea de cual es tu entorno, de como ejecutas el programa, etc.. Puede ser que no devuelvas 0 y eso sea interpretado como error ...


Título: Re: Alguien sabe?
Publicado por: Suncar007 en 18 Julio 2016, 13:22 pm
Disculpa,. Estoy trabajando en Windows 7 procesador x86 intel, y el codigo que quiero ejecutar es este:

Código:

section .data

msg db "Hola Mundo!!",0xA, 0xD
len equ $ - msg

section .text
global _start

_start:
mov eax, 4    ;llamada al sistema (sys_write)
mov ebx, 1    ;stdout
mov ecx, msg  ;pantalla
mov edx, len  ;longitud del mensaje
int 0x80      ;llamada al sistema de interrupciones

mov eax, 1    ;system(pause), exit, sys_exit
int 0x80



Tambien me dice que hay una instruccion illegal


Título: Re: Alguien sabe?
Publicado por: Eternal Idol en 18 Julio 2016, 14:44 pm
El codigo ensamblador esta estrechamente ligado a la plataforma, tanto hardware como software (S.O.) y ese codigo en particular es para Linux. La interfaz para los servicios de Windows no es la interrupcion 0x80.


Título: Re: Alguien sabe?
Publicado por: Suncar007 en 19 Julio 2016, 22:50 pm
Ok, Gracias