DV3-Info
Start-Spanish
Assembler y DV3
Downloads!
Mailing-List!
Thanks to...
Links!
Ensamblador y el DV3

Capítulo 5

Proyecto “Mensaje Desplazándose” - Parte 1

En el capítulo 4 escribimos nuestra primera línea en assembler!
Que por supuesto no es el final de la historia!
Ahora vamos a escribir nuestro primer programa en assembler!
Sabemos ahora como controlar la salida del texto modificando los valores de las líneas y columnas. Ciertamente podemos mover caracteres en la pantalla de esta forma. Hasta aquí la manera para hacer esto es por supuesto muy complicada :
Tenemos que editar por ejem. el valor de la columna de una cadena de salida, transferir el programa entero al DV3 y veremos con la boca abierta un simple carácter en la posición donde queríamos que esté (muy alentador). Si queremos mover luego la cadena, tenemos que editar el valor de la columna nuevamente, transferir el programa al DV3 etc. etc. etc.
Otra posibilidad seria, escribir varios bloques de "textos en pantalla", uno después de otro, incrementando apenas los valores de las columnas. De esa forma podríamos realmente observar caracteres desplazándose en la pantalla LCD del DV3 !
Pero esto seria una forma muy tediosa de programación y aun peor el tamaño del programa crecería muy rápidamente !

Pero, donde almacenaremos nuestro programa y cual es el máximo tamaño posible?
El archivo NPLv111.bin ofrece al fin de cuentas 16 Kb pero ingresando el código que tenemos que tener cuidado de no destruir (sobrescribir) rutinas de el programa original que aun serán usados por nuestro nuevo programa (como la subrutina que envía la cadena de salida a la pantalla LCD) !
Por lo que sin miedo podemos usar solo las áreas de almacenamiento de estas esas partes del programa original NPLv111.bin, las cuales conocemos exactamente, que no necesitaremos nunca mas. Estas son :

    1.) Dirección 82007Eh al 8200E2h y 8201B4h al 8201CEh
    -> 1. y 2. pasaje de texto (ref. capítulo 2)
    y
    2.) Dirección 82013Ah al 8201B2h
    -> Salida 1. pasaje de texto

Si estamos limitándonos a este área de almacenamiento (y queremos hacerlo por ahora con el propósito de ejercitarnos) es muy claro ver que no podemos producir un mensaje desplazándose de la forma mencionada anteriormente.
Pero programado de la forma correcta, este área de almacenamiento ofrece lugar suficiente para un completo programa de mensaje desplazándose como luego veras en la pantalla de tu DV3 !
En el área de Download - de este site encontraras el programa de mensaje desplazándose “DV3-Info.bin”. Transfiérelo en lugar de “NPLv111.bin” a tu DV3 y este se ejecutara automáticamente !
El mensaje moviéndose y otros datos son almacenados en la dirección 82007Eh al 8200A7h (-> usa el editor Hexa).
El programa por si solo arranca en 82013Ah con el comando NOP (FF FF) y finaliza en 82019Eh con el comando HALT (F1 FF), presentado en el capítulo 4. Pero también el comando NOP se puede explicar rápidamente :
NOP significa “no operation (sin operación)” y es exactamente lo que este comando hace !
Fuerza al procesador a no hacer nada durante el (mínimo) tiempo de ejecución de este comando. Puede ser usado para hacer un lugar en un programa en nombre de otros comandos, el cual podría ser insertado mas tarde o, encadenado uno después de otro, para conectar partes diferentes a un programa o fácilmente para demorar la ejecución del programa.

Imprime el listado en assembler (usando el desensamblador) del programa para posteriores discusiones en el próximo capítulo !

[DV3-Info] [Start-Deutsch] [Ergebnisse] [Start-Englisch] [Results]