Alguien sabe?

Iniciado por Suncar007, 18 Julio 2016, 08:24 AM

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

Suncar007

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

Eternal Idol

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 ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Suncar007

Disculpa,. Estoy trabajando en Windows 7 procesador x86 intel, y el codigo que quiero ejecutar es este:



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

Eternal Idol

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.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Suncar007