Suivez-nous sur X

|
|
|
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
|
|
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
|
|
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
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Test d'iopack.library 1.04 et con.library 2.0
(Article écrit par Réginald Balès et extrait d'AmigaDP - octobre 1992)
|
|
Ces deux bibliothèques permettent de réduire les affres de l'apprentissage de l'assembleur ou du C,
en offrant à l'utilisateur une interface Intuition simplifiée, qui lui offre ainsi des entrées/sorties
plus explicites qu'un déploiement de registres machines, incompréhensibles pour le commun des programmeurs
débutants, mortels ou pas.
Le débutant modèle standard, formé à l'école du BASIC, s'étonne de ne pas trouver d'équivalents aux PRINT,
INPUT, et autres commandes fort commodes. Il se retrouve plutôt avec des notions abstraites, et avant
de se familiariser avec Intuition ou la programmation du matériel, c'est la grande galère.
Avec ces deux programmes, notre cobaye peut afficher textes et résultats mathématiques, réaliser rapidement
un exécutable, qui aurait sinon nécessité de fastidieuses ouvertures de bibliothèques et des heures de
saisies de structures ineptes.
IOPack
Ce programme n'est pas une bibliothèque proprement dite : c'est un ensemble de routines,
qui restent sur votre disque, et qui s'incorporent à votre code exécutable lors de l'édition
de liens, IOPack étant prévu pour l'assembleur Devpac. Pour les utilisateurs d'A68K ou autres,
il faudra soit patienter jusqu'à la sortie d'une version spécifique, qui sera disponible incessamment
sous peu aux dires de l'auteur, soit faire les modifications qui s'imposent (fichiers d'inclusion, etc.).
Une fois le source assemblé avec l'option "-1", histoire d'obtenir un fichier objet "prog.o"
et non pas un exécutable, liez la chose avec Blink (de Software Distillery) de la sorte :
"Blink from iopack.o prog.o to prog" et vous obtenez votre exécutable.
Venons-en aux routines elles-mêmes : elles sont prévues pour le débutant par excellence. Pour ne
citer que les plus représentatives, MakeWindow qui ouvre une fenêtre CON, ClearWindow qui efface
cette fenêtre, Setfont qui change le style d'affichage de la police (italique, souligné...),
Cstrout qui affiche une chaîne de caractères, Cstrin qui est l'Input du BASIC, AskYesNo qui est
une requête qui fait ce que vous avez compris, WaitForEvent qui attend la pression d'une touche
quelconque et d'autres gadgets, du genre générateur de nombres aléatoires ou convertisseurs numériques.
Pour afficher un texte, on s'y prend comme ça :
INCLUDE 'IOPackDefs.txt'
LIST
main: lea windowname,a0
jsr MakeWindow ;Ouvre la fenêtre
beqend
lea text,a0
jsr Cstrout ;affiche le contenu de "text:"
jsrWaitForEvent ;attend un "press key"
end: jsr exit
windowname:
dc.b 'Ceci est une fenêtre(juré!)',0
;ne pas oublier le 0 à la fin des textes ou titres.
text:
dc.b 'Voilà le texte:',13,10
dc.b 'Une touche pour sortir' ,0
|
Le "13,10" signifie "retour à la ligne" et évite de devoir faire sans arrêt des jsr Newline.
Relativement court, pour un source assembleur, et de plus, on n'ouvre pas la moindre bibliothèque.
La documentation est dans un anglais facile, et la mise en oeuvre des fonctions ne pose pas de problèmes.
Bref, de quoi satisfaire vos instincts IOesques, le temps de se familiariser avec...
con.library 2.00
Dans le même ordre d'idée, mais avec une touche bien plus "pro", et par conséquent des possibilités
sans commune mesure avec la bibliothèque de fonctions d'IOPack, con.library a été conçu pour
éviter de perdre du temps dans des routines sans intérêt aucun. C'est pour cela, plutôt que pour
éviter au novice des débuts trop difficiles, que le créateur a officié.
C'est donc une bibliothèque, à mettre dans votre répertoire Libs:, accompagnée d'un environnement
complet pour chaque langage, Assembleur, C, Modula (!), KickPascal (!), Oberon (!). Inutile de
préciser que votre serviteur n'a pas testé les en-têtes pour des langages si exotiques, pas même
pour le C, qui me semble un peu pédant sur nos 68000 qui rament au possible...
L'auteur de cet excellent programme ne s'y est pas trompé, et avait d'ailleurs prévu initialement ledit
programme pour l'assembleur AsmOne. Mais on peut sans peine utiliser la con.library avec
DevPac et d'autres, voire avec les compilateurs cités plus haut, pour les inconditionnels. Cette
bibliothèque comporte de nombreuses fonctions qui vont rendre hyper rapide l'élaboration de programmes
ne nécessitant qu'une interface CON:. OpenCON ouvre une fenêtre CON:, CloseCON la ferme, DoFormat
"formate" des chaînes de caractères pour les afficher avec Display dans une fenêtre CON:,
DisplayRaw affiche un texte fait à la main (méthode brutale), Accept intercepte les interventions
au clavier, AcceptString, idem, mais là, c'est pour les chaînes de caractères (équivalent d'Input),
et d'autres, aux noms explicites, tels que GotoXY, Scroll, Convert(Hex,Bin,Dec).
A noter que, contrairement à IOPack, on peut avoir accès aux structures des fenêtres ou autres.
Le tout est très bien expliqué et illustré par des exemples qui rivalisent de simplicité,
en raison de l'utilisation de macros, et d'une phraséologie claire et efficace. A ce propos,
dans le paquet con.library, l'auteur a laissé traîner une sorte de guide de bonne conduite
en assembleur, où il donne des conventions, censées réduire le temps de développement, et de
débogage. Ça a l'air d'être très efficace à condition de s'y habituer. Toutes les documentations
sont bien sûr en anglais.
Le verdict
Pour une utilisation un tantinet poussée, mieux vaut utiliser la con.library, qui offre plus de
possibilités qu'IOPack. Malgré une plus grande simplicité d'utilisation pour IOPack, le débutant
courageux pourra relativement vite trouver son bonheur avec la con.library, même si pour ça,
il faut qu'il se préoccupe d'ouvrir la bibliothèque, et de remplir lui-même quelques structures.
De plus, on peut utiliser la con.library avec d'autres langages que l'Assembleur, contrairement à
IOPack.
Bref, deux bons programmes très utiles, avec un "plus" subjectif pour la con.library, à laquelle
on peut reprocher de ne pas être en ROM...
Nom : iopack.library et con.library 2.0.
Développeurs : respectivement Mark Thomas et Bjorn Reese.
Genre : bibliothèques pour programmeurs.
Date : 1992.
Configuration minimale : Amiga OCS, 68000, AmigaOS 1.3.
Licence : gratuiciel.
Téléchargement : CAM 594 et CAM 608.
|
|