LES SCHEMAS DE TOUS TYPES .

Nous proposons dans ce paragraphe un schéma de traduction pour le schéma de contrôle SI.

Exemple 1 : SI sans partie SINON.

si 1 :

Remarques :
l'étiquette si1: ne sert à rien , néanmoins l'écriture de cette étiquette améliore la lisibilité du programme
par rapport au schéma algorithmique SI, le branchement conditionnel suivant l'instruction de comparaison axprime la négation figurant dans l'algorithme.

Exemple 2 : SI avec partie SINON.

si 1 :

Remarques :
-l'instruction JMP ( JUMP ) est un branchement conditionnel; cette instruction est indispensable à la fin de la partie "alors" du "si" pour sauter la partie "sinon".

Exemple 3 : SI imbriqués.


Dans le cas de si imbriqués, ou de l'existence de plusieurs "si" dans l'algorithme, nous suggérons de numéroter les "si" et d'appliquer les mêmes règles que ci-dessous.
si 1 :


Exemple 4 : TANT QUE.

tq :

Remarques :
Comme pour les SI, nous suggérons de numéroter les étiquettes "tq" et "ftq" s'il existe dans le programme plusieurs tant que. Ceci permet aussi de coder des tant que imbriqués.

Exemple 5 : Condition uniquement avec des ET.

si :


Exemple 6 : Condition uniquement avec des OU.

si :


Rappelons tout de même que certains problèmes viennent se greffer au monde merveilleux de branchement conditionnel .
Les branchements conditionnels ( JA , JE , ... ) ne permettent d'avoir une étiquette de branchement située à une distance de + ou - 128 octets.
Si , par exemple, le nombre d'instructions situé à l'intérieur d'un TQ est trop élevé, le macro-assembleur génère des erreurs.
Pour remédier à ce problème, on utilise l'astuce suivante :

tq : tant que al=0 répéter
CMP Al,0
JE debut_tq
JMP ftq
debut_tq :


{ programme }

JMP tq
ftq :

Voilà c'est tout !!!!