Survol
Qu'est-ce que l'indicateur d'exécution ? C'est
drôle que vous demandiez ça.... L'indicateur d'exécution est situé dans le
coin supérieur droit de l'écran, et s'allume lorsque le microprocesseur de la
calculatrice est occupé à faire quelque chose. Un peu comme le petit voyant
devant votre ordinateur qui clignote quand il travaille. Ce tutorial va vous
montrer comment activer ou désactiver l'indicateur d'exécution.
Programmation
Prenons le programme Getkey qui affiche le code
d'une touche lorsque l'on appuie dessus (Tutorial
8). Lorsque le programme attend la pression d'une touche, il affiche
l'indicateur d'exécution dans le coin de l'écran. N'est-ce pas ennuyeux ? La
solution pour s'en débarrasser est simple.
#define B_CALL(xxxx) rst 28h \ .dw
xxxx
#define B_JUMP(xxxx) call 50h \ .dw
xxxx
_clrlcdfull
=4540h
;Les constantes et définitions habituelles, lisez la section Nouvelles
Commandes pour plus d'information
_homeup
=4558h
_puts
=450Ah
_putc
=4504h
_getkey
=4972h
_newline
=452Eh
_RunIndicOff =4570h
.org 9D95h
B_CALL(_clrlcdfull)
; vide l'écran
B_CALL(_homeup)
; affiche l'écran home
B_CALL(_RunIndicOff)
; Éteint l'indicateur d'exécution
ld hl,txt1
; Affiche le message du label txt1
B_CALL(_puts)
B_CALL(_getkey)
; Détecte l'appui d'une touche
push af
; Enregistre l'appui de la touche dans le registre a
B_CALL(_clrlcdfull)
; vide l'écran encore
B_CALL(_homeup)
; réaffiche l'écran home
ld hl,txt2
; Affiche msg2
B_CALL(_puts)
; Affiche le texte
pop af
; restaure le registre a
call dishex
; Suit les commandes au label dishex pour trouver le code hex de la
touche
B_CALL(_getkey)
; fait une pause jusqu'à la prochaine pression d'une touche
B_CALL(_newline)
; Renvoie le curseur à la ligne
ret
; Retourne au TI-OS
dishex: push af
; garde une copie de la valeur
and 0F0h
; supprimer le
quartet inférieur
rra
; décaler le
quartet de 4 positions vers la droite
rra
rra
rra
ld l,a
; Affiche le code hex de la touche dans Str1
ld h,0
ld de,hexStr
push de ;
garder pour les autres quartets / keep for other nibbler
add hl,de ; add offset to hexStr address
ld a,(hl)
; trouve le caractère ASCII correct dans la chaîne ci-dessous pour
afficher le code hex de la touche pressée.
B_CALL(_putc)
; affiche le caractère
pop de
pop af
and 0Fh ;
effacer le quartet supérieur
ld l,a
ld h,0
add hl,de
ld a,(hl)
B_CALL(_putc)
B_CALL(clrlcdfull)
ret
; Retourne au TI-OS
hexStr .db
"0123456789ABCDEF" ;Ce
sont les caractères utilisés pour afficher le code hex de la touche
txt1 .db
"Push a key.",0
txt2 .db
"Key code: ",0
.end
END
Nouvelles
Commandes
_RunIndicOff - Désactive l'indicateur d'exécution
Commandes
associées
Il y a un ROM call qui fait exactement le contraire
du call _RunIndic_off, et c'est _RunIndicOn ( _RunIndicOn = 456Dh ). Pour
l'utiliser, placez-le à la fin du programme pour réactiver l'indicateur
d'exécution, ou placez-le au début du programme pour vous assurer de sa
présence pendant l'exécution du programme.
Cliquez pour revenir au menu du site... ou ici pour retourner au menu du tutorial.