Manuel Amos Professional  Sommaire  Index

AMAL


Une operation logique AND est effectuee entre ce masque de bits et le nombre aleatoire pour generer le resultat final, donc un masque de 255 retournera des valeurs entre 0 et 255.

Pour optimiser la vitesse, le nombre retourne n est pas veritablement aleatoire. Si vous avez besoin de valeurs vraiment aleatoires, utilisez l instruction Basic RND puis chargez le resultat dans un registre AMAL externe avec AMREG.

Un tutoriel sur les fonctions AMAL est disponible dans le fichier suivant :

LD> Load "AMOSPro Tutorial:Tutorials/AMAL/AMAL_3.AMOS"

Appeler un programme AMAL depuis AMOS Professional

AMAL
instruction : appelle un programme AMAL
Amal numero de canal,"chaine d instructions"
Amal numero de canal,numero du programme
Amal numero de canal,adresse du bank memoire
Amal numero de canal,"chaine d instructions" To adresse

La commande AMAL sert a assigner un programme AMAL a un canal d animation. Ce programme peut etre defini dans une chaine de caracteres ou provenir directement de la banque memoire AMAL. Dans tous les cas, le numero du canal doit etre compris entre 0 et 63.

Chaque canal peut etre affecte independamment a un Sprite, un Bob ou un ecran.

Seuls les 16 premiers programmes AMAL (canaux 0 a 15) peuvent etre executes via des interruptions. Les canaux 16 a 63 doivent etre executes depuis le Basic avec la commande SYNCHRO, qui est expliquee plus loin dans ce chapitre.

Une version avancee de la commande AMAL existe egalement. Avec celle-ci, les valeurs des registres X, Y et A sont copiees dans une zone memoire specifique. Cela permet a AMAL d etre utilise pour animer tout type d objet graphique, comme des blocs graphiques ou des caracteres. Voici le format a utiliser :

X> Amal numero de canal, A$ To adresse

L adresse doit etre paire et pointer vers une zone memoire securisee, de preference une chaine AMOS ou une banque memoire. Le programme AMAL s execute toutes les 1/50 de seconde, et les valeurs suivantes sont ecrites a l adresse specifiee :

Adresse     Effet
Adresse     Bit 0 = 1 si le registre X a change
            Bit 1 = 1 si Y a change
            Bit 2 = 1 si l image (A) a change depuis la derniere interruption
Adresse+2   Valeur courante de X
Adresse+4   Valeur courante de Y
Adresse+6   Valeur courante de A
Retour    Suivant
07.06.11