Afficher du texte

Après avoir effacer l'écran de notre ti, nous allons afficher du texte. Ce n'est d'ailleurs pas très compliqué.
Je vais vous donner le code pour afficher un message, je vous expliquerai après.
 

...........début standard.......(vous savez ce que vous devez mettre maintenant)
    call _clrlcdfull
    call _homeup
    ld hl,4
    ld (currow),hl
    ld hl,3
    ld (curcol),hl
    ld hl, ecrit
    call _puts
    ret
ecrit:
    .db "ASMTI8X",0
.end
END

Ce programme affiche ASMTI8X à la ligne 4 et la colonne 3 (équivalent de output( en basic).

les commandes :
_homeup : ramène le curseur à la ligne et colonne 0.
call _puts : affiche le texte en gros caractère.
ld : en anglais load, "équivalent" de la commande sto en basic.

Vous vous demandez ce qu'est hl. On appelle cela un registre, c'est une sorte de variable (Nous reverrons cela plus tard).
(currow) ou ligne courante et (curcol) ou colonne courante sont ce que l'on appelle des adresses mémoires, c'est pour cela qu'il y a des parenthèses.

 

Pour afficher du texte en petit caractère (équivalent de la commande text( en basic), il faut utiliser la commande _vputs au lieu de _puts. Pour la ligne, c'est (penrow) et pour la colonne c'est (pencol). Attention, il faut se souvenir qu'il faut alors raisonnez en mode pixel comme avec l'instruction text( en basic

un petit exemple :

........debut standard....
    call _clrlcdfull
    call _homeup
    ld hl,15
    ld (pencol),hl
    ld hl,15
    ld (penrow),hl
    ld hl,texte
    call _vputs
    ret
texte:
    .db "ASMTI8X",0
.end
END

Ce programme affiche ASMTIX en petit caractère.

Un avantage de l'assembleur est de permettre d'afficher du texte en petit caractère ou noir sur blanc.
Nous allons voir comment faire.

Nouvelles commandes :

set : active un mode (valeur de 1)
res: desactive un mode (valeur de 0). Voir le tut6 pour des précisions sur les modes
textinverse : si ce mode est activé, le texte sera affiché en noir sur blanc.

Un petit prgm exemple :

    ...........début standard........

    call _clrlcdfull
    call _homeup
    set textInverse, (iy+textflags)
    ld hl,10
    ld (pencol),hl
    ld hl,15
    ld (penrow),hl
    ld hl,ecritpt
    call _vputs
    res textinverse, (iy+textflags)
    ld hl,50
    ld (pencol),hl
    ld hl,15
    ld (penrow),hl
    ld hl,ecritpt
    call _vputs
    ret
ecritpt:
    .db "C'est petit",0
.end
END

Il existe une commande variante de _vputs, c'est _vputsn. Cette commande affiche une texte en petit caractère mais on peut spécifier le nombre de caractère à afficher.

Reprenez le deuxième programme, à la place de call _vputs mettez :

ld b,3
call _vputsn

La ti possède en fait un jeu de 255 caractères. Si vous voulez un programme qui les affiche tous à l'écran, voyez-ici.