Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: danndres en 12 Octubre 2014, 20:03 PM

Título: Manejar listas doblemente enlazadas en C desde ASM
Publicado por: danndres en 12 Octubre 2014, 20:03 PM
Que tal compañeros, vengo con un problema, necesito manejar listas doblemente enzalada de C en ASM, pero solo tengo la idea de manejar las funciones como Agregar(); Borrar(); Buscar(); con pila, pero no tengo la mínima idea como empezar.
Título: Re: Manejar listas doblemente enlazadas en C desde ASM
Publicado por: cpu2 en 13 Octubre 2014, 23:26 PM
Si no muestras algo de code, se hace dificil ayudarte. Puedo dejarte un ejemplo con la estructura, pero no de todas las funciones.

struct nodo {
  int dato;
  struct nodo *siguiente;
  struct nodo *anterior;
};


Código (asm) [Seleccionar]
subl $12, %esp
movl %eax, (%esp)       ; en eax esta el int dato
leal -12(%esp), %ebx   ; en ebx esta el puntero al siguiente int dato
leal 12 (%esp), %ecx  ; en ecx esta el puntero al anterior int dato
movl %ebx, 4(%esp)
movl %ecx, 8(%esp)


No se si me explico se puede haber mas complejo y optimizado aun, pero no puedo hacer mas ya que no tienes nada escrito. Igualmente te dejo este link, que tienes un code y todo. Si tienes algun problema dilo.

Punto 7.3. Listas

http://www.abreojosensamblador.net/Productos/AOE/html/Pags/Cap07.html

Un saudo.