Top 10k strings from tor-edso2.rtf in <root> / doc / technical / RoelofKoning / tornadSRC.zip /

Back to the directory listing

 102                                                                 \par
  37            RRA                                                  \par
  34            RET                                                  \par
  21            AND  A                                               \par
  18            EX   DE,HL                                           \par
  16            INC  HL                                              \par
  12            RST  16                                              \par
  12            POP  HL                                              \par
  12            DEFB 255                                             \par
  11            SBC  HL,DE                                           \par
  11            DEC  A                                               \par
  11            CALL printmsge                                       \par
  10            LD   A,(DE)                                          \par
  10            INC  DE                                              \par
  10            DEC  HL                                              \par
   8            LD   C,L                                             \par
   8            LD   C,A                                             \par
   8            LD   A,(HL)                                          \par
   8            CP   13                                              \par
   7            XOR  A                                               \par
   7            LD   A,(BC)                                          \par
   7            INC  L                                               \par
   7            CALL 11747                                           \par
   7            ADD  A,(HL)                                          \par
   6            RLA                                                  \par
   6            LDIR                                                 \par
   6            INC  D                                               \par
   6            INC  C                                               \par
   5 \cf0                                                                 \par
   5            PUSH HL                                              \par
   5            POP  AF                                              \par
   5            LD   L,B                                             \par
   5            LD   B,0                                             \par
   5            LD   A,C                                             \par
   5            LD   (ypos),A                                        \par
   5            LD   (HL),A                                          \par
   5            EXX                                                  \par
   5            ADD  HL,BC                                           \par
   4            PUSH DE                                              \par
   4            PUSH BC                                              \par
   4            POP  DE                                              \par
   4            LD   B,A                                             \par
   4            LD   A,E                                             \par
   4            LD   (filend),DE                                     \par
   4            CALL 11563                                           \par
   3            SUB  8                                               \par
   3            SRL  L                                               \par
   3            RRCA                                                 \par
   3            RL   L                                               \par
   3            RL   C                                               \par
   3            PUSH AF                                              \par
   3            LD   L,E                                             \par
   3            LD   HL,(scrtop)                                     \par
   3            LD   H,A                                             \par
   3            LD   E,L                                             \par
   3            LD   DE,(filend)                                     \par
   3            LD   D,H                                             \par
   3            LD   B,H                                             \par
   3            LD   A,32                                            \par
   3            LD   (scrtop),HL                                     \par
   3            LD   (DE),A                                          \par
   3            JR   g4 -1                                           \par
   3            JR   Z,w6                                            \par
   3            INC  BC                                              \par
   3            CP   H                                               \par
   3            CCF                                                  \par
   3            CALL volger                                          \par
   3            CALL volgende                                        \par
   3            ADD  HL,HL                                           \par
   2            XOR  (HL)                                            \par
   2            SLA  A                                               \par
   2            RET  NZ                ;exit if not found            \par
   2            RET  C                 ;ret if no room               \par
   2            RET  C                 ;ret if at margin             \par
   2            RET  C                                               \par
   2            POP  BC                                              \par
   2            OUT  (254),A                                         \par
   2            LD   L,C                                             \par
   2            LD   HL,linpoint                                     \par
   2            LD   HL,linbuf                                       \par
   2            LD   HL,(filend)                                     \par
   2            LD   HL,(curslin)                                    \par
   2            LD   H,D                                             \par
   2            LD   E,A               ;adjust linbufpntr            \par
   2            LD   E,A                                             \par
   2            LD   A,13                                            \par
   2            LD   (xpos),HL                                       \par
   2            LD   (xpos),A                                        \par
   2            LD   (filend),HL                                     \par
   2            LD   (altflg),A                                      \par
   2            LD   (HL),255                                        \par
   2            JP   warm                                            \par
   2            JP   entex                                           \par
   2            INC  E                                               \par
   2            EX   AF,AF'                                          \par
   2            DEFB 240,240,240,240                                 \par
   2            CP   C                                               \par
   2            CP   127                                             \par
   2            CP   "M"                                             \par
   2            CP   ";"                                             \par
   2            CALL vul                                             \par
   2            CALL storelin                                        \par
   2            CALL prhx              ;print hex                    \par
   2            CALL getblmark         ;find blockmarkers            \par
   2            CALL calc +3           ;screenaddr.                  \par
   2            CALL 949                                             \par
   2            CALL 5633                                            \par
   2            AND  223               ;CAPs                         \par
   2            AND  127               ;drop bit 7                   \par
   2            ADD  HL,DE                                           \par
   2            ADD  A,chartable /256 -1                             \par
   2            ADD  A,8                                             \par
   2            ADD  A,7                                             \par
   1 {\rtf1\ansi\ansicpg1252\deff0\deflang1043{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier;}}
   1 {\colortbl ;\red0\green0\blue255;}
   1 ypos       EQU  xpos +1           ;vert. printpos (pixels)      \par
   1 wm1        LD   (curslin),HL      ;print file on scr.           \par
   1 wk1        BIT  5,(IY+1)                                        \par
   1 wk0        CALL cursor                                          \par
   1 warm       CALL cls                                             \par
   1 waitkey    EI                                                   \par
   1 wait       RES  5,(IY+1)          ;no valid key                 \par
   1 wa         BIT  5,(IY+1)                                        \par
   1 w6         LD   B,H               ;GOTO BC                      \par
   1 w5         CP   "T"                                             \par
   1 w4         LD   A,(DE)                  \lang2057                               \lang1043                         \par
   1 w2         EX   DE,HL             ;make DE point to end of      \par
   1 w1         CP   "O"                                             \par
   1 w0         CP   "A"                                             \par
   1 vul        LD   (DE),A            ;move char into buffer        \par
   1 vorige     LD   HL,(curslin)      ;find addr. of previous line  \par
   1 vor2       INC  HL                ;point to first char of line  \par
   1 vor1       SBC  HL,DE                                           \par
   1 volger     LD   A,(HL)                                          \par
   1 volgende   LD   HL,(curslin)      ;find addr. of next line      \par
   1 vfilmax    EQU  65260             ;default end of text          \par
   1 valtok     POP  HL                ;drop old linbufpntr          \par
   1 valend     INC  DE                ;test in linbuf, for end of   \par
   1 undef      DEFM "Undef"                                         \par
   1 udolin     CALL prlin             ;print next line              \par
   1 udo1       INC  C                                               \par
   1 try        INC  HL                                              \par
   1 trtok      PUSH HL                ;save insertpntr              \par
   1 totlen     EQU  xpos +26          ;len of sym tab               \par
   1 token      SUB  127                                             \par
   1 toggle     EQU  xpos +28          ;symb sort key                \par
   1 testsymb   LD   B,14              ;name length                      \par
   1 testn      CP   58                                              \par
   1 testa      CALL aonly             ;on exit: C = invalid         \par
   1 test       PUSH HL                ;HL and DE both point to an entry                              \par
   1 t2         LD   A,(HL)                                          \par
   1 t1         BIT  7,(HL)                                          \par
   1 symv       CALL 3435              ;cls                          \par
   1 symt       LD   A,3               ;use printer                  \par
   1 sympo      EQU  xpos +24          ;bottom of symboltable        \par
   1 symbtop    EQU  65520             ;top of symboltable           \par
   1 swl        LD   A,(HL)                                              \par
   1 swap       PUSH DE                ;swap both entries\par
   1 storevar   EQU  xpos +30          ;temp store of SP during ass  \par
   1 storelin   LD   A,(altflg)        ;test for 'line has changed'  \par
   1 stmt2flg   EQU  xpos +29          ;flag ':' in line             \par
   1 sort       LD   A,(toggle)                                      \par
   1 smt        LD   (storevar+1),A                                  \par
   1 slo        PUSH DE                ;sort loop                             \par
   1 serm       DEFM "SYMBOLTABLE: "                                 \par
   1 scrup2     LD   A,C                                             \par
   1 scrup1     LD   H,A                                             \par
   1 scrup      LD   A,184             ;point to topline             \par
   1 scrtop     EQU  xpos +6           ;addr. of first line on screen\par
   1 scrdw2     LD   A,C                                             \par
   1 scrdw1     LD   H,A               ;topleft coords = 0,0         \par
   1 scrdw      XOR  A                                               \par
   1 right      LD   A,(xpos)          ;adjust curspos.              \par
   1 recsp      LD   H,D               ;reclaim one space            \par
   1 rec1       LD   A,32              ;'delete' last char on line   \par
   1 quote      CP   34                                              \par
   1 quo        INC  DE                ;inside quotes now            \par
   1 qo         CP   13                ;inside quotes now            \par
   1 pu         CALL vorige +3                                       \par
   1 prmenu     LD   A,7               ;cls screen                   \par
   1 prlin      XOR  A                 ;reset 'line changed' flag    \par
   1 printmsge  LD   A,(HL)            ;print msge until 255 is found\par
   1 printerr   LD   HL,posm           ;point to position controllers\par
   1 prhx       PUSH AF                ;print number in hex          \par
   1 press      DEFB 13,20,1                                         \par
   1 pl2        LD   A,(HL)                                          \par
   1 pl1        DEC  L                                               \par
   1 pd         CALL volger                                          \par
   1 pc1        INC  HL                ;point to next char in file   \par
   1 pass       EQU  xpos +22          ;pass counter                 \par
   1 pageup     CALL storelin                                        \par
   1 pagedown   CALL storelin                                        \par
   1 opcotable  DEFB 128                     ;startmark                    \par
   1 oksm       DEFM "O.K., "                                        \par
   1 nxtchar    LD   A,(DE)                                          \par
   1 nxt        BIT  7,(HL)            ;test end of token            \par
   1 nxch       INC  DE                ;test next char               \par
   1 nxc        CP   127               ;(c)                          \par
   1 nstr2      EQU  xpos +49          ;length = 10 !!!!!!!          \par
   1 notused    EQU  xpos +37          ;-                            \par
   1 notok      POP  HL                ;retrieve insertpntr          \par
   1 noroomflg  EQU  xpos +33          ;errors during ass            \par
   1 noquote    CALL vul               ;move from file into buffer   \par
   1 nextblock  EQU  xpos +38          ;-                            \par
   1 next       POP  DE                ;old l.pntr                              \par
   1 movelin    LD   HL,ypos           ;calc screenposition          \par
   1 movblok    LD   (storevar +1),A   ;save command temp            \par
   1 more       INC  DE                ;next char in linbuf          \par
   1 mkroom     PUSH BC                ;store length                 \par
   1 minlin     ADD  HL,DE             ;undo earlier subtraction     \par
   1 mgt6       EQU  xpos +72                                        \par
   1 mgt5       EQU  xpos +71                                        \par
   1 mgt4       EQU  xpos +48          ;holds 4                      \par
   1 mgt3       EQU  xpos +47          ;holds "d"                    \par
   1 mgt2       EQU  xpos +46                                        \par
   1 mgt1       EQU  xpos +45          ;MGT specific                 \par
   1 mb5        CALL vorige +3         ;find start of line           \par
   1 mb4        PUSH BC                                              \par
   1 mb3        LDIR                   ;move block                   \par
   1 mb2        LD   A,(DE)            ;adjust DE                    \par
   1 mb1        DEC  HL                ;adjust HL                    \par
   1 mb0        ADC  A,0               ;save cursorpos. flag         \par
   1 lup        EXX                                                  \par
   1 lsend      LD   A,(storevar+1)    ;retrieve command             \par
   1 ls6        BIT  5,(IY+1)                                        \par
   1 ls5        LD   A,13              ;newline                      \par
   1 ls4        POP  DE                ;retrieve table pointer       \par
   1 ls3        LD   A,(DE)            ;collect adress in BC         \par
   1 ls2        LD   A,(DE)                                          \par
   1 ls1        LD   HL,(sympo)        ;test for ready               \par
   1 loop3      LD   H,B                                            \par
   1 loop2      PUSH HL                                              \par
   1 loop1      SRL  D                 ;div by 2 = mainloop                    \par
   1 linpoint   EQU  xpos +2           ;pointer in linebuffer        \par
   1 linlast    EQU  linbuf +63        ;end of linebuffer            \par
   1 linbuf     EQU  32512             ;start of linebuffer          \par
   1 lengte     EQU  assemble -begin                                 \par
   1 left       LD   A,(xpos)          ;adjust cursorpos.            \par
   1 koud       XOR  A                 ;reset pointers               \par
   1 isn        INC  DE                ;outside quotes now           \par
   1 isln1      LD   (HL),13                                         \par
   1 isln       LD   A,65              ;calc length of 'tail' of     \par
   1 isl        LD   A,L               ;test for start of linbuf     \par
   1 is2        DEC  HL                                              \par
   1 is1        LD   DE,LINLAST        ;remove any trailing spaces   \par
   1 inval      POP  DE                ;else retrieve linbufpntr     \par
   1 inssp      LD   HL,altflg         ;signal: line changed         \par
   1 insline    CALL volgende          ;find next lineaddr. in HL    \par
   1 insl2      CALL scrdw             ;make room on screen          \par
   1 insl1      XOR  A                 ;prepare to clean botlin      \par
   1 insfile    PUSH HL                ;store 'last +1 in linbuf'    \par
   1 insert     LD   (HL),A            ;insert char                  \par
   1 includs    JP   00000             ;to be filled by 'include'!\par
   1 inclflag   EQU  xpos +32          ;flag including               \par
   1 ifex       LD   DE,32             ;rasp                         \par
   1 hxz1       RST  16                                              \par
   1 hxz        AND  15                                              \par
   1 hulp       EQU  xpos +5                                         \par
   1 hex1       LD   (HL),A            ;store                        \par
   1 hex        INC  DE                ;point to char after #        \par
   1 hdod       EQU  xpos +70                                        \par
   1 hd0b       EQU  xpos +60                                        \par
   1 hd00       EQU  xpos +59                                        \par
   1 getblmark  LD   DE,filstrt                                      \par
   1 get        AND  A                 ;cursor flag                  \par
   1 g5         EX   AF,AF'            ;save key                     \par
   1 g3         CP   200               ;'>='                         \par
   1 g2         CP   199               ;'<='                         \par
   1 g1         CP   198               ;'AND'                        \par
   1 firstofile EQU  xpos +40          ;opus                         \par
   1 first      PUSH DE                ;save linbufpntr              \par
   1 findtable  EQU  xpos +73          ;start of find$, poked by     \par
   1 finds      CALL storelin                                        \par
   1 findcomp   CALL aonly             ;test for alpha char          \par
   1 findadd    EQU  xpos +14          ;addr. of item last found     \par
   1 filstrt    EQU  32768             ;start of textfile            \par
   1 filmax     EQU  xpos +12          ;last useable addr. for text  \par
   1 filend     EQU  xpos +10          ;actual end of text           \par
   1 filelen    EQU  xpos +42          ;including HC                 \par
   1 ferm       DEFM "INCORRECT FILE"                                \par
   1 fc1        XOR  (HL)              ;cp alpha char                \par
   1 f7         PUSH HL                                              \par
   1 f6         CALL vorige +3         ;retrieve line with match     \par
   1 f5         POP  HL                ;retrieve filepointer         \par
   1 f4         PUSH HL                ;end of file reached          \par
   1 f3         INC  HL                                              \par
   1 f2         INC  HL                                              \par
   1 f1         LD   DE,findtable      ;point to find$               \par
   1 extest     POP  BC                ;exit with C or NC                              \par
   1 expandlin  LD   HL,(curslin)      ;use curslin                  \par
   1 ex2        JP   begin             ;to menu                      \par
   1 ex1        DEC  HL                                              \par
   1 errm       DEFM " ERRORS"                                       \par
   1 errcnt     EQU  xpos +23          ;error counter                \par
   1 entex      CALL prlin             ;move line to screen + buffer \par
   1 enter      CALL storelin          ;store current line if nec.   \par
   1 ent1       LD   (curslin),HL      ;adjust cursor                \par
   1 editor     XOR  A                 ;point to start of line       \par
   1 dumpf      EQU  xpos +20          ;start of ass.code in mem.    \par
   1 dumpa      EQU  xpos +18          ;addr. to store ass.code      \par
   1 drvnr      EQU  xpos +44          ;also ufia MGT table          \par
   1 down       LD   A,(ypos)          ;test for bottom of screen    \par
   1 dok2       CP   32                                              \par
   1 dll        SUB  8                                               \par
   1 divloop    SRL  H                                               \par
   1 dellsub    PUSH HL                ;save addr. of nextlin        \par
   1 delline    LD   HL,(curslin)                                    \par
   1 dellblok   CALL getblmark         ;find blockmarkers            \par
   1 dell3      POP  AF                ;end of file reached,         \par
   1 dell2      CALL scrup +2          ;adjust screen                \par
   1 dell1      CALL dellsub           ;delete the line              \par
   1 d1         LD   HL,(scrtop)       ;adjust scrtop first          \par
   1 cursup     LD   A,(xpos)                                        \par
   1 cursor     EX   AF,AF'            ;'print cursor' flag          \par
   1 curslin    EQU  xpos +8           ;addr. of line with cursor    \par
   1 cursex     POP  AF                                              \par
   1 cursdown   LD   A,(xpos)                                        \par
   1 csd        LD   (curslin),HL                                    \par
   1 control    SUB  4                 ;test shifted numberkeys      \par
   1 compln     LD   HL,#0D0D          ;make sure line in linbuffer  \par
   1 comment    LD   A,E               ;test pos in linebuffer       \par
   1 comm1      CALL vul                                             \par
   1 cmesg      DEFB 127                                             \par
   1 cls        LD   HL,16384                                        \par
   1 clin       LD   H,A                                             \par
   1 cl2        LD   (HL),0            ;fill with zero               \par
   1 cl1        PUSH HL                                              \par
   1 chartable  DEFB 0,0,0,0,0,0,0,0          ;space                        \par
   1 char       LD   HL,altflg                                       \par
   1 caps       LD   HL,23658          ;toggle capsflag              \par
   1 calc       LD   HL,(xpos)         ;calc scr.addr. from X,Y-pos  \par
   1 c1         LD   A,D                                             \par
   1 bufsize    EQU  xpos +36          ;-                            \par
   1 blocklen   EQU  xpos +34          ;opus specific                \par
   1 blmerr     LD   BC,berm           ;point to block-error-msge    \par
   1 blkmark    CALL insline           ;insert new line              \par
   1 bksp       LD   HL,altflg                                       \par
   1 bk1        CALL left              ;'delete' char                \par
   1 bigline    LD   DE,(filend)       ;new > old                    \par
   1 big        EX   DE,HL                                           \par
   1 berm       DEFM "INVALID BLOCK COMMAND"                         \par
   1 begin      LD   A,(altflg)        ; 0 = warmstart, to menu      \par
   1 axi        CALL printmsge         ;print msge                   \par
   1 asspoint   EQU  xpos +16          ;assemble address             \par
   1 assm       DEFM "ASSEMBLY "                                     \par
   1 assexit    LD   HL,posm           ;print AT                     \par
   1 assemble   EQU  $                                               \par
   1 aser       DEFM "ABORTED, "                                     \par
   1 aonly      CP   123               ;on exit: C = invalid         \par
   1 altflg     EQU  xpos +4           ;zero if no changes in line   \par
   1 \viewkind4\uc1\pard\b\f0\fs20 ; * TORNADO  Z-80 assembler * EDITOR source 201  R.Koning 2005 \b0               \par
   1 \pard\nowidctlpar w3         PUSH DE                \lang2057 ;expand line into linebuffer  \lang1043                         \par
   1 \pard\nowidctlpar            DEFM "   D = Delete block" : DEFB 13                   \par
   1 \pard\cf1            DEFM "   Q = Merge text" :   DEFB 13       \cf0      \par
   1 \cf1 posm       DEFB 22,20,0,20,1,255     ;inverse at 20,0\cf0\par
   1 \cf1 merm       EQU  linbuf +68\par
   1 \cf1 menutable  DEFB 20,1              ;inverse                      \par
   1 \cf1 g4         CP   195               ;"NOT"                        \par
   1 \cf1 dokey      CP   195               ;"NOT"                        \par
   1 \cf1 codm       DEFB 22,19,0,20,1      ;inverse at 19,0\cf0\par
   1 \cf1 ;SORT SYMBOL TABLE     (shell sort)\par
   1 \cf1            LD   A,6               ;finish the print line                  \par
   1 \cf1            JR   NZ,w00\par
   1 \cf1            JR   NC,nxc            \par
   1 \cf1            CP   "Q"                                             \par
   1 \cf1            CP   ";"                                             \par
   1 \cf1            CP   ":"               ;second statement coming?               \par
   1 \cf1            CALL sort                                         \cf0    \par
   1 \cf0 xpos       EQU  merm +16          ;hor. printpos (pixels)       \par
   1 \cf0 w00        CP   "C"                                             \par
   1 \cf0 ;BLOCKs \par
   1 \b ;-------------------------------------------------------------  \b0\par
   1 ?---------------------------------------------------------------\par
   1 ;try for token now \par
   1 ;to menu when 'extended' only                                   \par
   1 ;insert space                                                   \par
   1 ;insert on second lowest                                        \par
   1 ;insert blank line at bottom                                    \par
   1 ;expand + print to scr                                          \par
   1 ;end                                                            \par
   1 ;compress line inside linebuffer                                \par
   1 ;attention :   \b linbuf\b0  and \b chartable\b0  at n * 256 !                \par
   1 ;adjust file to accommodate new line                            \par
   1 ;TEST MORE KEYS                                                 \par
   1 ;PRINT TEXTFILE                            \par
   1 ;DELETE A LINE                                                  \par
   1 ;---------------------------------------------------------\par
   1 ;----------------------------------------------------------------\par
   1 ;--------------------------------------------------------------------                                             \par
   1 ;-------------------------------------------------------------------                     \par
   1 ;---------------------------------------------------------------                                                      \par
   1 ;-------------------------------------------------------------                                                             \par
   1 ;-----------------------------------------------------------                                                                \par
   1 ;---------------------------------------------------------    \par
   1 ;----- sub                   \par
   1 ;----- sub                                             \par
   1 ;-- FILLERS here, to put CHARTABLE on #7000, 28672              \par
   1 ;              (\b symbtop\b0  at n * 16)                              \par
   1            \cf1 ORG  25779 \cf0                                          \par
   1            XOR  A                 ;ypos = 0, temporarely        \par
   1            XOR  A                 ;signal 'click needed'        \par
   1            XOR  A                 ;cursor points to start of    \par
   1            XOR  A                 ;'cursor off' flag            \par
   1            XOR  65                ;"A" and reset Carry!\par
   1            XOR  1                 ;toggle cursorflag            \par
   1            XOR  (HL)              ;move into screen             \par
   1            SUB  H                                               \par
   1            SUB  E                 ;line in linbuf               \par
   1            SUB  B                                               \par
   1            SUB  8                 ;1 line down                  \par
   1            SUB  4                                               \par
   1            SUB  16                ;next label                   \par
   1            SUB  128               ;BC = end-32768 = length      \par
   1            SUB  (HL)              ;test chars                              \par
   1            SUB  (HL)                                            \par
   1            SUB  (HL)                                                                   \par
   1            SET  0,(HL)            ;signal 'line changed'        \par
   1            SET  0,(HL)            ;line changed                 \par
   1            SET  0,(HL)                                          \par
   1            SCF                    ;signal ERROR                 \par
   1            SBC  HL,DE             \lang2057 ;cont. if not                 \lang1043                         \par
   1            SBC  HL,DE             ;compare lengths              \par
   1            SBC  HL,DE             ;check if still in range                              \par
   1            SBC  HL,DE             ;calc length of old line      \par
   1            SBC  HL,DE             ;calc length of new line      \par
   1            SBC  HL,DE             ;calc length of compr. line   \par
   1            SBC  HL,BC             ;nw l.pntr                              \par
   1            SBC  HL,BC             ;calc length of tail          \par
   1            SBC  HL,BC             ;calc length of 'tail'        \par
   1            SBC  HL,BC             ;against endmarker            \par
   1            SBC  HL,BC             ;HL = rightside len                              \par
   1            SBC  HL,BC             ;BC = addr. of next line      \par
   1            SBC  HL,BC                                           \par
   1            RST  16                \lang2057 ;next line                    \lang1043                         \par
   1            RST  16                      \lang2057                               \lang1043                         \par
   1            RST  16                                \cf0               \par
   1            RR   L                                               \par
   1            RR   E                                               \par
   1            RET  Z                 ;ret if not present           \par
   1            RET  Z                 ;ret if cursor on last pos.   \par
   1            RET  Z                 ;ret if cursor on first line  \par
   1            RET  Z                 ;exit if new = old            \par
   1            RET  Z                 ;exit if end of line          \par
   1            RET  Z                 ;exit here                    \par
   1            RET  NC                ;test alphanum                \par
   1            RET  NC                ;test A - z                   \par
   1            RET  NC                ;ret if no change made        \par
   1            RET  C                 ;test 0 - 9                   \par
   1            RET  C                 ;ret if not                   \par
   1            RET  C                 ;RET if no room for line      \par
   1            RET  C                                              \par
   1            RET   Z                                              \par
   1            RET   C                                              \par
   1            RET                    ;if end of file               \par
   1            RET                    ;exit directly from here      \par
   1            RET                    ;RET Z if eof                 \par
   1            RET                    ; and continue to print this table                  \par
   1            RES  5,(IY+1)          ;wait for keypress            \par
   1            RES  5,(IY+1)          ;'no key'                     \par
   1            RES  5,(IY+1)                                        \par
   1            PUSH HL                \lang2057 ;test for end of block        \lang1043                         \par
   1            PUSH HL                ;store msge pointer           \par
   1            PUSH HL                ;store marker positions       \par
   1            PUSH HL                ;store filepntr               \par
   1            PUSH HL                ;store addr. found            \par
   1            PUSH HL                ;store 2nd marker             \par
   1            PUSH HL                ;save filepointer             \par
   1            PUSH HL                ;or use HL on this entrypoint \par
   1            PUSH HL                ;last char +1                 \par
   1            PUSH DE                ;store scrpos                 \par
   1            PUSH DE                ;store pointer                \par
   1            PUSH DE                ;save first marker addr.      \par
   1            PUSH DE                ;do not destroy DE            \par
   1            PUSH DE                      \lang2057                               \lang1043                         \par
   1            PUSH BC                \par
   1            PUSH AF                ;store xpos                   \par
   1            PUSH AF                ;save ypos                    \par
   1            POP  HL                \lang2057 ;set RETaddr.                 \lang1043                         \par
   1            POP  HL                ;was DE!\par
   1            POP  HL                ;retrieve filepntr            \par
   1            POP  HL                ;retr. last +1                \par
   1            POP  HL                ;retr. filepntr               \par
   1            POP  HL                ;restore cursorpositions      \par
   1            POP  HL                ;point to '-65520'            \par
   1            POP  HL                ;no more match                \par
   1            POP  HL                ;first marker                 \par
   1            POP  HL                ;error exit                   \par
   1            POP  HL                ;drop retaddr.                \par
   1            POP  HL                ;drop RETaddr.                \par
   1            POP  HL                ;balance stack                \par
   1            POP  DE                \lang2057 ;jp if end of text            \lang1043                         \par
   1            POP  DE                ;retrieve the 'split' number                              \par
   1            POP  DE                ;retrieve markers             \par
   1            POP  DE                ;addr of next entry in DE             \par
   1            POP  DE                ;DE = first marker            \par
   1            POP  DE                ;=old length                  \par
   1            POP  DE                      \lang2057                               \lang1043                         \par
   1            POP  BC                ;drop retaddr.                \par
   1            POP  BC                ;drop RETaddr.                \par
   1            POP  BC                ;HL = addr. of nextlin        \par
   1            POP  BC                ;BC = next line               \par
   1            POP  BC                ;BC = length of tail          \par
   1            OR   L                                               \par
   1            OR   E                                               \par
   1            OR   A                                               \par
   1            OR   64                                              \par
   1            LDIR                   ;shift tail into position     \par
   1            LDIR                   ;move tail                    \par
   1            LDIR                   ;move line into file          \par
   1            LDIR                   ;move 'tail' from nextlin     \par
   1            LDDR                   ;move tail                    \par
   1            LDDR                   ;make room for one chr$ 13    \par
   1            LDDR                   ;make room                    \par
   1            LD   L,A               ;calc addr. of pattern        \par
   1            LD   L,A                                             \par
   1            LD   L,0               ;start of scr line            \par
   1            LD   HL,vfilmax                                      \par
   1            LD   HL,undef                                        \par
   1            LD   HL,symbtop -16    ;table end +1, minus 1 entry                 \par
   1            LD   HL,symbtop                                      \par
   1            LD   HL,serm           ;pnt to message "SYMBOLTABLE"         \par
   1            LD   HL,press                                        \par
   1            LD   HL,opcotable      ;find opcode                  \par
   1            LD   HL,opcotable                                    \par
   1            LD   HL,oksm           ;point to "O.K."              \par
   1            LD   HL,menutable      ;print menu part 1            \par
   1            LD   HL,linlast        ;end of buffer                \par
   1            LD   HL,linbuf +64     ;clear linebuffer             \par
   1            LD   HL,linbuf         ;and in linebuffer            \par
   1            LD   HL,filstrt        ;set pointers to start of file\par
   1            LD   HL,filstrt        ;insert default line          \par
   1            LD   HL,filstrt        ;find end of text             \par
   1            LD   HL,filstrt        ;else print complete text     \par
   1            LD   HL,filstrt                                      \par
   1            LD   HL,errm           ;"errors"                     \par
   1            LD   HL,codm           ;"code"                       \par
   1            LD   HL,cmesg                                        \par
   1            LD   HL,assm           ;"assembly"                   \par
   1            LD   HL,aser           ;point to "aborted"msge       \par
   1            LD   HL,5000                                         \par
   1            LD   HL,50             ;click                        \par
   1            LD   HL,22528          ;ATTR                         \par
   1            LD   HL,16             ;entry len                    \par
   1            LD   HL,127            ;reset find$, (c) + chr$0     \par
   1            LD   HL,127            ;find$ is default chr$ 127    \par
   1            LD   HL,1000           ;find = 1000                  \par
   1            LD   HL,(xpos)         ;save curspos. screen         \par
   1            LD   HL,(totlen)                                     \par
   1            LD   HL,(scrtop)       ;adjust scrtop line           \par
   1            LD   HL,(linpoint)     ;save curspos buffer          \par
   1            LD   HL,(linpoint)     ;in buffer                    \par
   1            LD   HL,(linpoint)     ;cursorpos. in buffer         \par
   1            LD   HL,(linpoint)                                   \par
   1            LD   HL,(findadd)      ;point into file              \par
   1            LD   HL,(filend)       ;delete empty lines           \par
   1            LD   HL,(filend)       ;adjust fileend               \par
   1            LD   HL,(filend)       ;BC =addr. of next line       \par
   1            LD   HL,(dumpa)        ;calc. length                 \par
   1            LD   HL,(curslin)      ;point into file              \par
   1            LD   HL,(curslin)      ;find line past bottom of scr.\par
   1            LD   HL,#B800          ;top left cursor coords       \par
   1            LD   HL,#B800          ;point to topleft pixelpos    \par
   1            LD   HL,#0214          ;repdel=20 , repper=2         \par
   1            LD   H,B               ;point to msge in BC          \par
   1            LD   H,A               ;HL points to pattern 1       \par
   1            LD   H,A               ;HL = 8 pixels down           \par
   1            LD   H,(HL)                                          \par
   1            LD   E,L               ;DE = linbuf pointer          \par
   1            LD   E,A               ;adjust linbuf pointer        \par
   1            LD   DE,ypos                                         \par
   1            LD   DE,symbtop -16    ;get top of table             \par
   1            LD   DE,linlast        ;move buffercontents          \par
   1            LD   DE,linlast                                      \par
   1            LD   DE,linbuf -1                                    \par
   1            LD   DE,linbuf         ;HL =last in linbuf           \par
   1            LD   DE,linbuf               \lang2057                               \lang1043                         \par
   1            LD   DE,linbuf                                       \par
   1            LD   DE,filstrt                                      \par
   1            LD   DE,16385                                        \par
   1            LD   DE,1                                            \par
   1            LD   DE,(sympo)        ;table start                                                     \par
   1            LD   DE,(sympo)        ;check if still in range                              \par
   1            LD   DE,(sympo)        ;add offset                         \par
   1            LD   DE,(linpoint)     ;pointer in buffer            \par
   1            LD   DE,(dumpf)                                      \par
   1            LD   DE,(curslin)      ;point into file              \par
   1            LD   DE,(curslin)      ;HL = old line length now     \par
   1            LD   DE,#F00F          ;two cursor-patterns          \par
   1            LD   D,H               ;HL = insert pointer          \par
   1            LD   D,E               ;choose pattern               \par
   1            LD   C,L               ;BC now holds leftside len a16           \par
   1            LD   C,L               ;BC = nextlin                 \par
   1            LD   C,L               ;BC = next line addr.         \par
   1            LD   C,E                                             \par
   1            LD   C,A               ;temp                     \par
   1            LD   C,A               ;store pixrow counter         \par
   1            LD   C,A               ;save token                   \par
   1            LD   C,A               ;calc addr of pattern         \par
   1            LD   C,32              ;move 32 bytes on each row    \par
   1            LD   C,32              ;move 32 bytes (1 line)       \par
   1            LD   C,224             ;point to next line           \par
   1            LD   C,224                                           \par
   1            LD   BC,warm           ;RETaddr.                     \par
   1            LD   BC,ferm           ;point to file-error-msge     \par
   1            LD   BC,begin                \lang2057                               \lang1043                         \par
   1            LD   BC,768                                          \par
   1            LD   BC,6144                                         \par
   1            LD   BC,32512                                        \par
   1            LD   BC,21                                           \par
   1            LD   BC,15             ;point to numbers, MSB                              \par
   1            LD   BC,(sympo)        ;print bottomaddr. of S-table \par
   1            LD   BC,(filend)       ;BC = merge addr.             \par
   1            LD   BC,(dumpf)        ;store-address                \par
   1            LD   BC,(curslin)      ;test cursorposition          \par
   1            LD   BC,#04FF          ;calc bufferpos. from scr.pos.\par
   1            LD   B,H               ;print length                 \par
   1            LD   B,H               ;incl. ENTER                  \par
   1            LD   B,H               ;DE = curslin                 \par
   1            LD   B,H               ;BC = nr. of bytes in 'tail'  \par
   1            LD   B,H               ;BC = length of block         \par
   1            LD   B,H               ;BC = length                  \par
   1            LD   B,D               ;BC = length of file          \par
   1            LD   B,A               ;save briefly, must be space now\par
   1            LD   B,A               ;retrieve ypos                \par
   1            LD   B,A               ;BC = addr. of pattern        \par
   1            LD   B,A               ;B = tokennr.                 \par
   1            LD   B,8               ;8 pixrows                    \par
   1            LD   B,6               ;delay                        \par
   1            LD   B,4               ;div by 16                    \par
   1            LD   B,24              ;calc 24 lines up             \par
   1            LD   B,24              ;calc 24 lines down           \par
   1            LD   B,16              ;entry len  \par
   1            LD   B,14              ;print 14 chars               \par
   1            LD   A,L                                             \par
   1            LD   A,H               ;bottom pixelrow              \par
   1            LD   A,H                                             \par
   1            LD   A,E                     \lang2057                               \lang1043                         \par
   1            LD   A,D               ;until 0                              \par
   1            LD   A,C               ;retrieve token               \par
   1            LD   A,C                                           \par
   1            LD   A,B\par
   1            LD   A,B                                             \par
   1            LD   A,8               ;adjust cursor                \par
   1            LD   A,8                                             \par
   1            LD   A,71              ;paper 0, ink 7, bright 1     \par
   1            LD   A,59              ;insert ';' here              \par
   1            LD   A,44              ;comma                        \par
   1            LD   A,35              ;inc hl!                      \par
   1            LD   A,35              ; #                           \par
   1            LD   A,34              ;comment TAB                  \par
   1            LD   A,32              ;spaces                       \par
   1            LD   A,32              ;space                        \par
   1            LD   A,32              ;change into space            \par
   1            LD   A,3               ;open #3                      \par
   1            LD   A,255                                           \par
   1            LD   A,2               ;use screen                   \par
   1            LD   A,2               ;open #2                      \par
   1            LD   A,191                                           \par
   1            LD   A,184             ;else restore top of screen   \par
   1            LD   A,16              ;next TAB                     \par
   1            LD   A,13              \lang2057 ;retrieve 'last line'         \lang1043                         \par
   1            LD   A,13              ;newline                      \par
   1            LD   A,13              ;maybe one?                   \par
   1            LD   A,127             ;error marker                 \par
   1            LD   A,127             ;calc tokennr.                \par
   1            LD   A,126             ;=blokmarker                  \par
   1            LD   A,126             ; blockmarker = chr$ 126      \par
   1            LD   A,11              ;TAB if token                 \par
   1            LD   A,0                                             \par
   1            LD   A,(ypos)          ;test for bottomline          \par
   1            LD   A,(ypos)          ;test for bottom of screen    \par
   1            LD   A,(ypos)          ;one line down                \par
   1            LD   A,(ypos)          ;count for 23 lines this way  \par
   1            LD   A,(ypos)          ;1 line down                  \par
   1            LD   A,(ypos)                                        \par
   1            LD   A,(xpos)                                        \par
   1            LD   A,(toggle)        ;sort names or numbers                              \par
   1            LD   A,(storevar)      ;retrieve cursorpos. flag     \par
   1            LD   A,(storevar +1)   ;retrieve command             \par
   1            LD   A,(stmt2flg)      ;test if ':' was found                 \par
   1            LD   A,(findtable)                                   \par
   1            LD   A,(filmax +1)     ;test room                    \par
   1            LD   A,(filmax +1)     ;new line, test for room      \par
   1            LD   A,(filmax +1)                                   \par
   1            LD   A,(errcnt)        ;test for errors              \par
   1            LD   A,(errcnt)                                      \par
   1            LD   A,(HL)            ;test end of file             \par
   1            LD   A,(HL)            ;linebuffer                   \par
   1            LD   A,(HL)            ;find end of line             \par
   1            LD   A,(HL)            ;fetch char from tokentable   \par
   1            LD   A,(DE)            ;test end of find$            \par
   1            LD   A,(DE)            ;retrieve char                \par
   1            LD   A,(DE)            ;now LSB                              \par
   1            LD   A,(DE)            ;fetch from linbuf            \par
   1            LD   A,(DE)            ;fetch char from linbuf       \par
   1            LD   A,(DE)            ;fetch again from linbuf      \par
   1            LD   A,(DE)            ;compare first char           \par
   1            LD   A,(DE)            ;MSB                             \par
   1            LD   A,(DE)            ;                      opcode \par
   1            LD   A,(DE)                              \par
   1            LD   A,(BC)            ;shift second pattern         \par
   1            LD   A,(23560)         ;get key                      \par
   1            LD   A,(23560)                                       \par
   1            LD   (ypos),A          ;restore ypos                 \par
   1            LD   (xpos),HL         ;in screen                    \par
   1            LD   (xpos),A          ;temp!                        \par
   1            LD   (xpos),A          ;restore xpos                 \par
   1            LD   (xpos),A          ;on screen                    \par
   1            LD   (xpos),A          ;line on screen               \par
   1            LD   (totlen),HL                                     \par
   1            LD   (toggle),A        ;preset the sort flag\par
   1            LD   (toggle),A        ;prep num sort                              \par
   1            LD   (sympo),HL                                      \par
   1            LD   (storevar),A                                    \par
   1            LD   (stmt2flg),A      ;signal ':' found            \par
   1            LD   (stmt2flg),A      ;leave spaces after ':'       \par
   1            LD   (scrtop),HL       ;store new top line addr.     \par
   1            LD   (linpoint),HL     ;store current addr. in buff  \par
   1            LD   (linpoint),HL     ;in linebuffer                \par
   1            LD   (linpoint),HL                                   \par
   1            LD   (linpoint),A      ;also to start of linebuffer  \par
   1            LD   (linlast +1),HL   ;ends with ENTER              \par
   1            LD   (findtable),HL    ;           chr$ 0 = endmarker\par
   1            LD   (findtable),HL                                  \par
   1            LD   (findadd),HL      ;store                        \par
   1            LD   (findadd),HL      ;reset filepointer            \par
   1            LD   (findadd),HL                                    \par
   1            LD   (filmax),HL                                     \par
   1            LD   (filend),HL       ;store end of text            \par
   1            LD   (filend),HL       ;adjust pointer               \par
   1            LD   (filend),DE       ;adjust pointer               \par
   1            LD   (curslin),HL      \lang2057 ;print 64 characters          \lang1043                         \par
   1            LD   (curslin),HL      ;point to topline             \par
   1            LD   (curslin),HL                                    \par
   1            LD   (curslin),DE                                    \par
   1            LD   (HL),A            ;insert marker                \par
   1            LD   (HL),A                                                 \par
   1            LD   (HL),32           ;else insert space            \par
   1            LD   (HL),32                                         \par
   1            LD   (HL),255          ;insert endmarker             \par
   1            LD   (HL),13           ;insert new line              \par
   1            LD   (HL),13           ;eol +eof                     \par
   1            LD   (HL),0                                          \par
   1            LD   (DE),A            ;8                            \par
   1            LD   (DE),A            ;7                            \par
   1            LD   (DE),A            ;6                            \par
   1            LD   (DE),A            ;5                            \par
   1            LD   (DE),A            ;4                            \par
   1            LD   (DE),A            ;3                            \par
   1            LD   (DE),A            ;2                            \par
   1            LD   (DE),A            ;1 move to screen             \par
   1            LD   (DE),A                                                 \par
   1            LD   (23697),A         ;Pflag                        \par
   1            LD   (23694),A         ;MASK-P                       \par
   1            LD   (23693),A         ;ATTR-P                       \par
   1            LD   (23624),A         ;border                       \par
   1            LD   (23624),A         ;BORDERCOL                    \par
   1            LD   (23561),HL                                      \par
   1            JR   wk0                                             \par
   1            JR   waitkey           ;editor loop                  \par
   1            JR   w3                                              \par
   1            JR   smt                                             \par
   1            JR   scrdw1                                          \par
   1            JR   rec1              ;to put a space on cursorpos. \par
   1            JR   printmsge                                       \par
   1            JR   pl2                                             \par
   1            JR   pc1                                             \par
   1            JR   nxt               ;try next token               \par
   1            JR   nxt               ;find end of token            \par
   1            JR   nxch              ;else skip them                   \par
   1            JR   notok +1          ;treat next char the normal   \par
   1            JR   ls4               ;do not print an adress       \par
   1            JR   ls1               ;loop                         \par
   1            JR   loop1             ;mainloop, split again                     \par
   1            JR   is1 +3                                          \par
   1            JR   hex               ;test next char for hex       \par
   1            JR   f7                ;print scr from addr in HL    \par
   1            JR   f7                ;cls,print scr from addr in HL\par
   1            JR   f6                                              \par
   1            JR   f1                ;cont searching in file       \par
   1            JR   extest                                          \par
   1            JR   clin              ;clear 1 line                 \par
   1            JR   char                                            \par
   1            JR   Z,wa              ;until new key pressed        \par
   1            JR   Z,w2              ;jp if found                  \par
   1            JR   Z,testsymb        ;sort names                              \par
   1            JR   Z,t2 -1           ;jp if end of table           \par
   1            JR   Z,t1                                            \par
   1            JR   Z,recsp           ;jp if 'delete space'         \par
   1            JR   Z,more            ;cont. if matching            \par
   1            JR   Z,ls6                                           \par
   1            JR   Z,isn             ;insert chars                 \par
   1            JR   Z,isln1           ;insert line into file        \par
   1            JR   Z,isln1           ;exit, inserting line         \par
   1            JR   Z,is1             ;jp if no 'tail'              \par
   1            JR   Z,insl1           ;jp if second lowest line     \par
   1            JR   Z,hex                                           \par
   1            JR   Z,g5                       \cf0                      \par
   1            JR   Z,first           ;jp if match                  \par
   1            JR   Z,f7              ;jp if start of file reached  \par
   1            JR   Z,f5              ;exit if end of find$         \par
   1            JR   Z,f4 +1           ;jp if so                     \par
   1            JR   Z,f4              ;jp if so                     \par
   1            JR   Z,f3              ;loop if matching             \par
   1            JR   Z,ex1                                           \par
   1            JR   Z,enter           ;13                           \par
   1            JR   Z,editor          ;exit if end of file          \par
   1            JR   Z,dellblok        ;delete old block             \par
   1            JR   Z,dell3           ;exit if last line in file    \par
   1            JR   Z,comment                                       \par
   1            JR   Z,comm1 -2        ;if ';' is first char         \par
   1            JR   Z,comm1           ;jp if (c)                    \par
   1            JR   Z,caps            ;6                            \par
   1            JR   Z,c1                                            \par
   1            JR   Z,bksp            ;backspace                    \par
   1            JR   Z,axi             ;jp if no errors              \par
   1            JR   NZ,wk0 -1         ;ignore other extended keys   \par
   1            JR   NZ,w5             ;cont. if not PRINT TEXT      \par
   1            JR   NZ,w4                   \lang2057                               \lang1043                         \par
   1            JR   NZ,w2 +1                                        \par
   1            JR   NZ,w1                                           \par
   1            JR   NZ,w0                                           \par
   1            JR   NZ,volger                                       \par
   1            JR   NZ,valend         ;jp if so                     \par
   1            JR   NZ,try            ;find next token if so        \par
   1            JR   NZ,trtok                                        \par
   1            JR   NZ,slo            ;next round                              \par
   1            JR   NZ,scrup2         ;8 pixrows to move            \par
   1            JR   NZ,scrup1         ;until init. A = 0            \par
   1            JR   NZ,scrdw2                                       \par
   1            JR   NZ,quote                                        \par
   1            JR   NZ,quo                                          \par
   1            JR   NZ,qo                                           \par
   1            JR   NZ,pl1                                          \par
   1            JR   NZ,noquote        ;test more                    \par
   1            JR   NZ,mb3                                          \par
   1            JR   NZ,mb2                                          \par
   1            JR   NZ,mb1                                          \par
   1            JR   NZ,lup                                          \par
   1            JR   NZ,ls3            ;jp if not                    \par
   1            JR   NZ,isln           ;jp if not                    \par
   1            JR   NZ,invaL          ;char of token, jp if not     \par
   1            JR   NZ,insert         ;insert spaces after ':'        \par
   1            JR   NZ,get            ;jp if key pressed            \par
   1            JR   NZ,g4                                           \par
   1            JR   NZ,g3                                           \par
   1            JR   NZ,g2                                           \par
   1            JR   NZ,g1                                           \par
   1            JR   NZ,f2             ;next if no match             \par
   1            JR   NZ,extest         ;stay only in loop when equal                                \par
   1            JR   NZ,extest                                        \par
   1            JR   NZ,ent1           ;jp if not end of file        \par
   1            JR   NZ,dok2                                         \par
   1            JR   NZ,dll            ;cont. until botlin +1 found  \par
   1            JR   NZ,dell2          ;jp if scroll needed          \par
   1            JR   NZ,dell1          ;jp if not end of text        \par
   1            JR   NZ,csd            ;jp if there is a next line   \par
   1            JR   NZ,comm1                                        \par
   1            JR   NZ,cl2                                          \par
   1            JR   NZ,blmerr         ;error if not found           \par
   1            JR   NZ,blkmark        ;graphics, insert blockmarker \par
   1            JR   NZ,bk1 +3         ;jp if <> space               \par
   1            JR   NZ,$+3                                          \par
   1            JR   NC,wm1            ;until screen full            \par
   1            JR   NC,vor1                                         \par
   1            JR   NC,udo1                                         \par
   1            JR   NC,token                                        \par
   1            JR   NC,t2 -1          ;more chars if not            \par
   1            JR   NC,notok          ;exit if too far in tokentable\par
   1            JR   NC,next           ;skip swap also when zero                              \par
   1            JR   NC,lsend          ;jp if ready                  \par
   1            JR   NC,ls5                                          \par
   1            JR   NC,loop3                                        \par
   1            JR   NC,loop2                                        \par
   1            JR   NC,isn            ;jp if so                     \par
   1            JR   NC,is2                                          \par
   1            JR   NC,insl2          ;jp if not on bottom          \par
   1            JR   NC,fc1            ;jp if so                     \par
   1            JR   NC,comm1 -2                                     \par
   1            JR   NC,char           ;jp with normal chars         \par
   1            JR   NC,big            ;cont. if room available      \par
   1            JR   C,w3              \lang2057 ;delete blockmarkers          \lang1043                         \par
   1            JR   C,vor2                                          \par
   1            JR   C,valtok          ;jp if end of opcode          \par
   1            JR   C,pc1                                           \par
   1            JR   C,nxch +1         ;exit if not                  \par
   1            JR   C,minlin          ;jp if new < old              \par
   1            JR   C,mb0             ;jp if cursor past block      \par
   1            JR   C,hxz1                                          \par
   1            JR   C,hex1                                          \par
   1            JR   C,ex2                                           \par
   1            JR   C,d1              ;jp if scroll needed          \par
   1            JR   C,cursex          ;jp if no room for line       \par
   1            JR   C,blmerr          ;error if no room             \par
   1            JR   C,bk1             ;jp if not last char on line  \par
   1            JR   C,$+3             ;only if pos. < 11            \par
   1            JP   wm1 -3            ;print screen  (in WARM)      \par
   1            JP   wait              ;to wait-key                  \par
   1            JP   wait                                            \par
   1            JP   udolin            ;print new line               \par
   1            JP   movelin           ;copy to screen               \par
   1            JP   mb4                     \lang2057                               \lang1043                         \par
   1            JP   entex             ;move line to scr +buf        \par
   1            JP   entex             ;move line to scr + buf       \par
   1            JP   begin             ;to menu                      \par
   1            JP   assemble          ;assemble                     \par
   1            JP   Z,warm            ;to existing text             \par
   1            JP   Z,warm            ; 2 = coming from 'find', to  \par
   1            JP   Z,symv            ;view symbols                 \par
   1            JP   Z,symt            ;print symbols                \par
   1            JP   Z,right           ;9                            \par
   1            JP   Z,pageup          ;5                            \par
   1            JP   Z,pagedown        ;4                            \par
   1            JP   Z,movblok         ;move block                   \par
   1            JP   Z,movblok         ;copy block                   \par
   1            JP   Z,left            ;8 cursor                     \par
   1            JP   Z,isln1           ;ready to insert into file    \par
   1            JP   Z,isln            ;jp if comment                \par
   1            JP   Z,isln            ;execute 'remark' without TAB \par
   1            JP   Z,isl             ;remark                       \par
   1            JP   Z,finds           ;7                            \par
   1            JP   Z,dellblok        ;delete block                 \par
   1            JP   Z,cursup          ;11                           \par
   1            JP   Z,cursex          ;jp if on first line          \par
   1            JP   Z,cursdown        ;10                           \par
   1            JP   Z,begin           ;ready if so                  \par
   1            JP   Z,begin           ;                first line   \par
   1            JP   Z,begin                 \lang2057                               \lang1043                         \par
   1            JP   NZ,wait           ;exit if errors               \par
   1            JP   NZ,wait                                         \par
   1            JP   NZ,printerr       ;jp if no endmarker found     \par
   1            JP   NZ,nxch           ;compress more if no quote    \par
   1            JP   NZ,blmerr         ;error if not found           \par
   1            JP   C,udolin          ;jp if still on screen        \par
   1            JP   C,ifex            ;jp if no room                \par
   1            JP   C,ifex                                          \par
   1            JP   C,cursex          ;jp if no room                \par
   1            JP   C,blmerr -2       ;error if inside block        \par
   1            JP   7088              ;basic                        \par
   1            INC  L                 ;next pattern1                \par
   1            INC  HL                ;next char in tokentable      \par
   1            INC  HL                ;move trailing chars into     \par
   1            INC  HL                ;insert ENTER                 \par
   1            INC  HL                                     \par
   1            INC  H                                               \par
   1            INC  E                 \lang2057 ;test 64                      \lang1043                         \par
   1            INC  E                 ;insert one space after token \par
   1            INC  D                 ;next pixrow, 1 down          \par
   1            INC  C                 ;next pattern2                \par
   1            INC  BC                ;take endmarker into account  \par
   1            INC  BC                ;nr of bytes to move          \par
   1            INC  BC                ;BC = length                  \par
   1            INC  B                                               \par
   1            INC  A                 ;test for 255 = end of file   \par
   1            INC  A                 ;test for 255                 \par
   1            INC  A                 ;test end of file (255)       \par
   1            INC  A                 ;count for 8 pixelrows        \par
   1            INC  A                 ;(255)                        \par
   1            INC  (HL)                                            \par
   1            HALT                   ;delay                        \par
   1            EX   DE,HL             ;use 1th marker               \par
   1            EX   DE,HL             ;on last line simply insert   \par
   1            EX   DE,HL             ;get startmarker              \par
   1            EX   DE,HL             ;de = nr of entries           \par
   1            EX   DE,HL             ;cursor in deleted lines?     \par
   1            EX   DE,HL             ;DE points to linebuffer      \par
   1            EX   DE,HL             ;DE = end of old line         \par
   1            EX   AF,AF'            ;save flag                    \par
   1            EX   AF,AF'            ;get key                      \par
   1            EX   (SP),HL           ;store old length             \par
   1            EX   (SP),HL           ;old r.pntr in HL                              \par
   1            EX   (SP),HL           ;HL = length                  \par
   1            EX   (SP),HL           ;HL = addr. of next line      \par
   1            EX   (SP),HL                                         \par
   1            DUMP 0                                               \par
   1            DJNZ wk1                                             \par
   1            DJNZ t1                ;exit with HL pointing        \par
   1            DJNZ swl                                           \par
   1            DJNZ pu                                              \par
   1            DJNZ pd                                              \par
   1            DJNZ nxtchar                                        \par
   1            DJNZ ls2               ;loop                         \par
   1            DJNZ divloop                                         \par
   1            DJNZ cl1               ;next pixrow                  \par
   1            DEFM "XO" :DEFB "R" +128                              \par
   1            DEFM "SU" :DEFB "B" +128                              \par
   1            DEFM "SR" :DEFB "L" +128                              \par
   1            DEFM "SR" :DEFB "A" +128                              \par
   1            DEFM "SL" :DEFB "A" +128                              \par
   1            DEFM "SE" :DEFB "T" +128                              \par
   1            DEFM "SC" :DEFB "F" +128 ;   220                      \par
   1            DEFM "SB" :DEFB "C" +128                              \par
   1            DEFM "S"  :DEFB "P" +128                               \par
   1            DEFM "RS" :DEFB "T" +128                              \par
   1            DEFM "RRC":DEFB "A" +128                             \par
   1            DEFM "RR" :DEFB "D" +128                              \par
   1            DEFM "RR" :DEFB "C" +128                              \par
   1            DEFM "RR" :DEFB "A" +128                              \par
   1            DEFM "RLC":DEFB "A" +128                             \par
   1            DEFM "RL" :DEFB "D" +128                              \par
   1            DEFM "RL" :DEFB "C" +128 ;   210                      \par
   1            DEFM "RL" :DEFB "A" +128                              \par
   1            DEFM "RET":DEFB "N" +128                             \par
   1            DEFM "RET":DEFB "I" +128                             \par
   1            DEFM "RE" :DEFB "T" +128                              \par
   1            DEFM "RE" :DEFB "S" +128                              \par
   1            DEFM "R"  :DEFB "R" +128                                \par
   1            DEFM "R"  :DEFB "L" +128                               \par
   1            DEFM "Press..."                                      \par
   1            DEFM "PUS":DEFB "H" +128                             \par
   1            DEFM "PO" :DEFB "P" +128                              \par
   1            DEFM "P"  :DEFB "O" +128 ;    200                      \par
   1            DEFM "P"  :DEFB "E" +128                               \par
   1            DEFM "OUT":DEFB "I" +128                             \par
   1            DEFM "OUT":DEFB "D" +128                             \par
   1            DEFM "OU" :DEFB "T" +128                              \par
   1            DEFM "OTI":DEFB "R" +128                             \par
   1            DEFM "OTD":DEFB "R" +128                             \par
   1            DEFM "OR" :DEFB "G" +128                              \par
   1            DEFM "O"  :DEFB "R" +128                               \par
   1            DEFM "NO" :DEFB "P" +128                              \par
   1            DEFM "NE" :DEFB "G" +128                              \par
   1            DEFM "N"  :DEFB "Z" +128 ;    190                      \par
   1            DEFM "N"  :DEFB "V" +128                               \par
   1            DEFM "N"  :DEFB "C" +128                               \par
   1            DEFM "Merge: "                                      \par
   1            DEFM "LDI":DEFB "R" +128                             \par
   1            DEFM "LDD":DEFB "R" +128                              \par
   1            DEFM "LD" :DEFB "I" +128                               \par
   1            DEFM "LD" :DEFB "D" +128                              \par
   1            DEFM "L"  :DEFB "D" +128 ;    180                      \par
   1            DEFM "J"  :DEFB "R" +128                                \par
   1            DEFM "J"  :DEFB "P" +128                                \par
   1            DEFM "INI":DEFB "R" +128                              \par
   1            DEFM "IND":DEFB "R" +128                              \par
   1            DEFM "INCLUD" :DEFB 197 ;    170                      \par
   1            DEFM "IN" :DEFB "I" +128                               \par
   1            DEFM "IN" :DEFB "D" +128                               \par
   1            DEFM "IN" :DEFB "C" +128                               \par
   1            DEFM "I"  :DEFB "Y" +128                                \par
   1            DEFM "I"  :DEFB "X" +128                                \par
   1            DEFM "I"  :DEFB "N" +128                                \par
   1            DEFM "I"  :DEFB "M" +128                                \par
   1            DEFM "HAL":DEFB "T" +128                              \par
   1            DEFM "H"  :DEFB "L" +128                                \par
   1            DEFM "File : 32768,"  ; 15th                        \par
   1            DEFM "EX" :DEFB "X" +128                               \par
   1            DEFM "ERRO" :DEFB128 +82                             \par
   1            DEFM "EQ" :DEFB "U" +128 ;    160                     \par
   1            DEFM "EN" :DEFB "D" +128                               \par
   1            DEFM "E"  :DEFB "X" +128                                \par
   1            DEFM "E"  :DEFB "I" +128                                \par
   1            DEFM "DUM":DEFB "P" +128                              \par
   1            DEFM "DJN":DEFB "Z" +128                              \par
   1            DEFM "DEF":DEFB "W" +128                              \par
   1            DEFM "DEF":DEFB "S" +128                              \par
   1            DEFM "DEF":DEFB "M" +128                              \par
   1            DEFM "DEF":DEFB "B" +128      ;150                     \par
   1            DEFM "DE" :DEFB "C" +128                               \par
   1            DEFM "DA" :DEFB "A" +128                               \par
   1            DEFM "D"  :DEFB "I" +128                                \par
   1            DEFM "D"  :DEFB "E" +128                                \par
   1            DEFM "CPI":DEFB "R" +128                              \par
   1            DEFM "CPD":DEFB "R" +128                              \par
   1            DEFM "CP" :DEFB "L" +128                               \par
   1            DEFM "CP" :DEFB "I" +128                               \par
   1            DEFM "CP" :DEFB "D" +128                               \par
   1            DEFM "CODE AT: "                                     \par
   1            DEFM "CC" :DEFB "F" +128                               \par
   1            DEFM "CAL":DEFB "L" +128                              \par
   1            DEFM "C"  :DEFB "P" +128       ;140                      \par
   1            DEFM "BI" :DEFB "T" +128                               \par
   1            DEFM "B"  :DEFB "C" +128                               \par
   1            DEFM "AN" :DEFB "D" +128                              \par
   1            DEFM "AD" :DEFB "D" +128                              \par
   1            DEFM "AD" :DEFB "C" +128                              \par
   1            DEFM "* TORNADO Z-80 assembler  HC2k *"              \par
   1            DEFM " - 65520"                                      \par
   1            DEFM " * TORNADO *"                                  \par
   1            DEFM "   V = View symbols" : DEFB 13                    \par
   1            DEFM "   T = Print symbols": DEFB 13                   \par
   1            DEFM "   S = Save text" :    DEFB 13                      \par
   1            DEFM "   P = Print text" :   DEFB 13                      \par
   1            DEFM "   O = To editor" :    DEFB 13                       \par
   1            DEFM "   N = New text" :     DEFB 13                        \par
   1            DEFM "   M = Move block" :   DEFB 13                     \par
   1            DEFM "   L = Load text" :    DEFB 13                      \par
   1            DEFM "   F = Find text" :    DEFB 13                       \par
   1            DEFM "   C = Copy block" :   DEFB 13                     \par
   1            DEFM "   B = TO BASIC"                               \par
   1            DEFM "   A = Assemble" :     DEFB 13                        \par
   1            DEFB 6                                               \par
   1            DEFB 255,13                                          \par
   1            DEFB 255               ;endmarker                    \par
   1            DEFB 20,0,13,13                         \cf0           \par
   1            DEFB 192,96,48,80,80,48,96,192                       \par
   1            DEFB 13,13,255                                       \par
   1            DEFB 13,13                                           \par
   1            DEFB 0,96,80,96,80,80,96,0    ;B                        \par
   1            DEFB 0,96,80,80,96,96,80,0    ;R                        \par
   1            DEFB 0,96,80,80,96,64,64,0    ;P                        \par
   1            DEFB 0,96,80,80,80,80,96,0    ;D                        \par
   1            DEFB 0,96,80,80,80,80,80,0    ;N                        \par
   1            DEFB 0,96,32,16,32,32,96,0                           \par
   1            DEFB 0,96,16,32,64,0,64,0     ;?                         \par
   1            DEFB 0,96,16,32,16,16,96,0    ;3                        \par
   1            DEFB 0,80,96,96,96,80,80,0    ;K                        \par
   1            DEFB 0,80,80,80,80,80,32,0    ;U                        \par
   1            DEFB 0,80,80,80,80,32,32,0    ;V                        \par
   1            DEFB 0,80,80,80,80,112,32,0   ;W                       \par
   1            DEFB 0,80,80,32,32,80,80,0    ;X                        \par
   1            DEFB 0,80,80,32,32,32,32,0    ;Y                        \par
   1            DEFB 0,80,80,112,80,80,80,0   ;H                       \par
   1            DEFB 0,80,80,0,0,0,0,0                               \par
   1            DEFB 0,80,112,80,80,80,80,0   ;M                       \par
   1            DEFB 0,64,96,80,80,80,96,0   ;b                        \par
   1            DEFB 0,64,96,80,80,80,80,0   ;h                        \par
   1            DEFB 0,64,80,96,96,80,80,0   ;k                        \par
   1            DEFB 0,64,80,32,64,16,16,0                           \par
   1            DEFB 0,64,64,64,64,64,48,0   ;l                        \par
   1            DEFB 0,64,64,64,64,64,112,0   ;L                       \par
   1            DEFB 0,64,32,32,32,32,64,0                           \par
   1            DEFB 0,48,64,96,64,64,64,0   ;f                        \par
   1            DEFB 0,48,64,96,64,64,112,0                          \par
   1            DEFB 0,48,64,32,16,16,96,0    ;S                        \par
   1            DEFB 0,48,32,64,32,32,48,0                           \par
   1            DEFB 0,32,96,32,32,32,112,0   ;1                       \par
   1            DEFB 0,32,80,80,80,80,32,0    ;O                        \par
   1            DEFB 0,32,80,80,80,112,48,0   ;Q                       \par
   1            DEFB 0,32,80,80,48,16,32,0    ;9                        \par
   1            DEFB 0,32,80,80,112,80,80,0   ;A                       \par
   1            DEFB 0,32,80,64,64,80,32,0    ;C                        \par
   1            DEFB 0,32,80,64,112,80,32,0   ;G                       \par
   1            DEFB 0,32,80,32,80,80,32,0    ;8                        \par
   1            DEFB 0,32,80,16,32,64,112,0   ;2                       \par
   1            DEFB 0,32,80,112,112,80,32,0  ;0                      \par
   1            DEFB 0,32,80,112,112,64,32,0  ;@                      \par
   1            DEFB 0,32,64,96,80,80,32,0    ;6                        \par
   1            DEFB 0,32,64,64,64,64,32,0                           \par
   1            DEFB 0,32,64,0,0,0,0,0                               \par
   1            DEFB 0,32,32,32,32,32,32,0                           \par
   1            DEFB 0,32,32,32,32,0,32,0                            \par
   1            DEFB 0,32,112,96,112,48,112,32                       \par
   1            DEFB 0,32,112,32,32,32,32,0                          \par
   1            DEFB 0,32,112,32,32,32,16,0  ;t                       \par
   1            DEFB 0,32,0,96,32,32,112,0   ;i                        \par
   1            DEFB 0,16,48,80,80,80,48,0   ;d                        \par
   1            DEFB 0,16,32,16,32,64,48,0                           \par
   1            DEFB 0,16,16,48,80,112,16,0   ;4                       \par
   1            DEFB 0,16,16,16,80,80,32,0    ;J                        \par
   1            DEFB 0,16,0,16,16,16,80,32   ;j                        \par
   1            DEFB 0,112,64,96,64,64,64,0   ;F                       \par
   1            DEFB 0,112,64,96,64,64,112,0  ;E                      \par
   1            DEFB 0,112,64,96,16,80,32,0   ;5                       \par
   1            DEFB 0,112,64,64,64,64,112,0                         \par
   1            DEFB 0,112,32,32,32,32,32,0   ;T                       \par
   1            DEFB 0,112,32,32,32,32,112,0  ;I                      \par
   1            DEFB 0,112,16,32,64,64,112,0  ;Z                      \par
   1            DEFB 0,112,16,16,32,64,64,0   ;7                       \par
   1            DEFB 0,112,16,16,16,16,112,0                         \par
   1            DEFB 0,0,96,80,80,96,64,64   ;p                        \par
   1            DEFB 0,0,96,80,80,80,80,0    ;n                         \par
   1            DEFB 0,0,80,80,80,96,32,0    ;v                         \par
   1            DEFB 0,0,80,80,80,80,48,0    ;u                         \par
   1            DEFB 0,0,80,80,80,48,16,32   ;y                        \par
   1            DEFB 0,0,80,80,80,112,32,0   ;w                        \par
   1            DEFB 0,0,80,32,32,32,80,0    ;x                         \par
   1            DEFB 0,0,80,32,112,32,80,0                           \par
   1            DEFB 0,0,80,112,80,80,80,0   ;m                        \par
   1            DEFB 0,0,80,112,80,112,80,0                          \par
   1            DEFB 0,0,64,32,16,32,64,0     ;>                         \par
   1            DEFB 0,0,48,80,80,48,16,16   ;q                        \par
   1            DEFB 0,0,48,80,80,112,16,96  ;g                       \par
   1            DEFB 0,0,48,64,64,64,64,0    ;r                         \par
   1            DEFB 0,0,48,64,64,64,48,0    ;c                         \par
   1            DEFB 0,0,48,64,32,16,96,0    ;s                         \par
   1            DEFB 0,0,32,80,80,80,32,0    ;o                        \par
   1            DEFB 0,0,32,80,112,64,48,0   ;e                        \par
   1            DEFB 0,0,32,32,112,32,32,0                           \par
   1            DEFB 0,0,32,16,48,80,112,0   ;a                        \par
   1            DEFB 0,0,16,32,64,32,16,0     ;<                         \par
   1            DEFB 0,0,112,16,32,64,112,0  ;z                       \par
   1            DEFB 0,0,0,64,32,16,0,0                              \par
   1            DEFB 0,0,0,32,0,0,32,64       ;;                           \par
   1            DEFB 0,0,0,32,0,0,32,0        ;:                            \par
   1            DEFB 0,0,0,16,32,64,0,0                              \par
   1            DEFB 0,0,0,112,0,112,0,0      ;=                          \par
   1            DEFB 0,0,0,0,112,0,0,0                               \par
   1            DEFB 0,0,0,0,0,96,96,0                               \par
   1            DEFB 0,0,0,0,0,32,32,64                              \par
   1            DEFB 0,0,0,0,0,0,0,240                               \par
   1            DEFB "Z" +128          ;    229                      \par
   1            DEFB "V" +128                                        \par
   1            DEFB "R" +128                                        \par
   1            DEFB "P" +128                                        \par
   1            DEFB "M" +128                                        \par
   1            DEFB "L" +128                                        \par
   1            DEFB "I" +128                                        \par
   1            DEFB "H" +128                                        \par
   1            DEFB "E" +128                                        \par
   1            DEFB "D" +128                                        \par
   1            DEFB "C" +128                                        \par
   1            DEFB "B" +128                                        \par
   1            DEFB "A" +128                ;128                      \par
   1            DEFB "A"  :DEFB "F" :DEFB 39 +128 ;AF'                \par
   1            DEFB "A"  :DEFB "F" +128                               \par
   1            DEC  HL                ;if any at end of file        \par
   1            DEC  DE                ;to curslin                   \par
   1            DEC  DE                ;prepare for loop             \par
   1            DEC  DE                ;cont if equal                              \par
   1            DEC  DE                ;adjust linbufpntr            \par
   1            DEC  DE                ;adjust end of file           \par
   1            DEC  DE                ;adjust cursoraddr. if nec.   \par
   1            DEC  DE                ;DE = end of text             \par
   1            DEC  DE                ;                 last line   \par
   1            DEC  D                 ;adjust high byte when needed \par
   1            DEC  (HL)                                            \par
   1            CPIR                   ;find                         \par
   1            CPIR                   ;cont. search                 \par
   1            CPIR                                                 \par
   1            CP   E                 ;if possible                  \par
   1            CP   E                                               \par
   1            CP   95                                              \par
   1            CP   91                                              \par
   1            CP   8                                               \par
   1            CP   64                ;test for linbuf full         \par
   1            CP   63                                              \par
   1            CP   58                                              \par
   1            CP   48                                              \par
   1            CP   43                ;test 'INCLUDE'               \par
   1            CP   34                ;test for second quote        \par
   1            CP   34                ;search for second quote      \par
   1            CP   34                ;quote                        \par
   1            CP   34                ;no tokenizing inside quotes  \par
   1            CP   33                ;test space e.o.              \par
   1            CP   32                ;skip spaces                  \par
   1            CP   32                                              \par
   1            CP   3                 ;was it printer               \par
   1            CP   255                                             \par
   1            CP   2                 ; 1 = coldstart, default line \par
   1            CP   199               ;test command <=              \par
   1            CP   197               ;'OR'                         \par
   1            CP   185               ;test for top of screen       \par
   1            CP   14                ;test enter                   \par
   1            CP   13                ;until end of line            \par
   1            CP   13                ;if end of line               \par
   1            CP   (HL)              ;test other char              \par
   1            CP   (HL)                                            \par
   1            CP   "Z" +1            ;convert chars to caps        \par
   1            CP   "V"                                             \par
   1            CP   "S"                                             \par
   1            CP   "P"                                             \par
   1            CP   "N"                                             \par
   1            CP   "L"                                             \par
   1            CP   "F"                                             \par
   1            CP   "D"                                             \par
   1            CP   "B"                                             \par
   1            CP   "%"               ;binair                       \par
   1            CP   "#"               ;hex                          \par
   1            CALL vorige +3         ;find start of block          \par
   1            CALL vorige                                          \par
   1            CALL volger            ;result in HL                 \par
   1            CALL volger            ;make HL point to start of    \par
   1            CALL volger            ;get start of next line       \par
   1            CALL volger            ;find end of line             \par
   1            CALL volger            ;find end of block            \par
   1            CALL volgende          ;next line in file            \par
   1            CALL volgende          ;find start of next line      \par
   1            CALL volgende                \lang2057                               \lang1043                         \par
   1            CALL testa             ;test last char for alphanum  \par
   1            CALL testa             ;test for alphanumeric        \par
   1            CALL testa             ;alphanum (!)                 \par
   1            CALL test              ;compare two entries                  \par
   1            CALL swap              ;also exchanges DE and HL!                                     \par
   1            CALL storelin          ;store current line if nec.   \par
   1            CALL scrup             ;scroll 1 line up             \par
   1            CALL scrdw             ;scroll down                  \par
   1            CALL prmenu                                          \par
   1            CALL prlin             ;and reprint                  \par
   1            CALL prlin                                           \par
   1            CALL printmsge         ;print 'file + merge' msge    \par
   1            CALL movelin           ;store line + reprint         \par
   1            CALL movelin           ;copy to screen               \par
   1            CALL movelin           ;and to scr.                  \par
   1            CALL mkroom            ;make room for block          \par
   1            CALL mb5               ;delete second marker at HL   \par
   1            CALL koud              ;prepare for new text         \par
   1            CALL inssp             ;insert space                 \par
   1            CALL inssp             ;delete space                 \par
   1            CALL insline                                         \par
   1            CALL insfile           ;make room or reclaim in file \par
   1            CALL hxz                                             \par
   1            CALL getblmark         ;test for 2 blockmarkers      \par
   1            CALL findcomp          ;compare char                 \par
   1            CALL findcomp                                        \par
   1            CALL expandlin +3      ;move this line into linbuf   \par
   1            CALL expandlin               \lang2057                               \lang1043                         \par
   1            CALL expandlin                                       \par
   1            CALL entex             ;copy also to linebuffer      \par
   1            CALL down              ;on screen                    \par
   1            CALL down              ;move cursor down or screen up\par
   1            CALL dellsub           ;delete block                 \par
   1            CALL delline                                         \par
   1            CALL cursdown          ;move cursor                  \par
   1            CALL cursdown                                        \par
   1            CALL compln            ;else compress + store        \par
   1            CALL cls                                             \par
   1            CALL clin              ;cls botlin                   \par
   1            CALL calc +3           ;calc this rowaddr.           \par
   1            CALL calc +3           ;calc scraddr. from A and B   \par
   1            CALL calc +3           ;calc 1 line down addr.       \par
   1            CALL calc +3                                         \par
   1            CALL calc              ;calc screenpos               \par
   1            CALL bigline           ;make room                    \par
   1            CALL Z,vorige +3       ;prev. line if (c) =error     \par
   1            CALL Z,clin            ;if so, clear botlin          \par
   1            CALL NZ,koud                                         \par
   1            CALL NZ,dokey          ;call if valid key            \par
   1            CALL NZ,cursor         ;unprint cursor if 'on'       \par
   1            CALL 5633              ;open #                       \par
   1            CALL 3435              ;do cls                       \par
   1            CALL 11563             ;print number of errors       \par
   1            CALL 11563             ;print length of text         \par
   1            CALL 11563             ;print decimal in BC          \par
   1            BIT  7,C               ;test 'undefined'             \par
   1            BIT  7,A                                             \par
   1            BIT  7,(HL)            ;test for 1-char token        \par
   1            AND  A                 \par
   1            AND  A                 ;test for botlin              \par
   1            AND  A                 ;now DE= new fileend, HL = old\par
   1            AND  A                 ;NC = no error                \par
   1            AND  A                 ;                        text \par
   1            AND  A                       \lang2057                               \lang1043                         \par
   1            AND  7                 ;counter in lower bits        \par
   1            AND  7                                               \par
   1            AND  56                                              \par
   1            AND  4                                               \par
   1            AND  31                ;test for 64 chars (4 pix)    \par
   1            AND  31                ;32 bytes                     \par
   1            AND  24                                              \par
   1            AND  223               ;use CAPS                     \par
   1            AND  223               ;take CAPS into account       \par
   1            AND  223                                             \par
   1            AND  191               \lang2057 ;finish with ENTER            \lang1043                         \par
   1            AND  127               ;no more match, test for last \par
   1            AND  127               ;move chars into linbuf       \par
   1            ADD  HL,HL             ;x 16 (len of entry)                         \par
   1            ADD  HL,HL             ;save = 4000                  \par
   1            ADD  HL,HL             ;merge = 8000                 \par
   1            ADD  HL,HL             ;load = 2000                  \par
   1            ADD  HL,DE             ;undo the SBC                              \par
   1            ADD  HL,DE             ;test for maxfile             \par
   1            ADD  HL,DE             ;restore HL                   \par
   1            ADD  HL,DE             ;point to next entry                   \par
   1            ADD  HL,DE             ;new r.pntr                               \par
   1            ADD  HL,DE                                     \par
   1            ADD  HL,BC             ;point to next line           \par
   1            ADD  HL,BC             ;find next rowaddr            \par
   1            ADD  HL,BC             ;add 'room' if necessary      \par
   1            ADD  A,B                                             \par
   1            ADD  A,A               ;test end of token            \par
   1            ADD  A,48                                            \par
   1            ADD  A,4                                             \par
   1            ADD  A,(HL)            ;add first pattern            \par
   1                                   ;move cursor and ret          \par
   1                                   ;len=33                BASIC  \par
   1                                   ;delete line now              \par
   1                                   ;           to Bth token      \par
   1                                   ;                  = not found\par
   1                                   ;                        way  \par
   1                                              \par