LVO
fonction : obtenir le decalage vectoriel de bibliotheque
decalage=Lvo("Nom_de_la_fonction")
Cette fonction retourne le decalage vectoriel (Library Vector Offset) associe a une fonction specifique. Le nom de la fonction sera traduit automatiquement lors du premier test du programme, et sera place dans une banque memoire pour reutilisation. La banque memoire doit etre prealablement definie avec une commande SET EQUATE BANK, sinon un message d erreur sera genere. Si le nom de la fonction n existe pas, une erreur "Equate not found" sera affichee par l Editeur.
Le nom de la fonction doit respecter le format standard Commodore et doit etre tape exactement comme indique dans les manuels de reference. La casse est importante : Input, INPUT et input sont vus comme des mots differents. Seule la version correcte sera acceptee, les autres genereront une erreur au test.
Notez aussi que comme la fonction est executee pendant le test, la chaine doit etre constante et non une expression. Par exemple, pour appeler la fonction FindTask depuis Exec, utilisez :
X> TASK=Execall(Lvo("FindTask"))
EQU
fonction : recuperer une constante equate
valeur=Equ("Nom_de_l_equate")
La fonction EQU retourne n importe quelle constante equate standard utilisee dans les bibliotheques systeme Amiga. Elle peut representer un decalage, une structure, ou un nom de masque de bits. Si elle existe dans les fichiers include standards Amiga, elle est accessible immediatement depuis AMOS. Seule exception : les decalages de fonctions de bibliotheque doivent etre recuperes via LVO.
Le nom doit etre specifie entre parentheses sous forme de chaine constante. Les expressions ne sont pas autorisees. La casse est aussi importante ici. Exemple pour envoyer une commande WRITE a un peripherique :
X> DEV D0(channel,EQU("CMD_WRITE"))
STRUC
variable reservee : acceder a une structure de donnees interne
valeur=Struc(adresse,"Nom_Du_Decalage")
Struc(adresse,"Nom_Du_Decalage")=valeur
La variable reservee STRUC permet d acceder facilement a un element d une structure systeme. Elle est intelligente et detecte automatiquement le type de donnees manipulees.