Micros ID n°2 janvier 1987
Micros ID n°2 janvier 1987
  • Prix facial : 22 F

  • Parution : n°2 de janvier 1987

  • Périodicité : trimestriel

  • Editeur : Mieva Presse

  • Format : (206 x 291) mm

  • Nombre de pages : 84

  • Taille du fichier PDF : 123 Mo

  • Dans ce numéro : PC compatible, comment le choisir ?

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 72 - 73  |  Aller à la page   OK
Pages suivantes >
72 73
1 ; \MSX1 UNIQUEMENT Le petit programme suivant, dû à Christophe Cieloski, change le message « OK » en « Vas-y » : 10 CLEAR 200,&HF000:A=&HFF07 20 POKE A+1,0:POKE A+2,&HFO 30 FOR I=&HF000 TO &HF010 40 READ A$:POKE1,VAL (« &H » +A$) 50 NEXT I:POKE A,&HC3 60 DATA CD,23,73,21,09,F0,C3,31, 41,56,61,73,20,79,0A,OD,00 Le programme modifie le « hook » du OK situé en &HFF07, il y installe un saut en &HF000 (JP OF000H ou C3 00 FO). A cet endroit se trouve un petit sous programme en langage machine contenu dans les datas de la ligne 60, et qui utilise la ROM du Basic pour afficher « Vas-y ». En voici le listing : CUps « Trucs en vrac... » CALL 7323H LD HL,OF009H JP 4131H DB'Vas-y',OAH,ODH,O 0W BASIC + MSX BASIC Dans un programme Basic, il est souvent utile de n'avoir que des majuscules. Il est alors intéressant de pouvoir transformer les minuscules en majuscules. Ainsi des lignes comme : 100 A$=INKEY$ : IF A$, » THEN 100 110 IF A$= « 0 » OR A$= « o » THEN 1000 120 IF A$= « N » OR A$= « n » THEN END peuvent se transfeemer en : 100 A$=1NKEY$ : IF A$= « » THEN 100 110 A$=CHR$(ASC(A$) AND 223) 120 IF A$= « 0 » THEN 1000 130 IF A$= « N » THEN END La transformation s'opère à la ligne 110. On prend le code ASCII de la lettre. On met le bit 5 de ce code à zéro. Eric von Ascheberg MSX1 + MSX2 Un petit truc parfois utile : provoquer un RESET de l'ordinateur par programme. Il suffit de taper, comme nous l'indique Christophe Cieloski : DEFUSR=0:1=USR(0) GW BASIC + MSX BASIC Sur le principe du clip précédent, il est facile de transformer une chaîne de caractères de minuscules en majuscules : 100 INPUT A$ : IF A$= « » THEN 100 110 FOR 1=1 TO LEN (A$) 120 Q=ASC(MID$(A$,1,1)) 130 MID$(A$,I,1)=CHR$((O AND 223) OR -32*(0<65 OR 0 <122)) 140 NEXT I Ceci fonctionne tout-à-fait correctement en GWBA- SIC et MSXBASIC, mais les possesseurs de MSX peuvent obtenir le même résultat de manière plus élé-
gante et surtout beaucoup plus rapide à l'exécution grâce à ce programme de Daniel Martin : 10 CLEAR 200,&HF000 20 DEFUSR=&HF000 30 FOR I=&HF000 TO &HF014 40 READ A$:POKEI,VAL(<41-( » -+-AS) 50 NEXT I 60 INPUT A$ 70 L= USR(VARPTR(A$)) 80 PRINT A$ 90 END 100 DATA CD,8A,2F,46,23,5E,23,56, EB,78,FE,00,CB,CD,A9,4E,77,23 110 DATA 05,18,F4 On utilise la routine en ROM qui transforme les mots clés du Basic. TURBO PASCAL Certains utilisateurs l'ignorent mais Turbo accepte les entrées numériques d'entiers directement en hexadécimal. Pour cela il suffit de faire précéder le nombre d'un signe « $ ». Par exemple : CH:=CHAR(I+$30) qui renvoie le caractère ASCII correspondant au chiffre dans I. Dans le même ordre d'idées, vous pouvez avoir besoin d'envoyer un code de contrôle lors d'une sortie sur écran ou mieux encore sur imprimante. Pour si- MSX1 + MSX2 Vous pouvez à tout moment « éteindre » votre écran en modifiant l'état du bit 6 du registren. 1 du processeur vidéo. Ceci se fait par : VDP(1)=VDP(1) XOR 64 CUps « Trucs en vrac... » muler un CTRL G (bip sonore, code ASCII 7), il faut écrire "#G". Voici un exemple : WRITE OG,'Attention erreur !') ; TURBO PASCAL Christophe Hacherdol Ce clip s'explique de lui-même avec l'exemple suivant : TYPE couleur= (trefle, carreau, coeur, pique) ; CONST iocouleur : array [couleur] of string [7]=('trefle','carreau','coeur','pique') ; VAR carte : couleur ; BEGIN END. carte:=carreau ; writeln (iocouleur[carte]) Vous savez qu'il est impossible de faire des entrées/sorties sur les variables structurées. Ce petit programme montre une manière simple de résoudre le problème. Christophe Hacherdol L'écran « s'allume » par la même instruction (puisque celle-ci inverse l'état du bit 6). Daniel Martinr,



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