List80 - ett program f|r listning av ABC80-program.
---------------------------------------------------

Bakgrund
--------
- Hur {r det nu, du har v{l en ABC-dator?
- Javisst, en gammal 802 med sk|nskrivare.
- Skulle inte du kunna hj{lpa mig att skriva ut n}gra program
  som jag gjorde p} en kurs en g}ng?
- Vad {r det f|r program d}?
- Vi hade ABC80 p} kursen, och programmen {r p} kassett.
- Jaha, och hur gjorde du n{r du sparade dem?
- Ja, jag skrev SAVE och namnet som man brukar.
- D} {r programmen allts} semikompilerade.
- ??

Problemet l|stes s} sm}ningom genom att jag laddade ett prog-
ram i s{nder i en ABC80, bytte kassett och sparade p} nytt med
LIST. Fr}n den nya kassetten kunde jag sedan h{mta programmen
till min ABC802, spara dem p} diskett och lista dem p} papper.

Skulle man kunna lista ABC80:s internkod direkt? Jag letade,
men kunde inte hitta n}got program f|r det {ndam}let. D{remot
hittade jag ett program f|r ABC80, LISTAREN.BAS, som skrivits
av Leopold Lundstr|m <2694>. Programmet listade .BAC-filer
genom att anropa BASIC-tolken.

LIST80
------
Programmet best}r av tv} filer. Huvudfilen, LIST80.BAS, {r en
BASIC2-kodning av de viktigaste delarna i Listaren. Datafilen
LIST80.DAT inneh}ller maskinkod - ett utdrag ur listrutinen i
ABC80 (checksumma 9913) och ett gr{nssnitt till huvudprogram-
met.

Programmet startas med:
RUN LIST80
och fr}gar d} efter infil och utfil. Om man besvarar fr}gan om
utfil med Return s} listas filen p} sk{rmen. Filtyp kan ute-
l{mnas, och s{tts i s} fall automatiskt till .BAC (respektive
.BAS om utfil har angivits). Programmet kan dock {ven anv{nda
enheter d{r filtyp inte till}ts, t.ex. MEM: och PR:. Genom att
bara ange CAS: som infil {r det ocks} m|jligt att s|ka p} kas-
settband.

Jag har medvetet undvikit att anv{nda parametrar i startkom-
mandot. Det finns en viss risk f|r f|rv{xling, vilket skulle
kunna leda till att filer raderades av misstag.

F|r ABC802 g{ller att listning kan g|ras direkt fr}n CAS: till
MEM: trots att b}da enheterna normalt anv{nder samma buffert.
Om datorn inte har n}gon diskettstation ansluten (allts} inget
styrkort) m}ste dock argumentet i rad 510 {ndras fr}n 5 till 9
f|r att listning till och fr}n MEM: skall vara m|jlig.

Om man vill ha en korsreferens |ver ing}ende variabler s} kan
den delen av programmet Listaren anv{ndas separat. Det finns
troligen ocks} andra program f|r korsreferens som g}r att k|ra
p} datorer i 800-serien. T{nk dock p} att det m}ste vara av-
sett f|r ABC80:s programformat.

Begr{nsningar
-------------
Den nuvarande versionen kan tyv{rr inte lista "smartladdad"
maskinkod. Det g}r inte heller att lista komprimerade filer.
De vanliga .BAS och .BAC-filer som jag har provat g}r d{remot
utm{rkt. Programmet har testats p} ABC802 + ABC821 + ABC834.

Jan-Olof Svensson <6057>
