Programme assembleu...
 
Notifications
Clear all

Programme assembleur


AtomeX
(@atomex)
Membre
Inscription: Il y a 5 mois
Posts: 15
Topic starter  

Bonjour à tous,

Quelqu'un pourrait il me dire à quoi sert ce programme trouvé sur une disquette Jasmin ?

Merci pour votre aide.

Cordialement, Cyril.


Quote
assinie
(@assinie)
Membre
Inscription: Il y a 2 ans
Posts: 34
 

Il s'agit probablement d'un programme en assembleur et non en BASIC.

Il faudrait le fichier d'origine pour pouvoir vérifier, mais vu son nom, je pense que c'est un utilitaire qui recalcule les pointeurs BASIC pour les remettre en état après avoir fait un NEW afin de pouvoir récupérer le programme BASIC effacé.


RépondreQuote
AtomeX
(@atomex)
Membre
Inscription: Il y a 5 mois
Posts: 15
Topic starter  
Posté par: @assinie

Il s'agit probablement d'un programme en assembleur et non en BASIC.

Il faudrait le fichier d'origine pour pouvoir vérifier, mais vu son nom, je pense que c'est un utilitaire qui recalcule les pointeurs BASIC pour les remettre en état après avoir fait un NEW afin de pouvoir récupérer le programme BASIC effacé.

Peux tu m'en dire plus ?

Je ne vois pas ?

 


RépondreQuote
assinie
(@assinie)
Membre
Inscription: Il y a 2 ans
Posts: 34
 

@atomex

Le contenu de la pièce jointe n'est clairement pas un programme BASIC, je pense que le fichier d'origine a été passer dans une moullinette de conversion binaire -> BASIC.

Concernant le principe de récupération d'un programme effacé par un NEW, c'est en fait assez simple, la commande NEW ne fait gloablement que modifier des pointeurs de fin de programme et de début des variables (qui son placées après le programme BASIC).

Elle place également un octet nul en au début du programme BASIC.

Donc, l'utilitaire se contente de rechercher la fin du programme BASIC (marquée par un octet nul pour le poids fort du lien) et ensuite met à jour les pointeurs de fin de programme et de début des variables et recalcule la valeur du premier octet du programme.

Une variante remplace la l'octet nul au début du programme par une valeur quelconque, ensuite il fait appel à une routine de la ROM qui recalcule tous les liens entre les lignes du programme BASIC, et enfin met à jour les pointeurs qui indiquent l'adresse de début des variables.


RépondreQuote
Share: