|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 26880 (0x6900) Types: TextFile Names: »kkslrtxt«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦this⟧ »kkslrtxt«
(slangred=slang fpnames list.no xref.no type.yes; scope user slangred; ) ; \f s. a21,b40,j40 ; w. ; k=h55 ; b0: 0,0 ; al w1 x1+2 ; rs. w1 b0. ; fp base+2 al. w3 b1. ; al w3 x3 -14 ; al w0 0 ; jd 1<11+0 ; set interrupt jl. j31. ; b1: al w2 10 ; jl. w3 h26.-2 ; al w2 0 ; b2: rl. w0 x2+b1.-14 ; sn w2 10 ; ws. w0 b0. ; jl. w3 h32.-2 ; 1<23+32<12+8 ; al w2 x2+2 ; sh w2 12 ; jl. b2. ; al w2 10 ; jl. w3 h33.-2 ; dl. w1 b1.-12 ; dl. w3 b1.-8 ; jl. (b1.-4); b3: al w2 25 ; jl. w3 h34.-2 ; al. w1 h21. ; curr out zone descr al. w2 a16. ; jl. w3 h30. ; unstack output-zone rl. w3 a18. ; jl. w2 j33. ; test punch al. w0 a17. ; jl. w3 h31.-2 ; jl. w3 h30.-4 ; unstack in-zone b4: al w2 10 ; jl. w3 h34.-2 ; al w2 0 ; jl. h7. ; a0: 5 ; space indtil ordre a1: 23 ; space indtil <;> a2: 100 ; antal space for hele linien a3: 0 ; er 0 efter semikolon ; og 2 efter NL FF og 1 efter EM a4: 0 ; antal udskrevne tegn a5: 0 ; adresse på sidst læste tegn a6: 0 ; adresse på aktuelt tegn a7: 8 ; antal tegn til w-reg a8: 12 ; antal tegn til x-delen a9: 0 ; adr. på hak i :> a10: 0 ; boolean for ;; og ;. a11: 0 ; sem.no=0 og sem.yes=1 a16: 0,r.4 ; stack chain for stack curr. outputzone a17: <:<10>slangred slut <0>:>; a18: 0 ; adr of outputdoc a19: 0 ; adr of inputdoc a21: 16 ; antal tegn til adressedelen \f ;; giveupaction for io ; reg call retur ; w0 answer addr ; w1 zone descr addr ; w2 share descr addr ; w3 status word b. g5,f5 ; w. ; am a18-a19; j30: rl. w2 a19. ; addr of duc ds. w1 g1. ; ds. w3 g3. ; al. w1 h21. ; curr out zone descr al. w2 a16. ; jl. w3 h30. ; unstack curr output jl. w3 h30.-4 ; unstck curr input dl. w2 g3. ; jl. h7. ; g0: 0 ; g1: 0 ; g2: 0 ; g3: 0 ; e. ; a20: ; \f ;; parametercheck b. f10,g10 ; w. ; j31: bl w0 x2+10 ; se w0 6 ; if no source then jl. f0. ; goto f0 rs. w2 j31. ; al. w1 h21. ; curr. out zone descr addr al. w2 a16. ; stack chain addr jl. w3 h29. ; stack outputzone al w2 0 ; al. w3 j30.-2 ; ds w3 x1+h2+2 ; rl. w2 j31. ; al w2 x2+2 ; source name rs. w2 a18. ; jl. w3 h28.-2 ; connect zone se w0 0 ; if ok.no then jl. j32. ; goto j32 rl. w3 a18. ; jl. w2 j33. ; test punch rl. w2 j31. ; ba w2 x2+1 ; f0: ba w2 x2+1 ; next param bz w0 x2+1 ; se w0 10 ; if no object jl. f1. ; then goto f1 rl w1 x2+2 ; se. w1 (g1.) ; if -,parm=<:sem:> then jl. f5. ; goto f5. rl w1 x2+10 ; se. w1 (g2.) ; hvis der ikke følger et punkt then jl. f5. ; goto f5 ba w2 x2+1 ; else rl w1 x2+2 ; if sn. w1 (g3.) ; next param=<:no:> then jl. f6. ; goto f6. sn. w1 (g4.) ; else if <:yes:> jl. f7. ; goto f7 f8: al. w2 a16. ; al. w1 h21. ; jl. w3 h30. ; unstack curr out al. w0 g0. ; jl. w3 h31.-2 ; fejludskrift al w0 x2+2 ; bz w1 x2+1 ; sn w1 10 ; jl. w3 h31.-2 ; jl. b4. ; goto slut f7: al w1 1 ; rs. w1 a11. ; set sem.yes f6: ba w2 x2+1 ; bz w1 x2+1 ; se w1 10 ; if no object jl. f1. ; goto f1 f5: rs. w2 j31. ; jl. w3 h29.-4 ; stack curr in-zone al w2 0 ; al. w3 j30. ; ds w3 x1+h2+2 ; rl. w2 j31. ; al w2 x2+2 ; object name rs. w2 a19. ; jl. w3 h27.-2 ; connect inputzone se w0 0 ; if ok.no then jl. j32. ; goto j32 rl. w2 j31. ; ba w2 x2+1 ; next param f1: al w3 0 ; f2: bl w0 x2 ; sh w0 2 ; jl. f4. ; goto f4 bz w0 x2+1 ; se w0 4 ; if -,integer jl. f8. ; then goto f8 (fejludskrift) rl w0 x2+2 ; else get param rs. w0 x3+a0. ; al w3 x3+2 ; ba w2 x2+1 ; sh w3 4 ; jl. f2. ; f4: dl. w2 a1. ; rl. w3 a2. ; sorter indholdw6et af a0,a1 og a2 sh w2 x1 ; rx w1 4 ; sh w3 x2 ; rx w2 6 ; sh w2 x1 ; rx w1 4 ; ds. w2 a1. ; rs. w3 a2. ; al w1 x1+4 ; antal space til reg. del al w2 x1+4 ; antal space til adr. del ds. w2 a8. ; jl. b6. ; g0: <:<10>*** param to slangred <0>:>; g1: <:sem:> ; g2: 8<12+10 ; g3: <:no<0>:> ; g4: <:yes:> ; e. ; \f ;; fejludskrift for connect zone b. f10,g12 ; w. ; g4: <: name format illegal<10><0>:>; g5: <: not allowed<10><0>:>; g6: <: convention error<10><0>:>; g7: <: not user, non exist<10><0>:>; g8: <: malfunctioning<10><0>:>; g9: <: no more resources in your process<10><0>:>; h. ; g10: 0,0,g8-g9,g7-g9,g6-g9,g5-g9,g4-g9; w. ; j32: am (0) ; bl. w1 g10. ; text adresse al. w0 x1+g9. ; rs. w0 g0. ; al. w1 h21. ; al. w2 a16. ; jl. w3 h30. ; unstack outputzone rl. w2 j31. ; al w0 x2+2 ; jl. w3 h31.-2 ; udskriv entry name rl. w0 g0. ; jl. w3 h31. ; udskriv fejl jl. b4. ; goto slut g0: 0 ; e. ; j33: jl x2 ; c. -1 ; \f ;; test punch ; reg call return ; w0 uaendret ; w1 - ; w2 returadr udef ; w3 entryadr - ; tester om outputduc. er puncher, idet der da laves ; 150 nulkarakterer b. g12,f5 ; w. ; j33: ds. w1 g1. ; ds. w3 g3. ; sn w3 0 ; if no address then jl. f3. ; goto f3 al. w1 g4. ; jd 1<11+42; lookupentry se w0 0 ; if result<>0 then jl. f1. ; goto f1 (test note) f0: bz w2 x1+1 ; kind se w2 12 ; if kind<>12 then jl. f3. ; goto f3. al. w2 g9. ; al. w3 g10. ; first and last address ds. w3 g8. ; al w3 x1+2 ; al. w1 g5. ; jd 1<11+8 ; reserve punch jd 1<11+16; al. w1 g11. ; jd 1<11+18; rl. w2 g12. ; se w2 0 ; if g12<>0 then jd 1<11+10; release punch rs. w3 g12. ; else lad g12<>0 jl. f3. ; retur f1: rl w3 x3 ; al. w1 h52.+2 ; first note f2: sn w3 (x1-2) ; if entry = note then goto jl. f0. ; goto f0 al w1 x1+22 ; sh. w1 h53. ; jl. f2. ; goto f2 f3: dl. w1 g1. ; jl. (g2.) ; g0: 0 ; g1: 0 ; g2: 0 ; g3: 0 ; g4: 0,r.10 ; g5: 5<12+2 ; g7: 0 ; g8: 0 ; g9: 0,r.50 ; g10: ; g11: 0,r.8 ; g12: 0 ; e. ; z. ; \f ;; læseprocedure ; læser forfra på en linie indtil 1. tegn er forskellig ; fra space, er dette tegn (nl eller ff udskrives det ; og der startes forfra igen, ellers læses og gemmes ; tegnene i a20 og fremefter indtil der mødes enten et ; semikolon eller em, nl eller ff. ved retur er a5 ; adresse på det sidst læste tegn, ; og a3 er 0 hvis det er et semikolon og 1 hvis det er ; nl eller ff og 2 hvis det er em, a4 er lig med 0 b. f15,g10 w. ; j0: ds. w1 g1. ; ds. w3 g3. ; f0: ld w1 -65 ; nulstil ds. w1 a5. ; a4 og a5 rs. w0 a3. ; og a3 al. w0 a20. ; rs. w0 a6. ; f1: jl. w3 h25.-2 ; læs et tegn se w2 0 ; if nulkarakter or sn w2 32 ; tegn= space then jl. f1. ; goto f1 f2: sn w2 59 ; if semikolon then jl. f3. ; goto f3 sn w2 25 ; if em then jl. f4. ; goto f4 else se w2 10 ; if nl or sn w2 12 ; ff then jl. f5. ; goto f5 else sn w2 60 ; if < then jl. f10. ; goto test tekststreng f7: hs w2 (0) ; gem tegn ba. w0 1 ; tæl i pointer jl. w3 h25.-2 ; læs næste jl. f2. ; goto test f3: am -1 ; semikolon f4: am -1 ; )em f5: al w3 2 ; nl og ff rs. w3 a3. ; se. w0 a20. ; if if tegn før ;,em,ff,nl then jl. f8. ; goto f8 se w3 2 ; else if tegn<>ff and tegn<>nl then jl. f6. ; goto f6 jl. w3 h26.-2 ; else udskriv tegnet og jl. f0. ; start forfra f6: sn w2 25 ; if EM then jl. b3. ; goto b3 f8: hs w2 (0) ; gem tegnet rs. w0 a5. ; og sæt adr. på sidst læste tegn dl. w1 g1. ; dl. w3 g3. ; jl x3 ; g0: 0 ; g1: 0 ; g2: 0 ; g3: 0 ; \f f10: hs w2 (0) ; gem tegn ba. w0 1 ; jl. w3 h25.-2 ; læs næste tegn se w2 58 ; if not kolon then jl. f7. ; goto f7 f11: hs w2 (0) ; ba. w0 1 ; f12: jl. w3 h25.-2 ; næste tegn hs w2 (0) ; ba. w0 1 ; se w2 58 ; if -,kolon then jl. f12. ; goto f12 jl. w3 h25.-2 ; se w2 62 ; if -,> then jl. f11. ; goto f11 rs. w0 a9. ; jl. f7. ; e. ; \f ;; find tekst ; hopper til ; returadr. + 0 hvis (a6) og fremefter er ordre ; - + 2 - - - - - label ; - + 4 - - - - - b.,... ; - + 6 - - - - - semik. ; - + 8 - - - - - (: ; - +10 - - - - - <: ; - +12 - - - - - andet ; ved retur peger w1 ofte på det sidste tegn og ; w0 og w2 er udefinerede b. f11,g10 w. ; j1: rs. w3 g3. ; rl. w1 a6. ; hent tegn bz w0 x1 ; hent 1. tegn jl. w3 j3. ; test lille bogstav jl. f3. ; if ikke lille bogstav then goto f3 al w1 x1+1 ; else hent bz w0 x1 ; næste tegn jl. w3 j3. ; if ikke lille bogstav then jl. f0. ; goto f0 jl. f11. ; else goto f11= retur0 f0: sn w0 46 ; if punkt then jl. f9. ; retur4 sh w0 57 ; if ikke sh w0 47 ; tal then jl. f5. ; retur12 f1: al w1 x1+1 ; else bz w0 x1 ; sh w0 57 ; if ikke tal sh w0 47 ; then jl. f2. ; goto f2 jl. f1. ; else goto f1 f2: sn w0 58 ; if kolon then jl. f10. ;retur2 jl. f5. ; else retur12 andet f3: sn w0 59 ; if semikolon then jl. f8. ; retur6 sn w0 40 ; else if venstreparentes then jl. f4. ; goto f4 se w0 60 ; else if -,venstrehak then jl. f5. ; retur12 bz w0 x1+1 ; sn w0 58 ; if næste tegn er kolon then jl. f6. ; retur10 jl. f5. ; else retur12 f4: bz w0 x1+1 ; sn w0 58 ; if næste tegn er kolon then jl. f7. ; retur8 f5: am 2 ; retur12 andet f6: am 2 ; retur10 <: f7: am 2 ; retur8 (: f8: am 2 ; retur6 semikolon f9: am 2 ; retur4 b.,e.,s.,... f10: am 2 ; retur2 label f11: al w3 0 ; retur0 ordre wa. w3 g3. ; jl x3 ; g3: 0 ; e. ; \f ;; test lille bogstav: hopper til returadr.+2 ; hvis w0 indeholder isoværdien for et lille bogstav b. f10,g10 w. ; j3: sl w0 97 ; sl w0 126 ; jl x3 ; jl x3+2 ; e. ; ;; udskriver w0-(a4) space ; ved retur er alle registre uændrede b. f10,g10 w. ; j4: ds. w1 g1. ; ds. w3 g3. ; ws. w0 a4. ; træk antallet af allerede udskrevne f0: sh w0 0 ; tegn fra det antal w0 indeholder jl. f1. ; retur al w2 32 ; space jl. w3 h26.-2 ; jl. w3 j8. ; tæl i antal udskrevne tegn bs. w0 1 ; jl. f0. ; f1: dl. w1 g1. ; dl. w3 g3. ; jl x3 ; g0: 0 ; g1: 0 ; g2: 0 ; g3: 0 ; e. ; \f ;; udskriver fra (w0) til (a5) b. f10,g10 w. ; j6: rl. w0 a6. ; ved hop til j6 initialiseres w0 her j5: ds. w1 g1. ; ds. w3 g3. ; rl. w1 a5. ; adr. på sidste tegn bz w2 x1 ; f0: sl w0 x1 ; if adr. på 1. tegn>=adr. på sidste jl. f1. ; then goto f1 al w1 x1 -1 ; else tæl ned i sidste adr. på sidste bz w2 x1 ; tegn. Hent tegn sn w2 32 ; if tegn=space then jl. f0. ; goto f0 f1: sn w2 59 ; jl. f2. ; jl. w3 j7. ; udskriv rl. w3 a3. ; sh w3 0 ; if semikolon then jl. f2. ; goto f2 rl. w3 a11. ; else get sem.mode se w3 1 ; if sem.no then jl. f3. ; goto f3 f2: rl. w0 a1. ; else udskriv evt. maglende space jl. w3 j4. ; al w2 59 ; jl. w3 h26.-2 ; udskriv semikolon f3: dl. w1 g1. ; dl. w3 g3. ; jl x3 ; g0: 0 ; g1: 0 ; g2: 0 ; g3: 0 ; e. ; \f ;; udskriver fra x0 til x1 ; og tæller op i a4 ; ved retur eralle registre uændrede b. f10,g10 w. ; j7: ds. w1 g1. ; ds. w3 g3. ; f0: sh. w0 (g1.) ; jl. f1. ; jl. f2. ; f1: bz w2 (0) ; hent tegn jl. w3 h26.-2 ; udskriv jl. w3 j8. ; tæl i a4 ba. w0 1 ; jl. f0. ; f2: dl. w1 g1. ; dl. w3 g3. ; jl x3 ; g0: 0 ; g1: 0 ; g2: 0 ; g3: 0 ; e. ; \f ;; tæller i a4 ; ved retur er w0,w1 og w2 uændrede b. f10,g10 w. ; j8: rs. w3 g3. ; rl. w3 a4. ; al w3 x3+1 ; rs. w3 a4. ; jl. (g3.) ; g3: 0 ; e. ; ;; finder 1. tegn som er forskellig fra space efter ; den adr. som w0 peger på ; ved retur er alle registre uændrede b. f10,g10 w. ; j9: ds. w1 g1. ; f0: bz w1 (0) ; se w1 32 ; if not space then jl. f1. ; goto f1 ba. w0 1 ; else næste jl. f0. ; f1: rs. w0 a6. ; dl. w1 g1. ; jl x3 ; g0: 0 ; g1: 0 ; e. ; \f ;; test FF NL, hvis det tegn (a6) peger paa er NL eller FF ; udskrives space og semikolon og der hoppes til retur2 ; ellers retur1 b. f10,g10 w. ; j16: ds. w1 g1. ; ds. w3 g3. ; bz. w2 (a6.) ; se w2 10 ; if NL or sn w2 12 ; FF then jl. f0. ; goto f0 jl. f1. ; else goto f1 (retur1) f0: rl. w3 a3. ; sh w3 0 ; if semikolon then jl. f2. ; goto f2 rl. w3 a11. ; else get sem.mode se w3 1 ; if if sem.no then jl. f3. ; goto f3 f2: rl. w0 a1. ; udskriv a1 jl. w3 j4. ; space al w2 59 ; jl. w3 h26.-2 ; udskriv semikolon f3: am 2 ; retur2 f1: al w3 0 ; retur1 wa. w3 g3. ; dl. w1 g1. ; rl. w2 g2. ; jl x3 ; g0: 0 ; g1: 0 ; g2: 0 ; g3: 0 ; e. ; \f ;; den centrale løkke b6: jl. w3 j0. ; læs b7: rl. w2 a10. ; tæl 1 ned i a10 ld w3 -2 ; tæl 1 ned i de 2 bagerste bit ls w2 -1 ; hvis de er <>0, og tæl 1 ned i ls w3 -1 ; bit21-bit22, hvis de er <> 0 ld w3 2 ; rs. w2 a10. ; jl. w3 j1. ; find art jl. j10. ; ordre jl. j11. ; label jl. j12. ; b.s.e. ... jl. j13. ; semikolon jl. j14. ; parenteskolon jl. j15. ; hak kolon rl. w0 a0. ; andet jl. w3 j4. ; udskriv space jl. w3 j6. ; tøm buffer b8: rl. w3 a3. ; sn w3 1 ; if næste tegn er EM then jl. b3. ; goto stop se w3 2 ; if ikke NL or FF then jl. b9. ; goto b9 bz. w2 (a5.) ; sidste tegn b10: jl. w3 h26.-2 ; udskrives jl. b6. ; ny linie \f b9: al. w0 a20. ; kopiering og linieafkortning al w3 0 ; nulstil tegntæller b11: rs. w3 a5. ; jl. w3 h25.-2 ; læs et tegn b5: hs w2 (0) ; rs. w0 a6. ; ba. w0 1 ; se w2 25 ; if EM or sn w2 32 ; space then jl. b12. ; goto b12 se w2 10 ; else if NL or sn w2 12 ; FF then goto b12 jl. b12. ; rl. w3 a5. ; tæl 1 op i tegn tæller al w3 x3+1 ; jl. b11. ; læs næste tegn b12: rl. w3 a4. ; wa. w3 a5. ; sh. w3 (a2.) ; if a4+a5<=a2 then jl. b14. ; goto b14 al w2 10 ; else udskriv NL jl. w3 h26.-2 ; al w3 0 ; nulstil rs. w3 a4. ; a4 rl. w3 a10. ; sl w3 3 ; if mode.;. then jl. b13. ; goto b13 se w3 0 ; else am -2 ; if mode.;; then load a0 else rl. w0 a1. ; load a1. jl. w3 j4. ; udskriv space b13: al w2 59 ; udskriv jl. w3 h26.-2 ; semikolon jl. w3 j8. ; b14: al. w0 a20. ; rl. w1 a6. ; 1. og sidste tegn al w1 x1 -1 ; jl. w3 j7. ; udskriv det læste ord al w1 x1+1 ; bz w2 x1 ; sidste tegn sn w2 25 ; if EM then jl. b3. ; goto b3 se w2 32 ; if FF or NL then jl. b10. ; goto b10 hs. w2 a20. ; else gem tegn og læs videre al. w0 a20.+1 ; al w3 1 ; sæt antal tegn til 1 jl. b11. ; \f ;; ordre b. g10,f10 w. ; j10: rl. w0 a0. ; jl. w3 j4. ; udskriv evt. space rl. w0 a6. ; udskriv jl. w3 j7. ; to små bogstaver al w0 x1+1 ; bz w2 (0) ; næste tegn se w2 46 ; if -,punkt then jl. f0. ; goto f0 jl. w3 h26.-2 ; else udskriv det ba. w0 1 ; jl. w3 j8. ; tæl i a4 f0: jl. w3 j9. ; skip space rl. w1 a6. ; næste tegn bz w2 x1 ; se w2 119 ; if -, w then jl. f1. ; then goto f1 rl. w0 a7. ; else udskriv jl. w3 j4. ; space al w0 x1 ; al w1 x1+1 ; jl. w3 j7. ; udskriv og tæl al w0 x1+1 ; jl. w3 j9. ; skip space f1: rl. w0 a8. ; jl. w3 j4. ; udskriv space rl. w1 a6. ; bz w2 x1 ; næste tegn se w2 120 ; if næste tegn<>x then jl. f2. ; goto f2. al w0 x1 ; al w1 x1+1 ; jl. w3 j7. ; udskriv xi al w0 x1+1 ; jl. w3 j9. ; skip evt space rl. w1 a6. ; bz w2 x1 ; w2:=næste tegn se w2 43 ; if næste tegn <> + then jl. f2. ; goto f2 al w0 x1 ; jl. w3 j7. ; skriv + al w0 x1+1 ; jl. w3 j9. ; skip space f2: rl. w0 a21. ; jl. w3 j4. ; udskriv evt space jl. w3 j6. ; udskriv rest jl. b8. ; e. ; \f ;; label b. f10,g10 w. ; j11: rl. w0 a6. ; jl. w3 j7. ; udskriv label al w0 x1+1 ; jl. w3 j9. ; skip space jl. w3 j16. ; if -,FF or -,NL then jl. b7. ; retur til ny søgning jl. b8. ; else goto b8. e. ; ;; b.,c.,e.,f.,h.,i.,j.,m.,n.,p.,s.t.,... b. f10,g10 w. ; j12: rl. w0 a6. ; bz w2 (0) ; 1. char jl. w3 j7. ; udskriv de 2 tegn al w0 x1+1 ; jl. w3 j9. ; skip space jl. w3 j16. ; if -,FF or -,NL then jl. f0. ; goto f0 jl. b8. ; else goto b8 f0: sn w2 109 ; if m. then jl. f1. ; goto f1 sn w2 99 ; if c. then jl. f1. ; goto f1 sn w2 112 ; if p. then jl. f1. ; goto f1. jl. b7. ; else goto b7 f1: rl. w0 a0. ; udskriv space jl. w3 j4. ; jl. w3 j6. ; tøm buffer jl. b8. ; goto b8 e. ; \f ;; semikolon b. f10,g10 ; w. ; j13: am -2000 ; jl. w3 h25.+1998; læs næste tegn rl. w0 a0. ; sn w2 59 ; if semikolon then mode.;; jl. f1. ; goto f1 sn w2 46 ; if punkt then mode.;. jl. f0. ; goto f0 rl. w0 a1. ; rl. w1 a10. ; sh w1 0 ; if -,(mode.;; or mode.;.) then jl. f2. ; goto f2 rl. w0 a0. ; else sl w1 3 ; if mode.;. then f0: am 6 ; lad a10:=2.1000 f1: am 2 ; else a10:=2.0010 f2: al w3 0 ; a10:=0 rs. w3 a10. ; sh w3 3 ; if -,mode.;. then jl. w3 j4. ; udskriv space al w0 x2 ; gem det læste tegn al w2 59 ; udskriv am -2000 ; jl. w3 h26.+1998; semikolon jl. w3 j8. ; al w2 (0) ; det læste tegn se w2 10 ; if NL or sn w2 12 ; FF then jl. b10. ; goto b10 sn w2 25 ; else if EM then jl. b3. ; goto stop al w3 0 ; reset rs. w3 a5. ; a5 al. w0 a20. ; jl. b5. ; goto kopier e. ; \f ;; (: b. g10,f10 w. ; j14: rl. w0 a0. ; jl. w3 j4. ; skriv space ld w1 -65 ; nulstil ds. w1 g1. ; g0 og g1 rl. w0 a6. ; f0: bz w2 (0) ; hent tegn rl. w1 g0. ; ls w1 12 ; hl w1 5 ; rs. w1 g0. ; store sidste og næstsidste tegn rl. w3 g1. ; load (: tæller sn. w1 (g2.) ; if (: then al w3 x3+1 ; tæl 1 op sn. w1 (g3.) ; else if :) then al w3 x3 -1 ; tæl 1 ned rs. w3 g1. ; am -2000 ; jl. w3 h26.+1998; skriv tegn jl. w3 j8. ; dl. w2 g1. ; sl w1 128 ; if -,første tegn and se w2 0 ; niveautæller<>0 then jl. f3. ; goto f3 ba. w0 1 ; jl. f4. ; f3: ba. w0 1 ; sh. w0 (a5.) ; jl. f0. ; rl. w0 a5. ; f4: jl. w3 j9. ; skip space jl. w3 j16. ; jl. b7. ; jl. b8. ; g0: 0 ; g1: 0 ; g2: 40<12+58 ; g3: 58<12+41 ; e. ; \f ;; <: b. g10,f10 w. ; j15: rl. w0 a0. ; jl. w3 j4. ; skriv space rl. w0 a6. ; rl. w1 a9. ; jl. w3 j7. ; udskriv tekststreng al w0 x1+1 ; jl. w3 j9. ; skip space jl. w3 j16. ; jl. b7. ; jl. b8. ; e. ; e. ; e. ; ▶EOF◀