Gilles59 a écrit : ↑29 mai 2019 23:41
[…] Mais que viennent faires les logarithmes népérien dans ton programme ?
Les logarithmes servent à la même chose que la boucle LBL1 ISZ … GOTO1 de ton code. L'affichage alphanumérique ne se faisant que de gauche à droite, il faut commencer à décoder par les hautes puissances de 4². j'aurai pu utiliser les logarithmes décimaux, cela ne change rien.
Quand à l'idée de l'overlay, elle est venue à postériori. Je n'avais pas pensé à utiliser comme toi un test pour afficher les lettre AOEI ou HBKD (alors que je le fais sur mon SHARP !).
C'est en essayant mon premier programme dont chaque zone programme affichait une lettre que je me suis dit que le calcul pouvait être fait au fur et à mesure de la saisie.
Comme je n'arrêtais pas de faire des erreurs et pour me souvenir plus facilement de la position des lettres sur les touches Prgrm (et perturbé par les lettres A B C D E inscrites sous P0 P1 P2 P3) qu'est venue l'idée d'un overlay.
Je prévois d'ailleurs d'utiliser un overlay également sur mon SHARP-BOKIKI et mon HP-HEKA-C
En attendant, voici une version permettant les conversions dans les deux sens sur SHARP PC-BABAHO qui doit aussi fonctionner sur la pluspart des SHARP compatibles BABOBE,
Code : Tout sélectionner
1 " " AREAD BI$:A$="HBKD",B$="OAEI",N= VAL BI$: IF N GOTO 5 42
2 FOR I=1 TO LEN BI$ STEP 2: N=16*N: FOR J=0 TO 3 28
3 N=N+J*(4*( MID$ (BI$,I,1)= MID$ (A$,1+J,1))+( MID$ (BI$+"O",1+I,1)= MID$ (B$,1+J,1))) 68
4 NEXT J: NEXT I 18
5 X=N,BI$="" 23
6 BI$= MID$ (A$,1+(X/4 AND 3)+ MID$ (B$,1+(X AND 3),1)+BI$,X= INT (X/16): IF X GOTO 6 65
7 PRINT N;BI$: END 21 Total:265 octets
Usage: la détection du sens de la conversion est automatique ainsi que les codes bibi-binaires erronés. Il n'y a donc pas besoin d'overlay.
Saisir directement le nombre ou le code à l'aide des touches alphanumériques du pocket et afficher la conversion par (DEF)(SPC)