Micro Systèmes n°25 sep/oct 1982
Micro Systèmes n°25 sep/oct 1982
  • Prix facial : 18 F

  • Parution : n°25 de sep/oct 1982

  • Périodicité : mensuel

  • Editeur : Société Parisienne d'Edition

  • Format : (213 x 271) mm

  • Nombre de pages : 246

  • Taille du fichier PDF : 178 Mo

  • Dans ce numéro : dossier sur la peau artificielle et le laser.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 150 - 151  |  Aller à la page   OK
Pages suivantes >
150 151
Un interpréteur relogeable... Logiciel Saisie et mémorisation des 3 premiers caractères. Avancement du pointeur-texte jusqu'au séparateur. Recherche de l'instruction dans la table si trouvée alors lecture de l'adresse et branchement au sous-programme, sinon afficher un message d'erreur et retourner au Basic. Fig. I - Algorithme de l'interpréteur déclenché par la fonction & (« ampersand »). un interpréteur simple et une table raisonnablement courte. Bien entendu, si on désire passer des paramètres à la suite de l'instruction, il est indispensable de séparer l'ordre lui-même du ou des arguments par un séparateur tel que « ; », «  (», ou «,  ». On aboutit donc à la structure du programme dont l'algorithme est donné figure 1. Après que les trois premiers caractères aient été lus et mis en mémoire, la routine CHRGET ($00B1) ignore les caractères suivant jusqu'à l'obtention du séparateur. Ensuite, un programme de comparaison recherche la position de cet ordre dans la table d'instructions. Si la table est terminée avant que l'ordre ne soit trouvé, le message « UNDEF'D STATEMENT ERROR », suivi du numéro de ligne en mode programme, s'affiche sur l'écran, et le contrôle est rendu au Basic. Sinon, le pro- gramme de branchement passe l'adresse correspondant à l'instruction dans la pile. Ce programme, dont le listing est donné figure 4, a une origine quelconque. L haque élément de la table correspond à 5 caractères (3 pour stocker l'ordre et 2 pour l'adresse de branchement). Ainsi, en admettant de lui consacrer une page (256 octets), on pourra définir 51 nouvelles instructions, ce qui, compte tenu des possibilités déjà remarquables de Applesoft, semble suffisant dans la majorité des cas. A ces 255 octets, il faut bien entendu ajouter la longueur du mini-interpréteur (120 octets) ainsi que les longueurs des 51 routines correspondant aux nouvelles instructions. Par conséquent, les quelque 200 octets disponibles à partir de $0300 ne seront pas suffisants, et une nouvelle organisation de la mémoire semble nécessaire. Déplacer le DOS Les disques utilisables sous Applesoft sont de deux types  : les disquettes « Master » capables de charger le DOS dans des systèmes de tailles quelconques, et dont un exemplaire est fourni avec le calculateur, et les disquettes « Slave », obtenues par la commande INIT, qui placent le DOS toujours à la même position et ne sont donc pas transportables sur des systèmes de tailles différentes. Lors du chargement d'un « Master », le DOS est d'abord implanté à partir de $3FFF en descendant. Le programme de relocation détermine ensuite la valeur maximale de la mémoire vive disponible et y place le DOS, en descendant. Ainsi, pratiquement toute la mémoire vive comprise entre $1B00 et la valeur maximale aura été altérée par ce processus de chargement ; de sorte que la préservation d'une zone mémoire de grande taille est seulement possible au-dessus du DOS. Pour cela, il convient d'examiner la méthode de détermination de la taille mémoire faite par une disquette Master. Le programme « Memory Sizer », qui débute en $1 B03, détermine le numéro de la plus haute page dans laquelle le DOS peut être écrit. Cette page, débutant avec l'adresse $BF, peut donc être placée de l'adresse $BFOO à 5 AD = B * 4096 + 256  : GOSUB 300 10 HIIEN  : 32767:FLOPPY = AD + 16 + 6:FG = FLOPPY - 1 20 « riOME  : vTAE CAB 7  : PRINT `MODIFICATION D'UN "  : VTAB 5  : HTAB 15  : PR1NT "MPSTER. DISQUE'30 VTAB 7  : INPUT "DRIVE :  : DR  : INPUT'VOLUME  : ' ; VL:TR = 00:SE = 10 40 VTAB 10  : INPUT " NOMBRE DE PAGES P PRESERVER  : " ; NE 50 VTAB 13  : INPUT "SANS REGRETS 1 " ; A$  : IF AS < THEN GOTO 150 60C.ALL FLOPPY, DR, VL, 2,10, i  : IF PEEK (FG) () 8 THEN PRINT "ERREUR DE TRANSFERT "  : GOTO 158 70 ;•. ! = PŒ (32772)  : MKE 32772, A - NB 90 CAL FLOPPY, DR, 10,2  : IF PF_EK (FG) (THEN PRINT "ERREUR D'ÉCRITURE  : DISM DETROIT SO PRINT "NDDIFICATION REUSSIE 150 Es:ID 300 FQ I = 0 70 92  : READ A  : pon AD + I,A  : riEXT  : RETURN 500 DATA 1,96,1, 0,17,  : 5,17,129,0,129,0,0,1,0,0,96,1,8,1,239, 216, 0,32,245,230,142,2,129,32,245 510 DATA 230,142,3,129,32,245,238,142, 129,32,245,238,142,5,125,32,245,230,142,12,129,169,0,141,21,129,169,129,160 52d DA7e d, 32, 217, 3, 144,6,173,13,129,141,21, 129,173,3, 129,141,14, 125,171i, 129, 141, 15, 129, 173, 2,129,141,16,129,96,80 Fig. 2. - Listing d'un programme Basic permettant la modification d'une copie du Master, afin de dégager une place au-dessus du DOS. 150 - MICRO-SYSTEMES Septembre-Octobre 1982
Nouvelles instructions pour l'Apple Logiciel Septembre-Octobre 1982 $BFFF. Si cette page est déterminée ne pas être de la mémoire vive, le numéro de la page est, décrémenté, et le processus recommence. Ainsi, pour préserver N pages au-dessus du DOS, il suffit de disposer la valeur $BF-N en $1B04, et ceci avant le début de la phrase de bootstrap ou d'initialisation, donc sur la disquette « Master » elle-même. Le programme « Memory Sizer » est stocké sur le disque du secteur 10 de la piste 00. La figure 2 donne le listing d'un programme très simple, utilisant la routine RWTS, et qui permet la modification de l'octet considéré afin de dégager une place audessus du DOS. Il est ainsi possible d'obtenir un nouveau « Master », ignorant totalement les 32 dernières pages de la mémoire, et à partir duquel seront générés des disques « Slave » possédant la même propriété. Cette zone, également inaccessible au Basic, peut néanmoins être adressée par les ordres PEEK, POKE, BLOAD, BSAVE, BRUN, WAIT, CALL, USER, et, bien entendu, le JMP qui répond à « & ». C'est dans ces pages que nous disposerons les routines correspondant aux nouvelles instructions, selon la carte mémoire de la figure 3. Les sous-programmes seront placés à partir de $A000 en montant alors que les quatre dernières pages (1 K-octet) sont réservées à des usages particuliers, communs à toutes les routines  : • La page $BC, nommée « ZON MEM », est utilisée pour le stockage des variables et des données de tous les sous-programmes.• La page $BD contient le buffet d'entrée/sortie nécessaire à la routine RWTS lorsqu'elle est employée directement par l'utilisateur.• ZPBIS, en page $BE, permet de sauvegarder la page $00 et ainsi d'utiliser pleinement les possibilités d'adressage du 6502. 11 convient toutefois de ne transférer la page $00 qu'après l'utilisation du pointeur de texte afin de conserver sa dernière position. eee0 0800 2 asee 3 OEN 4 880e 7 r-we 8000 7 4000 8 Qee ates le gese 11 AU@ 12 ROM 13 8000 14 8080 15 11800 16 8088 17 8000 18 R0 € 8 19 R)080 20 P080 21 Ritee 22 Ane 23 aue 1:84C 24 11882 EIDF5E P005 A910 26% IV 8DF63 27 AM P910 2E 8DF7E 29 408E 6e 30 41111 31 A010 32 A010 33 p010 34 ; 0 35 A010 36 Aeie 37 A010 38 Re 10 39 A010 40 11010 41 A010 42 11010 43 A810 44 8010 45 110 18 46 le 1 0 47 11010 48 8010 49 A010 50 A018 51 4010 52 Ag10 A018 Q200 54 A012 SDOBBC 55 A815 E8 56 A816 E803 57 A018 FO OS 5E PAG NAME "EXTENSION" DATE 09/03/82 ORG sa000 OBJ $0808 START EQU * *eraew************4************** ; ** ** ** MODIFICATION DU VECTEUR ** ; ** DE BRANCHEMENT AMPERSAND ** ; Mt e* VECTOR EQU $Y5 LDA *$4C STA VECTOR LDA *GETSTM STA VECTOR+1 LDA/GETSTM STA VECTOR+2 RTS *****************e****************,,* *t tt ** EXTENSION DE L'APPLESOFT ** INTERPRETEUR D'AMPERESAND tt ** tt CHRGET EPZ TABLE EQU $BFOO LOCTEL EQU $BF99 ZONMEM EQU $BC00 mEm0 EQU ZONmEm mEM1 EQU ZONMEM*$3 GETSTM LDX *S00 GTSTMO STA MENU. INX CPX 0$03 BEg POINT ; LISTE DES MOTS P RECONNAITRE (51) ; LISTE DES ADRESSES CORRESPONDANTES ; CETTE ROUTINE RECUPERE LES TROIS PREMIERES LETTRES DU MOT QUI SUIT LE SYMBOLE "0" Fig. 4. — Listing source du programme EXPANSION, le mini-interpréteur d'instructions et des deux routines HEX et SIZ. MICRO-SYSTEMES — 151



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micro Systèmes numéro 25 sep/oct 1982 Page 1Micro Systèmes numéro 25 sep/oct 1982 Page 2-3Micro Systèmes numéro 25 sep/oct 1982 Page 4-5Micro Systèmes numéro 25 sep/oct 1982 Page 6-7Micro Systèmes numéro 25 sep/oct 1982 Page 8-9Micro Systèmes numéro 25 sep/oct 1982 Page 10-11Micro Systèmes numéro 25 sep/oct 1982 Page 12-13Micro Systèmes numéro 25 sep/oct 1982 Page 14-15Micro Systèmes numéro 25 sep/oct 1982 Page 16-17Micro Systèmes numéro 25 sep/oct 1982 Page 18-19Micro Systèmes numéro 25 sep/oct 1982 Page 20-21Micro Systèmes numéro 25 sep/oct 1982 Page 22-23Micro Systèmes numéro 25 sep/oct 1982 Page 24-25Micro Systèmes numéro 25 sep/oct 1982 Page 26-27Micro Systèmes numéro 25 sep/oct 1982 Page 28-29Micro Systèmes numéro 25 sep/oct 1982 Page 30-31Micro Systèmes numéro 25 sep/oct 1982 Page 32-33Micro Systèmes numéro 25 sep/oct 1982 Page 34-35Micro Systèmes numéro 25 sep/oct 1982 Page 36-37Micro Systèmes numéro 25 sep/oct 1982 Page 38-39Micro Systèmes numéro 25 sep/oct 1982 Page 40-41Micro Systèmes numéro 25 sep/oct 1982 Page 42-43Micro Systèmes numéro 25 sep/oct 1982 Page 44-45Micro Systèmes numéro 25 sep/oct 1982 Page 46-47Micro Systèmes numéro 25 sep/oct 1982 Page 48-49Micro Systèmes numéro 25 sep/oct 1982 Page 50-51Micro Systèmes numéro 25 sep/oct 1982 Page 52-53Micro Systèmes numéro 25 sep/oct 1982 Page 54-55Micro Systèmes numéro 25 sep/oct 1982 Page 56-57Micro Systèmes numéro 25 sep/oct 1982 Page 58-59Micro Systèmes numéro 25 sep/oct 1982 Page 60-61Micro Systèmes numéro 25 sep/oct 1982 Page 62-63Micro Systèmes numéro 25 sep/oct 1982 Page 64-65Micro Systèmes numéro 25 sep/oct 1982 Page 66-67Micro Systèmes numéro 25 sep/oct 1982 Page 68-69Micro Systèmes numéro 25 sep/oct 1982 Page 70-71Micro Systèmes numéro 25 sep/oct 1982 Page 72-73Micro Systèmes numéro 25 sep/oct 1982 Page 74-75Micro Systèmes numéro 25 sep/oct 1982 Page 76-77Micro Systèmes numéro 25 sep/oct 1982 Page 78-79Micro Systèmes numéro 25 sep/oct 1982 Page 80-81Micro Systèmes numéro 25 sep/oct 1982 Page 82-83Micro Systèmes numéro 25 sep/oct 1982 Page 84-85Micro Systèmes numéro 25 sep/oct 1982 Page 86-87Micro Systèmes numéro 25 sep/oct 1982 Page 88-89Micro Systèmes numéro 25 sep/oct 1982 Page 90-91Micro Systèmes numéro 25 sep/oct 1982 Page 92-93Micro Systèmes numéro 25 sep/oct 1982 Page 94-95Micro Systèmes numéro 25 sep/oct 1982 Page 96-97Micro Systèmes numéro 25 sep/oct 1982 Page 98-99Micro Systèmes numéro 25 sep/oct 1982 Page 100-101Micro Systèmes numéro 25 sep/oct 1982 Page 102-103Micro Systèmes numéro 25 sep/oct 1982 Page 104-105Micro Systèmes numéro 25 sep/oct 1982 Page 106-107Micro Systèmes numéro 25 sep/oct 1982 Page 108-109Micro Systèmes numéro 25 sep/oct 1982 Page 110-111Micro Systèmes numéro 25 sep/oct 1982 Page 112-113Micro Systèmes numéro 25 sep/oct 1982 Page 114-115Micro Systèmes numéro 25 sep/oct 1982 Page 116-117Micro Systèmes numéro 25 sep/oct 1982 Page 118-119Micro Systèmes numéro 25 sep/oct 1982 Page 120-121Micro Systèmes numéro 25 sep/oct 1982 Page 122-123Micro Systèmes numéro 25 sep/oct 1982 Page 124-125Micro Systèmes numéro 25 sep/oct 1982 Page 126-127Micro Systèmes numéro 25 sep/oct 1982 Page 128-129Micro Systèmes numéro 25 sep/oct 1982 Page 130-131Micro Systèmes numéro 25 sep/oct 1982 Page 132-133Micro Systèmes numéro 25 sep/oct 1982 Page 134-135Micro Systèmes numéro 25 sep/oct 1982 Page 136-137Micro Systèmes numéro 25 sep/oct 1982 Page 138-139Micro Systèmes numéro 25 sep/oct 1982 Page 140-141Micro Systèmes numéro 25 sep/oct 1982 Page 142-143Micro Systèmes numéro 25 sep/oct 1982 Page 144-145Micro Systèmes numéro 25 sep/oct 1982 Page 146-147Micro Systèmes numéro 25 sep/oct 1982 Page 148-149Micro Systèmes numéro 25 sep/oct 1982 Page 150-151Micro Systèmes numéro 25 sep/oct 1982 Page 152-153Micro Systèmes numéro 25 sep/oct 1982 Page 154-155Micro Systèmes numéro 25 sep/oct 1982 Page 156-157Micro Systèmes numéro 25 sep/oct 1982 Page 158-159Micro Systèmes numéro 25 sep/oct 1982 Page 160-161Micro Systèmes numéro 25 sep/oct 1982 Page 162-163Micro Systèmes numéro 25 sep/oct 1982 Page 164-165Micro Systèmes numéro 25 sep/oct 1982 Page 166-167Micro Systèmes numéro 25 sep/oct 1982 Page 168-169Micro Systèmes numéro 25 sep/oct 1982 Page 170-171Micro Systèmes numéro 25 sep/oct 1982 Page 172-173Micro Systèmes numéro 25 sep/oct 1982 Page 174-175Micro Systèmes numéro 25 sep/oct 1982 Page 176-177Micro Systèmes numéro 25 sep/oct 1982 Page 178-179Micro Systèmes numéro 25 sep/oct 1982 Page 180-181Micro Systèmes numéro 25 sep/oct 1982 Page 182-183Micro Systèmes numéro 25 sep/oct 1982 Page 184-185Micro Systèmes numéro 25 sep/oct 1982 Page 186-187Micro Systèmes numéro 25 sep/oct 1982 Page 188-189Micro Systèmes numéro 25 sep/oct 1982 Page 190-191Micro Systèmes numéro 25 sep/oct 1982 Page 192-193Micro Systèmes numéro 25 sep/oct 1982 Page 194-195Micro Systèmes numéro 25 sep/oct 1982 Page 196-197Micro Systèmes numéro 25 sep/oct 1982 Page 198-199Micro Systèmes numéro 25 sep/oct 1982 Page 200-201Micro Systèmes numéro 25 sep/oct 1982 Page 202-203Micro Systèmes numéro 25 sep/oct 1982 Page 204-205Micro Systèmes numéro 25 sep/oct 1982 Page 206-207Micro Systèmes numéro 25 sep/oct 1982 Page 208-209Micro Systèmes numéro 25 sep/oct 1982 Page 210-211Micro Systèmes numéro 25 sep/oct 1982 Page 212-213Micro Systèmes numéro 25 sep/oct 1982 Page 214-215Micro Systèmes numéro 25 sep/oct 1982 Page 216-217Micro Systèmes numéro 25 sep/oct 1982 Page 218-219Micro Systèmes numéro 25 sep/oct 1982 Page 220-221Micro Systèmes numéro 25 sep/oct 1982 Page 222-223Micro Systèmes numéro 25 sep/oct 1982 Page 224-225Micro Systèmes numéro 25 sep/oct 1982 Page 226-227Micro Systèmes numéro 25 sep/oct 1982 Page 228-229Micro Systèmes numéro 25 sep/oct 1982 Page 230-231Micro Systèmes numéro 25 sep/oct 1982 Page 232-233Micro Systèmes numéro 25 sep/oct 1982 Page 234-235Micro Systèmes numéro 25 sep/oct 1982 Page 236-237Micro Systèmes numéro 25 sep/oct 1982 Page 238-239Micro Systèmes numéro 25 sep/oct 1982 Page 240-241Micro Systèmes numéro 25 sep/oct 1982 Page 242-243Micro Systèmes numéro 25 sep/oct 1982 Page 244-245Micro Systèmes numéro 25 sep/oct 1982 Page 246