· Text 2222 · w8 · inlagg
Jag stöter på mystiska fel när jag försöker konvertera en rad
ABC80-program till ABC800-maskiner.
I princip lagrar jag programmet i .BAS-format med LIST <programnamn>.
Sedan hämtar jag .BAS programmet till en ABC806 med LOAD.
Då hämtas den in och kompileras till 806:ans specialkod. Men
när jag gör RUN visar sig en rad fel. Självklart vet jag vissa
förändringar i BASICen (jag har läst Bit för bit), men här
uppträder saker som jag inte förstår.
Exempel:
I många fall godkänns inte rader som avslutas med : REM xxx
Tar jag bort REM-satsen eller sätter ! i stället för : REM går det
bra. Men det FINNS också rader där REM-satsen accepteras!
ONERRORGOTO 0 tycks IBLAND läsas in allright och göras om till
ON ERROR GOTO, ibland inte.
I några fall har jag måst dela upp en rad med ett stort antal
instruktioner i flera rader. Har ABC800 svårt att svälja många
semikolon på en rad.
Lustigt nog tycks maskinen acceptera ASC(x) och göra om den
till ASCII(x), i varje fall ibland.
En annan varning. Har man INTEGER-läge kommer alla variabler att
bli heltal även utan %. Skulle man av någon anledning tilja
göra en ändring så att programmet kan köras för både 80 och 800
(t ex i ett CAT-NET) så kan man inte utan vidare spara programmet
med LIST igen och sedan köra på 80. Då förösvifnner nämligen alla
heltals%. Man måste ha FLOAT-läge innan man spar.
Det är inte så lätt som det verkar att köra .BAS program i både
800 och 80. Närmast tycks kompatibiliteten innebära att man
inte behöver knappa om hela programmet, utan kan slippa undan med
en del mindre modifikationer.