[?][Linux/Nasm]No funciona programa similar a cat.

Iniciado por braulio--, 10 Agosto 2009, 14:12 PM

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

braulio--

Estoy en linux, usando nasm y estoy haciendo este código.
Código (asm) [Seleccionar]
section .data:
 fichero: db 'programa'; Nombre que tendra el programa
section .bss:
 texto: resb 16000
section .text:
global _start
_start:
 mov eax,5 ; sys_open()
 pop ebx
 pop ebx ; El nombre de este programa
  pop ebx; Primer argumento
 mov ecx,0 ; Para leer
 int 80h
 ; Ya está en eax
 mov ebx,eax; Ya no(bueno , aun si)
 mov eax,3 ; sys_read
 mov ecx,texto
 mov edx,16000
 int 80h;
 ;El contenido del fichero este está en texto.
 ;Ahora voy a abrir otro fichero
 mov eax,4
 mov ebx,1
 mov ecx,texto
 mov edx,16000
 int 80h


 mov eax,1
 mov ebx,0
 int 80h

 
 

Cuando lo ejecuto (le he dado todos los permisos necesarios y eso) no hace nada.
Creo que lo he hecho bien, alguien sabe cuál es el problema?
Gracias

Yurix

\
Hola braulio , lo que pasa *((eso creo yo tal ves este equivocado)) es que tienes que abrir la consola y entonces ejecutar el programa , si lo ensamblaste y no da error entonces debe de hacer algo , trata de abrir la consola y arrastrale el ejecutable .elf .

Saludos


http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.

Eternal Idol

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

braulio--

#3
Lo hice desde la consola pasándole un argumento de un fichero.
Ahora lo depuro .
¿Pero que se supone que debería buscar? El código lo tengo ahí mismo y en asm , para que el debugger?

Eternal Idol

Para ver el comportamiento, que resultado devuelve cada interrupcion ... si esta escribiendo en el buffer que esta escribiendo, etc.
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

braulio--

He compilado con la opción -g para que genere información de depuración pero cuando uso el gdb me dice .
Symbols not Found
Asi que creo que no puedo poner ningún bp.

Eternal Idol

Ya tenes el codigo en assembly y es bastante corto, no necesitas los simbolos, pone un int 3 al principio y listo.
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