MAKEHEX un grand classique

Des MO et des TO...

Modérateur : Politburo

Répondre
smague

MAKEHEX un grand classique

Message par smague »

Le Programme

MAKEHEX.BAS pour Thomson génère un nouveau programme BASIC qui contient deslignes de DATASCes lignes de DATAS correspondent aux valeurs hexadécimales

des octets d'unprogramme en langage machine .BINExemple pour transformer un fichier binaire (sur disquette ou cassette)et qui a été assemblé à partir

de l adresse memoire &H900010 REM MAKEHEX (c) THEOPHILE 20 CLS:PRINT" MAKEHEX "30 CLEAR ,$H8FFF: LET Q$=CHR$(34):LET TERM$=".BAS"35 REM saisir

le nom du fichier .BIN à incorporer40 INPUT "NOM DU FICHIER .BIN ";BIN$45 REM chargement en RAM du module binaire50 LOADM BIN$55 REM entrée du nom

du fichier .BAS qui contiendra le module binaire en DATA60 LINE INPUT "NOM DU FICHIER BASIC";BAS$70 OPEN "O",#1,BAS$+TERM$75 REM programme basic

debute par ligne 3000078 REM adresse premier octet module binaire dans DEB80 LET NL = 30000: LET DEB=&H900085 REM demande adresse de fin module

binaire90 INPUT "ADRESSE DE FIN (HEXA)";FIN$95 REM calcul nombre total octets module binaire100 LET N = VAL("$H"+FIN$)-DEB +1105 REM nombre de

ligne BASIC pleines110 LET J=N@100 : LET K = N MOD 100120 FOR I= 1 TO J130 LET C=(I-1)*100140 PRINT #1,STR$(NL+C)" DATA";Q$;145 REM

conversion/ecriture octets150 FOR I2 = 0 TO 99160 LET X$= HEX$(PEEK(DEB+C+I2))165 REM rajout de zéro si valeur hexa inf à 10170 IF LEN(X$)=1 THEN

PRINT#1,"0";180 PRINT#1,X$;190 NEXT I2200 PRINT#1,Q$210 NEXT I215 REM traitement derniere ligne220 LET C=(I-1)*100230 PRINT#1,STR$(NL+C)"

DATA";Q$;240 FOR I=0 TO (K-1)250 LET X$=HEX$(PEEK(DEB+C+I))260 IF LEN X$=1 THEN PRINT#1,"0";270 PRINT#1,X$;280 NEXT I290 PRINT#1,Q$295 REM creation

ligne fin de fichier300 PRINT#1,31999"DATA"Q$"FIN"Q$310 CLOSE #1320 ENDLorsque le module ne depasse pas 100 ou 200 octets il est ainsi pratiquede

le charger en memoire à partir d un programme basic qui lit lavaleur des octets en DATA et les charge ensuite en memoire à partird'une adresse

connue._____________________________________________________________________
Répondre

Retourner vers « Thomson »