Hola!
Creo que tengo un problema muy extraño... Se supone que en #00A2 esta la
rutina que pinta una letra no? Esque si hago un
CHPUT: equ #00a2
y luego en mi programa pongo un
call CHPUT
al ensamblar no me da ningun error, pero me da un warning que dice "PRINT
ABSENT" o algo asi... ¿Sabeis a que puede ser debido? Utilizo el DEVPAC.
(Gen80)
¿Este programa lo compilas para ser ejecutado como un .COM desde
MSX-DOS?
Si es así lo estás haciendo mal.
Este ejemplo escribe un pequeño Texto:
ORG $100
LD DE,TEXTO
LD C,9
CALL 5
RET
TEXTO:
DB " COMPRA MATRA ^_^ ",13,10,"$"
Tras compilarlo, al ejecutar el fichero .COM creado, aparecerá el texto.
La función 5 es la BDOS, siempre que llamemos a esta función, le
estaremos pidiendo al MSX-DOS que nos haga 'algo'
En el regidtro C le indicamos lo que queremos hacer.
En este caso la función '9' que es 'STRING OUTPUT'
En DE, hay que indicar la dirección del Texto en ASCII.
El simbolo '$' indica que es el final del texto a imprimir.
El 10, es bajar el cursor una linea abajo.
El 13, es situar el cursor al inicio de la pantalla. (o viceversa, no me
acuerdo!)
Con estos dos numeros 'simulamos' un ENTER.
PD: Propaganda del Compass abstenerse: NO-ME-GUSTA-ESE-ASM ;PP
Yo uso el COMPASS 1.2 al que estoy registrado. Y a pesar de que le he
encontrado bastantes bugs, es mucho más manejable a la hora de programar. Si
tienes RAM en abundancia claro, todo hay que decirlo... A mi con 512Kb me va
de
fábula.
Tienes el Debugger/linkador/Ensamblador/Editor todo en uno.
Por otra parte me encantan todos los Devpac de cada plataforma. Pero el
de MSX es demasiado antiguo...
Saludos!
Darth 007!