Prueba 2013 - Ej1 (8086)

Prueba 2013 - Ej1 (8086)

de German Andres Mamberto Kolodiuk -
Número de respuestas: 0

Luego de comparar mi resolución con la publicada, me surgen dudas si lo estoy haciendo bien o si la solución publicada tiene errores.
Se agradece cualquier ayuda.

1. Cuando se mueve al siguiente item, entiendo que debería moverse solamente 1 byte (char c) y al sumar 1 entiendo que se mueve 2 bytes.
    <En la solucion> mov bx, [si + bx + 1] ; bx = Lista[indiceLista].siguiente

    <Mi solucion>    add bx, byte ptr 1     ; bx = bx + 1 byte
                            mov bx, [si + bx]      ; bx = Lista[indiceLista].siguiente

2. Cuando se mueve en el bufferDestino, entiendo que debería moverse solamente 1 byte (char * bufferDestino) y al sumar 1 entiendo que se mueve 2 bytes.
    <En la solucion> inc di                  ; di = bufferDestino + 1

    <Mi solucion>    add di, byte ptr 1  ; di = di + 1 byte

No sé si estoy haciendo las cosas bien, si estoy errado o si es otra forma. Se agradece los comentarios.

Saludos,