Micros ID n°1 décembre 1986
Micros ID n°1 décembre 1986
  • Prix facial : 22 F

  • Parution : n°1 de décembre 1986

  • Périodicité : trimestriel

  • Editeur : Mieva Presse

  • Format : (201 x 296) mm

  • Nombre de pages : 84

  • Taille du fichier PDF : 72,6 Mo

  • Dans ce numéro : Sony contre Amstrad : le combat

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 70 - 71  |  Aller à la page   OK
Pages suivantes >
70 71
70 Afin d'éviter une consommation trop grande de l'espace de travail réservé aux chaînes de caractères (cet espace est réservé par la fonction CLEAR), voici une méthode originale pour échanger le contenu de deux variables alphanumériques. Si les variables sont A$ et B$, on peut écrire 100 T1=PEEK(VARPTR(A$)) 110 T2= PEEK(VARPTR(A$)+1) 120 T3= PEEK(VARPTR(A$)+2) 130 POKE VARPTR(A$),PEEK(VARPTR(B$)) 140 POKE VARPTR(A$)+1,PEEK(VARPTR(B$)+1) 150 POKE VARPTR(A$)+2,PEEK(VARPTR(B$)+2) 160 POKE VARPTR(B$),T1 170 POKE VARPTR(B$)+1,T2 180 POKE VARPTR(B$)+2,T3 Daniel Martin Pour éviter les erreurs de débordement (OVER- FLOW) lors de l'utilisation d'adresse supérieure à 32767 avec PEEK, POKE et autres VARPTR, il suffit de transformer l'adresse à utiliser au moyen d'une fonction définie par l'utilisateur conçue comme suit : DEF FNAD(A !) = A ! + (A ! » 32767)*65536 « Trucs en vrac... » Exemple : X=50000 : PRINT FN AD(X) Daniel Martin bleurs. Cependant, ces codes effectuent réellement des opérations sur l'accumulateur et les registres. Pour les exploiter, il suffit d'utiliser la Pseudo instruction DB suivie du code opératoire de l'instruction à simuler en lieu et place de la mnémonique conventionnelle. Le premier groupe d'instructions est représenté par la mnémonique SLS (cette mnémonique n'est pas comprise par votre assembleur, mais les heureux possesseurs d'un Macro Assembleur pourront toujours la définir). L'opérande pointée par l'instruction SLS est « SHIFTEE » d'un bit vers la gauche et le bit le moins significatif est mis à un. Ce qui revient à faire OP=OP*2+1. MNEMONIQUE CODE SLS A CB 37 SLS B CB 30 SLS C CB 31 SLS D CB 32 SLS E CB 33 SLS H CB 34 SLS L CB 35 SLS (HL) CB 36 SLS (IX+nn) DD CBnn36 SLS (IY+nn) F D CBnn36 Le second groupe d'instructions porte sur les index IX et IY. Comme le registre HL, ces deux registres peuvent être divisés en un pointeur haut et un pointeur bas que nous appellerons respectivement HX, HY et LX, LY. Pour effectuer une opération sur un de ces pointeurs (8 bits), il suffit de prendre la mnémonique de l'opération sur le registre H s'il s'agit du pointeur haut et du registre L s'il s'agit du pointeur bas et de la faire précéder par ODDH pour le registre IX et OFDH pour le registre IY Exemples : LD HX,A s'écrira DD 67 car LD H,A vaut 67 et le registre considéré est IX (DD) XOR S'éLr II FD AD LUI XOR L vaut ALD et le regisre considéré est IY (FD). Complexe, vous avez dit complexe ? Daniel Martin Le Z80 possède un certain nombre de codes opératoires qui ne sont pas repris dans la notice du constructeur et qui ne sont pas compris par les assem- Voici une petite astuce qui utilise le hook du Iist pour
empêcher tout listage d'un programme écrit en Basic : 10 POKE &HFF8A4H1D 20 POKE &HFF8B,&H41 30 POKE &HFF89,&HC3 Taper ce programme, faire RUN puis LIST. Pour rétablir une situation plus normale, il suffit de remettre le code de l'instruction RET du Z80 au début du hook, un petit POKE &HFF89,&HC9 fera parfaitement l'affaire. Christophe Cieloski Vous désirez tester l'état de la barre d'espacement sous Basic, utilisez donc la ligne suivante : 90 IF NOT(STRIG(0)) THEN 90 Le programme bouclera sur la ligne 90 jusqu'à ce que l'utilisateur enfonce la barre d'espacement. Eric von Aschebrg Ces Trucs en vrac... » SCROLLONIS IER BASIC SUR INISIM Le MSX2 est doté d'un processeur graphique extrèmement puissant : le V9928. Sous Basic, il est possible d'accèder directement à celui-ci grâce à l'instruction VDP. Or le processeur vidéo est équipé de possibilités non exploitées par le système. Rien n'est plus facile, par exemple, que de faire « scroller » une image verticalement. Essayez le petit programme suivant : 10 SCREEN 8:OPEN « GRP : » AS 1 20 COLOR 10,0,0:CLS 30 CIRCLE (100,100),25,156,1.25 40 PAINT (100,100),38,156 50 LINE (50,50)-(200,150),250,B 60 PRINT 1,"":PRINT 1, « Press a key » 70 IF 1NKEY$="" THEN 70 80'ici l'instruction magique 90 FOR 1=0 TO 255:VDP(24)=I:NEXT 99 GOTO 90 Les bandes en bas de l'écran correspondent aux définitions de Sprites. Eric von Ascheberg Le mode d'écran un (SCREEN 1) offre l'avantage énorme de pouvoir utiliser les sprites. Malheureusement, l'affichage n'est pas des plus beaux, les caractères se trouvant trop espacés les uns des autres. Christophe Cieloski vous propose sous forme d'un petit programme, une solution extrêmement simple à mettre en oeuvre pour remédier à ce problème : 10 SCREEN 1,0,0 20 FOR 1=8(110000 TO &HD016 30 READ A:POKE I,A 40 NEXT 50 DATA 33,0,0,17,65,6,205,74,0 60 DATA 71,203,47,176,205,77,0,35 70 DATA 205,32,0,200,24,239 80 DEFUSR=&HD000:X=USR(0) L'affichage s'opère maintenant automatiquement en gras. Un simple SCREEN 1 permet de revenir au, mode normal. Tous avec moi : merci Christophe. r



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 :


Micros ID numéro 1 décembre 1986 Page 1Micros ID numéro 1 décembre 1986 Page 2-3Micros ID numéro 1 décembre 1986 Page 4-5Micros ID numéro 1 décembre 1986 Page 6-7Micros ID numéro 1 décembre 1986 Page 8-9Micros ID numéro 1 décembre 1986 Page 10-11Micros ID numéro 1 décembre 1986 Page 12-13Micros ID numéro 1 décembre 1986 Page 14-15Micros ID numéro 1 décembre 1986 Page 16-17Micros ID numéro 1 décembre 1986 Page 18-19Micros ID numéro 1 décembre 1986 Page 20-21Micros ID numéro 1 décembre 1986 Page 22-23Micros ID numéro 1 décembre 1986 Page 24-25Micros ID numéro 1 décembre 1986 Page 26-27Micros ID numéro 1 décembre 1986 Page 28-29Micros ID numéro 1 décembre 1986 Page 30-31Micros ID numéro 1 décembre 1986 Page 32-33Micros ID numéro 1 décembre 1986 Page 34-35Micros ID numéro 1 décembre 1986 Page 36-37Micros ID numéro 1 décembre 1986 Page 38-39Micros ID numéro 1 décembre 1986 Page 40-41Micros ID numéro 1 décembre 1986 Page 42-43Micros ID numéro 1 décembre 1986 Page 44-45Micros ID numéro 1 décembre 1986 Page 46-47Micros ID numéro 1 décembre 1986 Page 48-49Micros ID numéro 1 décembre 1986 Page 50-51Micros ID numéro 1 décembre 1986 Page 52-53Micros ID numéro 1 décembre 1986 Page 54-55Micros ID numéro 1 décembre 1986 Page 56-57Micros ID numéro 1 décembre 1986 Page 58-59Micros ID numéro 1 décembre 1986 Page 60-61Micros ID numéro 1 décembre 1986 Page 62-63Micros ID numéro 1 décembre 1986 Page 64-65Micros ID numéro 1 décembre 1986 Page 66-67Micros ID numéro 1 décembre 1986 Page 68-69Micros ID numéro 1 décembre 1986 Page 70-71Micros ID numéro 1 décembre 1986 Page 72-73Micros ID numéro 1 décembre 1986 Page 74-75Micros ID numéro 1 décembre 1986 Page 76-77Micros ID numéro 1 décembre 1986 Page 78-79Micros ID numéro 1 décembre 1986 Page 80-81Micros ID numéro 1 décembre 1986 Page 82-83Micros ID numéro 1 décembre 1986 Page 84