· Text 1196 · w6 · inlagg
Jag tänkte ta tillfället att försöka förklara det där med att gamla
program för 800 ger error i 806:an.
Det finns 2 versioner av BASIC II. Ver. 1 finns i de första 800 som
tillverkades. Ver. 2 finns i 800 tillverkade fr.o.m. juni -82 samt
i 802 och 806.
I ver. 2 går det inte att hoppa in i eller hoppa ut ur flerradiga
funktioner medan det i ver. 1 inte fanns någon sådan spärr.
Det gäller alltså både GOTO, GOSUB, ON ERROR GOTO och RESUME.
Anledningen till att kontrollen förstärktes var att det var svårt
att skriva bugfria program. Det var lätt hänt att man ramlade
ur en funktion när det blev error och då låg det saker kvar på
stacken som skulle tagits bort vid RETURN Funktionsvärde.
Det skrevs program som ibland, till synes oförklarligt, stannade med
tuuuut Error 201 (Minnet fullt) därför att programmeraren hade
tyckt att RETURN Funktionsvärde var onödigt när det gick lika bra
att göra GOTO tillbaka till huvudprogrammet!!!!!
Jag ville gärna säga det här därför att det gnisslades tänder på
en del ställen när BASICen ändrades och det inte längre gick att
editera de gamla "spagettiprogrammen".
Observera att kontrollen för det här enbart finns vid fix up. Det
går alltså bra att KÖRA gamla 800-program som har t.ex. ON ERROR GOTO
ut ur funktionen, bara man inte försöker editera dom.