Une bibliothèque permet de stocker des fonctions puis des les réutiliser à partir de n'importe quel autre programme, ceci permet de gagner beaucoup de place mais crée aussi une dépendance.
Prenons le cas de la bibliothèque TIOS et d'une fonction la composant, ST_busy. Vous devez tout d'abord taper quelque part dans votre programme include "tios.h" pour montrer que vous allez utiliser cette bibliothèque, ensuite pour appeler la fonction en question vous devez taper dans votre programme soit JSR tios::ST_busy soit JSR tios::@000C.
La première formulation est expressive car formée de mot(s), elle facilite la compréhension du code,
la deuxième notation peut paraitre inutile, mais il est intéressant de l'utiliser car si la première devait changer, vous ne seriez pas obligé de changer votre programme.
Récemment la fonction ST_redraw de la bibliothèque TIOS c'est vu renommée en ST_eraseHelp, mais David Ellsworth laisse aussi les anciens noms pour assurer la compatibilitée entre les nouvelles versions de Fargo et les premiers programmes.
Il est impératif restaurer la pile après chaque appel de fonctions l'utilisant pour transmettre des paramètres, pour cela vous devez soit ajouter au pointeur de pile la somme de la taille de tous les paramètres rentrés dans celle-ci avec le code ADD x,A7, soit charger une adresse avec le code LEA x(A7),A7.
Dans chacun des cas, il vous faudra remplacer x par la somme de la taille des paramètres déposés sur la pile précédemment.
N'oubliez pas que pour la plupart des fonctions, les registres D0 à D2 et A0 A1 ont une forte probabilité d'être modifiés. Pour "sauvegarder" tous ces registres en un seul coup, utilisez le mnémonique MOVEM, le exercive résolu 2 du cours sur la pile montre comment l'utiliser.
Attention ! Vous devez respecter à la lettre le nom des fonctions et en particulier la casse, si une fonction s'appelle ST_showHelp, il ne faudra pas marquer st_showHelp ou bien ST_showhelp par exemple.
Vous trouverez bientôt pour chaque fonction un exemple avec du code assembleur et un fichier correspondant à envoyer dans votre TI92 pour voir le résultat.