Obligement - L'Amiga au maximum

Mercredi 24 avril 2024 - 09:59  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


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]