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:&#59; solicitar memoria  @GetBlock 2  .if carry?    mostrar "error de obtención de memoria$"    jmp salir  .endif&#59; verificar si es el inicio de la lista dir_incio_lista ==NULL  .if  dir_incio_lista==NULL     mov dir_incio_lista,ax &#59; colocar esta dirección como el inicio de la lista    mov tmp_dir,ax  &#59; recordar ultimo bloque obtenido    mov es,ax     &#59; apuntar hacia esa parte de la memoria    mov dx,0    mov es:[0],dx  &#59; poner un cero en primeros dos bytes porque es el fin de la lista    nl    mostrar "bloque unicial$"&#59; usar esa parte de la memoria  &#59;call capturar    .else&#59; y si no es el ultimo bloque  &#59; actualizar dirección en bloque anterior              push ax      &#59; almacenar esta dirección en la pila      mov ax,tmp_dir&#59; obtener dirección del bloque anterior      mov es,ax  &#59; apuntar hacia esa parte    pop ax      &#59; recuperar dirección obtenida  &#59;mov es:[si],ax  &#59; guardar como dirección del bloque siguiente                mov es:[0],ax               &#59; actualizar dirección del ultimo bloque    mov tmp_dir,ax  &#59; recordar ultimo bloque obtenido    mov es,ax     &#59; apuntar hacia esa parte de la memoria    mov dx,0          mov es:[0],dx  &#59; poner un cero en primeros dos bytes porque es el fin de la lista    nl    mostrar " otro bloque mas$"      &#59; usar esa parte de la memoria  &#59;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

[0] Índice de Mensajes

Ir a la versión completa