10-15-2 Affichage rapide des chiffres

 

Pour afficher des caractères, nous avons vu qu’il existait plusieurs vecteurs selon que l’on est en mode graphique ou en mode texte. Mais ces vecteurs manquent de rapidité, surtout si l’on veut afficher des centièmes en même temps que notre bolide et tous les contrôles qui vont avec. En mode texte, les caractères sont alignés sur les octets et sur les groupes de 8 lignes. Ils prennent 2x8 octets de mémoire, ce qui permet de les recréer facilement en remplissant directement la mémoire avec ces octets. Le seul problème est que le codage de ces octets dépend du n° de couleur papier et du n° de couleur d’encre. Si on veut être rapide il faut donc choisir 2 couleurs uniques, ici le blanc sur fond vert.

 

1

2

2

2

2

2

1

1

=

&87

&3C

2

2

1

1

1

2

2

1

=

&3C

&96

2

2

1

1

2

2

2

1

=

&3C

&1E

2

2

1

2

1

2

2

1

=

&2D

&96

2

2

2

1

1

2

2

1

=

&1E

&96

2

2

1

1

1

2

2

1

=

&3C

&96

1

2

2

2

2

2

1

1

=

&87

&3C

 

A noter qu’il n’y a que 7 lignes de prises en compte au lieu de 8, ce qui est toujours ça de pris. C’est HL qui pointe l’adresse de l’octet du bord haut/gauche, ensuite on remplie la mémoire en zigzag. On commence par mettre &87 dans (HL), puis &3C dans (HL+1), puis &96 dans (HL+&801), puis &3C dans (HL+&800),…

 

L’analyse du chiffre contenu dans A se fait par dichotomie. On commence l’analyse par rapport à 5, puis par rapport à 3 si c’est en dessous ou 7 si c’est au dessus,…

 

Pour l’analyse du programme, reportez-vous à F1.ASM

 

 

<< RETOUR  ---  SUITE : Restitution du fond de la voiture >>