L'Ordinateur Individuel n°45 février 1983
L'Ordinateur Individuel n°45 février 1983
  • Prix facial : 20 F

  • Parution : n°45 de février 1983

  • Périodicité : mensuel

  • Editeur : Groupe Tests

  • Format : (202 x 281) mm

  • Nombre de pages : 254

  • Taille du fichier PDF : 257 Mo

  • Dans ce numéro : création artistique et informatique... tout un programme !

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 226 - 227  |  Aller à la page   OK
Pages suivantes >
226 227
Zesrceyes sic/UMM\er, C*q4"9. I a 1 Cr L'Ordinateur Individuel Organigramme du sous-programme Début Pile $08—. Pile Pointeur de pile+1 X oui C —*B V Décalcifie o gauche du grouptmeni- AB * it3 1*- AB AB + 4, X 0,X— 0, X-1 nonce Nelloyage de la pile Poinl-eur de pile rit-eur File+2 V Re four LOOP1 A 4 226 Le « renard » va encore plus vite ! Voici une technique qui permet, grâce à un sousprogramme, de multiplier deux nombres entre eux (à condition que chaque nombre soit inférieur ou égal à 255), et de retourner le résultat sur 16 bits en huit boucles et en huit additions maximum. Avant d'utiliser toutes les possibilités du Goupil, nous allons revoir la multiplication classique telle que nous la connaissons. Pour multiplier ensemble deux nombres par (exemple 253 et 163), il suffit de poser l'opération comme ceci : 253 x 163 Or : 253, = FD 16 = 11111012, et 163, = A316= 101000112. 759 1518. 253.. 41239 Nous pourrions, de la même façon, effectuer la multiplication directement en base 2, bien que cette solution soit loin d'être familière. 1111110 1 X1010001 1 1111110 1 0 1. 00000000.. 00000000... 00000000.. 11111101. 00000000 11111101 101000010001011 1 A 7 En remplaçant les lignes de zéros par des points (décalages) supplémentaires, nous obtenons : 1111110 1 X1010001 1 1111110 1 11111101. 11111101 1111 0 0 1 0 0 0 0 1 0 0 0 1 0 1 ce qui revient à ne faire que quatre additions. Or A117,6 = 41239 ce qui est bien notre résultat précédent. Nous remarquons que chaque ligne de la multiplication n'est en fait que l'écriture ou non du multiplicande : si le chiffre du multiplicateur est 1, nous écri- vons le multiplicande, sinon nous ajoutons un point, ce qui revient à décaler le nombre suivant ou à le multiplier par deux. Le multiplicande ayant toujours huit chiffres, nous pouvons faire cette multiplication en commençant par le chiffre de poids fort du multiplicateur et en décalant vers la droite, ce qui nous donnerait : 0 1 x 1 0 1 0 0 0 1 10 1.. 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 A 7 Cela revient, si nous additionnons au fur et à mesure dans un registre 16 bits, à décaler systématiquement vers la gauche celui-ci à chaque addition. Si le chiffre du multiplicateur est zéro, un simple décalage vers la gauche suffit. En utilisant toutes les possibilités du 6800 (processeur de notre Goupil), cette technique se trouve être très pratique et nous permet d'écrire l'organigramme de notre sous-programme en adoptant les conventions suivantes : en entrée, l'accumulateur A doit contenir le multiplicateur et l'accumulateur B le multiplicande (voir l'organigramme ci-contre). Au retour, le groupement AB contient le résultat de la multiplication. Nous avons utilisé dans cet organigramme plusieurs astuces d'optimisation.. Le groupement AB représente le registre 16 bits et est en fait l'accumulateur A et l'accumulateur B considérés ensemble, alors qu'il n'en est rien à l'intérieur du processeur. Pour économiser un décalage lorsque le groupement AB est décalé vers la gauche, nous décalons à la fois le multiplicateur (pour obtenir dans la retenue le chiffre concerné) et le résultat intermédiaire dont le nombre de bits croît en même temps que le nombre de bits du multiplicateur décroît. Si nous regardons de plus près l'état des registres à chaque boucle au niveau de l'étoile (*), nous avons le tableau page suivante.. Le contenu du contenu du registre X (0 X) contient le compteur de boucle qui dé- n°45 Février 83
Etape Groupement AB Registre 0 X Début 1010, 0011 0000, 0000 0 8 M R V'0100, 0110 1111, 1101 0 7 M À 3'0001, 1100 1111, 0001 0 5 M R 7° 1101, 0000 0001, 1101 0 1 M A 8° 1010, 0001 0001, 0111 0 0 R M : multiplicateur, R : résultat intermédiaire. crémente de 1 à chaque étape et 1, X contient le multiplicande, c'est-à-dire le contenu qu'avait le registre B en entrée du sousprogramme.. Le fait d'utiliser la pile permet un gain de temps et d'octets. Le sous-programme en assembleur peut s'écrire : DEBUT PSH LDA LOOP1 PSH TSX CLR ASL ROL B B #$ 0 8 B B B Les nouvelles du New- Brain Pour avoir les chiffres directement sur le clavier Azerty, il faut faire Control 1 et pour ouvrir la parenthèse Control 0 — (et Control 1. De quoi devenir fou avec les variables indicées ! Alors, restez en Control 1 et vous aurez la. (avec Graphique ù. Mais voici une autre curiosité : pour obtenir quelque chose sur l'écran et autre chose sur l'affichage à cristaux liquides (modèle AD), faire OPEN # 0,0 pour BCC LOOP2 ADD B 1,X ADC A # $ 0 0 LOOP2 DEC 0,x BNE LOOP1 INS INS RTS Même si cette méthode est assez complexe à décrire, elle est très simple d'utilisation et permet un gain de temps considérable sur les méthodes conventionnelles. Mais maintenant, à vous de multiplier ! Aimé-St-Vryn l'écran et OPEN # 3,3 pour l'affichage de l'encadré cidessous. Comme cela, vous êtes avec « coucou » sur l'écran et « c'est moi » sur l'affichage. Si vous tapez à la suite CLOSE # 3, l'affichage conserve l'écriture et poursuit le programme. Si vous mettez à la suite PRINT # 3, « Bonjour », pour voir Bonjour, il faut faire NL puis NL pour la suite du programme. Comme j'utilise l'affichage pour des messages (surtout en graphique), 10 OPEN # 0,0 20 PRINT « COUCOU » 30 CLOSE # 3 : OPEN # 3,3 : PRINT # 3, « C'EST MOI » j'écris : 30 CLOSE # 3 : OPEN # 3,3 : PRINT # 3 « SI BON B » : CLOSE # 3 40 CLOSE # 5 : OPEN # 5,5 : GET # 5, B 50 IF B = 66 THEN REM C'est bon. GO OPEN # 3,3 : PRINT # 3, « » : CLOSE # 3 : REM LE DISPLAY EST ETEINT ET LE PRO- GRAMME CONTINUE Attention à STR$ Par exemple : 10 A = 1 20A$ = STRS$ (A) 30 A$ = A$ + « 32 » 40 B$ = M1D$ (A$, x, 1) Si x=1 B$ = un espace Si x=2 8$ = « 1 » Si x=3 B$ = « 8 » Si x=4 B$ = un espace Si x=5 B$ = « 3 » STR$ met un espace de Copie d'écran Victor A la suite de la parution dans L'01 n°42 d'un programme de copie d'écran pour Victor, je me suis empressé de le réaliser. Cependant, et je n'ai sans doute pas été le seul, je me suis aperçu que la protection par l'instruction WIN- DOW 11, avant chargement de ce programme, monte d'une ligne le dessin réalisé, ce qui nuit à la bonne reproduction. J'ai donc réalisé ce programme en le commençant à la ligne 500. (Ce chiffre n'est pas arbitraire.) Lors de la création d'un dessin, il suffit d'entrer préalablement ce programme sauvegardé sur cassette et de taper le pro- chaque côté du nombre. Les amateurs de grands nombres trouveront dix chiffres avec le FORMAT. Par exemple : 10 A = 10/3 20 PRINT A [1.9] On obtiendra alors : — 3.333333333 Daniel Toularastel gramme de dessin. Après avoir lancé le programme, on peut voir le dessin s'effectuer et immédiatement après la copie démarrer, sans modification d'écran. Il faut toutefois prendre garde de ne pas dépasser la ligne 500, début de copie. Le programme ainsi obtenu peut être sauvegardé avec sa phase de copie. Si l'on veut simplement réaliser le dessin sans copie, il est facile de placer l'instructiOh END à une ligne < à 500, qui stoppera l'exécution avant impression. J'espère que ces quelques aménagements seront utiles aux possesseurs du Victor Lambda. Jean-Marc Michard Programme de dessin pour Victor 500 REM ***mime*** 502 REM COPIE D'ECRAN 505 REM ir************ 510 GOTO 570 520 8.128, 8.170'C.213:D-255.RETuRN 530 As-CHRIKR » CHRIKA>+CHR004)+OHR004)+CHRER), PETuRN 540 PIII-CHR0011)+CHREB » CHREP)+CHRe+CHRI(ARETURN 550 Ps.CHREC)+CHRIKR)+CHREC)+CHREA, ›CHREC),RETURN 560 Pli-CHRIKO)+CHRED)+CHRIED)+CHRED)+CHReD) RETURN 570 GOSUB 520 580 LPRINT CHPS(B) 590 FOR X1 TO 112 600 S0 FOR Y1.1 TO 76S.S+PoINT(x,Y1, NEXT IF S0 THEN LPRINT NEXT 610 FOR Y1 TO 77 620 ON POINT(x,y)+1 GOSUB 530,540,550,560 630 LPRINT RI, 640 NEXT, LPRINTO.eXT 650 LPRINT CHR0(15) n'45 Février 83 227 L'Ordinateur Individuel



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 :


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