2IMGCdrP@@08L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL L6CO=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===C# O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===adrl %(($TXT9MP.000000%IFO)O)FINDER.DATAh7 p7 *BAD.BLOCKSk<:<:LHS27 ' $TXT4MP.000000{'KOO$TXT5MP.0000000(?LOO$TXT6MP.000000$EE( E( $TXT7MP.000000.&XHK K $TXT8MP.000000)OK K +FTN.1A.XXXX00U? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8RLabel; "adreses" 4-octets{pendemmeSous-catalogue MISC.SOURCE:~~~~~~~~~~~~~~~~~~~~~~~~~~~MKCes fichiers sources sont des fichiers exemples pour les fonctions USER et KIUSR de Merlin 16+, et aussi une courte d{mo de la routine R  !"#$%&'()*+,js macros et les routines pour le code de debuggage de ERR.USR.?=ERR.USR.S Fichier source pour l'aide au debuggage. Quand il ?= est ajout{ @ vos programmes, il permet l'utilisation ?= de la fonction USR pour cr{er un vecteur d d{marre les Tools n{cessaires pour les fenetres et7 les menus d{roulants, et r}gle aussi le vecteur< Ctrl-Y comme d{crit dans le bouquin de Roger Wagner:8 "Apple IIGS: Machine Language for Beginners". Il?= contient aussi ler" (Forcer une OMerreur) (SHR ou TEXT) @ partir du menu Pomme dans le programme Skeleton pour voir comment \a marche.?=GENERIC.START.S Fichier source pour un d{part g{n{ral pour 8 un programme d'application Desktop. Ce programme: fonction USR pratique qui PNpeut etre utilis{e en d{buggant un programme. Elle affiche le num{ro de ligne NLdans le fichier source de Merlin correspondant @ l'endroit o| s'est produit PNl'erreur dans le programme en marche. Choisissez "Force an Errole de programme Desktop, avec une barre de menu, que vous pouvez 4alors ajouter pour cr{er vos propres applications.PNDans ce programme est inclus une macro pour facilement ajouter et enlever des NLitems de menu dans un programme. Il y a aussi uneichier source peut NLetre utilis{ comme fichier USE au d{but de vos propres programmes pour vous ;donner une base sur le processus d'{criture du programme.PNLe second fichier, Skeleton.S, est construit sur Generic.Start, et vous donne KIun exempting d'un programme paru dans le NL"Sourceror's Apprentice", qui est une lettre mensuelle sur la programmation OMen assembleur sur Apple II. Le fichier source Generic.Start est utilis{ pour OMd{marrer et fermer les Tools du GS de fa\on standard. Ce fRIC.SOURCE: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~PNIl contient deux fichiers sources qui peuvent etre combin{s et utilis{s comme OMpoint de d{part pour cr{er vos applications Desktop en ProDOS 16. Le premier OMfichier Generic.Start.S, est bas{ sur le lisseudo-op d{fini par l'utilisateur dans Merlin. Cet ?= exemple montre diff{rentes formes d'USR, et de ?= fonctions math{matiques d{finies (nombres en virgule . flottante) cr{es par un pseudo-op USR. Sous-catalogue GENEmande Shell est que @> la routine USER est toujours en m{moire, tandis que la ?= commande Shell requiert des acc}s disque pour  fonctionner.?=USR.EXAMPLE.S C'est un exemple de la commande USR. USR est ?= un p principal pour?= installer la routine USER. Tapez ensuite USER 12,34 @> (par exemple) @ partir de la boite de commandes pour @> voir comment \a marche. Le seul avantage de la @> commande USER par rapport @ la comt g{n{ralement un utilitaire pour cr{er une ?= sorte d'extension au syst}me Merlin. Cet exemple ?= convertit tous les opcodes dans la zone du source  choisie en majuscules.; Tapez -USER.EXAMPLE @ partir du menuANDOM dans la biblioth}que de routine.?=RND.TEST Montre comment g{n{rer un nombre al{atoire @ partir = du langage assembleur en utilisant la routine RANDOM.?=USER.EXAMPLE C'est un exemple de la fonction USER.Un fichier ?= USER es'erreur ?= meilleur que le vecteur 'Fatal Error' vu dans d'autres ?= fichiers sources. Quand il est appel{, ERR.USR affiche ?= une boite de dialogue qui affiche le num{ro de ligne ?= dans le fichier source Merlin auquel correspond ?= l'erreur qui s'est produite. Voir le programme ?= Skeleton pour un exemple de l'utilisation de cette  routine.%ERR.USR.L Fichier REL de ERR.USR.S.>SKELETON.S C'est un programme "squelettique"us courte, compar{ avec la macro APW &pour PushLong, qui fait des LDA/PHA.Sous-catalogue CONVERTER:~~~~~~~~~~~~~~~~~~~~~~~~~LJIl contient la nouvelle version du programme Converter, qui convertit des KIfichiers sources APW ou ORCA/M au fbituels appels Apple. Ceci a pour effet de raccourcir MKle listing du source, en plus de le rendre plus lisible. Aussi, le fichier OMobjet pour cette version est l{g}rement plus court, vu que la macro PushLong MKde Merlin utilise l'instruction PEA plSous-catalogue HP.SUPERMACS:~~~~~~~~~~~~~~~~~~~~~~~~~~~~OMIl est presque identique au sous-catalogue HODGEPODGE, sauf que les fichiers NLsources ont {t{ {dit{s plus en profondeur pour utiliser les Super Macros de PNMerlin @ la place des haouvez utilisez cette version sur votre propre KIsyst}me. Si vous voulez vous mettre @ jour avec les futures versions, le JHfichier NLIST.DESC donne l'adressede David Lyons; les mises @ jour sont 6disponibles pour la modeste somme de $10.00 chacune.r @ David Lyons une somme d'argent si vous vouliez continuer LJd'utiliser le programme. Cependant, par un arrangement sp{cial avec Roger OMWagner Publishing, Inc., la somme pour cette version seulement de Nifty List PNa {t{ pay{e pour vous, et vous pfficher les MKversions des Tools et d'autres informations sur les jeux de Tools, et pour ?afficher l'{tat de la m{moire et d'autres valeurs du syst}me.NLNifty List est normalement un produit "Shareware", ce qui signifie que vous MKdevriez envoyeP" de la boite de commandes.OMLa fonction premi}re de Nifty List est de d{sassembler du langage machine en KIm{moire avec les noms des appels aux Tools, et des appels ProDOS 8 et 16 NLaffich{s. Il y a aussi des commandes pour visiter le moniteur, afichiers NLIST.RWP et NLIST.DATA dans le r{pertoire DESK.ACCS du PNr{pertoire SYSTEM de votre disquette syst}me. Pour imprimer la documentation, LJchargez les fichiers NLIST.DESC et NLIST.REV dans l'{diteur de Merlin, et 9imprimez avec la commande "fichier objet final.Sous-catalogue NIFTY.LIST:~~~~~~~~~~~~~~~~~~~~~~~~~~JHNifty List est un CDA de David Lyons qui fournit un nombre de fonctions KIutilitaires tr}s utiles au programmeur de l'Apple IIGS. Pour l'utiliser, NLcopiez les ersion Merlin d'un programme exemple, LJHodgePodge, qui est utilis{ dans le livre d'Addison-Wesley, "Programmer's LJIntroduction to the Apple IIGS". Assemblez et linkez le fichier (utilisez JHPomme-6 pour faire tout d'un coup) HP.ASM.S pour cr{er le * avant d'assembler votre programme.*SKELETON.L Le fichier REL de SKELETON.S.=SKEL.MACS.S Biblioth}que de macros utilis{e par Skeleton.S.Sous-catalogue HODGEPODGE:~~~~~~~~~~~~~~~~~~~~~~~~~~GECe sous-catalogue contient la vour 8 que ce programme s'assemble correctement ! Ceci?= est normalement fait automatiquement par le fichier ?= PARMS de Merlin, mais si vous avez chang{ le fichier ?= de d{marrage, soyez sur d'installer vous-meme ERR.USRns ?= UTIL.MACS. Choisissez "Force Error SHR" ou "Force ?= Error Text" dans le menu Pomme pour voir comment se 3 fait la sortie quand une erreur se produit.?= IMPORTANT: Le fichier ERR.USR doit etre install{ p que vous pouvez7 utiliser comme point de d{part pour vos propres> programmes. Il utilise le fichier Generic.Start aussi.?= Il utilise la fonction ERR.USR, et fait une ?= d{monstration les macros de Menu d{crites daormat Merlin. A ce sujet, vous pouvez KIregarder le fichier FREND.S (pour "Front End") qui fournit une interface IGutile pour naviguer @ travers les sous-catalogues en ProDOS 8, et pour choisir des fichiers.?=CONVERTER C'est une version mise @ jour du programme ?= Converter et ses fichiers associ{s. Ceci remplace ?= le programme Converter et les fichiers du disk de  Merlin 16.Sous-catalogue INTERNALS.CDA:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~KIC'dans APW, on utiliserait:'MSSG DC C'Ceci est une chaine'Dans Merlin, cela donnerait :(MSSG ASC 'Ceci est une chaine'LJAPW utilise la code assembleur DC (pour "Define Constant"), suivi par une KIlettre ("C" pour caran listing source d'APW utilisant TITLE 'Mon listing' est tr}s 5facile : il suffit de changer en TTL 'Mon listing'.NLL'autre domaine de diff{rences est dans la sp{cification de donn{es dans le DBlisting source. Par exemple, pour d{finir une chaine LJpour l'assembleur lui-meme. Par exemple, dans APW, la directive TITLE est KIutilis{e pour sp{cifier le texte du titre @ etre imprim{ sur chaque page OMd'une sortie imprimante. Dans Merlin, la directive utilis{e est TTL. Sachant OMcela, changer un{s est la meme MKpour les assembleurs Merlin et APW. C'est-@-dire qu'un LDA Label ou un RTS NLdonne la meme chose dans les deux cas. Les diff{rences sont plus grandes en PNce qui converne les directives assembleurs. Une directive est une instruction aider @ traduire PNdes listings qui sont donn{s dans le format APW dans une forme utilisable par Merlin.OMBienque cette liste de diff{rences puisse paraitre imposante @ premi}re vue, LJgardez @ l'esprit que la majorit{ des listings sources don* ** D' APW vers MERLIN ** ***********************NLLe texte suivant est une discussion sur les diff{rences dans le code source PNentre les assembleurs APW et MERLIN. Il est fourni pour vouses commandes LJcompar{ @ Merlin 16, beaucoup d'entres elles {tant directement issues des MKsuggestions des utilisateurs. Faites nous savoir ce que vous voulez - nous 2ferons de notre mieux pour que cela se r{alise !********************** papier avec un formatage des pages.HFComme toujours, nous appr{cions r{ellement votre avis, et accueillons NLn'importe quels commentaires ou suggestions concernant l'assembleur Merlin. KILa derni}re version de Merlin 16+ inclus plus de 100 nouvell au syst}me Merlin, et qui n'est pas d{crit dans PNce manuel. Nous vous recommendons que vous l'imprimiez et de mettre une copie OMdans le manuel. Utilisez la commande PRTR et tapez P (pour Print) au lieu de Nla commande ASM pour avoir une copie suruent 7d'etre faites aux disks Merlin 16+ et Merlin.Samples.OMSitu{ sur un des disk (cela d{pend d'o| on peut trouver de la place !), il y LJa un fichier appel{ READ.ME.S. Soyez sur de charger et de lire ce fichier PNpour voir ce qui a {t{ ajout{nte quand vous d{buggez des programmes.<Nouvelles additions aux disks Merlin 16+ et Merlin.Samples<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~PNMeme quand ce manuel est en train d'aller en presse, des additions continption, des informations sur QuickDraw, NLl'utilisation de la m{moire, l'utilisation de la BRAM, les pathnames et les OMtables de segments des chargeurs (Loaders), l'utilisation m{moire des CDA et NLNDA, et beaucoup plus. C'est une autre aide terrifia install{, vous pouvez interrompre un OMprogramme n'importe quand en allant au menu des Accessoires de Bureau, et en choisissant INTERNALS.JHInternals affiche, entre autres, des informations sur l'{tat actuel des FDTools, des vecteurs d'interruest un CDA "bonus" sp{cial, {crit par Ken Kashmareck, un des meilleurs KIprogrammeurs Apple II du pays. Installez INTERNALS en copiant le fichier GEINTERNALS dans le r{pertoire DESK.ACCS du r{pertoire SYSTEM de votre GEdisquette syst}me. Quand il estct}res, "H" pour de l'hexa, etc.). Merlin a un code 'sp{cifique @ chaque forme de donn{es.MKTous les diff{rences des assembleurs sont d{crites dans les quelques pages GEsuivantes. Il ne sera pas n{cessaire pour vous d'utiliser toutes les LJinformations pour convertir un listing simple. Les informations suivantes MKdevraient plutot etre utilis{es comme une r{f{rence. La meilleure fa\on de MKles utiliser est d'en rechercher particuli}re, et ensuite de revenir @ une &autre partie si vous en a plus tard). Dans Merlin, la NLdirective MX peut etre utilis{e pour r{gler la longueur des registres, bien Mque Merlin le fasse automatiquement apr}s des instructions REP, SEP et XCE.IGQuand vous traitez une adresse directement (contrairement @ unleur de Label#Label|-16 #^Label idemMKEst utilis{ soit une valeur octet soit Word, cela d{pendant de la longueur OMdes registres actuels dans l'assembleur. Dans APW, ceci est control{ par les KIdirectives LONGA et LONGI (voir descriptionse Label#