Programación General > ASM (Ensamblador)
Programa Lista Enlazada (si Pueden)
(1/1)
korajes:
:angry:
hola, solicito alguien que me auxilien en codigo para una lista enlazada, mi problema es obtener los bloques de memoria y enlazarlos, espero me ayuden
GRACIAS!!!
yago:
aqui tienes una parte de como hacer los bloques de memoria....
espero te sea de utilidad :scream:
--- Código: Text ---hacer_lista:; solicitar memoria @GetBlock 2 .if carry? mostrar "error de obtención de memoria$" jmp salir .endif; verificar si es el inicio de la lista dir_incio_lista ==NULL .if dir_incio_lista==NULL mov dir_incio_lista,ax ; colocar esta dirección como el inicio de la lista mov tmp_dir,ax ; recordar ultimo bloque obtenido mov es,ax ; apuntar hacia esa parte de la memoria mov dx,0 mov es:[0],dx ; poner un cero en primeros dos bytes porque es el fin de la lista nl mostrar "bloque unicial$"; usar esa parte de la memoria ;call capturar .else; y si no es el ultimo bloque ; actualizar dirección en bloque anterior push ax ; almacenar esta dirección en la pila mov ax,tmp_dir; obtener dirección del bloque anterior mov es,ax ; apuntar hacia esa parte pop ax ; recuperar dirección obtenida ;mov es:[si],ax ; guardar como dirección del bloque siguiente mov es:[0],ax ; actualizar dirección del ultimo bloque mov tmp_dir,ax ; recordar ultimo bloque obtenido mov es,ax ; apuntar hacia esa parte de la memoria mov dx,0 mov es:[0],dx ; poner un cero en primeros dos bytes porque es el fin de la lista nl mostrar " otro bloque mas$" ; usar esa parte de la memoria ;call capturar .endif nl mostrar "desea otro bloque mas? s/n$" @GetChar .if al=='s' jmp hacer_lista
darkabgel1:
este codigo se lo pirtio al maestro, e pinche korajes.
Navegación
Ir a la versión completa