Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - dicarola

#1
Si la 2da edicion ya la tengo, la descargue, pero esta edicion(2009) trae un capiitulo que me interesa mucho para un trabajo en la uni, es el capitulo 12 Heading out to C, que en las ediciones anteriores del libro no sale..

Bueno si logras descargarttelo t agrdecceria si m pasas el link donde colacaste tu descarga por fa!! O si prefieres t mando mi mail :D

Saludos :)
#2
Assembly Language Step-by-Step: Programming with Linux
Escrito por Jeff Duntemann

Lo he estado buscando pero consigo ediciones anteriores, el que busco es la 3era edicion 2009, si alguien lo tiene se lo agradecere si me lo envia, no he podidio conseguirlo digital.

Necesito especificamente el capitulo 12 de ese libro Heading out to C, solo ese capitulo, si alguien me hace el favor le estare eternamente agrdecida!!! :D

#3
Cita de: <<The Joker>> en  1 Febrero 2006, 15:51 PM
Para la gente interesada en el tema...
Logre resolver la duda con la ayuda de algunos compañeros de clases...
En ensablandor (en arquitectura IA-32, en la cual era mi duda) se pueden hacer llamadas a funcione spropias de C, en mi caso estoy programando en la consola de LINUX y simplemente se deben hacer los enlaces a las librerias o bibliotecas necesarias para poder hacer el uso a funciones como FOPEN y FGETC..
por ejemplo:

Para abrir un archivo simplemente se tiene le tiene que pasar como parametro a la funcion FOPEN el tipo de archivo que estas abriendo y el nombbre del archivo...

se hace asi:

push $r      #se apila R indicando que es un archivo de Lectura (READ)
push ARCHIVO #es la etiquiera que contiene el nombre del archivo a leer
call fopen #se llama a la funcion de C FOPEN y recibe por parametro R y ARCHIVO
add $8,%ebp #Se libera el marco de pila...


esta funcion te va a retornar en el registro %EAX un apuntador a la direccion absoluta del archivo... pór lo cual se debe almacenar dicha  variable en algun lado para no perder la referencia. (movl %eax,apuntador)

en el caso de leer caracter a caracer...

push  apuntador
call fgetc
add $4,%ebp

En este caso en retorna el valor del caracter en %EAX
y puede validar el Fin de ARchivo cuando %EAX  es igual a 0.
si se quiere leer todo un archivo se crea un ciclo que haga un recorrido hasta que %EAX sea igual a 0.

vale?..
Espero que les sirva a futuras personas que tengan la duda que yo tuve...


Hola que tal, estuve buscando por ineternet y casualmente encontre este post que me ha servido porque es justo lo q estaba buscando, se q fue posteado hace mucho pero ojala aun puedan ayudarme, estaba haciendo lo del fgets para leer caracter a caracter d una archivo y bueno resulta que queiro leer todo el archivo y llevar un contador para luego hacer una copia del archivo. Tengo esto:


# leer caracter a caracter

push  apuntador
call fgetc
add $4,%ebp

En este caso en retorna el valor del caracter en %EAX
y puede validar el Fin de ARchivo cuando %EAX es igual a 0.
si se quiere leer todo un archivo se crea un ciclo que haga un recorrido hasta que %EAX sea igual a 0.
      
# movl $1, %ebx      # %ebx=0
# addl aux, %ebx      # aux = aux + %ebx


# While

while:
   cmp $0, %eax
   je endwhile
   addl p, %ebx      # aux = aux + %ebx
   jmp while
   
# End While

endwhile:


      pushl %eax
      pushl %ecx     
      pushl %edx
      
      call Metodo1
------------------------------

bueno si hago esto:

# leer caracter a caracter

push  apuntador
call fgetc
add $4,%ebp

no m da error

Pero si hago el ciclo while m sale una violacion de segmento

Podrian ayudarme xfis!!