Título: [ASM]Syscall no me funciona + fallo de segmentacion Publicado por: ny0x en 14 Junio 2009, 06:11 am hola tengo un problema, estoy tratando de aprender algo de las syscalls de linux con asm pero tengo un problema, mi codigo no funciona, el comportamiento es el siguiente.
se supone que pide un texto e imprime su longitud pero sucede: pide texto, falla de segmentacion la consola toma lo que tecle y me dice como que si lo hubiera escrito como un comando ejemplo: si en el programa pongo hola no me imprime nada y despues la terminal me dice bash: ola comando no encontrado mi code es el siguiente Código
SYS_WRITE = 4 SYS_READ = 3 STDIN = 0 STDOUT = 1 el codigo rula perfectamente en win aunque no es lo mismo porque uso printf y scanf asi que supongo que mi error esta en el uso de las syscalls a ver si me pueden echar una mano el code en win es Código
no cambia mucho solo el uso de entrada y salida gracias de antemano Título: Re: [ASM]Syscall no me funciona + fallo de segmentacion Publicado por: Eternal Idol en 14 Junio 2009, 08:29 am ¿En que instruccion exactamente da el fallo? Podes usar gdb para depurarlo y averiguar esto. Deberias comprobar que el sys_read devuelva un valor de retorno que indique la finalizacion exitosa de la funcion.
¿No deberian estar los datos en otra sección? Algo como: Código: segment readable writeable Título: Re: [ASM]Syscall no me funciona + fallo de segmentacion Publicado por: YST en 14 Junio 2009, 09:14 am Luego lo veo bien ( Cuando me pase a linux que estoy en win ) , pero veo un error que es
Código
Hay no le das la propiedad de writeable para poder escribir en las variables. Título: Re: [ASM]Syscall no me funciona + fallo de segmentacion Publicado por: ny0x en 14 Junio 2009, 15:50 pm perfecto ese era el error ahora si me funciona bien, era lo de writeable, me funciona de ambas maneras poniendo un nuevo segmento con readable writeable o asignandole la propiedad de escritura al segmento actual. Que error mas estupido :laugh:
gracias EI y yst no se me habia ocurrido lo del segment saludos P.D Creo que SYS_READ incluye el retorno en la cadena porque me aparece con una longitud un caracter mas largo de lo que es Título: Re: [ASM]Syscall no me funciona + fallo de segmentacion Publicado por: YST en 14 Junio 2009, 18:21 pm Toma documentación sobre las syscalls
http://sourceforge.net/project/downloading.php?group_id=173983&filename=lscr-160307.tar.gz&a=60287788 Título: Re: [ASM]Syscall no me funciona + fallo de segmentacion Publicado por: ny0x en 14 Junio 2009, 19:38 pm gracias por la documentacion, estan muy buenos los ejemplos y estan en fasm ;-)
|