CODING ★ Basic - Bug du MERGE ★

Basic Bug du Merge

Une bizarrerie se produit parfois avec la commande MERGE. Voici les faits :

Nous voulons mettre bout à bout le programme "DEBUT" et le programme "SUITE". Si ce dernier a ses numéros de lignes plus grands que le dernier numéro de ligne de "DEBUT", il suffit d'avoir DEBUT chargé en mémoire puis de taper :

MERGE"SUITE"

("SUITE" étant sur cassette ou disquette.) Or, parfois, au lieu du "READY", on a "EOF met" ( = fin de fichier rencontré). Vous faites LIST, plus rien en RAM ! Cela se produit quand vous avez fait préalablement un RENUM sur "SUITE", parce que lui aussi commençait en ligne 10. Vous avez fait, par exemple RENUM 20000,10 afin de sauvegarder cette version pour la "MERGER" à "DEBUT".

Voilà le remède :

  1. LOAD "SUITE"
  2. RENUM  20000,10  (si  ce n'est déjà fait)
  3. SAVE    "SUITE2",A   (en ASCII, c'est l'astuce)
  4. LOAD "DEBUT"
  5. MERGE "SUITE2"

Remarquez que l'on a pris la précaution de modifier le nom (pour disquette, c'est obligatoire). Ça marche alors à tous les coups. Après le "Ready', vous pourrez vérifier que la fusion s'est bien faite, par LIST, et même faire RUN ou RUN 20000.

Il est normal que la version ASCII de "SUITE" ("SUITE2") fasse nettement plus d'octets (=+30%) que la version BASIC. Chaque fonction Basic est représentée par son code, sur un octet (c'est le TOKEN), alors qu'en ASCII il y a un octet par lettre, exemple LOCATE prend 1 octet en Basic et six octets en ASCII.

CPC n°8

★ LICENCE: COMMERCIALE
★ ANNÉE: 1985
★ AUTEUR: Michel ARCHAMBAULT

CPCrulez[Content Management System] v8.75-desktop/cache
Page créée en 153 millisecondes et consultée 547 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.