Obligement - L'Amiga au maximum

Lundi 20 novembre 2017 - 19:50  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Programmation : Assembleur - la structure CLI
(Article écrit par Frédéric Delacroix et extrait d'Amiga News - mai 1997)


Ce mois-ci, nous allons aborder un rapide survol de ces processus particuliers que sont les CLI, au travers d'un programme qui vous permettra d'espionner les paramètres des autres tâches de votre système.

Vous savez sans doute à peu près tout ce qui distingue une tâche au sens Exec du terme, d'un processus AmigaDOS. Les seconds sont des extensions des premières par une structure "Process" attachée (à la suite) à la structure "Task", et qui leur permet, notamment, d'appeler la dos.library.

Il existe cependant une autre structure, la structure "CommandLineInterface", qui confère des propriétés encore plus étendues à un processus. Parmi celles-ci, citons par exemple la possibilité de faire fonctionner les commandes de scénario IF, ENDIF, SKIP et consorts : toute la différence entre un scénario lancé par IconX (qui n'est qu'un simple processus) et un scénario lancé par NewShell (essayez, vous verrez).

Justement : un processus se lance par la fonction Create[New]Proc() de la dos.library, alors qu'un CLI a une couche logicielle, un programme en plus, qui lui permet à son tour d'exécuter d'autres commandes. On le crée alors par NewShell NewCLI, Run, ou encore la fonction System() (et non la fonction Execute() !).

Les différents CLI du système se trouvent dans une liste publique de la dos.library et sont numérotés à partir de 1, la dos.library offre la fonction FindCliProc() pour trouver un processus CLI à partir de son numéro. Leur nombre était limité sous 1.3. Ce n'est plus le cas de nos jours, heureusement. Le lien entre les structures "Process" et "CommandLineInterface (CLI) se fait par le champ pr_CLI de la structure "Process", qui est un BPTR, c'est-à-dire une adresse de mot long (à multiplier par quatre avant usage). La dos.library offre la fonction Cli() pour retourner un pointeur sur la structure CLI du processus courant. Le nombre de CLI actifs (ou non) du système est retourné par la fonction MaxCli().

En exemple, je vous propose le programme ci-dessous, que j'ai baptisé CLISpy. Il s'agit d'un programme qui accepte en paramètre un numéro de CLI et affiche sur la console diverses informations le concernant. Il s'agit en quelque sorte d'une extension à la commande Status... Ce programme n'a rien de compliqué, et vous ne devriez pas avoir de problème pour l'améliorer et en faire un outil de débogage réellement utile.

Assembleur
Assembleur


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]