                          1 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          2 ;
                          3 ;        *********
                          4 ;        *       *
                          5 ;        * ENTER *
                          6 ;        *       *
                          7 ;        *********
                          8 ;
                          9          SHORT   F              ;DTACK ZERO PAGE
                         10 ;
00001094:                11 VECT14   EQU     $1094          ;USED FOR TESTING
                         12 ;
00001600:                13 BUFFER   EQU     $1600
00001700:                14 TEMPB    EQU     $1700
00001800:                15 WRKBUF   EQU     $1800
00001600:                16 LINBUF   EQU     BUFFER
                         17 ;
000014FE:                18 FORSTK   EQU     $14FE          ;$1400 - $14FF
00001500:                19 INDEX    EQU     $1500
00001504:                20 INSADR   EQU     $1504
00001508:                21 SFLAG    EQU     $1508
0000150C:                22 MADR     EQU     $150C
00001510:                23 PMTPOS   EQU     $1510
00001514:                24 WRKADR   EQU     $1514
00001516:                25 NUMWDS   EQU     $1516
00001518:                26 KBTEST   EQU     $1518
0000151A:                27 LBLTEMP  EQU     $151A          ;LONG WORD
0000151A:                28 COND     EQU     LBLTEMP        ;SHARED REG
0000151A:                29 COUNT    EQU     LBLTEMP        ;SHARED REG
0000151C:                30 TBUFE    EQU     $151C          ;BYTE
0000151D:                31 TLINE    EQU     $151D          ;BYTE
0000151E:                32 BUFR1    EQU     $151E          ;BYTE
00001530:                33 CTLCFLG  EQU     $1530
00001532:                34 TXTLEN   EQU     $1532
00001534:                35 PARM1    EQU     $1534
00001536:                36 PARM2    EQU     $1536
00001538:                37 TEMP     EQU     $1538
                         38 ;
00001540:                39 LINE     EQU     $1540
00001542:                40 COLUMN   EQU     $1542
00001546:                41 SSFFLGS  EQU     $1546          ;LONG WORD PARM
                         42 ;
0000154A:                43 EDTLN    EQU     $154A
0000154C:                44 NLINES   EQU     $154C
0000154E:                45 STMTCNT  EQU     $154E          ;STATEMENTS/LINE
00001552:                46 SOBLCK   EQU     $1552          ;START OF MEM BLC
00001556:                47 EOBLCK   EQU     $1556          ;END OF MEM BLC
0000155A:                48 CDESIZE  EQU     $155A          ;HALGOL CODE SIZE
                         49 ;
00001580:                50 SOH      EQU     $1580          ;HALGOL OBJ CODE
00001584:                51 EOH      EQU     SOH+4
                         52 ;
00001588:                53 SOLN     EQU     SOH+8          ;LINE # TBL
0000158C:                54 EOLN     EQU     SOLN+4
                         55 ;
00001590:                56 SOLA     EQU     SOLN+8         ;LINE ADDRESS TBL
00001594:                57 EOLA     EQU     SOLA+4
                         58 ;
                         60 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         61 ;
00001598:                62 SOLBN    EQU     SOLA+8         ;LABEL NAME TBL
0000159C:                63 EOLBN    EQU     SOLBN+4
                         64 ;
000015A0:                65 SOLBA    EQU     SOLBN+8        ;LABEL ADDRESS TBL
000015A4:                66 EOLBA    EQU     SOLBA+4
                         67 ;
000015A8:                68 SOIN     EQU     SOLBA+8        ;INTEGER NAME TBL
000015AC:                69 EOIN     EQU     SOIN+4
                         70 ;
000015B0:                71 SOCN     EQU     SOIN+8         ;CONST NAME TBL
000015B4:                72 EOCN     EQU     SOCN+4
                         73 ;
000015B8:                74 SOC      EQU     SOCN+8         ;CONST VALUE TBL
000015BC:                75 EOC      EQU     SOC+4
                         76 ;
000015C0:                77 SOVN     EQU     SOC+8          ;VAR NAME TBL
000015C4:                78 EOVN     EQU     SOVN+4
                         79 ;
000015C8:                80 SOAN     EQU     SOVN+8         ;ARRAY NAME TBL
000015CC:                81 EOAN     EQU     SOAN+4
                         82 ;
000015D0:                83 SOADT    EQU     SOAN+8         ;ARY DESCRIPTR TBL
000015D4:                84 EOADT    EQU     SOADT+4
                         85 ;
000015D8:                86 SOI      EQU     SOADT+8        ;INT VALUE TBL
000015DC:                87 EOI      EQU     SOI+4
                         88 ;
000015E0:                89 SOV      EQU     SOI+8          ;VAR VALUE TBL
000015E4:                90 EOV      EQU     SOV+4
                         91 ;
000015E8:                92 SOA      EQU     SOV+8          ;ARRAY VALUE TBL
000015EC:                93 EOA      EQU     SOA+4
                         94 ;
00001900:                95 MODE     EQU     $1900
00001902:                96 S1       EQU     $1902
0000191A:                97 FPU      EQU     $191A
00001F80:                98 CHRMSK   EQU     $1F80          ;DUMMY OFFSET -128
00002080:                99 TBLA     EQU     $2080
000020B0:               100 LISTER   EQU     $20B0
000020B4:               101 PRINTER  EQU     LISTER+4
000020B8:               102 SYSOUT   EQU     LISTER+8
000020BC:               103 ACTIVE   EQU     LISTER+12
                        104 ;
00003600:               105 ACTTBL   EQU     $3600
000036E0:               106 ACTTBL2  EQU     $36E0
000037C0:               107 BEGIN    EQU     $37C0
000037E8:               108 KEY1     EQU     $37E8
                        109 ;

                        111 ; COPYIGHT 1984 DIGITAL ACOUSTICS INC
                        112 ;
000020C0:               113 JV1      EQU     $20C0          ;DISK 1 JUMP TBL
000020C0:               114 FPADD    EQU     JV1
000020C4:               115 CPFP1M   EQU     FPADD+4
000020C8:               116 CPFPOS   EQU     CPFP1M+4
000020CC:               117 PRNTFP   EQU     CPFPOS+4
000020D0:               118 PRSTRM   EQU     PRNTFP+4
000020D4:               119 NUMEVAL  EQU     PRSTRM+4
000020D8:               120 HPTBL    EQU     NUMEVAL+4
                        121 ;
00003A00:               122 JV2      EQU     $3A00          ;DISK 2 JUMP TBL
00003A00:               123 LBLADR   EQU     JV2
00003A04:               124 ASSIGN   EQU     LBLADR+4
00003A08:               125 END      EQU     ASSIGN+4
00003A0C:               126 INPUTS   EQU     END+4
00003A10:               127 PRINTCR  EQU     INPUTS+4
00003A14:               128 PRINTS   EQU     PRINTCR+4
00003A18:               129 PRINTSV  EQU     PRINTS+4
00003A1C:               130 FLIN1    EQU     PRINTSV+4
00003A20:               131 VTABC    EQU     FLIN1+4
00003A24:               132 HTABC    EQU     VTABC+4
00003A28:               133 CMD0     EQU     HTABC+4
00003A2C:               134 CMD1     EQU     CMD0+4
00003A30:               135 READKB   EQU     CMD1+4
00003A34:               136 BELL     EQU     READKB+4
00003A38:               137 CMD4     EQU     BELL+4
00003A3C:               138 CMD5     EQU     CMD4+4
00003A40:               139 CMD6     EQU     CMD5+4
00003A44:               140 CMD7     EQU     CMD6+4
00003A48:               141 CMD8     EQU     CMD7+4
00003A4C:               142 CMD9     EQU     CMD8+4
00003A50:               143 SETCSR   EQU     CMD9+4
00003A54:               144 CLRCSR   EQU     SETCSR+4
00003A58:               145 GETKEY   EQU     CLRCSR+4
00003A5C:               146 CLRKB    EQU     GETKEY+4
00003A60:               147 ECHO     EQU     CLRKB+4
00003A64:               148 CLRCRT   EQU     ECHO+4
00003A68:               149 PRNTVAR  EQU     CLRCRT+4
00003A6C:               150 PASCSTR  EQU     PRNTVAR+4
00003A70:               151 GETINDX  EQU     PASCSTR+4
00003A74:               152 LISTKEY  EQU     GETINDX+4
00003A78:               153 PRNTSTR  EQU     LISTKEY+4
00003A7C:               154 LASSIGN  EQU     PRNTSTR+4
00003A80:               155 PRHEX4   EQU     LASSIGN+4
00003A84:               156 PRHEX2   EQU     PRHEX4+4
00003A88:               157 LINFEED  EQU     PRHEX2+4
00003A8C:               158 OUTCHR   EQU     LINFEED+4
00003A90:               159 SHPRINT  EQU     OUTCHR+4
00003A94:               160 SHPR1    EQU     SHPRINT+4
00003A98:               161 FIX16    EQU     SHPR1+4
00003A9C:               162 SNDCHR   EQU     FIX16+4
                        163 ;

                        165 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        166 ;
00004C00:               167 JV3      EQU     $4C00
00004C00:               168 GETVAR   EQU     JV3
00004C04:               169 SCREDIT  EQU     GETVAR+4
00004C08:               170 HOMCSR   EQU     SCREDIT+4
00004C0C:               171 CHKLIST  EQU     HOMCSR+4
00004C10:               172 CHKLN    EQU     CHKLIST+4
00004C14:               173 SRCH1    EQU     CHKLN+4
00004C18:               174 IPRINT1  EQU     SRCH1+4
00004C1C:               175 GETFLD   EQU     IPRINT1+4
00004C20:               176 GETFLDA  EQU     GETFLD+4
00004C24:               177 EXAMN    EQU     GETFLDA+4
00004C28:               178 HEXCHK   EQU     EXAMN+4
00004C2C:               179 PACK     EQU     HEXCHK+4
00004C30:               180 PREPROC  EQU     PACK+4
00004C34:               181 REMSPCE  EQU     PREPROC+4
00004C38:               182 ADDLIST  EQU     REMSPCE+4
00004C3C:               183 VARCHK   EQU     ADDLIST+4
00004C40:               184 VARCHK1  EQU     VARCHK+4
00004C44:               185 CONCHK   EQU     VARCHK1+4
00004C48:               186 CONCHK1  EQU     CONCHK+4
00004C4C:               187 GETLBL   EQU     CONCHK1+4
00004C50:               188 GETLBL1  EQU     GETLBL+4
00004C54:               189 HEXGET   EQU     GETLBL1+4
00004C58:               190 VOIDLBL  EQU     HEXGET+4
00004C5C:               191 REWIND   EQU     VOIDLBL+4
00004C60:               192 LIST     EQU     REWIND+4
00004C64:               193 DELFN    EQU     LIST+4
00004C68:               194 SELFN    EQU     DELFN+4
00004C6C:               195 RUN      EQU     SELFN+4
00004C70:               196 INPTXT   EQU     RUN+4
00004C74:               197 SNGLA    EQU     INPTXT+4
00004C78:               198 ERR8     EQU     SNGLA+4
00004C7C:               199 RANGCHK  EQU     ERR8+4
                        200 ;
00007300:               201 JV5      EQU     $7300
00007300:               202 ELET     EQU     JV5
00007304:               203 LLET1    EQU     ELET+4
00007308:               204 ELET1    EQU     LLET1+4
0000730C:               205 MURK     EQU     ELET1+4
                        206 ;
0000FFFE:               207 LCTR     EQU     $FFFE
0000FFFC:               208 LPTR     EQU     $FFFC
                                     CHAIN   PARSER

                          2 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          3 ;
--OBJECT: ENTER.OBJ0
  006000:                 4          ORG     $6000
                          5 ;
  006000: 4EF860C0        6 JV4      JMP     COLDSTRT
  006004: 4EF860FA        7          JMP     WARMSTRT
  006008: 4EF86E06        8          JMP     ERROR
  00600C: 4EF86124        9          JMP     TRAP14
                         10 ;
                         11 ; THIS SUBROUTINE CLEARS THE PROGRAM FROM MEMORY
                         12 ;
  006010: 41F81580       13 NEW      LEA     SOH,A0         ;PTR TO HALGOL CODE
  006014: 720D           14          MOVEQ   #13,D1         ;INIT 13 TABLES
  006016: 43F860A6       15          LEA     INITTB,A1      ;PTR TO INIT ADRS
  00601A: 4280           16          CLR.L   D0             ;CLEAR B31-B16
                         17 ;
  00601C: 3019           18 INITT    MOVE.W  (A1)+,D0       ;FETCH SSTART ADR
  00601E: 20C0           19          MOVE.L  D0,(A0)+       ;STORE START ADR
  006020: 20C0           20          MOVE.L  D0,(A0)+       ;STORE END ADR
  006022: 5301           21          SUBQ.B  #1,D1          ;DECR INIT COUNT
  006024: 66F6           22          BNE     INITT
                         23 ;
  006026: 7201           24          MOVEQ   #1,D1          ;CLR 31 BITS
  006028: 4841           25          SWAP    D1             ;VALUE $00010000
  00602A: 20C1           26          MOVE.L  D1,(A0)+       ;SOA
  00602C: 20C1           27          MOVE.L  D1,(A0)+       ;EOA
                         28 ;
                         29 ; STORE 256 EA. "END" MARKERS IN PROG TABLE
                         30 ;
  00602E: 20781580       31          MOVE.L  SOH,A0         ;PTR TO PROG
  006032: 3E383A0A       32          MOVE.W  END+2,D7       ;"END" ACTION ADR
  006036: 5147           33          SUBQ.W  #8,D7          ;PTR TO "PEND"
  006038: 323C0100       34          MOVE.W  #256,D1      ;SET COUNT
                         35 ;
  00603C: 30C7           36 INITH    MOVE.W  D7,(A0)+
  00603E: 5341           37          SUBQ.W  #1,D1          ;DECR COUNT
  006040: 66FA           38          BNE     INITH          ;LOOP 256 TIMES
                         39 ;
  006042: 20781598       40          MOVE.L  SOLBN,A0
  006046: 4250           41          CLR.W   (A0)           ;LABEL NAME TBL
  006048: 207815C0       42          MOVE.L  SOVN,A0
  00604C: 4250           43          CLR.W   (A0)           ;VAR NAME TBL
  00604E: 207815A8       44          MOVE.L  SOIN,A0        ;INTEGR NAME TBL
  006052: 4250           45          CLR.W   (A0)
  006054: 207815C8       46          MOVE.L  SOAN,A0        ;ARRAY NAME TBL
  006058: 4250           47          CLR.W   (A0)
  00605A: 207815B0       48          MOVE.L  SOCN,A0
  00605E: 20BC01B10000   49          MOVE.L  #$01B10000,(A0)  ;CONST "1"
  006064: 54B815B4       50          ADDQ.L  #2,EOCN        ;CORRECT END PTR
  006068: 207815B8       51          MOVE.L  SOC,A0
  00606C: 20FC10018000   52          MOVE.L  #$10018000,(A0)+  ;VALUE ONE
  006072: 4298           53          CLR.L   (A0)+          ;8 BYTE VALUE
  006074: 21C815BC       54          MOVE.L  A0,EOC         ;NEW END ADR
  006078: 20781588       55          MOVE.L  SOLN,A0
  00607C: 30BCFFFF       56          MOVE.W  #$FFFF,(A0)    ;HIGHEST LINE #
  006080: 4278154C       57          CLR.W   NLINES         ;INIT LINE COUNT
  006084: 20781590       58          MOVEA.L SOLA,A0        ;TABLE START ADR
  006088: 20F81580       59          MOVE.L  SOH,(A0)+      ;1ST LINE ADR
  00608C: 20B81584       60          MOVE.L  EOH,(A0)       ;LAST LINE ADR
  006090: 21FC00008000   61          MOVE.L  #$00008000,SOBLCK
  006098: 21FC0000A400   62          MOVE.L  #$0000A400,EOBLCK

  0060A0: 42B8155A       64          CLR.L   CDESIZE        ;INIT CODE SIZE
  0060A4: 4E75           65          RTS                    ;'NEW' DONE
                         66 ;
                         67 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         68 ;
  0060A6: 8000           69 INITTB   DC.W    $8000          ;HALGOL PROGRAM
  0060A8: 8C00           70          DC.W    $8C00          ;LINE # TABLE
  0060AA: 8F00           71          DC.W    $8F00          ;LINE ADR TABLE
  0060AC: 9000           72          DC.W    $9000          ;LABEL NAME TBL
  0060AE: 9200           73          DC.W    $9200          ;LABEL ADDRESS TBL
  0060B0: 9400           74          DC.W    $9400          ;INTEGR NAME TBL
  0060B2: 9600           75          DC.W    $9600          ;CONSTANT NAME TBL
  0060B4: 9900           76          DC.W    $9900          ;CONSTANT VALUE TBL
  0060B6: 9C00           77          DC.W    $9C00          ;VAR NAME TABLE
  0060B8: 9F00           78          DC.W    $9F00          ;ARRAY NAME TBL
  0060BA: A000           79          DC.W    $A000          ;ARY DESCRIPTR TBL
  0060BC: A200           80          DC.W    $A200          ;INTEGR VALUE TBL
  0060BE: A400           81          DC.W    $A400          ;F.P. VALUE TBL
                         82 ;
00005F80:                83 BRKNUM   EQU     JV4-128        ;BREAKPOINT BUFFER
                         84 ;
                         85 ; THIS ROUTINE IS THE MAIN SUPERVISOR ROUTINE THAT
                         86 ; HANDLES THE FOLLOWING:
                         87 ;
                         88 ; 1) COLD START
                         89 ; 2) WARM START
                         90 ; 3) EXCEPTION PROCESSING
                         91 ; 4) RETURN CONTROL BACK TO THE HOST
                         92 ;
                         93 ;-----------------------
                         94 ;-- ROUTINE: COLDSTRT --
                         95 ;-----------------------
                         96 ;
                         97 ; THIS ROUTINE SETS UP AND INITIALIZES THE MEMORY
                         98 ; MAP CONFIGURATION AND THE BUFFER POINTERS.
                         99 ;
  0060C0: 42785F80      100 COLDSTRT CLR.W   BRKNUM         ;NO BREAKPOINTS
                        101 ;
  0060C4: 32783A9E      102 COLD1    MOVE.W  SNDCHR+2,A1    ;(#SNDCHAR)
  0060C8: 307C20B0      103          MOVE.W  #LISTER,A0     ;1ST ADR
  0060CC: 20C9          104          MOVE.L  A1,(A0)+       ;LISTER = CRT
  0060CE: 20C9          105          MOVE.L  A1,(A0)+       ;PRINTER = CRT
  0060D0: 20C9          106          MOVE.L  A1,(A0)+       ;SYSOUT = CRT
                        107 ;
  0060D2: 42381542      108          CLR.B   COLUMN         ;INIT COLUMN
  0060D6: 42381540      109          CLR.B   LINE           ;INIT LINE
  0060DA: 4EB83A64      110          JSR     CLRCRT         ;CLEAR CRT
  0060DE: 31FCFFFF1546  111          MOVE.W  #$FFFF,SSFFLGS  ;SET CRT FLAGS
  0060E4: 31FCFFFF1508  112          MOVE.W  #$FFFF,SFLAG   ;SET STATUS FLAGS
                        113 ;
  0060EA: 31FC61241094  114          MOVE.W  #TRAP14,VECT14
  0060F0: 31FC6AC0108E  115          MOVE.W  #TRAP13,VECT14-6  ;VECTOR 13
                        116 ;
  0060F6: 4EB86010      117          JSR     NEW            ;INIT THE PROG
                        118 ;

                        120 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        121 ;
                        122 ;-----------------------
                        123 ;-- ROUTINE: WARMSTRT --
                        124 ;-----------------------
                        125 ;
                        126 ; THIS IS THE WARM START ENTRY POINT.
                        127 ;
                        128 ; THIS IS WHERE CONTROL IS RETURNED WHEN PARSING
                        129 ; IS FINISHED OR WHEN FINISHED RUNNING A HALGOL
                        130 ; PROGRAM.
                        131 ;
                        132 ; THIS ROUTINE BUILDS A BUFFER AND EXITS TO THE
                        133 ; PARSER WHEN A <CR> HAS BEEN RECEIVED UNLESS
                        134 ; THE BUFFER IS EMPTY.
                        135 ;
  0060FA: 3E7C1FF8      136 BLDBUF   MOVE.W  #$1FF8,A7      ;INIT STACK PTR
  0060FE: 21F820B820BC  137          MOVE.L  SYSOUT,ACTIVE  ;CONSOLE ACTIVE
  006104: 42381900      138          CLR.B   MODE           ;ZERO = EDIT MODE
  006108: 4EB84C04      139 BLDBUF1  JSR     SCREDIT        ;GET INPUT
  00610C: 083800031508  140          BTST    #3,SFLAG       ;CLEARED IF <CR>
  006112: 66F4          141          BNE     BLDBUF1        ;NO <CR>
                        142 ;
                        143 ; WE HAVE RECEIVED A <CR>, SEE IF SOMETHING
                        144 ; IS IN THE BUFFER.
                        145 ;
  006114: 307C1600      146          MOVEA   #BUFFER,A0     ;START OF INPUT
  006118: 4A10          147          TST.B   (A0)           ;EMPTY BUFF IF 0
  00611A: 67EC          148          BEQ     BLDBUF1        ;LOOP IF EMPTY
                        149 ;
                        150 ;   <ELSE GO TO PROCESSING PHASE>
                        151 ;
  00611C: 52381900      152          ADDQ.B  #1,MODE        ;CLEAR EDIT MODE
  006120: 6110          153          BSR     PARSER         ;PROCESS INPUT
  006122: 60D6          154          BRA     BLDBUF         ;WARM START
                        155 ;
000060FA:               156 WARMSTRT EQU     BLDBUF         ;WARM START ENTRY
                        157 ;
                        158 ; TRAP14 IS A BREAKPOINT ROUTINE WHICH RETURNS
                        159 ; PROGRAM EXECUTION TO BASIC AND DISPLAYS THE
                        160 ; 68000 REGISTERS VIA THE USUAL TRAP15/P-27.
                        161 ;
  006124: 40E7          162 TRAP14   MOVE    SR,-(A7)
  006126: 3F05          163          MOVE.W  D5,-(A7)
  006128: 4EB83A2C      164          JSR     CMD1
  00612C: 3A1F          165          MOVE.W  (A7)+,D5
  00612E: 46DF          166          MOVE    (A7)+,SR
  006130: 4E4F          167          TRAP    #15
                        168 ;

                        170 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        171 ;
                        172 ; THIS SUBROUTINE PERFORMS THE ACTUAL DECODING OF
                        173 ; THE INPUT BUFFER THAT IS CREATED FROM PHASE1.
                        174 ;
                        175 ; A0: CONTAINS THE POINTER TO THE INPUT BUFFER
                        176 ; A3: CONTAINS THE POINTER TO THE WORK BUFFER
                        177 ; A6: CONTAINS THE POINTER TO THE 'CURRENT' FIELD
                        178 ; D3: CONTAINS THE LINE NUMBER INDEX
                        179 ; D5: CONTAINS THE 'CURRENT' FIELD LENGTH
                        180 ;
                        181 ; D7: IS USED TO HOLD A 'CONDITION' FLAG DURING
                        182 ;     PROCESSING. THIS FLAG CAN BE AN ERROR COND-
                        183 ;     ITION OR A FLAG TO REDIRECT PROCESSING.
                        184 ;
  006132: 4EB84C30      185 PARSER   JSR     PREPROC        ;REMOVE SPACES
  006136: 4280          186          CLR.L   D0             ;WORK AREA
  006138: 4283          187          CLR.L   D3             ;WORK AREA
  00613A: 08F800011508  188          BSET    #1,SFLAG       ;NO LABEL PRESENT
  006140: 4EB84C1C      189          JSR     GETFLD         ;GET 1ST FLD
                        190 ;
                        191 ; CHECK TO SEE IF IT'S A SPECIAL EDIT COMMAND
                        192 ;
  006144: 0C1600AE      193          CMPI.B  #".",(A6)      ;EDIT COMMAND ?
  006148: 6700032E      194          BEQ.L   EDITLN         ;IF SO
                        195 ;
                        196 ; CHECK TO SEE IF IT'S A LINE NUMBER OR A COMMAND
                        197 ;
  00614C: 4EB84C24      198          JSR     EXAMN          ;SEE LIN # OR CMD
  006150: 4A07          199          TST.B   D7             ;0=POSSIBLE CMD
  006152: 670000AE      200          BEQ.L   GETCMD         ;LOOK UP CMD
                        201 ;
                        202 ; LINE NUMBER FOUND - NOW CHECK ITS RANGE
                        203 ;
  006156: 4EB84C10      204          JSR     CHKLN          ;CHECK LIN #
                        205 ;
                        206 ; STORE THE LINE NUMBER
                        207 ;
  00615A: 367C1800      208          MOVEA.W #WRKBUF,A3     ;WORK AREA
  00615E: 36C1          209          MOVE.W  D1,(A3)+       ;STORE LINE #
                        210 ;
                        211 ; LOOK FOR LINE NUMBER IN "LINE NUMBER TABLE"
                        212 ;
  006160: 28781588      213          MOVEA.L SOLN,A4        ;START OF TABLE
  006164: 4EB84C14      214          JSR     SRCH1          ;LOOKUP LIN #
  006168: 36C7          215          MOVE.W  D7,(A3)+       ;SAVE COND FLG
  00616A: 36C3          216          MOVE.W  D3,(A3)+       ;SAVE INDEX
  00616C: 36CC          217          MOVE.W  A4,(A3)+       ;SAVE INSRT ADR
                        218 ;
                        219 ; CHECK IF THE NEXT FIELD IS BLANK.
                        220 ;
  00616E: 4EB84C1C      221          JSR     GETFLD         ;CHECK NEXT FLD
  006172: 4A05          222          TST.B   D5             ;ZERO LEN FLD?
  006174: 660A          223          BNE     CHKKWD         ;IF<>0 CHK KEYWRD
                        224 ;
                        225 ; CHECK IF LINE NUMBER WAS IN THE TABLE
                        226 ;
  006176: 4A6BFFFA      227          TST.W   -$6(A3)        ;TEST COND CODE
  00617A: 6600EAF8      228          BNE.L   SNGLA          ;DELETE LINE
                        229 ;
  00617E: 4E75          230          RTS                    ;ELSE DO NOTHING

                        232 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        233 ;
                        234 ; SEE IF THE FIELD CONTAINS A VALID KEYWORD, BUT
                        235 ; FIRST CHECK AND MARK EOF THE CURRENT STATEMENT.
                        236 ;
  006180: 2A4E          237 CHKKWD   MOVEA.L A6,A5          ;COPY BUFFER PTR
  006182: 4245          238          CLR.W   D5             ;INIT KEYWORD LEN
                        239 ;
  006184: 1E1D          240 STMTA    MOVE.B  (A5)+,D7       ;GET BUFFER CHR
  006186: 671A          241          BEQ     STMTXB         ;IF BUFFER EMPTY
                        242 ;
  006188: 0C0700BA      243          CMPI.B  #":",D7        ;END OF STATMENT?
  00618C: 6704          244          BEQ     STMTXA         ;SET NULL BYTE
                        245 ;
  00618E: 5245          246          ADDQ.W  #1,D5          ;UPDATE KEYWORD LEN
  006190: 60F2          247          BRA     STMTA          ;CONTINUE PROCESS
                        248 ;
  006192: 21CD1534      249 STMTXA   MOVE.L  A5,PARM1       ;SAVE BUFFR PTR
  006196: 0C2D00A0FFFE  250          CMPI.B  #$A0,-2(A5)    ;A SPACE CHR?
  00619C: 6602          251          BNE     STMTXA0        ;EXIT IF NOT
                        252 ;
  00619E: 4225          253          CLR.B   -(A5)          ;DELETE SPACE CHR
  0061A0: 4225          254 STMTXA0  CLR.B   -(A5)          ;ADD NULL BYTE
                        255 ;
                        256 ; PROCESS THE CURRENT PROGRAM STATEMENT
                        257 ;
  0061A2: 204E          258 STMTXB   MOVEA.L A6,A0          ;SEARCH KEY PTR
  0061A4: 4EB84C1C      259          JSR     GETFLD         ;GET KEYWORD
  0061A8: 45F837E8      260          LEA     KEY1,A2        ;KEYWORD TBL PTR
  0061AC: 4EB84C0C      261          JSR     CHKLIST        ;CHK KEYWORD LIST
  0061B0: 6734          262          BEQ     GETLABL        ;IF NOT KEYWORD
                        263 ;
                        264 ; GET KEYWORD ACTION ADDRESS
                        265 ;
  0061B2: 42381921      266          CLR.B   FPU+7          ;KEYWORD O.K.
  0061B6: E34B          267          LSL.W   #1,D3          ;ADJUST INDEX
  0061B8: 49F83600      268 TRYLET   LEA     ACTTBL,A4      ;ACTION TABLE
  0061BC: 3A343000      269          MOVE.W  (A4,D3),D5     ;ACTION ADR
  0061C0: 36C5          270          MOVE.W  D5,(A3)+       ;SAVE ACTION ADR
                        271 ;
                        272 ; FETCH EDIT ACTION ADDRESS, AND CHECK SYNTAX
                        273 ;
  0061C2: 49F86730      274          LEA     EDTTBL,A4      ;START OF EDTTBL
  0061C6: 38743000      275          MOVEA.W (A4,D3),A4     ;EDTLNK ADR
  0061CA: 4E94          276          JSR     (A4)           ;COMPILE CODE
                        277 ;

                        279 ; CHECK FOR ANOTHER PROGRAM STATEMENT.
                        280 ;
  0061CC: 5378154E      281 PARSRB   SUBQ.W  #1,STMTCNT     ;UPDATE COUNT
  0061D0: 672C          282          BEQ     PARSRX         ;IF PARSING DONE
  0061D2: 08B800011508  283          BCLR    #1,SFLAG       ;1ST STMNT FLG
  0061D8: 2C781534      284          MOVEA.L PARM1,A6       ;NEXT STMNT PTR
                        285 ;
                        286 ; CHECK FOR LEADING SPACE IN STATEMENT
                        287 ;
  0061DC: 0C1600A0      288 CHKSPC   CMPI.B  #$A0,(A6)      ;LEADING SPACE?
  0061E0: 669E          289          BNE     CHKKWD         ;IF NOT, CONT
                        290 ;
  0061E2: 524E          291          ADDQ.W  #1,A6          ;SKIP PAST SPACE
  0061E4: 60F6          292          BRA     CHKSPC         ;CONT PROCESS
                        293 ;
                        294 ; SEE IF THIS IS A PROGRAM STATEMENT LABEL
                        295 ;
  0061E6: 0C1600A2      296 GETLABL  CMPI.B  #$A2,(A6)      ;START OF LABEL ?
  0061EA: 670C          297          BEQ     GETLABA        ;SERVICE LABEL
                        298 ;
                        299 ; NOT A STATEMENT LABEL, MAYBE A 'LET' STATEMENT
                        300 ;
  0061EC: 4243          301          CLR.W   D3             ;'LET' INDEX
  0061EE: 3049          302          MOVE.W  A1,A0          ;RESET STMNT PTR
  0061F0: 11FC00011921  303          MOVE.B  #1,FPU+7       ;FAKE 'LET' FLG
  0061F6: 60C0          304          BRA     TRYLET         ;SERVICE 'LET'
                        305 ;
  0061F8: 4EB84C50      306 GETLABA  JSR     GETLBL1        ;SERVICE LABEL
  0061FC: 60CE          307          BRA     PARSRB         ;CONTINUE PARSE
                        308 ;
  0061FE: 4EF84C5C      309 PARSRX   JMP     REWIND         ;STORE CODE & EXIT
                        310 ;
                        311 ; DO WE HAVE A VALID COMMAND ?
                        312 ;
                        313 ; A6: CONTAINS THE PTR TO THE CURRENT FIELD
                        314 ; D5: CONTAINS THE LENGTH OF THE CURRENT FIELD
                        315 ;
  006202: 367C1800      316 GETCMD   MOVEA.W #WRKBUF,A3     ;WORK AREA
  006206: 347C6226      317          MOVEA.W #CMDLST,A2     ;COMMAND TABLE
  00620A: 4EB84C0C      318          JSR     CHKLIST        ;LOOKUP COMMAND
  00620E: 6710          319          BEQ     CMDERR         ;SEND ERR MSG
                        320 ;
                        321 ;  <ELSE PERFORM CMD FUNCTION>
                        322 ;
  006210: 4EB83A54      323          JSR     CLRCSR         ;CLEAR THE CURSOR
  006214: E34B          324          LSL.W   #1,D3          ;ADJUST INDEX
  006216: 387C62C2      325          MOVEA.W #CMDFN,A4      ;CMDFN TABLE
  00621A: 38743000      326          MOVEA.W (A4,D3),A4     ;FUNCTION ADDR
  00621E: 4ED4          327          JMP     (A4)           ;DO CMD & EXIT
                        328 ;
  006220: 7E00          329 CMDERR   MOVEQ   #0,D7          ;ILLEGAL CMD
  006222: 4EF86E06      330 PERR     JMP     ERROR          ;REPORT ERR
                        331 ;
                                     CHAIN   FNS

                          2 ; HALGOL SYSTEM COMMAND NAME TABLE
                          3 ;
  006226: 04              4 CMDLST   DC.B    $04
  006227: CCC9D3D4        5          ASC     "LIST"
  00622B: 03              6          DC.B    $03
  00622C: CEC5D7          7          ASC     "NEW"
  00622F: 03              8          DC.B    $03
  006230: C4C5CC          9          ASC     "DEL"
  006233: 04             10          DC.B    $04
  006234: C8CFCDC5       11          ASC     "HOME"
  006238: 04             12          DC.B    $04
  006239: C5D8C9D4       13          ASC     "EXIT"
  00623D: 05             14          DC.B    $05
  00623E: D2C5CED5CD     15          ASC     "RENUM"
  006243: 03             16          DC.B    $03
  006244: D2D5CE         17          ASC     "RUN"
  006247: 06             18          DC.B    $06
  006248: D3C5CCC5C3D4   19          ASC     "SELECT"
  00624E: 05             20          DC.B    $05
  00624F: C3CCC5C1D2     21          ASC     "CLEAR"
  006254: 03             22          DC.B    3
  006255: C8D0D2         23          ASC     "HPR"
  006258: 04             24          DC.B    4
  006259: C8D0D2C0       25          ASC     "HPR@"
  00625D: 03             26          DC.B    3
  00625E: C2D2CB         27          ASC     "BRK"
  006261: 04             28          DC.B    4
  006262: C2C3CCD2       29          ASC     "BCLR"
  006266: 05             30          DC.B    5
  006267: C2C3CCD2C1     31          ASC     "BCLRA"
  00626C: 04             32          DC.B    4
  00626D: D0CFCBC5       33          ASC     "POKE"
  006271: 04             34          DC.B    4
  006272: CCCFC1C4       35          ASC     "LOAD"
  006276: 04             36          DC.B    4
  006277: D3C1D6C5       37          ASC     "SAVE"
  00627B: 05             38          DC.B    5
  00627C: C3CCC9D3D4     39          ASC     "CLIST"
  006281: 06             40          DC.B    6
  006282: C3C9CED0D5D4   41          ASC     "CINPUT"
  006288: 07             42          DC.B    7
  006289: C3CFCCCCC5C3   43          ASC     "COLLECT"
  006290: 05             44          DC.B    5
  006291: CDD5D2CBB1     45          ASC     "MURK1"
  006296: 05             46          DC.B    5
  006297: CDD5CDD0B1     47          ASC     "MUMP1"
  00629C: 05             48          DC.B    5
  00629D: CDD5D2CBB2     49          ASC     "MURK2"
  0062A2: 05             50          DC.B    5
  0062A3: CDD5CDD0B2     51          ASC     "MUMP2"
  0062A8: 05             52          DC.B    5
  0062A9: CDD5D2CBB3     53          ASC     "MURK3"
  0062AE: 05             54          DC.B    5
  0062AF: CDD5CDD0B3     55          ASC     "MUMP3"
  0062B4: 05             56          DC.B    5
  0062B5: CDD5D2CBB4     57          ASC     "MURK4"
  0062BA: 05             58          DC.B    5
  0062BB: CDD5CDD0B4     59          ASC     "MUMP4"
  0062C0: 0000           60          DC.W    0              ;EOL MARKER
                         61 ;

                         63 ; ENTRY ADDRESSES FOR THE SYSTEM COMMANDS:
                         64 ;
  0062C2: 4C60           65 CMDFN    DC.W    LIST
  0062C4: 63B4           66          DC.W    NEWFN
  0062C6: 4C64           67          DC.W    DELFN
  0062C8: 63BC           68          DC.W    HOMFN
  0062CA: 63C0           69          DC.W    EXTFN
  0062CC: 6426           70          DC.W    RENFN
  0062CE: 4C6C           71          DC.W    RUN
  0062D0: 4C68           72          DC.W    SELFN
  0062D2: 6396           73          DC.W    CLRFN
  0062D4: 63A8           74          DC.W    HPRFN
  0062D6: 639A           75          DC.W    HPRAFN
  0062D8: 63C8           76          DC.W    BRK
  0062DA: 63FC           77          DC.W    BCLR
  0062DC: 641A           78          DC.W    BCLRA
  0062DE: 6552           79          DC.W    POKE
  0062E0: 6558           80          DC.W    LOAD
  0062E2: 6688           81          DC.W    SAVE
  0062E4: 6320           82          DC.W    CLIST
  0062E6: 6354           83          DC.W    CINPUT
  0062E8: 6546           84          DC.W    COLLECT
  0062EA: 62FA           85          DC.W    MURK1
  0062EC: 62FE           86          DC.W    MUMP1
  0062EE: 6302           87          DC.W    MURK2
  0062F0: 6306           88          DC.W    MUMP2
  0062F2: 630A           89          DC.W    MURK3
  0062F4: 630E           90          DC.W    MUMP3
  0062F6: 6312           91          DC.W    MURK4
  0062F8: 6316           92          DC.W    MUMP4
                         93 ;
                         94 ; MURK1 ENABLES HEX DUMP 1
                         95 ; MUMP1 DISABLES HEX DUMP 1
                         96 ;
                         97 ; MURK2 DISABLES OPTIMIZATION
                         98 ; MUMP2 RESTORES OPTIMIZATION
                         99 ;
                        100 ; MURK3 ENABLES HEX DUMP 2
                        101 ; MUMP3 DISABLES HEX DUMP 2
                        102 ;
                        103 ; MURK4 ENABLES PRIMITIVES LISTING
                        104 ; MUMP4 DISABLES PRIMITIVES LISTING
                        105 ;
  0062FA: 4240          106 MURK1    CLR.W   D0
  0062FC: 601A          107          BRA     MURK0
  0062FE: 7008          108 MUMP1    MOVEQ   #8,D0
  006300: 6016          109          BRA     MURK0
  006302: 7010          110 MURK2    MOVEQ   #16,D0
  006304: 6012          111          BRA     MURK0
  006306: 7018          112 MUMP2    MOVEQ   #24,D0
  006308: 600E          113          BRA     MURK0
  00630A: 7020          114 MURK3    MOVEQ   #32,D0
  00630C: 600A          115          BRA     MURK0
  00630E: 7028          116 MUMP3    MOVEQ   #40,D0
  006310: 6006          117          BRA     MURK0
  006312: 7030          118 MURK4    MOVEQ   #48,D0
  006314: 6002          119          BRA     MURK0
  006316: 7038          120 MUMP4    MOVEQ   #56,D0
  006318: 3078730E      121 MURK0    MOVE.W  MURK+2,A0      ;ADDR OF MURK1
  00631C: D0C0          122          ADD.W   D0,A0          ;ADD OFFSET
  00631E: 4ED0          123          JMP     (A0)           ;DO IT
                        124 ;

                        126 ;--------------------
                        127 ;-- COMMAND: CLIST --
                        128 ;--------------------
                        129 ;
                        130 ; LIST A PROGRAM TO MEMORY FOR LATER RECOMPILATION
                        131 ;
  006320: 2F3820B0      132 CLIST    MOVE.L  LISTER,-(A7)   ;SAVE LIST DEV
  006324: 21FC00006340  133          MOVE.L  #SUBCLIST,LISTER  ;NEW SUBR ADR
  00632C: 4278FFFE      134          CLR.W   LCTR           ;CLEAR COUNT
  006330: 31FCFFFCFFFC  135          MOVE.W  #LPTR,LPTR     ;INIT LIST PTR
  006336: 4EB84C60      136          JSR     LIST           ;LIST THE PROG
  00633A: 21DF20B0      137          MOVE.L  (A7)+,LISTER   ;RESTORE DEVICE
  00633E: 4E75          138          RTS
                        139 ;
                        140 ; SUBROUTINE;  LIST A CHAR AT A TIME TO HIMEM
                        141 ;
  006340: 2F0D          142 SUBCLIST MOVE.L  A5,-(A7)       ;SAVE A5
  006342: 3A78FFFC      143          MOVE.W  LPTR,A5        ;SET PTR
  006346: 1B07          144          MOVE.B  D7,-(A5)       ;STORE BYTE
  006348: 31CDFFFC      145          MOVE.W  A5,LPTR        ;STORE PTR
  00634C: 5278FFFE      146          ADDQ.W  #1,LCTR        ;INCR CTR
  006350: 2A5F          147          MOVE.L  (A7)+,A5       ;RESTORE A5
  006352: 4E75          148          RTS                    ;DONE
                        149 ;
                        150 ;---------------------
                        151 ;-- COMMAND: CINPUT --
                        152 ;---------------------
                        153 ;
                        154 ; RECOMPILE A PROGRAM LISTED TO HIGH MEMORY
                        155 ;
  006354: 3E38FFFE      156 CINPUT   MOVE.W  LCTR,D7        ;FETCH COUNT
  006358: 6718          157          BEQ     CINPUTX        ;DONE IF ZERO
                        158 ;
  00635A: 31F83A5A10FE  159          MOVE.W  GETKEY+2,LINK-2  ;SAVE ADR
  006360: 31FC63743A5A  160          MOVE.W  #SUBCINP,GETKEY+2
  006366: 31FCFFFCFFFC  161          MOVE.W  #LPTR,LPTR     ;INIT PTR
  00636C: 08B800001508  162          BCLR    #0,SFLAG       ;KILL AUTOLINE
  006372: 4E75          163 CINPUTX  RTS                    ;DONE !
                        164 ;
                        165 ; SUBROUTINE; MOVE A CHAR FROM HIMEM TO SCREDIT
                        166 ;
  006374: 3878FFFC      167 SUBCINP  MOVE.W  LPTR,A4        ;FETCH CHAR PTR
  006378: 1E24          168          MOVE.B  -(A4),D7       ;FETCH BYTE
  00637A: 00070080      169          ORI.B   #$80,D7        ;SET BIT B7
  00637E: 31CCFFFC      170          MOVE.W  A4,LPTR        ;STORE CHAR PTR
  006382: 5378FFFE      171          SUBQ.W  #1,LCTR        ;DECR COUNTER
  006386: 660C          172          BNE     SUBCINPX       ;IF NOT ZERO
                        173 ;
                        174 ; RE-COMPILATION IS COMPLETED; RESTORE LINK & MODE
                        175 ;
  006388: 31F810FE3A5A  176          MOVE.W  LINK-2,GETKEY+2  ;RESTORE ADR
  00638E: 08F800001508  177          BSET    #0,SFLAG       ;ENABLE AUTOLINE
  006394: 4E75          178 SUBCINPX RTS                    ;RETURN
                        179 ;

                        181 ;--------------------
                        182 ;-- COMMAND: CLEAR --
                        183 ;--------------------
                        184 ;
                        185 ; COLD START BUT DO NOT CLEAR BREAKPOINT COUNT
                        186 ;
  006396: 4EF860C4      187 CLRFN    JMP     COLD1          ;CLR = COLD START
                        188 ;
                        189 ;-------------------
                        190 ;-- COMMAND: HPR@ --
                        191 ;-------------------
                        192 ;
  00639A: 4EB86A9A      193 HPRAFN   JSR     HPRNT          ;GET PARMS
  00639E: 3223          194          MOVE.W  -(A3),D1       ;COUNT TO D1
  0063A0: 2663          195          MOVE.L  -(A3),A3       ;GET INDIRECT ADR
  0063A2: 2013          196          MOVE.L  (A3),D0        ;FETCH POINTER.L
  0063A4: 4EF83A90      197          JMP     SHPRINT        ;HEXPR ADR, MEM
                        198 ;
                        199 ;------------------
                        200 ;-- COMMAND: HPR --
                        201 ;------------------
                        202 ;
  0063A8: 4EB86A9A      203 HPRFN    JSR     HPRNT          ;GET PARMS
  0063AC: 3223          204          MOVE.W  -(A3),D1       ;COUNT TO D1
  0063AE: 2023          205          MOVE.L  -(A3),D0       ;FETCH ADR
  0063B0: 4EF83A94      206          JMP     SHPR1          ;HEXPRINT THE MEM
                        207 ;
                        208 ;------------------
                        209 ;-- COMMAND: NEW --
                        210 ;------------------
                        211 ;
                        212 ; COLD START BUT DO NOT CLEAR THE CRT OR THE
                        213 ; BREAKPOINT COUNT.
                        214 ;
  0063B4: 4EB86010      215 NEWFN    JSR     NEW            ;CLEAR PROGRAM
  0063B8: 4EF860FA      216          JMP     WARMSTRT       ;WARM START
                        217 ;
                        218 ;-------------------
                        219 ;-- COMMAND: HOME --
                        220 ;-------------------
                        221 ;
                        222 ; THIS FUNCTION IS USED TO PERFORM THE 'HOME'
                        223 ; FUNCTION.  THIS WILL CLR THE CRT AND PLACE THE
                        224 ; CURSOR AT THE UPPER LEFT-HAND CORNER OF THE CRT.
                        225 ;
  0063BC: 4EF84C08      226 HOMFN    JMP     HOMCSR         ;JUMP TO SUBR'TN
                        227 ;
                        228 ;-------------------
                        229 ;-- COMMAND: EXIT --
                        230 ;-------------------
                        231 ;
                        232 ; THIS FUNCTION IS USED TO EXIT THE HALGOL SYSTEM
                        233 ; RETURN CONTROL BACK TO THE HOST SYSTEM.
                        234 ;
  0063C0: 4EB83A54      235 EXTFN    JSR     CLRCSR         ;EXIT TO HOST
  0063C4: 4EF83A2C      236          JMP     CMD1           ;EXIT TO HOST
                        237 ;

                        239 ;------------------
                        240 ;-- COMMAND: BRK --
                        241 ;------------------
                        242 ;
                        243 ; INSERT A BREAKPOINT IN THE 68000 CODE
                        244 ;
  0063C8: 4EB86A5A      245 BRK      JSR     CHKFLD         ;GET PARM FIELD
  0063CC: 4EB84C34      246          JSR     REMSPCE        ;REMOVE SPACES
  0063D0: 7206          247          MOVEQ   #6,D1          ;MAX 6 HEX CHARS
  0063D2: 7404          248          MOVEQ   #4,D2          ;MIN 4 HEX CHARS
  0063D4: 4EB86A6A      249          JSR     HADREVN        ;GET EVEN ADR
  0063D8: 307C5F80      250          MOVE.W  #BRKNUM,A0     ;ADR TO A0
  0063DC: 7078          251          MOVEQ   #120,D0        ;6 * #20 BRKS
  0063DE: B050          252          CMP.W   (A0),D0        ;OVER 20 ?
  0063E0: 6514          253          BCS     BRKFULL        ;SKIP IF SO
                        254 ;
  0063E2: 3010          255          MOVE.W  (A0),D0        ;FETCH THE COUNT
  0063E4: 5C50          256          ADDQ    #6,(A0)        ;INCR COUNT
  0063E6: 41F00002      257          LEA     2(A0,D0.W),A0  ;FETCH BFFR ADR
  0063EA: 2244          258          MOVE.L  D4,A1          ;PTR TO BREAK
  0063EC: 30D1          259          MOVE.W  (A1),(A0)+     ;STORE ORIG WORD
  0063EE: 2084          260          MOVE.L  D4,(A0)        ;STORE ADR
  0063F0: 32BC4E4D      261          MOVE.W  #$4E4D,(A1)    ;TRAP 13
  0063F4: 4E75          262          RTS                    ;BREAKPT INSTALLED
                        263 ;
  0063F6: 7E1E          264 BRKFULL  MOVEQ   #30,D7         ;REPORT FULL
  0063F8: 4EF86E06      265          JMP     ERROR
                        266 ;
                        267 ;-------------------
                        268 ;-- COMMAND: BCLR --
                        269 ;-------------------
                        270 ;
                        271 ; CLEAR THE LAST BREAKPOINT ENTERED
                        272 ;
  0063FC: 30385F80      273 BCLR     MOVE.W  BRKNUM,D0      ;FETCH COUNT
  006400: 6712          274          BEQ     NOBRK          ;ERROR IF ZERO
                        275 ;
  006402: 307C5F82      276 BCLR1    MOVE.W  #BRKNUM+2,A0   ;BUFFER START
  006406: 41F00000      277          LEA     (A0,D0.W),A0   ;BUFFER END
  00640A: 2260          278          MOVE.L  -(A0),A1       ;FETCH BRK ADR
  00640C: 32A0          279          MOVE.W  -(A0),(A1)     ;RESTORE WORD
  00640E: 5D785F80      280          SUBQ.W  #6,BRKNUM      ;CORRECT COUNT
  006412: 4E75          281          RTS                    ;DONE
                        282 ;
  006414: 7E1F          283 NOBRK    MOVEQ   #31,D7         ;NONE SET
  006416: 4EF86E06      284          JMP     ERROR
                        285 ;
                        286 ;--------------------
                        287 ;-- COMMAND: BCLRA --
                        288 ;--------------------
                        289 ;
                        290 ; CLEAR ALL OF THE BREAKPOINTS
                        291 ;
  00641A: 30385F80      292 BCLRA    MOVE.W  BRKNUM,D0      ;FETCH COUNT
  00641E: 6704          293          BEQ     BCLRAX         ;DONE IF ZERO
                        294 ;
  006420: 61E0          295          BSR     BCLR1          ;CLR A BREAKPOINT
  006422: 60F6          296          BRA     BCLRA          ;CLEAR ALL
                        297 ;
  006424: 4E75          298 BCLRAX   RTS                    ;ALL CLEARED, EXIT
                        299 ;

                        301 ;--------------------
                        302 ;-- COMMAND: RENUM --
                        303 ;--------------------
                        304 ;
                        305 ; RENUMBER THE HALGOL LINE NUMBER TABLE
                        306 ;
  006426: 3838154C      307 RENFN    MOVE.W  NLINES,D4      ;NUMBER OF LINES
  00642A: 6744          308          BEQ     RENFNX         ;NOTHING TO DO
                        309 ;
  00642C: 4A10          310          TST.B   (A0)           ;ANY PARMS ?
  00642E: 672E          311          BEQ     RENF0          ;IF NO,USE DEFALT
                        312 ;
  006430: 4EB84C7C      313          JSR     RANGCHK        ;CHECK PARMS
                        314 ;
  006434: 32381538      315          MOVE.W  TEMP,D1        ;FETCH INCREMENT
  006438: 6602          316          BNE     RENFA          ;IF NOT GIVEN
                        317 ;
                        318 ;   <ELSE SET UP A DEFUALT INCREMENT VALUE>
                        319 ;
  00643A: 720A          320          MOVEQ   #10,D1         ;STORE INCREMENT
                        321 ;
                        322 ; DO FAKE RENUM TO SEE IF BAD LINE # WILL RESULT
                        323 ;
  00643C: 30381534      324 RENFA    MOVE.W  PARM1,D0       ;STARTING LINE #
  006440: 3838154C      325          MOVE.W  NLINES,D4      ;NUMBER OF LINES
  006444: 5344          326          SUBQ    #1,D4          ;READY FOR DBF
  006446: 6708          327          BEQ     RENFC          ;BEGIN RENUMER
                        328 ;
                        329 ;
  006448: D041          330 RENLPB   ADD.W   D1,D0          ;ADD INCREMENT
  00644A: 6526          331          BCS     RENERR         ;EXCEEDED 65535
  00644C: 51CCFFFA      332          DBF     D4,RENLPB      ;CONTINUE
                        333 ;
                        334 ; RENUMBER CAN PROCEED WITHOUT LINE NUMER ERROR
                        335 ;
  006450: 20781588      336 RENFC    MOVEA.L SOLN,A0        ;START OF LN TBL
  006454: 3838154C      337          MOVE.W  NLINES,D4      ;# OF LINES
  006458: 30381534      338          MOVE.W  PARM1,D0       ;NEW STARTING #
  00645C: 600E          339          BRA     RENFD          ;BEGIN PROCESS
                        340 ;
  00645E: 20781588      341 RENF0    MOVEA.L SOLN,A0        ;START OF TBL
  006462: 7064          342          MOVEQ   #100,D0        ;SET 1ST=100
  006464: 720A          343          MOVEQ   #10,D1         ;SET INCREMENT=10
  006466: 5344          344          SUBQ    #1,D4
                        345 ;
  006468: 30C0          346 RENLPC   MOVE.W  D0,(A0)+       ;STORE NEW #
  00646A: D041          347          ADD.W   D1,D0          ;ADD INCREMENT
  00646C: 51CCFFFA      348 RENFD    DBF     D4,RENLPC      ;CONTINUE
  006470: 4E75          349 RENFNX   RTS                    ;DONE
                        350 ;
  006472: 7E0A          351 RENERR   MOVEQ   #10,D7         ;ERROR #10
  006474: 4EF86E06      352          JMP     ERROR          ;REPORT & EXIT
                        353 ;

                        355 ;---------------------
                        356 ;-- COMMAND: EDITLN --
                        357 ;---------------------
                        358 ;
                        359 ; A6: CONTAINS THE CURRENT BUFFER PTR
                        360 ; D5: CONTAINS THE LENGTH OF THE CURRENT FIELD
                        361 ;
  006478: 42381900      362 EDITLN   CLR.B   MODE           ;SET EDIT MODE
  00647C: 524E          363          ADDQ.W  #1,A6          ;ADVANCE POINTER
  00647E: 5345          364          SUBQ.W  #1,D5          ;ADJUST LENGTH
  006480: 6700FD9E      365          BEQ     CMDERR         ;IF NO LINE #
                        366 ;
  006484: 4EB84C24      367          JSR     EXAMN          ;SEE IF VALID LN
  006488: 4A07          368          TST.B   D7             ;VALID LINE # ?
  00648A: 6774          369          BEQ     CMDCHK         ;CHK IF LBL
                        370 ;
  00648C: 4EB84C10      371          JSR     CHKLN          ;CHECK LN RANGE
                        372 ;
                        373 ; D1 CONTAINS THE LINE NUMBER TO BE EDITED
                        374 ;
  006490: 4EB84C14      375          JSR     SRCH1          ;SEE IF IN TBL
  006494: 4A07          376          TST.B   D7             ;LINE NUMBER FOUND?
  006496: 6766          377          BEQ     EDITLX         ;IF NOT
                        378 ;
  006498: 4EB84C18      379 EDITA    JSR     IPRINT1        ;PRINT PRGM LIN #
                        380 ;
  00649C: 11F815421534  381          MOVE.B  COLUMN,PARM1   ;SAVE CURRENT COL
                        382 ;
                        383 ; SEARCH FOR START OF OBJECT CODE
                        384 ;
  0064A2: 227815C0      385          MOVEA.L SOVN,A1        ;FP NAME TABLE
  0064A6: 2C781590      386          MOVEA.L SOLA,A6        ;SOF OBJ ADR TBL
  0064AA: E54B          387          LSL.W   #2,D3          ;INDEX -> OFFSET
  0064AC: 47F63000      388          LEA     (A6,D3),A3     ;START OF OBJ CODE
  0064B0: E44B          389          LSR.W   #2,D3          ;RESTORE INDEX
  0064B2: 2653          390          MOVEA.L (A3),A3        ;OBJ START ADR
                        391 ;
                        392 ; FETCH THE END OF THE OBJECT CODE
                        393 ;
  0064B4: 3203          394          MOVE.W  D3,D1          ;COPY PGM LN INDX
  0064B6: 5241          395          ADDQ    #1,D1          ;POINT TO NEXT LN
  0064B8: E549          396          LSL.W   #2,D1          ;INDEX -> OFFSET
  0064BA: 45F61000      397          LEA     (A6,D1),A2     ;NEXT PGM LINE ADR
  0064BE: 2452          398          MOVEA.L (A2),A2        ;NEXT PGM LINE ADR
                        399 ;
                        400 ; FETCH THE OBJECT CODE LIST LINK
                        401 ;
  0064C0: 48A73000      402 EDTLP    MOVEM.W D2-D3,-(A7)    ;LN & PARM
  0064C4: 385B          403          MOVEA.W (A3)+,A4       ;FETCH ACTN ADR
  0064C6: 594C          404          SUBQ.W  #4,A4          ;ADJUST FOR LINK
  0064C8: 3854          405          MOVEA.W (A4),A4        ;LIST LINK ADR
  0064CA: 4E94          406          JSR     (A4)           ;PRINT PGM STMNT
  0064CC: 4C9F000C      407          MOVEM.W (A7)+,D2-D3    ;GET LN & PARM
                        408 ;
                        409 ; CHECK IF MORE PGM STATEMENTS NEED PRINTING
                        410 ;
  0064D0: B5CB          411          CMPA.L  A3,A2          ;@ NEXT PGM LINE?
  0064D2: 6708          412          BEQ     EDTLNB         ;GET SOF LINE
                        413 ;

                        415 ; PRINT STATEMENT DELIMTER ':' & CONTINUE
                        416 ;
  0064D4: 7EBA          417          MOVEQ   #":",D7        ;DELIMTER
  0064D6: 4EB83A9C      418          JSR     SNDCHR         ;SEND TO CRT
                        419 ;
  0064DA: 60E4          420          BRA     EDTLP          ;CONTINUE LISTING
                        421 ;
                        422 ; LOOK FOR START OF LINE
                        423 ;
  0064DC: 22381546      424 EDTLNB   MOVE.L  SSFFLGS,D1     ;CRT LINE FLAGS
  0064E0: 4280          425          CLR.L   D0             ;INIT WORK REG
  0064E2: 10381540      426          MOVE.B  LINE,D0        ;CURRENT LINE
  0064E6: 5300          427 EDITLA   SUBQ.B  #1,D0          ;PREVIOUS LINE
  0064E8: 0101          428          BTST    D0,D1          ;LINE SELF-SUF ?
  0064EA: 67FA          429          BEQ     EDITLA         ;CONT SRCH
                        430 ;
  0064EC: 5200          431          ADDQ.B  #1,D0          ;ADJ TO NEXT LINE
  0064EE: 11C01540      432          MOVE.B  D0,LINE        ;SET NEW LINE
                        433 ;
  0064F2: 11F815341542  434          MOVE.B  PARM1,COLUMN   ;SET NEW COLUMN
  0064F8: 08B800021508  435          BCLR    #2,SFLAG       ;SET 'EDIT' FLAG
                        436 ;
  0064FE: 4E75          437 EDITLX   RTS                    ;DONE
                        438 ;
  006500: 0C1600A2      439 CMDCHK   CMPI.B  #$A2,(A6)      ;STRT OF LBL ?
  006504: 6600FD1A      440          BNE     CMDERR         ;IF NOT, THEN ERR
                        441 ;
  006508: 4EB84C4C      442          JSR     GETLBL         ;FETCH LBL'S INDX
  00650C: 6720          443          BEQ     CMDCHB         ;IF LBL NOT FOUND
                        444 ;
  00650E: 247815A0      445          MOVEA.L SOLBA,A2       ;STRT OF LBL TBL
  006512: 24323000      446          MOVE.L  (A2,D3),D2     ;STRT OF LBL ADR
  006516: 5982          447          SUBQ.L  #4,D2          ;PTR TO OBJ CODE
                        448 ;
                        449 ; FIND THE INDEX OF THE OBJECT CODE
                        450 ;
  006518: 24781590      451          MOVEA.L SOLA,A2        ;LINE ADR TABLE
  00651C: 4243          452          CLR.W   D3             ;INIT LINE INDEX
  00651E: 3838154C      453          MOVE.W  NLINES,D4      ;# OF PGM LINES
  006522: 6720          454          BEQ     CMDCHKX        ;NOTHING TO LIST
                        455 ;
                        456 ;SEARCH THE LINE ADDRESS TABLE FOR A MATCH
                        457 ;
  006524: B49A          458 CMDCHA   CMP.L   (A2)+,D2       ;ADR FOUND ?
  006526: 670C          459          BEQ     CMDCHX         ;LST PGM LINE
                        460 ;
  006528: 5243          461          ADDQ.W  #1,D3          ;UPDATE INDEX
  00652A: 51CCFFF8      462          DBF     D4,CMDCHA      ;CONT SEARCH
                        463 ;
                        464 ; PROGRAM LINE ADDRESS NOT FOUND, EXCEPTION ERR
                        465 ;
  00652E: 7E00          466 CMDCHB   MOVEQ   #0,D7          ;ERROR #
  006530: 4EF86220      467          JMP     CMDERR         ;REPORT & EXIT
                        468 ;
  006534: 24781588      469 CMDCHX   MOVEA.L SOLN,A2        ;LINE # TBL
  006538: E54B          470          LSL.W   #2,D3          ;INDEX -> OFFSET
  00653A: 32323000      471          MOVE.W  (A2,D3),D1     ;FETCH LINE #
  00653E: E44B          472          LSR.W   #2,D3          ;RESTORE INDEX
  006540: 4EF86498      473          JMP     EDITA          ;CONT PROCESS
                        474 ;
  006544: 4E75          475 CMDCHKX  RTS                    ;FOR NOW
                        476 ;

                        478 ;----------------------
                        479 ;-- COMMAND: COLLECT --
                        480 ;----------------------
                        481 ;
  006546: 4EB86320      482 COLLECT  JSR     CLIST          ;LIST PROG TO MEM
  00654A: 4EB86010      483          JSR     NEW            ;CLEAR THE PROG
  00654E: 4EF86354      484          JMP     CINPUT         ;COMPILE THE PROG
                        485 ;
                        486 ;-------------------
                        487 ;-- COMMAND: POKE --
                        488 ;-------------------
                        489 ;
  006552: 7E01          490 POKE     MOVEQ   #1,D7          ;NOT IMPLEMENTED
  006554: 4EF86E06      491          JMP     ERROR          ;REPORT ERROR
                        492 ;
                                     CHAIN   LOAD

                          2 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          3 ;
                          4 ;-------------------
                          5 ;-- COMMAND: LOAD --
                          6 ;-------------------
                          7 ;
  006558: 48E7FFFE        8 LOAD     MOVEM.L D0-D7/A0-A6,-(A7)  ;SAVE REGS
  00655C: 3C7C6664        9          MOVE.W  #LNAME,A6      ;PTR TO NAME FLD
  006560: 4EB865F2       10          JSR     NAME           ;SET UP PROG NAME
  006564: 4EB8661E       11          JSR     GETLINK        ;GET HOST LINE LINK
                         12 ;
                         13 ; CALCULATE AND STORE THE LINE LINKS FOR THE
                         14 ; TWO LINES TO BE APPENDED TO THE BASIC PROG.
                         15 ;
  006568: 3A7C667B       16          MOVE.W  #LLINK+1,A5    ;2ND LINE LINK
  00656C: 7231           17          MOVEQ   #$31,D1        ;LINK OFFSET
  00656E: 4EB866C4       18          JSR     CSLINK         ;CALC & STORE
  006572: 3A7C6655       19          MOVE.W  #BLOAD+1,A5    ;1ST LINE LINK
  006576: 7226           20          MOVEQ   #$26,D1        ;LINK OFFSET
  006578: 4EB866C4       21          JSR     CSLINK         ;CALC & STORE
                         22 ;
                         23 ; LOAD THE PROGRAM FROM DISK TO THE HOST
                         24 ;
  00657C: 4EB86642       25          JSR     LSPROG         ;LOAD THE PROGRAM
                         26 ;
                         27 ; LOAD THE PROGRAM FROM THE HOST TO THE 68000
                         28 ;
  006580: 367C3A44       29          MOVE.W  #CMD7,A3       ;PTR TO CMD7
  006584: 4EB865BE       30          JSR     SGTBLS         ;PROG HOST TO 68K
                         31 ;
                         32 ; THE PROGRAM IS LOADED, NOW:
                         33 ;
                         34 ;    1)  MARK THE END OF THE PROGRAM
                         35 ;    2)  MARK THE END OF THE NAME TABLES
                         36 ;    3)  MARK THE END OF THE LINE NUMBER TABLE
                         37 ;    4)  CALC & STORE THE LINE COUNT
                         38 ;
  006588: 20781584       39          MOVE.L  SOH+4,A0       ;PROG END
  00658C: 30B83A0A       40          MOVE.W  END+2,(A0)     ;APPEND END
  006590: 5150           41          SUBQ.W  #8,(A0)        ;PSEUDO-END
  006592: 2078159C       42          MOVE.L  SOLBN+4,A0     ;LBL NAME TBL END
  006596: 4210           43          CLR.B   (A0)
  006598: 207815B4       44          MOVE.L  SOCN+4,A0      ;CONS NAME TBL END
  00659C: 4210           45          CLR.B   (A0)
  00659E: 207815C4       46          MOVE.L  SOVN+4,A0      ;FP NAME TBL END
  0065A2: 4210           47          CLR.B   (A0)
  0065A4: 2078158C       48          MOVE.L  SOLN+4,A0      ;LINE # TBL END
  0065A8: 30BCFFFF       49          MOVE.W  #$FFFF,(A0)    ;HIGHEST LINE #
  0065AC: 91F81588       50          SUB.L   SOLN,A0        ;SUBTR TBL START
  0065B0: 3008           51          MOVE.W  A0,D0          ;2 * # LINES
  0065B2: E248           52          LSR.W   #1,D0          ;LINE COUNT
  0065B4: 31C0154C       53          MOVE.W  D0,NLINES
                         54 ;
  0065B8: 4CDF7FFF       55          MOVEM.L (A7)+,D0-D7/A0-A6  ;RESTORE REGS
  0065BC: 4E75           56          RTS
                         57 ;

                         59 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         60 ;
                         61 ; TRANSFER A PROGRAM BETWEEN THE HOST AND
                         62 ; THE 68000;  THE DIRECTION DEPENDS ON A3.
                         63 ;
  0065BE: 700D           64 SGTBLS   MOVEQ   #13,D0         ;13 TABLE PTRS
  0065C0: 3C7C1580       65          MOVE.W  #SOH,A6        ;PTR TO POINTERS!
  0065C4: 363C6000       66          MOVE.W  #$6000,D3      ;HOST ADR TO D3
  0065C8: 3C03           67          MOVE.W  D3,D6          ;HOST ADR
  0065CA: 3A4E           68          MOVE.W  A6,A5          ;ADR IN 68000
  0065CC: 3800           69          MOVE.W  D0,D4
  0065CE: E74C           70          LSL.W   #3,D4          ;8 BYTES PER TABLE
  0065D0: 31C4151A       71          MOVE.W  D4,COUNT       ;INIT COUNT
  0065D4: D644           72          ADD.W   D4,D3          ;NEXT HOST ADR
  0065D6: 4E93           73          JSR     (A3)           ;XFR 104 BYTES
  0065D8: 5500           74          SUBQ.B  #2,D0          ;XFR 11 TABLES
                         75 ;
  0065DA: 2A5E           76 SGTBL1   MOVE.L  (A6)+,A5       ;TABLE ADR
  0065DC: 281E           77          MOVE.L  (A6)+,D4       ;TABLE END
  0065DE: 3C03           78          MOVE.W  D3,D6          ;HOST ADR
  0065E0: 988D           79          SUB.L   A5,D4          ;NUMBER OF BYTES
  0065E2: 6708           80          BEQ     SGTBL2         ;SKIP IF ZERO
                         81 ;
  0065E4: D978151A       82          ADD.W   D4,COUNT       ;BYTE COUNT
  0065E8: D644           83          ADD.W   D4,D3          ;NEXT HOST ADR
  0065EA: 4E93           84          JSR     (A3)           ;XFR ONE TABLE
  0065EC: 5300           85 SGTBL2   SUB.B   #1,D0          ;DECR TABLE COUNT
  0065EE: 66EA           86          BNE     SGTBL1         ;XFR 11 TBLS
                         87 ;
  0065F0: 4E75           88          RTS                    ;ALL BYTES XFR'D
                         89 ;
                         90 ; CLEAR THE NAME FIELD IN THE PROGRAM LINE
                         91 ;
  0065F2: 3F0E           92 NAME     MOVE.W  A6,-(A7)       ;PTR TO NAME FLD
  0065F4: 7E20           93          MOVEQ   #$20,D7        ;SPACE
  0065F6: 7009           94          MOVEQ   #9,D0          ;9 CHARS
  0065F8: 1CC7           95 NAME1    MOVE.B  D7,(A6)+       ;ONE SPACE
  0065FA: 5300           96          SUBQ.B  #1,D0          ;DECR COUNT
  0065FC: 66FA           97          BNE     NAME1          ;LOOP 9 TIMES
                         98 ;
                         99 ; CHECK FOR A NAME FIELD; LENGTH 1 - 8 CHARS
                        100 ;
  0065FE: 4EB86A52      101          JSR     CHKFLDC        ;GET PARM FIELD
  006602: 0C050009      102          CMPI.B  #9,D5          ;NAME > 8 CHARS ?
  006606: 6506          103          BCS     NAME2          ;OK IF > 9
                        104 ;
  006608: 7E20          105          MOVEQ   #32,D7         ;NAME TOO LONG
  00660A: 4EF86E06      106          JMP     ERROR          ;REPORT ERROR
                        107 ;
                        108 ; STORE THE NAME IN THE "BSAVE" NAME FIELD
                        109 ;
  00660E: 305F          110 NAME2    MOVE.W  (A7)+,A0       ;PTR TO NAME FLD
  006610: 1E1E          111 NAME3    MOVE.B  (A6)+,D7       ;FETCH A CHAR
  006612: 0207007F      112          ANDI.B  #$7F,D7        ;MASK UPPER BIT
  006616: 10C7          113          MOVE.B  D7,(A0)+       ;STORE A CHAR
  006618: 5305          114          SUBQ.B  #1,D5          ;MORE CHARS?
  00661A: 66F4          115          BNE     NAME3          ;LOOP TIL DONE
                        116 ;
  00661C: 4E75          117          RTS                    ;NAME SET UP
                        118 ;

                        120 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        121 ;
                        122 ; FIND THE END OF THE HOST PROGRAM BY TRACING
                        123 ; THE BASIC LINE LINKS 'TIL $0000 IS FOUND.
                        124 ;
  00661E: 31FC08011100  125 GETLINK  MOVE.W  #$0801,LINK    ;1ST LINK ADR
                        126 ;
  006624: 30381100      127 GETLINK1 MOVE.W  LINK,D0        ;D0 = LAST LINK
  006628: 3A7C1101      128          MOVE.W  #LINK+1,A5     ;68000 ADR
  00662C: 7802          129          MOVEQ   #2,D4          ;TWO BYTES
  00662E: 610C          130          BSR     CMD7B          ;GET NEXT LINK
  006630: 11E51100      131          MOVE.B  -(A5),LINK     ;HIGH ORDER ADR
  006634: 66EE          132          BNE     GETLINK1       ;LOOP TIL ZERO
                        133 ;
                        134 ; END OF HOST PROG FOUND;  SAVE THE NEXT 64
                        135 ; BYTES TEMPORARILY IN THE 68000'S "DBUFF".
                        136 ;
  006636: 3A7C1104      137          MOVE.W  #DBUFF,A5      ;68000 ADR
                        138 ;
                        139 ; GET 64 BYTES FROM THE HOST; HOST ADR IN D0
                        140 ;
  00663A: 7840          141 CMD7A    MOVEQ   #64,D4         ;64 BYTES
  00663C: 3C00          142 CMD7B    MOVE.W  D0,D6          ;D6 = HOST ADR
  00663E: 4EF83A44      143          JMP     CMD7           ;EXIT VIA CMD7
                        144 ;
                        145 ; APPEND TWO NEW PROGRAM LINES TO THE END OF
                        146 ; THE HOST BASIC PROGRAM (BLOAD/SAVE, CALL).
                        147 ;
  006642: 6108          148 LSPROG   BSR     CMD8A          ;STORE 2 LINES
                        149 ;
                        150 ; EXIT TO BASIC SO THAT HOST CAN LOAD/SAVE PROG
                        151 ;
  006644: 4EB83A2C      152          JSR     CMD1           ;EXIT TO BASIC
                        153 ;
                        154 ; RESTORE THE HOST CODE WHEN SAVE IS DONE
                        155 ;
  006648: 3A7C1104      156          MOVE.W  #DBUFF,A5      ;68000 ADR
                        157 ; RESTORE THE HOST CODE & LOAD/SAVE DONE
                        158 ;
                        159 ; SEND 64 BYTES TO THE HOST; HOST ADR IN D0
                        160 ;
  00664C: 3C00          161 CMD8A    MOVE.W  D0,D6          ;D6 = HOST ADR
  00664E: 7840          162          MOVEQ   #64,D4         ;64 BYTES
  006650: 4EF83A48      163          JMP     CMD8           ;EXIT VIA CMD8
                        164 ;
  006654: 0000FEF9      165 BLOAD    DC.L    $0000FEF9      ;LINK, LINE #
  006658: BAE72834      166          DC.L    $BAE72834      ;?CHR$(4
  00665C: 293B2242      167          DC.L    $293B2242      ;);"B
  006660: 4C4F4144      168          DC.L    $4C4F4144      ;LOAD
  006664: 20202020      169 LNAME    DC.L    $20202020      ;9 CHAR NAME
  006668: 20202020      170          DC.L    $20202020
  00666C: 202C4124      171          DC.L    $202C4124      ; ,A$
  006670: 36303030      172          DC.L    $36303030      ;HEX ADDRESS
  006674: 2C204431      173          DC.L    $2C204431      ;, D1"
  006678: 2200          174          DC.W    $2200          ;QUOTE, END
  00667A: 0000FFF9      175 LLINK    DC.L    $0000FFF9      ;LINK, LINE #
  00667E: AB363339      176          DC.L    $AB363339      ;GOTO 639
  006682: 3937          177          DC.W    $3937          ;97
  006684: 00000000      178          DC.L    $00000000      ;END PROG MARK
                        179 ;

                        181 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        182 ;
                        183 ;-------------------
                        184 ;-- COMMAND: SAVE --
                        185 ;-------------------
                        186 ;
  006688: 48E7FFFE      187 SAVE     MOVEM.L D0-D7/A0-A6,-(A7)  ;SAVE REGS
  00668C: 3C7C6704      188          MOVE.W  #SNAME,A6      ;PTR TO NAME FLD
  006690: 4EB865F2      189          JSR     NAME           ;SET UP PROG NAME
                        190 ;
                        191 ; SAVE THE PROGRAM FROM THE 68000 TO THE HOST
                        192 ;
  006694: 367C3A48      193          MOVE.W  #CMD8,A3       ;PTR TO CMD8
  006698: 4EB865BE      194          JSR     SGTBLS         ;PROG TO HOST
                        195 ;
  00669C: 4EB8661E      196          JSR     GETLINK        ;GET HOST LINE LINK
                        197 ;
                        198 ; STORE THE BYTE COUNT IN THE BASIC PROG LINE
                        199 ;
  0066A0: 3C38151A      200          MOVE.W  COUNT,D6       ;BYTE COUNT
  0066A4: 307C671C      201          MOVE.W  #SLEN+4,A0     ;DEST
  0066A8: 6126          202          BSR     DOHEX4         ;CONV & STORE
                        203 ;
                        204 ; CALCULATE AND STORE THE LINE LINKS FOR THE
                        205 ; TWO LINES TO BE APPENDED TO THE BASIC PROG.
                        206 ;
  0066AA: 3A7C6723      207          MOVE.W  #SLINK+1,A5    ;2ND LINE LINK
  0066AE: 7239          208          MOVEQ   #$39,D1        ;LINK OFFSET
  0066B0: 6112          209          BSR     CSLINK         ;CALC & STORE
  0066B2: 3A7C66F5      210          MOVE.W  #BSAVE+1,A5    ;1ST LINE LINK
  0066B6: 722E          211          MOVEQ   #$2E,D1        ;LINK OFFSET
  0066B8: 610A          212          BSR     CSLINK         ;CALC & STORE
                        213 ;
                        214 ; SAVE THE PROGRAM FROM THE HOST TO THE DISK
                        215 ;
  0066BA: 4EB86642      216          JSR     LSPROG         ;SAVE THE PROGRAM
                        217 ;
  0066BE: 4CDF7FFF      218          MOVEM.L (A7)+,D0-D7/A0-A6  ;RESTORE REGS
  0066C2: 4E75          219          RTS                    ;SAVE DONE
                        220 ;

                        222 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        223 ;
                        224 ; SUBROUTINE;  CALC & STORE 1 BASIC PROG LINK
                        225 ;
  0066C4: D240          226 CSLINK   ADD.W   D0,D1          ;ADD LAST LINK
  0066C6: 3E01          227          MOVE.W  D1,D7
  0066C8: E04F          228          LSR.W   #8,D7          ;HIGH ORDER
  0066CA: 1A87          229          MOVE.B  D7,(A5)        ;STORE HI ORD
  0066CC: 1B01          230          MOVE.B  D1,-(A5)       ;STORE LO ORD
  0066CE: 4E75          231          RTS                    ;DONE
                        232 ;
                        233 ; CONVERT AND STORE A WORD (4 HEX CHARS)
                        234 ;
  0066D0: 6106          235 DOHEX4   BSR     DOHEX
  0066D2: 6104          236          BSR     DOHEX
  0066D4: 6102          237          BSR     DOHEX
  0066D6: 4E71          238          NOP                    ;4 CHARS DONE
                        239 ;
                        240 ; CONVERT AND STORE A HEX DIGIT
                        241 ;
  0066D8: 3E06          242 DOHEX    MOVE.W  D6,D7          ;NIBBLE TO D7
  0066DA: 6106          243          BSR     HEXIT          ;CONVERT TO HEX
  0066DC: 1107          244          MOVE.B  D7,-(A0)       ;STORE IT
  0066DE: E84E          245          LSR.W   #4,D6          ;NEXT NIBBLE RDY
  0066E0: 4E75          246          RTS                    ;DONE
                        247 ;
                        248 ; CONVERT A NIBBLE IN D7 TO HEXADECIMAL
                        249 ;
  0066E2: 0207000F      250 HEXIT    ANDI.B  #$0F,D7        ;MASK D4-D7
  0066E6: 06070030      251          ADDI.B  #$30,D7
  0066EA: 0C07003A      252          CMPI.B  #$3A,D7        ;NUMERIC ?
  0066EE: 6502          253          BCS     HEXITX         ;SKIP IF SO
                        254 ;
  0066F0: 5E07          255          ADDQ.B  #7,D7          ;A - F
  0066F2: 4E75          256 HEXITX   RTS                    ;CONVERSION DONE
                        257 ;
  0066F4: 0000FEF9      258 BSAVE    DC.L    $0000FEF9      ;LINK, LINE #
  0066F8: BAE72834      259          DC.L    $BAE72834      ;?CHR$(4
  0066FC: 293B2242      260          DC.L    $293B2242      ;);"B
  006700: 53415645      261          DC.L    $53415645      ;SAVE
  006704: 20202020      262 SNAME    DC.L    $20202020      ;9 CHAR NAME
  006708: 20202020      263          DC.L    $20202020
  00670C: 202C4124      264          DC.L    $202C4124      ; ,A$
  006710: 36303030      265          DC.L    $36303030      ;HEX ADDRESS
  006714: 2C204C24      266          DC.L    $2C204C24      ;, L$
  006718: 30303030      267 SLEN     DC.L    $30303030      ;HEX LENGTH
  00671C: 2C204431      268          DC.L    $2C204431      ;, D1"
  006720: 2200          269          DC.W    $2200          ;QUOTE, END
  006722: 0000FFF9      270 SLINK    DC.L    $0000FFF9      ;LINK, LINE #
  006726: AB363339      271          DC.L    $AB363339      ;GOTO 639
  00672A: 3937          272          DC.W    $3937          ;97
  00672C: 00000000      273          DC.L    $00000000      ;END PROG MARK
                        274 ;
00001100:               275 LINK     EQU     $1100
00001104:               276 DBUFF    EQU     $1104
                        277 ;
                                     CHAIN   EDIT1

                          2 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          3 ;
                          4 ;
  006730: 7300            5 EDTTBL   DC.W    ELET           ;LET
  006732: 6A02            6          DC.W    EGOTO          ;GOSUB
  006734: 6A02            7          DC.W    EGOTO          ;GOTO
  006736: 689A            8          DC.W    EASSIGN        ;ASSIGN
  006738: 6A02            9          DC.W    EGOTO          ;OEGOTO
  00673A: 686A           10          DC.W    ENULL          ;RETURN
  00673C: 6814           11          DC.W    EINPUT         ;INPUT
  00673E: 681A           12          DC.W    EINPUTS        ;INPUTS
  006740: 682C           13          DC.W    EPRINT         ;PRINT
  006742: 683A           14          DC.W    EPRCR          ;PRINTCR
  006744: 6840           15          DC.W    EPRINTS        ;PRINTS
  006746: 684C           16          DC.W    EPRNTSV        ;PRINTSV
  006748: 686A           17          DC.W    ENULL          ;STOP
  00674A: 686A           18          DC.W    ENULL          ;HOME
  00674C: 6872           19          DC.W    EVTAB          ;VTAB
  00674E: 687A           20          DC.W    EHTAB          ;HTAB
  006750: 6872           21          DC.W    EVTAB          ;VTABC
  006752: 687A           22          DC.W    EHTAB          ;HTABC
  006754: 6A4E           23          DC.W    EHPR           ;HPR
  006756: 686A           24          DC.W    ENULL          ;END
  006758: 68B6           25          DC.W    EREM           ;REM
  00675A: 68D2           26          DC.W    EVARN          ;LOCAL
  00675C: 6B90           27          DC.W    EIF            ;IF
  00675E: 6936           28          DC.W    EFOR           ;FOR
  006760: 6862           29          DC.W    EVAR1          ;NEXT
  006762: 69FC           30          DC.W    EMAV           ;MAV
  006764: 69FE           31          DC.W    EMVA           ;MVA
  006766: 686A           32          DC.W    ENULL          ;TEXT
  006768: 686A           33          DC.W    ENULL          ;HGR1
  00676A: 686A           34          DC.W    ENULL          ;HGR2
  00676C: 686A           35          DC.W    ENULL          ;HCLR1
  00676E: 686A           36          DC.W    ENULL          ;HCLR2
  006770: 685C           37          DC.W    EVAR2          ;PPLOT
  006772: 68EE           38          DC.W    EVAR4          ;LPLOT
  006774: 685C           39          DC.W    EVAR2          ;PCLR
  006776: 68EE           40          DC.W    EVAR4          ;LCLR
  006778: 686A           41          DC.W    ENULL          ;0000
  00677A: 686A           42          DC.W    ENULL          ;0000
  00677C: 686A           43          DC.W    ENULL          ;0000
  00677E: 686A           44          DC.W    ENULL          ;0000
  006780: 686A           45          DC.W    ENULL          ;0000
  006782: 686A           46          DC.W    ENULL          ;0000
  006784: 686A           47          DC.W    ENULL          ;0000
  006786: 686A           48          DC.W    ENULL          ;0000
  006788: 686A           49          DC.W    ENULL          ;0000
  00678A: 686A           50          DC.W    ENULL          ;0000
  00678C: 686A           51          DC.W    ENULL          ;0000
  00678E: 686A           52          DC.W    ENULL          ;0000
  006790: 686A           53          DC.W    ENULL          ;0000
  006792: 686A           54          DC.W    ENULL          ;0000
  006794: 686A           55          DC.W    ENULL          ;0000
  006796: 686A           56          DC.W    ENULL          ;0000
  006798: 686A           57          DC.W    ENULL          ;0000
  00679A: 686A           58          DC.W    ENULL          ;0000
  00679C: 686A           59          DC.W    ENULL          ;0000
                         60 ;

                         62 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         63 ;
  00679E: 686A           64          DC.W    ENULL          ;0000
  0067A0: 686A           65          DC.W    ENULL          ;0000
  0067A2: 686A           66          DC.W    ENULL          ;0000
  0067A4: 686A           67          DC.W    ENULL          ;0000
  0067A6: 686A           68          DC.W    ENULL          ;0000
  0067A8: 686A           69          DC.W    ENULL          ;0000
  0067AA: 686A           70          DC.W    ENULL          ;0000
  0067AC: 686A           71          DC.W    ENULL          ;0000
  0067AE: 686A           72          DC.W    ENULL          ;0000
  0067B0: 686A           73          DC.W    ENULL          ;0000
  0067B2: 686A           74          DC.W    ENULL          ;0000
  0067B4: 686A           75          DC.W    ENULL          ;0000
  0067B6: 686A           76          DC.W    ENULL          ;0000
  0067B8: 686A           77          DC.W    ENULL          ;0000
  0067BA: 686A           78          DC.W    ENULL          ;0000
  0067BC: 686A           79          DC.W    ENULL          ;0000
  0067BE: 686A           80          DC.W    ENULL          ;0000
  0067C0: 686A           81          DC.W    ENULL          ;0000
  0067C2: 686A           82          DC.W    ENULL          ;0000
  0067C4: 686A           83          DC.W    ENULL          ;0000
  0067C6: 686A           84          DC.W    ENULL          ;0000
  0067C8: 686A           85          DC.W    ENULL          ;0000
  0067CA: 686A           86          DC.W    ENULL          ;0000
  0067CC: 686A           87          DC.W    ENULL          ;0000
  0067CE: 686A           88          DC.W    ENULL          ;0000
  0067D0: 686A           89          DC.W    ENULL          ;0000
  0067D2: 0000           90          DC.W    0
  0067D4: 0000           91          DC.W    0
  0067D6: 0000           92          DC.W    0
  0067D8: 0000           93          DC.W    0
  0067DA: 0000           94          DC.W    0
  0067DC: 0000           95          DC.W    0
  0067DE: 0000           96          DC.W    0
  0067E0: 0000           97          DC.W    0
  0067E2: 0000           98          DC.W    0
  0067E4: 0000           99          DC.W    0
  0067E6: 0000          100          DC.W    0
  0067E8: 0000          101          DC.W    0
  0067EA: 0000          102          DC.W    0
  0067EC: 0000          103          DC.W    0
  0067EE: 0000          104          DC.W    0
  0067F0: 0000          105          DC.W    0
  0067F2: 0000          106          DC.W    0
  0067F4: 0000          107          DC.W    0
  0067F6: 0000          108          DC.W    0
  0067F8: 0000          109          DC.W    0
  0067FA: 0000          110          DC.W    0
  0067FC: 0000          111          DC.W    0
  0067FE: 0000          112          DC.W    0
  006800: 0000          113          DC.W    0
  006802: 0000          114          DC.W    0
  006804: 0000          115          DC.W    0
  006806: 0000          116          DC.W    0
  006808: 0000          117          DC.W    0
  00680A: 0000          118          DC.W    0
  00680C: 0000          119          DC.W    0
  00680E: 0000          120          DC.W    0
  006810: 0000          121          DC.W    0
  006812: 0000          122          DC.W    0
                        123 ;

                        125 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        126 ;
                        127 ; EACH OF THE FOLLOWING ROUTINES ARE USED IN THE
                        128 ; EDITING OF HALGOL SOURCE CODE.
                        129 ;
                        130 ; THESE ROUTINES ARE REFERENCED BY THE KEYWORD'S
                        131 ; EDIT LINK.
                        132 ;
                        133 ;-----------------------
                        134 ;-- EDIT LINK: EINPUT --
                        135 ;-----------------------
                        136 ;
                        137 ; COMPILE THE "INPUT VARN" FN (NO PROMPT STRING)
                        138 ;
  006814: 0C1000A2      139 EINPUT   CMPI.B  #$A2,(A0)      ;START OF TEXT?
  006818: 6648          140          BNE     EVAR1          ;FIELD IS VARN
                        141 ;
                        142 ;------------------------
                        143 ;-- EDIT LINK: EINPUTS --
                        144 ;------------------------
                        145 ;
  00681A: 37783A0EFFFE  146 EINPUTS  MOVE.W  INPUTS+2,-2(A3)  ;<INPUTS>
                        147 ;
                        148 ; STORE THE PROMPT STRING IN THE WORK BUFFER
                        149 ;
  006820: 4EB84C70      150          JSR     INPTXT         ;STORE TEXT
  006824: 0C1800AC      151          CMPI.B  #",",(A0)+     ;COMMA PRESENT?
  006828: 6738          152          BEQ     EVAR1          ;EXIT VIA EVAR1
                        153 ;
  00682A: 602A          154          BRA     SYNERR         ;SYNTAX ERROR
                        155 ;
                        156 ;-----------------------
                        157 ;-- EDIT LINK: EPRINT --
                        158 ;-----------------------
                        159 ;
                        160 ; COMPILE THE "PRINT VARN" FN (NO PROMPT STRING)
                        161 ;
  00682C: 284B          162 EPRINT   MOVEA.L A3,A4          ;WRK BUFFER PTR
  00682E: 558C          163          SUBQ.L  #2,A4          ;ADJUST PTR
  006830: 0C1000A2      164          CMPI.B  #$A2,(A0)      ;START OF TEXT?
  006834: 670A          165          BEQ     EPRINTS        ;SVC PROMPT STR
                        166 ;
  006836: 1E10          167          MOVE.B  (A0),D7        ;END ($00) ?
  006838: 6628          168          BNE     EVAR1          ;FIELD IS VARN
                        169 ;
  00683A: 38B83A12      170 EPRCR    MOVE.W  PRINTCR+2,(A4)  ;<PRINTCR>
  00683E: 4E75          171          RTS                    ;RETN TO PARSER
                        172 ;

                        174 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        175 ;
                        176 ;------------------------
                        177 ;-- EDIT LINK: EPRINTS --
                        178 ;------------------------
                        179 ;
  006840: 38B83A16      180 EPRINTS  MOVE.W  PRINTS+2,(A4)  ;<PRINTS>
                        181 ;
                        182 ; STORE THE PROMPT STRING IN THE WORK BUFFER
                        183 ;
  006844: 4EB84C70      184          JSR     INPTXT         ;STORE TEXT
  006848: 1E10          185          MOVE.B  (A0),D7        ;END?
  00684A: 671E          186          BEQ     ENULL          ;DONE IF END
                        187 ;
                        188 ;------------------------
                        189 ;-- EDIT LINK: EPRNTSV --
                        190 ;------------------------
                        191 ;
  00684C: 38B83A1A      192 EPRNTSV  MOVE.W  PRINTSV+2,(A4)  ;<PRINTSV>
  006850: 0C1800AC      193          CMPI.B  #",",(A0)+     ;COMMA PRESENT?
  006854: 670C          194          BEQ     EVAR1          ;EXIT VIA EVAR1
                        195 ;
                        196 ;  <ELSE A SYNTAX ERROR CONDITION EXISTS>
                        197 ;
  006856: 7E03          198 SYNERR   MOVEQ   #3,D7          ;SYNTAX ERROR
  006858: 4EF86E06      199 SYNERR1  JMP     ERROR          ;REPORT THE ERROR
                        200 ;
                        201 ;----------------------
                        202 ;-- EDIT LINK: EVAR2 --
                        203 ;----------------------
                        204 ;
  00685C: 610E          205 EVAR2    BSR     REMSPC1        ;REMOVE SPACES
  00685E: 4EB86902      206          JSR     GET1VAR        ;GET "VARN,"
                        207 ;
                        208 ; GET NEXT VARN, EXITING VIA EVAR1
                        209 ;
                        210 ;----------------------
                        211 ;-- EDIT LINK: EVAR1 --
                        212 ;----------------------
                        213 ;
                        214 ; EDITS: ONE ARGUMENT, A VARIABLE NAME
                        215 ;
                        216 ; SERVICE A VARN AND STORE OFFSET ADR, THEN
                        217 ; STORE THE OBJECT CODE & EXIT.
                        218 ;
  006862: 4EB86A5A      219 EVAR1    JSR     CHKFLD         ;GET VARN FIELD
  006866: 4EB84C3C      220 EVAR1A   JSR     VARCHK         ;SERVICE VARN
  00686A: 4E75          221 ENULL    RTS                    ;RETN TO PARSER
                        222 ;
  00686C: 3C48          223 REMSPC1  MOVEA.W A0,A6          ;CURRENT FLD PTR
  00686E: 4EF84C34      224          JMP     REMSPCE        ;REMOVE SPACES
                        225 ;
                                     CHAIN   EDIT2

                          2 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          3 ;
                          4 ;----------------------
                          5 ;-- EDIT LINK: EVTAB --
                          6 ;----------------------
                          7 ;
  006872: 31F83A221516    8 EVTAB    MOVE.W  VTABC+2,NUMWDS  ;<VTABC> ADR
  006878: 6006            9          BRA     EHTAB1
                         10 ;
                         11 ;----------------------
                         12 ;-- EDIT LINK: EHTAB --
                         13 ;----------------------
                         14 ;
                         15 ; EDITS: ONE ARGUMENT;  CONSTANT OR VARN
                         16 ;
                         17 ; A6: POINTER TO CURRENT FIELD
                         18 ;
  00687A: 31F83A261516   19 EHTAB    MOVE.W  HTABC+2,NUMWDS  ;<HTABC> ADR
  006880: 4EB86A5A       20 EHTAB1   JSR     CHKFLD         ;GET NEXT FLD
                         21 ;
                         22 ; TEST IF NUMBER IS A CONSTANT OR VARIABLE
                         23 ;
  006884: 384E           24          MOVEA.W A6,A4          ;START OF STRING
  006886: 4EB820D4       25          JSR     NUMEVAL        ;EVALUATE STRING
  00688A: 4A07           26          TST.B   D7             ;NUMERIC STRING?
  00688C: 66D8           27          BNE     EVAR1A         ;NO, SVC VARN
                         28 ;
  00688E: 554B           29          SUBQ    #2,A3          ;RESET BUFR PTR
  006890: 36F81516       30          MOVE.W  NUMWDS,(A3)+   ;NEW ACT ADR
                         31 ;
                         32 ; STORE THE REST OF THE OBJECT CODE.
                         33 ;
  006894: 4EB84C44       34          JSR     CONCHK         ;GET CONSTANT
  006898: 4E75           35          RTS                    ;RETN TO PARSER
                         36 ;
                         37 ;------------------------
                         38 ;-- EDIT LINK: EASSIGN --
                         39 ;------------------------
                         40 ;
                         41 ; EDITS: A VARN, THEN AN FP # IN HEXADECIMAL
                         42 ; 1ST) REMOVE SPACES FROM FIELD
                         43 ; 2ND) SERVICE A VARN
                         44 ; 3RD) FETCH A VALID 16 HEX DIGIT FP #
                         45 ; 4TH) STORE OBJECT CODE
                         46 ;
  00689A: 61D0           47 EASSIGN  BSR     REMSPC1        ;REMOVE SPACES
  00689C: 4EB869B0       48          JSR     LOCVAL         ;LOCATE VARN
  0068A0: 4EB84C3C       49          JSR     VARCHK         ;GET "VARN"
  0068A4: 7210           50          MOVEQ   #16,D1         ;MAX 16 HEX CHARS
  0068A6: 7410           51          MOVEQ   #16,D2         ;MIN 16 HEX CHARS
  0068A8: 5248           52          ADDQ.W  #1,A0          ;PTR PAST "="
  0068AA: 3C48           53          MOVE.W  A0,A6          ;SET PTR
  0068AC: 4EB84C54       54          JSR     HEXGET         ;GET 8 BYTE PARM
  0068B0: 26C3           55          MOVE.L  D3,(A3)+       ;STORE PARM IN BUFF
  0068B2: 26C4           56          MOVE.L  D4,(A3)+
  0068B4: 4E75           57          RTS                    ;RETN TO PARSER
                         58 ;

                         60 ;---------------------
                         61 ;-- EDIT LINK: EREM --
                         62 ;---------------------
                         63 ;
  0068B6: 31CB1514       64 EREM     MOVE.W  A3,WRKADR      ;SAVE LINK PTR
  0068BA: 544B           65          ADDQ.W  #2,A3          ;PTR PAST LINK
  0068BC: 4EB86A28       66          JSR     INPREM         ;GET THE REMARK
  0068C0: 3E0B           67          MOVE.W  A3,D7          ;END POINTER
  0068C2: 34381514       68          MOVE.W  WRKADR,D2      ;LINK ADR PTR
  0068C6: 5442           69          ADDQ.W  #2,D2          ;LINK ADR PTR
  0068C8: 9E42           70          SUB.W   D2,D7          ;CALC LINE LINK
  0068CA: 34781514       71          MOVEA.W WRKADR,A2      ;LINK ADR PTR
  0068CE: 3487           72          MOVE.W  D7,(A2)        ;STORE LINE LINK
  0068D0: 4E75           73 EVRTS    RTS                    ;RETN TO PARSER
                         74 ;
                         75 ; EDIT CODE HERE FOR N VARNS (V1,V2,... VN)
                         76 ;
  0068D2: 31CB1514       77 EVARN    MOVE.W  A3,WRKADR      ;SAVE LINK PTR
  0068D6: 6194           78          BSR     REMSPC1        ;REMOVE SPACES
  0068D8: 425B           79          CLR.W   (A3)+          ;ZERO THE LINK
  0068DA: 7CAC           80 EVARN1   MOVEQ   #",",D6        ;SEARCH KEY = COMMA
  0068DC: 4EB84C20       81          JSR     GETFLDA        ;GOT A FIELD ?
  0068E0: 4A05           82          TST.B   D5             ;NOT IF ZERO
  0068E2: 67EC           83          BEQ     EVRTS          ;EXIT IF NO FIELD
                         84 ;
  0068E4: 6120           85          BSR     GETVAR2        ;GET "VARN,"
  0068E6: 34781514       86          MOVEA.W WRKADR,A2
  0068EA: 5452           87          ADDQ.W  #2,(A2)
  0068EC: 60EC           88          BRA     EVARN1         ;NEXT VARN
                         89 ;
                         90 ; EDIT CODE FOR 4 VARNS (V1,V2 TO V3,V4)
                         91 ;
  0068EE: 3C48           92 EVAR4    MOVEA.W A0,A6          ;CURRENT FLD PTR
  0068F0: 6110           93          BSR     GET1VAR        ;GET "VARN,"
  0068F2: 4EB86A5A       94          JSR     CHKFLD         ;FIELD, SPACE
  0068F6: 610E           95          BSR     GETVAR2        ;GET "VARN "
  0068F8: 6116           96          BSR     CHKTO          ;" TO " ?
  0068FA: 6106           97          BSR     GET1VAR        ;GET "VARN,"
  0068FC: 4EB86A5A       98          JSR     CHKFLD         ;FIELD, SPACE
  006900: 6004           99          BRA     GETVAR2        ;4TH V & RETN
                        100 ;
                        101 ; GET A VARN WHICH IS FOLLOWED BY A COMMA
                        102 ;
  006902: 4EB86A52      103 GET1VAR  JSR     CHKFLDC        ;FIELD, COMMA
  006906: 3F08          104 GETVAR2  MOVE.W  A0,-(A7)       ;SAVE BUFR PTR
  006908: 4EB84C3C      105          JSR     VARCHK         ;SERVICE VARN
  00690C: 305F          106          MOVE.W  (A7)+,A0       ;RESTORE PTR
  00690E: 4E75          107          RTS                    ;RETURN
                        108 ;
  006910: 7004          109 CHKTO    MOVEQ   #4,D0          ;4 CHARS
  006912: 7200          110          MOVEQ   #0,D1          ;PTR TO " TO "
                        111 ;
                        112 ; CHECK FOR AN EXACT STRING
                        113 ;
  006914: 327C692C      114 CHKSTR   MOVE.W  #CSTRTB,A1     ;STRING TABLE ADR
  006918: D2C1          115          ADD.W   D1,A1          ;PARTICULAR STR
  00691A: 1E19          116 CHKSTR1  MOVE.B  (A1)+,D7       ;FETCH CHAR
  00691C: 6106          117          BSR     CHKCHR         ;CONFIRM CHAR
  00691E: 5300          118          SUBQ.B  #1,D0          ;DECR COUNT
  006920: 66F8          119          BNE     CHKSTR1        ;NEXT CHAR
  006922: 4E75          120          RTS                    ;STRING CHECKED
                        121 ;

                        123 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        124 ;
                        125 ; CONFIRM CORRECT CHAR IN BUFR, ELSE SYNTAX ERR
                        126 ;
  006924: BE18          127 CHKCHR   CMP.B   (A0)+,D7       ;SAME CHR ?
  006926: 6600FF2E      128          BNE     SYNERR         ;ERROR IF NOT
  00692A: 4E75          129          RTS                    ;DONE
                        130 ;
  00692C: A0D4CFA0      131 CSTRTB   ASC     " TO "         ;ADR +0
  006930: D3D4C5D0A0    132          ASC     "STEP "        ;ADR +4
          00           SYNC
                        133          SYNC
                        134 ;
                        135 ;---------------------
                        136 ;-- EDIT LINK: EFOR --
                        137 ;---------------------
                        138 ;
                        139 ; EDIT CODE 'FOR I = 1 TO N (STEP S)'
                        140 ;
  006936: 4EB869B0      141 EFOR     JSR     LOCVAL         ;LOCATE FIELD
  00693A: 4EB84C3C      142          JSR     VARCHK         ;SERVICE VARN
  00693E: 31FC370C191A  143          MOVE.W  #ACTTBL2+44,FPU  ;PTR TO FOR0
  006944: 4EB8699E      144          JSR     FINDR          ;PARM PAST "="
  006948: 7008          145          MOVEQ   #8,D0
  00694A: 4EB869E6      146          JSR     GETVC          ;INITIAL VALUE
  00694E: 61C0          147          BSR     CHKTO          ;" TO " ?
  006950: 4EB86A5A      148          JSR     CHKFLD         ;SKIP SPACES
  006954: 7002          149          MOVEQ   #2,D0
  006956: 4EB869E6      150          JSR     GETVC          ;LIMIT VALUE
  00695A: 4EB84C1C      151          JSR     GETFLD         ;MORE ?
  00695E: 4A05          152          TST.B   D5
  006960: 6608          153          BNE     CHKSTEP        ;IF MORE
                        154 ;
  006962: 5878191A      155          ADDQ.W  #4,FPU         ;CONSTANT
  006966: 425B          156          CLR.W   (A3)+          ;ONE
  006968: 6010          157          BRA     EFOR1          ;REDO HALGOL CODE
                        158 ;
  00696A: 7005          159 CHKSTEP  MOVEQ   #5,D0          ;5 CHARS
  00696C: 7204          160          MOVEQ   #4,D1          ;PTR TO "STEP "
  00696E: 304E          161          MOVE.W  A6,A0          ;RESTORE PTR
  006970: 61A2          162          BSR     CHKSTR         ;CHECK FOR "STEP "
  006972: 4EB86A5A      163          JSR     CHKFLD         ;GET FIELD
  006976: 7004          164          MOVEQ   #4,D0
  006978: 616C          165          BSR     GETVC          ;STEP VALUE
                        166 ;
  00697A: 3078191A      167 EFOR1    MOVE.W  FPU,A0         ;PTR TO TABLE
  00697E: 47EBFFF6      168          LEA     -10(A3),A3     ;PTR TO WORK BUFF
  006982: 36D0          169          MOVE.W  (A0),(A3)+     ;<FOR0-7>
  006984: 301B          170          MOVE.W  (A3)+,D0       ;LOOP VARN
  006986: 321B          171          MOVE.W  (A3)+,D1       ;INIT VAL
  006988: 241B          172          MOVE.L  (A3)+,D2       ;LIMIT, STEP
  00698A: 514B          173          SUBQ.W  #8,A3          ;CORRECT POINTER
  00698C: 26C2          174          MOVE.L  D2,(A3)+       ;LIMIT, STEP
  00698E: 36C1          175          MOVE.W  D1,(A3)+       ;INITIAL VALUE
  006990: 36C0          176          MOVE.W  D0,(A3)+       ;LOOP VARN
  006992: 4E75          177 EFORX    RTS                    ;RETN TO PARSER
                        178 ;

                        180 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        181 ;
                        182 ; FIND THE NEXT VALUE FIELD PAST THE "=", IGNORING
                        183 ; SPACES.  LEAVE THE POINTER TO THE START OF THE
                        184 ; PARM FIELD IN A6 AND ITS SIZE IN D5.
                        185 ; REPORT AN ERROR IF "=" IS NOT FOUND.  LEAVE A0
                        186 ; POINTING TO THE SPACE PAST THE VALUE FIELD.
                        187 ;
  006994: 4A05          188 EQFOUND  TST.B   D5             ;"=" ALREADY ?
  006996: 6648          189          BNE     ERR40          ;TOO MANY "="
                        190 ;
  006998: 7A01          191          MOVEQ   #1,D5          ;SET "=" FLAG
  00699A: 5248          192 INCPTR   ADD.W   #1,A0          ;PTR TO NEXT CHR
  00699C: 6002          193          BRA     RIGHTV1        ;NEXT CHAR
                        194 ;
  00699E: 4245          195 FINDR    CLR.W   D5             ;"=" NOT FOUND
  0069A0: 0C1000A0      196 RIGHTV1  CMPI.B  #" ",(A0)      ;SPACE ?
  0069A4: 67F4          197          BEQ     INCPTR         ;IF SO
                        198 ;
  0069A6: 0C1000BD      199          CMPI.B  #"=",(A0)      ;"=" ?
  0069AA: 67E8          200          BEQ     EQFOUND        ;IF SO
                        201 ;
  0069AC: 4A05          202          TST.B   D5             ;"=" FOUND ?
  0069AE: 672C          203          BEQ     ERR34          ;IF NOT
                        204 ;
                        205 ; SKIP LEADING SPACES, THEN STORE THE FIELD
                        206 ; START IN A6 AND THE FIELD SIZE IN D5.
                        207 ; TERMINATE THE SEARCH IF EITHER A SPACE OR "="
                        208 ; IS FOUND AND LEAVE A0 POINTING AT SP OR =.
                        209 ;
                        210 ; REPORT AN ERROR IF THE FIELD IS MISSING.
                        211 ;
  0069B0: 4245          212 LOCVAL   CLR.W   D5             ;FIELD LENGTH
  0069B2: 0C1800A0      213 LOCVAL1  CMPI.B  #" ",(A0)+     ;SPACE ?
  0069B6: 67FA          214          BEQ     LOCVAL1        ;IF SO
                        215 ;
  0069B8: 5348          216          SUBQ.W  #1,A0          ;CORRECT PTR
  0069BA: 3C48          217          MOVE.W  A0,A6          ;START TO A6
                        218 ;
  0069BC: 4A10          219 LOCVAL2  TST.B   (A0)           ;END ?
  0069BE: 6718          220          BEQ     ERR23          ;IF SO
                        221 ;
  0069C0: 0C1000A0      222          CMPI.B  #" ",(A0)      ;SPACE ?
  0069C4: 670C          223          BEQ     LOCVALX        ;IF SO
                        224 ;
  0069C6: 0C1000BD      225          CMPI.B  #"=",(A0)      ;"=" ?
  0069CA: 6706          226          BEQ     LOCVALX        ;IF SO
                        227 ;
  0069CC: 5205          228          ADDQ.B  #1,D5          ;INCR FLD COUNT
  0069CE: 5248          229          ADDQ.W  #1,A0          ;INCR PTR
  0069D0: 60EA          230          BRA     LOCVAL2        ;NEXT CHAR
                        231 ;
  0069D2: 4A05          232 LOCVALX  TST.B   D5             ;FIELD FOUND ?
  0069D4: 6702          233          BEQ     ERR23          ;ERROR IF NOT
  0069D6: 4E75          234          RTS                    ;FIELD FOUND
                        235 ;

                        237 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        238 ;
  0069D8: 7E17          239 ERR23    MOVEQ   #23,D7         ;MISSING PARM
  0069DA: 6006          240          BRA     ERR40A
  0069DC: 7E22          241 ERR34    MOVEQ   #34,D7         ;MISSING "="
  0069DE: 6002          242          BRA     ERR40A
  0069E0: 7E28          243 ERR40    MOVEQ   #40,D7         ;TOO MANY "="
  0069E2: 4EF86E06      244 ERR40A   JMP     ERROR
                        245 ;
                        246 ; FETCH A CONSTANT OR A VARN
                        247 ; IF A CONSTANT, ADD D0 TO FPU
                        248 ;
  0069E6: 384E          249 GETVC    MOVEA.W A6,A4          ;START OF STRING
  0069E8: 4EB820D4      250          JSR     NUMEVAL        ;EVALUATE STRING
  0069EC: 4A07          251          TST.B   D7             ;NUMERIC STRING ?
  0069EE: 6608          252          BNE     ISVARN         ;NO; SVC VARN
                        253 ;
  0069F0: D178191A      254          ADD.W   D0,FPU         ;INCR PTR
  0069F4: 4EF84C44      255          JMP     CONCHK         ;GET CONSTANT
                        256 ;
  0069F8: 4EF84C3C      257 ISVARN   JMP     VARCHK         ;GET VARN
                        258 ;
                        259 ;---------------------
                        260 ;-- EDIT LINK: EMAV --
                        261 ;---------------------
                        262 ;
                        263 ; SYNTAX:  MAV ARRAY(1-3) TO VARN
                        264 ;
  0069FC: 4E71          265 EMAV     NOP
                        266 ;
                        267 ;---------------------
                        268 ;-- EDIT LINK: EMVA --
                        269 ;---------------------
                        270 ;
                        271 ; SYNTAX:  MVA VARN TO ARRAY(1-3)
                        272 ;
  0069FE: 4E71          273 EMVA     NOP
                        274 ;

                        276 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        277 ;
                        278 ;----------------------
                        279 ;-- EDIT LINK: EGOTO --
                        280 ;----------------------
                        281 ;
                        282 ; EDITS: ONE ARGUMENT; A STATEMENT LABEL.
                        283 ;
                        284 ; A6: CONTAINS THE POINTER TO THE CURRENT FIELD
                        285 ;
  006A00: 4E71          286 SEGOTO   NOP                    ;FALL THROUGH
                        287 ;
  006A02: 4EB86A5A      288 EGOTO    JSR     CHKFLD         ;A6 TO NX FLD
  006A06: 4EB84C4C      289          JSR     GETLBL         ;SERVICE LABEL
  006A0A: 6618          290          BNE     EGOTOX         ;IF LBL FOUND
                        291 ;
                        292 ; NO, ADD THE LABEL TO THE LABEL TABLES.
                        293 ;
  006A0C: 4EB84C38      294          JSR     ADDLIST        ;ADD TO TBL
  006A10: 21CA159C      295          MOVE.L  A2,EOLBN       ;NEW ENDING ADR
                        296 ;
                        297 ; STORE A FAKE ADDRESS IN THE LBL ADR TABLE
                        298 ;
  006A14: 227815A4      299          MOVE.L  EOLBA,A1       ;END OF LBL ADRS'S
  006A18: 34784C7A      300          MOVE.W  ERR8+2,A2      ;ERR8 = FAKE ADR
  006A1C: 554A          301          SUBQ.W  #2,A2          ;(ADDR FOR HALGOL)
  006A1E: 228A          302          MOVE.L  A2,(A1)        ;MARK LBL ABSENT
  006A20: 58B815A4      303          ADDQ.L  #4,EOLBA       ;NEW END ADR
                        304 ;
  006A24: 36C3          305 EGOTOX   MOVE.W  D3,(A3)+       ;STORE OFFSET ADR
  006A26: 4E75          306          RTS                    ;GOTO COMPILED
                        307 ;
  006A28: 4EB84C1C      308 INPREM   JSR     GETFLD         ;CONFIRM A FIELD
  006A2C: 4A05          309          TST.B   D5             ;LENGTH ZERO?
  006A2E: 6604          310          BNE     INPREM1        ;SKIP IF NOT
                        311 ;
  006A30: 425B          312          CLR.W   (A3)+          ;END MARKER
  006A32: 4E75          313          RTS                    ;DONE
                        314 ;
  006A34: 7E84          315 INPREM1  MOVEQ   #132,D7        ;132 CHAR MAX
  006A36: 16DE          316 INPREM2  MOVE.B  (A6)+,(A3)+    ;MOVE BYTE
  006A38: 670A          317          BEQ     INPREMX        ;DONE IF $00
                        318 ;
  006A3A: 5307          319          SUBQ.B  #1,D7          ;DECR CHAR COUNT
  006A3C: 66F8          320          BNE     INPREM2        ;CONTINUE
                        321 ;
  006A3E: 7E1C          322          MOVEQ   #28,D7         ;STRING TOO LONG
  006A40: 4EF86E06      323          JMP     ERROR          ;REPORT ERROR
                        324 ;
  006A44: 3E0B          325 INPREMX  MOVE.W  A3,D7          ;HALGOL PTR TO D7
  006A46: E24F          326          LSR.W   #1,D7          ;ADDRESS EVEN ?
  006A48: 6402          327          BCC     INPREMXX       ;DONE IF EVEN
                        328 ;
  006A4A: 421B          329          CLR.B   (A3)+          ;A3 = EVEN ADR
  006A4C: 4E75          330 INPREMXX RTS                    ;REM STR STORED
                        331 ;
                                     CHAIN   EDIT3

                          2 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          3 ;
                          4 ;---------------------
                          5 ;-- EDIT LINK: EHPR --
                          6 ;---------------------
                          7 ;
                          8 ; A6: PTR TO THE START OF THE OPERAND FIELD
                          9 ; A3: PTR TO HALGOL WORK BUFFER
                         10 ;
  006A4E: 4EF86A9A       11 EHPR     JMP     HPRNT          ;FETCH PARMS
                         12 ;
  006A52: 7CAC           13 CHKFLDC  MOVEQ   #",",D6        ;SEARCH KEY = COMMA
  006A54: 4EB84C20       14 CHKFLDA  JSR     GETFLDA        ;CONFIRM A FIELD
  006A58: 6004           15          BRA     CHKFLD1
                         16 ;
                         17 ;---------------------
                         18 ;-- ROUTINE: CHKFLD --
                         19 ;---------------------
                         20 ;
                         21 ; CONFIRM THE PRESENCE OF A FIELD OR PARM
                         22 ; FOLLOWING A KEYWORD; ELSE REPORT ERROR.
                         23 ;
  006A5A: 4EB84C1C       24 CHKFLD   JSR     GETFLD         ;GET NEXT FLD
  006A5E: 4A05           25 CHKFLD1  TST.B   D5             ;FLD LEN=0?
  006A60: 6606           26          BNE     CHKFLA         ;THEN OKAY
                         27 ;
  006A62: 7E17           28          MOVEQ   #23,D7         ;ERR #23
  006A64: 4EF86E06       29          JMP     ERROR          ;REPORT  ERROR
                         30 ;
  006A68: 4E75           31 CHKFLA   RTS                    ;CHK DONE
                         32 ;
                         33 ;-------------------------
                         34 ;-- SUBROUTINE: HADREVN --
                         35 ;-------------------------
                         36 ;
                         37 ; GET AN EVEN ADDRESS THAT IS ABOVE THE I/O
                         38 ;
  006A6A: 4EB86A7A       39 HADREVN  JSR     GETHADR        ;ADR ABOVE I/O
  006A6E: 08040000       40          BTST    #0,D4          ;EVEN ?
  006A72: 6602           41          BNE     NOTEVN         ;ERROR IF NOT
                         42 ;
  006A74: 4E75           43          RTS                    ;RETURN W/EVN ADR
                         44 ;
  006A76: 7E1D           45 NOTEVN   MOVEQ   #29,D7         ;ODD ADDR ERR
  006A78: 601C           46          BRA     JERR           ;REPORT ERROR
                         47 ;

                         49 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         50 ;
                         51 ;-------------------------
                         52 ;-- SUBROUTINE: GETHADR --
                         53 ;-------------------------
                         54 ;
                         55 ; FETCH A 24 BIT ADDRESS AND THEN TEST TO SEE
                         56 ; IF IT IS LOCATED ABOVE THE I/O ($1000 UP).
                         57 ;
  006A7A: 4EB84C54       58 GETHADR  JSR     HEXGET         ;GET 24 BIT VAL
  006A7E: 4844           59          SWAP    D4             ;GET B23 - B16
  006A80: 5204           60          ADDQ.B  #1,D4          ;TEST FOR $FF
  006A82: 6708           61          BEQ     ZP             ;SKIP IF ZP
                         62 ;
  006A84: 5304           63          SUBQ.B  #1,D4          ;RESTORE ADR
  006A86: 6704           64          BEQ     ZP             ;SKIP IF ZERO PG
                         65 ;
  006A88: 4844           66          SWAP    D4             ;RESTORE ADR
  006A8A: 4E75           67 GETHADX  RTS                    ;RETURN
                         68 ;
  006A8C: 4844           69 ZP       SWAP    D4
  006A8E: 0C441000       70          CMPI.W  #$1000,D4      ;UNDER 4K ?
  006A92: 64F6           71          BCC     GETHADX        ;EXIT IF NOT
                         72 ;
  006A94: 7E18           73          MOVEQ   #24,D7         ;ADR BELOW RAM
  006A96: 4EF86E06       74 JERR     JMP     ERROR          ;REPORT ERROR
                         75 ;
                         76 ;-----------------------
                         77 ;-- SUBROUTINE: HPRNT --
                         78 ;-----------------------
                         79 ;
                         80 ; FETCH AN ADDRESS AND A LINE COUNT; THE DEFAULT
                         81 ; LINE COUNT IS ONE.
                         82 ;
  006A9A: 4EB86A5A       83 HPRNT    JSR     CHKFLD         ;GET PARM FIELD
  006A9E: 4EB84C34       84          JSR     REMSPCE        ;REMOVE SPACES
                         85 ;
                         86 ; CHECK IF START ADDRESS AND LENGTH ARE LEGAL
                         87 ; HEX NUMBERS
                         88 ;
  006AA2: 7206           89          MOVEQ   #6,D1          ;MAX 6 HEX CHARS
  006AA4: 7401           90          MOVEQ   #1,D2          ;MIN 1 HEX CHAR
  006AA6: 4EB86A7A       91          JSR     GETHADR        ;GET LEGAL ADR
  006AAA: 26C4           92          MOVE.L  D4,(A3)+       ;STORE PARM
                         93 ;
  006AAC: 1E26           94          MOVE.B  -(A6),D7       ;PREV CHAR
  006AAE: 6604           95          BNE     HPR1           ;SKIP IF NOT END
                         96 ;
                         97 ; LINE CTR FIELD IS MISSING;  DEFAULT IS ONE
                         98 ;
  006AB0: 7801           99          MOVEQ   #1,D4          ;DEFAULT VALUE
  006AB2: 6008          100          BRA     HPR2           ;STORE IT
                        101 ;
  006AB4: 528E          102 HPR1     ADDQ.L  #1,A6          ;RESTORE POINTER
  006AB6: 7202          103          MOVEQ   #2,D1          ;MAX 2 HEX CHARS
  006AB8: 4EB84C54      104          JSR     HEXGET         ;GET 8 BIT VAL
  006ABC: 36C4          105 HPR2     MOVE.W  D4,(A3)+       ;STORE PARM
  006ABE: 4E75          106          RTS                    ;RETURN
                        107 ;

                        109 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        110 ;
                        111 ;---------------------
                        112 ;-- ROUTINE: TRAP13 --
                        113 ;---------------------
                        114 ;
  006AC0: 48F8FFFF5F3E  115 TRAP13   MOVEM.L A0-A7/D0-D7,BRKNUM-66
  006AC6: 40F85F7E      116          MOVE    SR,BRKNUM-2    ;REGS & STATUS
  006ACA: 3E7C1FF8      117          MOVE.W  #$1FF8,A7      ;SET STACK PTR
  006ACE: 21F820B820BC  118          MOVE.L  SYSOUT,ACTIVE  ;SELECT CONSOLE
  006AD4: 6152          119          BSR     REG8X          ;<CR>
  006AD6: 203C00005F3E  120          MOVE.L  #BRKNUM-66,D0  ;D0 = PTR
  006ADC: 72C4          121          MOVEQ   #"D",D1        ;DATA REGS
  006ADE: 613E          122          BSR     REG8           ;8 REGS, 4 LINES
  006AE0: 72C1          123          MOVEQ   #"A",D1        ;ADDR REGS
  006AE2: 06400010      124          ADD.W   #16,D0         ;PTR TO A0
  006AE6: 6136          125          BSR     REG8           ;8 REGS, 4 LINES
                        126 ;
                        127 ; NOW OUTPUT THE STATUS REGISTER CONTENTS
                        128 ;
  006AE8: 30385F7E      129          MOVE.W  BRKNUM-2,D0    ;STATUS REG TO D0
  006AEC: 307C6B76      130          MOVE.W  #FLGCHR,A0     ;SET ID PTR
  006AF0: 7A0F          131          MOVEQ   #15,D5
  006AF2: 616A          132          BSR     OUTST          ;TRACE BIT
  006AF4: 7A0D          133          MOVEQ   #13,D5
  006AF6: 6166          134          BSR     OUTST          ;SUPERVISOR BIT
  006AF8: 6172          135          BSR     OUTAEQ         ;"I= "
  006AFA: 3E00          136          MOVE.W  D0,D7          ;STATUS REG TO D7
  006AFC: E04F          137          LSR.W   #8,D7          ;INTERRUPTS
  006AFE: 02070007      138          ANDI.B  #7,D7
  006B02: 060700B0      139          ADDI.B  #"0",D7        ;"0" TO "7"
  006B06: 4E95          140          JSR     (A5)           ;PRINT LEVEL
  006B08: 4EB86B62      141          JSR     PR6SP          ;6 SPACES
  006B0C: 7A04          142          MOVEQ   #4,D5
  006B0E: 614E          143          BSR     OUTST          ;EXTEND BIT
  006B10: 614A          144          BSR     OUTSTM         ;SIGN BIT
  006B12: 6148          145          BSR     OUTSTM         ;ZERO BIT
  006B14: 6146          146          BSR     OUTSTM         ;OVERFLOW BIT
  006B16: 6144          147          BSR     OUTSTM         ;CARRY BIT
  006B18: 6120          148          BSR     REG2X          ;<CR>
  006B1A: 4EF860FA      149          JMP     WARMSTRT       ;RETURN TO HALGOL
                        150 ;
                        151 ; OUTPUT 8 REGISTERS ON 4 LINES
                        152 ;
  006B1E: 74B0          153 REG8     MOVEQ   #"0",D2        ;ASC ZERO TO D2
  006B20: 6108          154          BSR     REG2           ;OUTPUT 2 REGS
  006B22: 6106          155          BSR     REG2           ;IN ONE LINE --
  006B24: 6104          156          BSR     REG2
  006B26: 6102          157          BSR     REG2           ;DO IT 4 TIMES
  006B28: 6010          158 REG8X    BRA     REG2X          ;BLANK LINE & EXIT
                        159 ;
                        160 ; OUTPUT TWO REGISTERS IN ONE LINE
                        161 ;
  006B2A: 7600          162 REG2     MOVEQ   #0,D3
  006B2C: 6110          163          BSR     REG1           ;OUTPUT A REG
  006B2E: 7C04          164          MOVEQ   #4,D6          ;SET FOR 4 SPACES
  006B30: 6132          165          BSR     OUTNSP         ;PRINT THEM
  006B32: 7604          166          MOVEQ   #4,D3
  006B34: 6108          167          BSR     REG1           ;ANOTHER REG
  006B36: 5840          168          ADDQ.W  #4,D0          ;INCR PTR
  006B38: 5242          169          ADDQ    #1,D2          ;INCR ASC #
  006B3A: 4EF83A88      170 REG2X    JMP     LINFEED        ;<CR> & EXIT

                        172 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        173 ;
                        174 ; OUTPUT ONE REGISTER
                        175 ;
  006B3E: 1E01          176 REG1     MOVE.B  D1,D7          ;"D" OR "A"
  006B40: 4E95          177          JSR     (A5)           ;PRINT IT
  006B42: 1E02          178          MOVE.B  D2,D7          ;"0" TO "3"
  006B44: DE03          179          ADD.B   D3,D7          ;ADD 0 OR 4
  006B46: 4E95          180          JSR     (A5)
  006B48: 7EAD          181          MOVEQ   #"-",D7
  006B4A: 4E95          182          JSR     (A5)
  006B4C: 6134          183          BSR     PRSPCE         ;SPACE
  006B4E: E58B          184          LSL.L   #2,D3          ;D3 = 0 OR 16
  006B50: D680          185          ADD.L   D0,D3          ;D3 = PTR TO REG
  006B52: 2643          186          MOVE.L  D3,A3          ;PTR TO A3
  006B54: 6128          187          BSR     HEX2SP         ;HEX THEN SPACE
  006B56: 6126          188          BSR     HEX2SP
  006B58: 6124          189          BSR     HEX2SP
  006B5A: 6022          190          BRA     HEX2SP         ;EXIT VIA HEX2SP
                        191 ;
  006B5C: 5345          192 OUTSTM   SUBQ    #1,D5          ;DECR BIT PTR D5
  006B5E: 610C          193 OUTST    BSR     OUTAEQ         ;CHAR, "=", " "
  006B60: 6124          194          BSR     PRBIT
  006B62: 7C06          195 PR6SP    MOVEQ   #6,D6          ;6 SPACES
                        196 ;
                        197 ; OUTPUT D6 SPACES
                        198 ;
  006B64: 611C          199 OUTNSP   BSR     PRSPCE         ;PRINT A SPACE
  006B66: 5306          200          SUBQ.B  #1,D6          ;DECR COUNT
  006B68: 66FA          201          BNE     OUTNSP         ;LOOP TIL ZERO
  006B6A: 4E75          202          RTS                    ;DONE
                        203 ;
  006B6C: 1E18          204 OUTAEQ   MOVE.B  (A0)+,D7       ;FETCH ID CHAR
  006B6E: 4E95          205          JSR     (A5)           ;PRINT IT
  006B70: 7EBD          206          MOVEQ   #"=",D7
  006B72: 4E95          207          JSR     (A5)
  006B74: 600C          208          BRA     PRSPCE         ;SPACE, EXIT
                        209 ;
  006B76: D4D3C9D8CEDA  210 FLGCHR   ASC     "TSIXNZVC"     ;STAT BIT ID'S
                        211 ;
                        212 ; PRINT A BYTE AS HEX, FOLLOWED BY A SPACE
                        213 ;
  006B7E: 4EB83A84      214 HEX2SP   JSR     PRHEX2         ;HEXPRINT.B (A3)+
  006B82: 7EA0          215 PRSPCE   MOVEQ   #$A0,D7        ;SPACE
  006B84: 4ED5          216          JMP     (A5)           ;PRINT & EXIT
                        217 ;
                        218 ; PRINT A BIT AS "0" OR "1"
                        219 ;
  006B86: 7EB0          220 PRBIT    MOVEQ   #"0",D7
  006B88: 0B00          221          BTST    D5,D0          ;BIT SET ?
  006B8A: 6702          222          BEQ     PRBITX         ;SKIP IF NOT
                        223 ;
  006B8C: 7EB1          224          MOVEQ   #"1",D7
  006B8E: 4ED5          225 PRBITX   JMP     (A5)           ;PRINT IT
                        226 ;
                                     CHAIN   IF

                          2 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          3 ;
                          4 ;--------------------
                          5 ;-- EDIT LINK: EIF --
                          6 ;--------------------
                          7 ;
                          8 ; THIS ROUTINE IS USED TO PARSE THE 'IF' STATEMENT
                          9 ;
                         10 ;
                         11 ; 1ST) SERVICE THE FIRST 'OBJECT'
                         12 ; 2ND) SERVICE THE 'RELATIOAL'
                         13 ; 3RD) SERVICE THE SECOND 'OBJECT'
                         14 ; 4TH) STORE THE 'RELATIONAL' ACTION ADDRESS
                         15 ; 5TH) SERVICE ANY 'ELSE' OPERATION THAT EXIST
                         16 ; 6TH) STORE THE OBJECT CODE & EXIT
                         17 ;
                         18 ; A0: CONTAINS THE PTR TO THE INPUT STREAM.
                         19 ; A3: CONTAINS THE PTR TO THE WORK BUFFER.
                         20 ;
  006B90: 21C81750       21 EIF      MOVE.L  A0,TEMPB+80    ;SAVE VARN PTR
  006B94: 486BFFFE       22          PEA     -2(A3)         ;CALC LINK PTR
  006B98: 21DF1758       23          MOVE.L  (A7)+,TEMPB+88  ;STORE IT
  006B9C: 548B           24          ADDQ.L  #2,A3          ;PAST LINK ADR
                         25 ;
  006B9E: 4EB86BD0       26          JSR     GETVARN        ;1ST ARGUMENT
  006BA2: 4EB86C34       27          JSR     GETREL         ;GET RELATIOAL
  006BA6: 4EB86BB2       28          JSR     GETARG2        ;2ND ARGUMENT
  006BAA: 4EB86DDC       29          JSR     STOREL         ;STORE REL ADDR
  006BAE: 4EF86C7E       30          JMP     GETOPER        ;GET OP'TN & RETN
                         31 ;
                         32 ;----------------------
                         33 ;-- ROUTINE: GETARG2 --
                         34 ;----------------------
                         35 ;
                         36 ; THIS ROUTINE IS USED TO SERVICE THE SECOND
                         37 ; ARGUMENT OF THE 'RELATIONAL'.
                         38 ;
                         39 ; TEMPB+80: CONTAINS THE START OF THE OBJECT BEING
                         40 ;           SERVICED.
                         41 ;
                         42 ; A0: CONTAINS THE POINTER TO THE INPUT BUFFER.
                         43 ;
  006BB2: 21C81750       44 GETARG2  MOVE.L  A0,TEMPB+80    ;SAVE BUFFR PTR
  006BB6: 4245           45          CLR.W   D5             ;INIT STR$ LENGTH
  006BB8: 4EB86DB0       46          JSR     FETCHR         ;GET 1ST CHR
  006BBC: 670C           47          BEQ     GETAR2X        ;ERROR
                         48 ;
  006BBE: 08070005       49          BTST    #5,D7          ;1ST CHR AN ALPHA?
  006BC2: 661C           50          BNE     GETVARA        ;IF YES, THEN VARN
                         51 ;
  006BC4: 08070003       52          BTST    #3,D7          ;A CONSTANT?
  006BC8: 663A           53          BNE     GETCNST        ;IF YES, THEN CONST
                         54 ;
  006BCA: 7E03           55 GETAR2X  MOVEQ   #3,D7          ;ERROR #3
  006BCC: 4EF86E06       56          JMP     ERROR          ;REPORT & EXIT
                         57 ;

                         59 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         60 ;
                         61 ;----------------------
                         62 ;-- ROUTINE: GETVARN --
                         63 ;----------------------
                         64 ;
                         65 ; THIS ROUTINE IS USED TO SERVICE THE FIRST OBJECT
                         66 ; OF THE 'RELATIONAL'
                         67 ;
                         68 ; TEMPB+80: CONTAINS THE START OF THE OBJECT BEING
                         69 ;           SERVICED.
                         70 ;
                         71 ; A0: CONTAINS THE POINTER TO THE INPUT BUFFER.
                         72 ;
  006BD0: 4245           73 GETVARN  CLR.W   D5             ;INIT STR LEN
  006BD2: 4EB86DB0       74          JSR     FETCHR         ;GET 1ST CHR
  006BD6: 6724           75          BEQ     GETVARX        ;EXIT IF EMPTY
  006BD8: 08070005       76          BTST    #5,D7          ;AN ALPHA?
  006BDC: 67000228       77          BEQ.L   ERROR          ;IF NOT,THEN ERR
                         78 ;
  006BE0: 5245           79 GETVARA  ADDQ    #1,D5          ;UPDATE STR$ LEN
  006BE2: 4EB86DB0       80          JSR     FETCHR         ;GET NEXT CHR
  006BE6: 6714           81          BEQ     GETVARX        ;EXIT IF EMPTY
  006BE8: 08070005       82          BTST    #5,D7          ;AN ALPHA?
  006BEC: 66F2           83          BNE     GETVARA        ;THEN GET NEXT CHR
                         84 ;
  006BEE: 08070004       85          BTST    #4,D7          ;A NUMERIC?
  006BF2: 66EC           86          BNE     GETVARA        ;THEN GET NEXT CHR
  006BF4: 0C0600A0       87          CMPI.B  #$A0,D6        ;A SPACE CHR ?
  006BF8: 6702           88          BEQ     GETVARX        ;IF YES, THEN DONE
                         89 ;
                         90 ;   <ELSE READJUST BUFFER PTR AND CONTINUE>
                         91 ;
  006BFA: 5348           92          SUBQ    #1,A0          ;SET PTR=PTR-1
                         93 ;
  006BFC: 2C781750       94 GETVARX  MOVEA.L TEMPB+80,A6    ;PTR TO VARN
  006C00: 4EF84C3C       95          JMP     VARCHK         ;FETCH VARN INDX
                         96 ;

                         98 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         99 ;
                        100 ;----------------------
                        101 ;-- ROUTINE: GETCNST --
                        102 ;----------------------
                        103 ;
                        104 ; THIS ROUTINE IS USED TO SERVICE THE SECOND OBJECT
                        105 ; IF IT IS A CONSTANT.
                        106 ;
                        107 ; A0: CONTAINS THE POINTER TO THE INPUT BUFFER.
                        108 ;
  006C04: 5348          109 GETCNST  SUBQ    #1,A0          ;PTR=PTR-1
  006C06: 2848          110          MOVEA.L A0,A4          ;SAVE FOR NUMEVAL
  006C08: 4EB84C1C      111          JSR     GETFLD         ;GET CONSTANT FLD
  006C0C: 4EB820D4      112          JSR     NUMEVAL        ;EVALUATE CONST
  006C10: 4A07          113          TST.B   D7             ;CONST VALID ?
  006C12: 661A          114          BNE     CNSTERR        ;IF NO, THEN ERR
                        115 ;
                        116 ; TEST IF CONSTANT IS ZERO;  IF YES THEN REPLACE
                        117 ; THE <IF1> WITH <IF3>.
                        118 ;
  006C14: 4A781904      119          TST.W   S1+2           ;A ZERO ?
  006C18: 6B0A          120          BMI     GETCNSA        ;NO, GET <IF2>
                        121 ;
  006C1A: 5C781754      122          ADDQ    #6,TEMPB+84    ;PLACE IN <6-12>
                        123 ;
                        124 ; REPLACE THE <IF1> WITH THE <IF2>.
                        125 ;
  006C1E: 7E28          126          MOVEQ   #40,D7         ;<IF3> INDEX
  006C20: 4EF86DEE      127          JMP     NEWACT2        ;SET NEW ACTN ADR
                        128 ;
  006C24: 4EB84C44      129 GETCNSA  JSR     CONCHK         ;FETCH CONST INDX
                        130 ;
  006C28: 7E26          131          MOVEQ   #38,D7         ;<IF2>
  006C2A: 4EF86DEE      132          JMP     NEWACT2        ;NEW ACT ADR
                        133 ;
  006C2E: 7E03          134 CNSTERR  MOVEQ   #3,D7          ;ERROR #3
  006C30: 4EF86E06      135          JMP     ERROR          ;REPORT & EXIT
                        136 ;

                        138 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        139 ;
                        140 ;---------------------
                        141 ;-- ROUTINE: GETREL --
                        142 ;---------------------
                        143 ;
                        144 ;THIS ROUTINE IS USED TO PARSE THEH 'RELATIONAL'
                        145 ; IN THE "IF-THEN-ELSE" STATEMENT
                        146 ;
                        147 ; A0: POINTER TO CURRENT INPUT BUFFER
                        148 ;
  006C34: 2F08          149 GETREL   MOVE.L  A0,-(A7)       ;SAVE BUFFER PTR
  006C36: 4245          150          CLR.W   D5             ;INIT INDX REG
                        151 ;
  006C38: 4EB86DB0      152 GETREA   JSR     FETCHR         ;GET 1ST REL CHR
  006C3C: 672A          153          BEQ     GETREC         ;IF BUFFER EMPTY
                        154 ;
  006C3E: 08070005      155          BTST    #5,D7          ;AN ALPHA?
  006C42: 6610          156          BNE     GETREB         ;THEN DONE
                        157 ;
  006C44: 08070003      158          BTST    #3,D7          ;A CONSTANT?
  006C48: 660A          159          BNE     GETREB         ;IF YES, THEN DONE
                        160 ;
  006C4A: 0C0600A0      161          CMPI.B  #$A0,D6        ;A SPACE CHR?
  006C4E: 6706          162          BEQ     GETREB0        ;IF YES, THEN DONE
                        163 ;
  006C50: 5245          164          ADDQ    #1,D5          ;UPDATE STR$ LEN
  006C52: 60E4          165          BRA     GETREA         ;CONTINUE
                        166 ;
  006C54: 5348          167 GETREB   SUBQ    #1,A0          ;PTR=PTR-1
                        168 ;
  006C56: 2C5F          169 GETREB0  MOVEA.L (A7)+,A6       ;START OF REL STR
  006C58: 45F86C6E      170          LEA     RELTBL,A2      ;START OF REL TBL
  006C5C: 4EB84C0C      171          JSR     CHKLIST        ;GET REL INDEX
  006C60: 6706          172          BEQ     GETREC         ;IF NO, THEN ERR
                        173 ;
  006C62: 31C31754      174          MOVE.W  D3,TEMPB+84    ;SAVE REL INDEX
  006C66: 4E75          175          RTS                    ;DONE
                        176 ;
  006C68: 7E03          177 GETREC   MOVEQ   #3,D7          ;ERROR #3
  006C6A: 4EF86E06      178          JMP     ERROR          ;SEND & EXIT
                        179 ;
  006C6E: 01            180 RELTBL   DC.B    $01
  006C6F: BD            181          ASC     "="
  006C70: 02            182          DC.B    $02
  006C71: BCBE          183          ASC     "<>"
  006C73: 01            184          DC.B    01
  006C74: BE            185          ASC     ">"
  006C75: 02            186          DC.B    $02
  006C76: BEBD          187          ASC     ">="
  006C78: 01            188          DC.B    $01
  006C79: BC            189          ASC     "<"
  006C7A: 02            190          DC.B    $02
  006C7B: BDBC          191          ASC     "=<"
  006C7D: 00            192          DC.B    $00
                        193 ;

                        195 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        196 ;
                        197 ;----------------------
                        198 ;-- ROUTINE: GETOPER --
                        199 ;----------------------
                        200 ;
                        201 ; THIS ROUTINE IS USED TO SERVICE THE OPERATION OF
                        202 ; THE CONDITIONAL STATEMENT.
                        203 ;
                        204 ; A0: CONTAINS THE POINTER TO THE INPUT BUFFER.
                        205 ;
  006C7E: 45F86CB4      206 GETOPER  LEA     OPTBL,A2       ;OPERATION TBL
  006C82: 49F86CC6      207          LEA     OPADR,A4       ;OPERATION ADR
  006C86: 610C          208          BSR     OPERCHK        ;LOOKUP OPERATION
  006C88: 6724          209          BEQ     ACTNERR        ;IF NOT FOUND
  006C8A: 6018          210          BRA     GETOPA         ;PERFORM OPERATION
                        211 ;
  006C8C: 45F86CB9      212 GETOP2   LEA     OPTBL2,A2      ;OPERATION TBL
  006C90: 49F86CCC      213          LEA     OPADR2,A4      ;OPERATION ADR
                        214 ;
  006C94: 4EB84C1C      215 OPERCHK  JSR     GETFLD         ;GET COND FIELD
  006C98: 2F0C          216          MOVE.L  A4,-(A7)       ;SAVE ADR
  006C9A: 4EB84C0C      217          JSR     CHKLIST        ;LOOKUP IN TBL
  006C9E: 285F          218          MOVEA.L (A7)+,A4       ;RESTORE ADR
  006CA0: 4A07          219          TST.B   D7             ;COND STR FOUND?
  006CA2: 4E75          220          RTS                    ; DONE
                        221 ;
  006CA4: E34B          222 GETOPA   LSL.W   #1,D3          ;INDEX -> OFFSET
  006CA6: 38743000      223          MOVEA.W (A4,D3),A4     ;OPERATION ADR
  006CAA: 4ED4          224          JMP     (A4)           ;PERFORM OPERATION
                        225 ;
  006CAC: 4E75          226 GETOP2A  RTS                    ;FOR NOW
                        227 ;
  006CAE: 7E03          228 ACTNERR  MOVEQ   #3,D7          ;ERROR #3
  006CB0: 4EF86E06      229          JMP     ERROR
                        230 ;
  006CB4: 04            231 OPTBL    DC.B    $04
  006CB5: D4C8C5CE      232          ASC     "THEN"
  006CB9: 04            233 OPTBL2   DC.B    $04
  006CBA: C7CFD4CF      234          ASC     "GOTO"
  006CBE: 05            235          DC.B    $05
  006CBF: C7CFD3D5C2    236          ASC     "GOSUB"
  006CC4: 00            237          DC.B    $00            ;EOL MARKER
                        238 ;
          00           SYNC
  006CC6: 6CD6          239 OPADR    DC.W    IFTHEN
  006CC8: 6D38          240          DC.W    IFGOTO
  006CCA: 6D2C          241          DC.W    IFGOSUB
                        242 ;
  006CCC: 6D7E          243 OPADR2   DC.W    GOTOF
  006CCE: 6D8A          244          DC.W    GOSUBF
                        245 ;
  006CD0: A0C5CCD3C5A0  246 ELSESTR  ASC     " ELSE "
                        247 ;

                        249 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        250 ;
  006CD6: 7E20          251 IFTHEN   MOVEQ   #32,D7         ;ACTN ADR INDEX
  006CD8: 4EB86DE8      252          JSR     NEWACT1        ;STORE IT
  006CDC: 2F08          253          MOVE.L  A0,-(A7)       ;SAVE BUFFER PTR
  006CDE: 43F86CD0      254          LEA     ELSESTR,A1     ;PTR TO SUBSTRING
  006CE2: 7006          255          MOVEQ   #6,D0          ;LEN OF SUB-STR
  006CE4: 4EB86DC0      256          JSR     SUBSRCH        ;LOOK FOR 'ELSE'
                        257 ;
  006CE8: 205F          258          MOVEA.L (A7)+,A0       ;RESTORE PTR
                        259 ;
  006CEA: 4A07          260          TST.B   D7             ;'ELSE' FOUND?
  006CEC: 6606          261          BNE     IFTHEA         ;IF YES, CONT
                        262 ;
                        263 ; RESET THE BUFFER POINTER AND SERVICE THE 'LET'
  006CEE: 4EB87308      264          JSR     ELET1          ;SERVICE 'LET'
  006CF2: 6026          265          BRA     IFTHEC         ;CALCULATE LINK
                        266 ;
  006CF4: 4214          267 IFTHEA   CLR.B   (A4)           ;ADD EOL MARKER
  006CF6: 486C0006      268          PEA     $6(A4)         ;SAVE NEW PTR
  006CFA: 4EB87308      269          JSR     ELET1          ;SERVICE 'LET'
  006CFE: 205F          270          MOVEA.L (A7)+,A0       ;FETCH NEW PTR
                        271 ;
  006D00: 618A          272 IFTHEA0  BSR     GETOP2         ;LOOK FOR OPTION
  006D02: 670A          273          BEQ     IFTHEB         ;IF NOT FOUND
                        274 ;
  006D04: E34B          275          LSL.W   #1,D3          ;INDEX -> OFFSET
  006D06: 38743000      276          MOVEA.W (A4,D3),A4     ;OPERATION ADR
  006D0A: 4E94          277          JSR     (A4)           ;PERFORM OPERATION
  006D0C: 600C          278          BRA     IFTHEC         ;CONTINUE
                        279 ;
                        280 ; SET UP THE IMPLIED 'ELSE LET' ACTION ADDRESS
                        281 ;
  006D0E: 7E22          282 IFTHEB   MOVEQ   #34,D7         ;ELSE ACTN INDEX
  006D10: 4EB86DE8      283          JSR     NEWACT1        ;STORE ACTN ADR
                        284 ;
  006D14: 2049          285          MOVEA.L A1,A0          ;SET BUFFER PTR
  006D16: 4EB87308      286          JSR     ELET1          ;SERVICE 'LET'
                        287 ;
                        288 ; CALCULATE THE OBJECT CODE LINE-LINK
                        289 ;
  006D1A: 3F0B          290 IFTHEC   MOVE.W  A3,-(A7)       ;SAVE BUFFER PTR
  006D1C: 340B          291          MOVE.W  A3,D2          ;WORK BUFF END
  006D1E: 26781758      292          MOVEA.L TEMPB+88,A3    ;FETCH START ADR
  006D22: 944B          293          SUB.W   A3,D2          ;WORK BUFFER LENGTH
  006D24: 37420002      294          MOVE.W  D2,2(A3)       ;STORE IT
  006D28: 365F          295          MOVEA.W (A7)+,A3       ;RESTORE PTR
  006D2A: 4E75          296          RTS                    ;DONE
                        297 ;
  006D2C: 7E1C          298 IFGOSUB  MOVEQ   #28,D7         ;GOSUB IF TRUE
  006D2E: 610E          299          BSR     IFG0           ;CONTINUE
                        300 ;
  006D30: 7E24          301          MOVEQ   #36,D7         ;POPCOND
  006D32: 4EB86DE8      302          JSR     NEWACT1        ;FETCH & STORE
  006D36: 6014          303          BRA     IFELSE         ;CHK IF 'ELSE'
                        304 ;

                        306 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        307 ;
  006D38: 7E18          308 IFGOTO   MOVEQ   #24,D7         ;GOTO IF TRUE
  006D3A: 6102          309          BSR     IFG0           ;FETCH & SERVICE
  006D3C: 600E          310          BRA     IFELSE         ;CHK IF 'ELSE'
                        311 ;
  006D3E: 4EB86DE8      312 IFG0     JSR     NEWACT1        ;FETCHR & STORE
  006D42: 2F08          313          MOVE.L  A0,-(A7)       ;SAVE BUFFER PTR
  006D44: 4EB86A00      314          JSR     SEGOTO         ;SERVICE LABEL
  006D48: 205F          315          MOVEA.L (A7)+,A0       ;RESTORE PTR
  006D4A: 4E75          316          RTS                    ;DONE
                        317 ;
                        318 ; CHECK IF 'ELSE' CLAUSE FOLLOWS THE LABEL NAME
                        319 ;
  006D4C: 41F05002      320 IFELSE   LEA     $2(A0,D5),A0   ;SET NEW BUFR PTR
                        321 ;
  006D50: 4A10          322          TST.B   (A0)           ;BUFFER EMPTY ?
  006D52: 6740          323          BEQ     IFGOTX         ;IF YES, THEN DONE
                        324 ;
  006D54: 43F86CD0      325          LEA     ELSESTR,A1     ;STRT OF STR$
  006D58: 7006          326          MOVEQ   #6,D0          ;INIT STR$ LEN
                        327 ;
  006D5A: B308          328 IFGOTL   CMPM.B  (A0)+,(A1)+    ;MATCH ?
  006D5C: 664C          329          BNE     IFGOTE         ;IF NOT, THEN ERR
  006D5E: 5340          330          SUBQ    #1,D0          ;DECREMENT COUNT
  006D60: 6702          331          BEQ     IFGOT1         ;SRCH DONE
  006D62: 60F6          332          BRA     IFGOTL         ;CONTINUE
                        333 ;
                        334 ; CHECK THE ACTION FOLLOWING THE 'ELSE' CLAUSE
                        335 ;
  006D64: 4EB86A5A      336 IFGOT1   JSR     CHKFLD         ;GET OPER2 FLD
                        337 ;
  006D68: 45F86CB9      338          LEA     OPTBL2,A2      ;NEXT OPERATION
  006D6C: 4EB84C0C      339          JSR     CHKLIST        ;CHECK TABLE
  006D70: 6732          340          BEQ     IFGOTX0        ;SERVICE 'LETF'
                        341 ;
  006D72: E34B          342          LSL.W   #1,D3          ;INDEX -> OFFSET
  006D74: 49F86CCC      343          LEA     OPADR2,A4      ;OPERATION ADR
  006D78: 38743000      344          MOVE.W  (A4,D3),A4     ;FETCH ADR
  006D7C: 4ED4          345          JMP     (A4)           ;PARSE OPERATION
                        346 ;
  006D7E: 7E1A          347 GOTOF    MOVEQ   #26,D7         ;GOTO IF FLASE
  006D80: 4EB86DE8      348          JSR     NEWACT1        ;FETCH & STORE
  006D84: 4EB86A00      349          JSR     SEGOTO         ;SERVICE LABEL
  006D88: 600A          350          BRA     IFGOTX         ;GET LINE LINK
                        351 ;
  006D8A: 7E1E          352 GOSUBF   MOVEQ   #30,D7         ;GOSUB IF FALSE
  006D8C: 4EB86DE8      353          JSR     NEWACT1        ;FETCH & STORE
  006D90: 4EB86A00      354          JSR     SEGOTO         ;SERVICE LABEL
                        355 ;
  006D94: 3C0B          356 IFGOTX   MOVE.W  A3,D6          ;ENDING ADR
  006D96: 9CB81758      357          SUB.L   TEMPB+88,D6    ;END-START ADR
  006D9A: 2C781758      358          MOVEA.L TEMPB+88,A6
  006D9E: 3D460002      359          MOVE.W  D6,2(A6)       ;STORE LINE LINK
  006DA2: 4E75          360          RTS                    ;DONE
                        361 ;
  006DA4: 2049          362 IFGOTX0  MOVEA.L A1,A0          ;START OF EXP
  006DA6: 4EF86D00      363          JMP     IFTHEA0        ;SERVICE 'LET'
                        364 ;
  006DAA: 7E03          365 IFGOTE   MOVEQ   #3,D7          ;ERROR # 3
  006DAC: 4EF86E06      366          JMP     ERROR          ;REPORT & EXIT
                        367 ;

                        369 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        370 ;
                        371 ;---------------------
                        372 ;-- ROUTINE: FETCHR --
                        373 ;---------------------
                        374 ;
                        375 ; THIS ROUTINE IS USED TO FETCH THE NEXT CHARACTER
                        376 ; FROM THE 'INPUT BUFFER' STREAM.
                        377 ;
                        378 ; A0: CONTAINS THE POINTER THE INPUT BUFFER
                        379 ;
  006DB0: 49F81F80      380 FETCHR   LEA     CHRMSK,A4      ;CHR MASK TBL
  006DB4: 4246          381          CLR.W   D6             ;INIT WRK BUFFER
  006DB6: 1C18          382          MOVE.B  (A0)+,D6       ;FETCH CHR
  006DB8: 6704          383          BEQ     FETCHX         ;DONE IF EMPTY
                        384 ;
  006DBA: 1E346000      385          MOVE.B  (A4,D6),D7     ;GET CHR MASK
  006DBE: 4E75          386 FETCHX   RTS                    ;DONE
                        387 ;
                        388 ;----------------------
                        389 ;-- ROUTINE: SUBSRCH --
                        390 ;----------------------
                        391 ;
                        392 ; THIS ROUTINE IS USED TO SEARCH FOR A SUB-STRING
                        393 ; IN A GIVEN STRING.
                        394 ;
                        395 ; A0: CONTAINS THE POINTER TO THE MAIN STRING
                        396 ; A1: CONTAINS THE POINTER TO THE SUB STRING
                        397 ;
                        398 ; D0: CONTAINS THE LENGTH OF THE SUB STRING
                        399 ;
                        400 ; RESULT:
                        401 ;
                        402 ; D7: WILL HAVE LOW ORDER BYTE CLEARED IF SEARCH
                        403 ;     WAS NOT SUCCESSFUL SET OTHERWISE.
                        404 ;
                        405 ; A4: WILL CONTAINS THE STARTING ADR OF THE SUB-STR
                        406 ;
  006DC0: 7E01          407 SUBSRCH  MOVEQ   #1,D7          ;INIT SRCH FLG
  006DC2: 5340          408          SUBQ    #1,D0          ;ADJUST FOR DBNE
                        409 ;
  006DC4: 2449          410 LOOP0    MOVEA.L A1,A2          ;GET SUB STR ADR
  006DC6: 2848          411          MOVEA.L A0,A4          ;STRT OF SEARCH
  006DC8: 3400          412          MOVE.W  D0,D2          ;LEN OF SUB-STR
                        413 ;
  006DCA: 1C18          414 LOOP1    MOVE.B  (A0)+,D6       ;GET STR BYTE
  006DCC: 670A          415          BEQ     LOOP0X         ;END SEARCH
  006DCE: BC1A          416          CMP.B   (A2)+,D6       ;MATCH ?
  006DD0: 56CAFFF8      417 STRT1    DBNE    D2,LOOP1       ;IF NO,THEN EXIT
  006DD4: 6704          418          BEQ     LOOP1X         ;EXIT IF MATCH
                        419 ;
  006DD6: 60EC          420          BRA     LOOP0          ;CONTINUE
                        421 ;
  006DD8: 4207          422 LOOP0X   CLR.B   D7             ;SUB-STR NOT FOUND
  006DDA: 4E75          423 LOOP1X   RTS                    ;DONE
                        424 ;

                        426 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        427 ;
  006DDC: 3E381754      428 STOREL   MOVE.W  TEMPB+84,D7    ;REL INDEX
  006DE0: E34F          429          LSL.W   #1,D7          ;INDEX -> OFFSET
  006DE2: 6114          430          BSR     NEWACT         ;GET REL ACTN ADR
  006DE4: 36C7          431          MOVE.W  D7,(A3)+       ;SAVE STORE IT
  006DE6: 4E75          432          RTS                    ;DONE
                        433 ;
  006DE8: 610E          434 NEWACT1  BSR     NEWACT         ;NEW ADR TO D7
  006DEA: 36C7          435          MOVE.W  D7,(A3)+       ;STORE IN BUFF
  006DEC: 4E75          436          RTS                    ;DONE
                        437 ;
  006DEE: 6108          438 NEWACT2  BSR     NEWACT         ;NEW ADR TO D7
  006DF0: 2C781758      439          MOVEA.L TEMPB+88,A6    ;ACTN ADR PTR
  006DF4: 3C87          440          MOVE.W  D7,(A6)        ;STORE IT
  006DF6: 4E75          441          RTS                    ;DONE
                        442 ;
  006DF8: 2F0D          443 NEWACT   MOVE.L  A5,-(A7)       ;SAVE A5
                        444 ;
  006DFA: 4BF836E0      445          LEA     ACTTBL2,A5
  006DFE: 3E357000      446          MOVE.W  (A5,D7),D7     ;NEW ACT ADR
  006E02: 2A5F          447          MOVE.L  (A7)+,A5       ;RESTORE A5
  006E04: 4E75          448          RTS                    ;DONE
                        449 ;
                                     CHAIN   ERRORS

                          2 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                          3 ;
                          4 ;--------------------
                          5 ;-- ROUTINE: ERROR --
                          6 ;--------------------
                          7 ;
                          8 ; THIS ROUTINE REPORTS ALL ERRORS THAT MAY OCCUR
                          9 ; WHILE ENTERING, EDITING OR RUNNING HALGOL PROGS.
                         10 ;
                         11 ; D7: CONTAINS NUMBER OF THE ERROR MESSAGE.
                         12 ;
  006E06: 21F820B820BC   13 ERROR    MOVE.L  SYSOUT,ACTIVE  ;CONSOLE ACTIVE
  006E0C: 4281           14          CLR.L   D1             ;CLEAR UPPER BITS
  006E0E: 1207           15          MOVE.B  D7,D1          ;MESSAGE # TO D1
  006E10: 4EB83A54       16          JSR     CLRCSR         ;CLEAR THE CURSOR
  006E14: 4EB83A88       17          JSR     LINFEED        ;SEND <CR> TO CRT
                         18 ;
                         19 ; TEST IF THIS IS A RUN-TIME/EXCEPTION CONDITION
                         20 ;
  006E18: 083800041508   21          BTST    #4,SFLAG       ;-CHK IF RUN-TIME
  006E1E: 6620           22          BNE     ERROR1         ;OR SYS ERR FLG-
                         23 ;
                         24 ; REPORTING A RUN-TIME/EXCEPTION CONDITION
                         25 ;
  006E20: 2F0E           26 ERROR0   MOVE.L  A6,-(A7)       ;SAVE HALGOL PTR
  006E22: 6136           27          BSR     PRNTERR        ;SERVICE ERR MSG
  006E24: 722F           28          MOVEQ   #47,D1         ;ERR @ LINE MSG
  006E26: 6132           29          BSR     PRNTERR        ;SERVICE ERR MSG
                         30 ;
                         31 ; LOOK FOR THE LINE NUMBER THAT ERROR OCCURED ON
                         32 ;
  006E28: 2C781590       33          MOVEA.L SOLA,A6        ;-FETCH THE STRT
  006E2C: 2A5F           34          MOVEA.L (A7)+,A5       ;FETCH PGM ADR
  006E2E: 3838154C       35          MOVE.W  NLINES,D4      ;# OF PGM LINES
  006E32: 4243           36          CLR.W   D3             ;INIT LINE INDEX
                         37 ;
                         38 ; SEARCH THE LINE ADDRESS TABLE FOR MATCH
                         39 ;
  006E34: BBDE           40 ERRORL   CMPA.L  (A6)+,A5       ;MATCHING ADR?
  006E36: 6312           41          BLS     ERRORX         ;IF MATCH FOUND
                         42 ;
  006E38: 5443           43          ADDQ.W  #2,D3          ;UPDATE LINE INDX
  006E3A: 51CCFFF8       44          DBF     D4,ERRORL      ;CONT SEARCH
                         45 ;
                         46 ; ADDRESS NOT FOUND, TABELS MESSED UP, SEND MSG
                         47 ;
  006E3E: 7230           48          MOVEQ   #48,D1         ;ERROR #
  006E40: 6118           49 ERROR1   BSR     PRNTERR        ;SEND MSG & EXIT
  006E42: 4EB83A88       50 ERROR1A  JSR     LINFEED        ;SEND <CR> TO CRT
  006E46: 4EF860FA       51          JMP     WARMSTRT       ;WARM START
                         52 ;
                         53 ; FIND THE PROGRAM LINE NUMBER WHERE ERROR OCCURED
                         54 ;
  006E4A: 2C781588       55 ERRORX   MOVEA.L SOLN,A6        ;LINE ADDRES TBL
  006E4E: 5543           56          SUBQ.W  #2,D3          ;FETCH PREV LINE
  006E50: 32363000       57          MOVE.W  (A6,D3),D1     ;FETCH LINE #
  006E54: 4EB84C18       58          JSR     IPRINT1        ;PRINT LINE #
  006E58: 60E8           59          BRA     ERROR1A        ;EXIT ROUTINE
                         60 ;

                         62 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                         63 ;
                         64 ; PRINT THE ERROR MESSAGE
                         65 ;
  006E5A: 4DF86E62       66 PRNTERR  LEA     ERRTBL,A6      ;STRT OF ERR TBL
  006E5E: 4EF83A6C       67          JMP     PASCSTR        ;PRINT IT
                         68 ;
                         69 ;-----------------------------
                         70 ;-- (MOSTLY) ERROR MESSAGES --
                         71 ;-----------------------------
                         72 ;
                         73 ; THESE MESSAGES ARE USED BY THE HALGOL ENVIRONMENT
                         74 ;
  006E62: 0F             75 ERRTBL   DC.B    15
  006E63: C9CCCCC5C7C1   76 E0       ASC     "ILLEGAL COMMAND"
  006E72: 13             77          DC.B    19
  006E73: CECFD4A0C9CD   78 E1       ASC     "NOT IMPLEMENTED YET"
  006E86: 13             79          DC.B    19
  006E87: C9CCCCC5C7C1   80 E2       ASC     "ILLEGAL LINE NUMBER"
  006E9A: 0C             81          DC.B    12
  006E9B: D3D9CED4C1D8   82 E3       ASC     "SYNTAX ERROR"
  006EA7: 13             83          DC.B    19
  006EA8: C9CCCCC5C7C1   84 E4       ASC     "ILLEGAL LINE NUMBER"
  006EBB: 15             85          DC.B    21
  006EBC: C9CED6C1CCC9   86 E5       ASC     "INVALID HEX CHARACTER"
  006ED1: 16             87          DC.B    22
  006ED2: D5CECBCECFD7   88 E6       ASC     "UNKNOWN HALGOL KEYWORD"
  006EE8: 0F             89          DC.B    15
  006EE9: C4D5D0CCC9C3   90 E7       ASC     "DUPLICATE LABEL"
  006EF8: 0D             91          DC.B    13
  006EF9: CCC1C2C5CCA0   92 E8       ASC     "LABEL MISSING"
  006F06: 1D             93          DC.B    29
  006F07: C6CFD5CCC5C4   94 E9       ASC     "FOULED UP HALGOL OBJECT CODE!"
  006F24: 1F             95          DC.B    31
  006F25: CCC9CEC5A0CE   96 E10      ASC     "LINE NUMBER OVER 65534 IN RENUM"
  006F44: 1A             97          DC.B    26
  006F45: D7D2CFCEC7A0   98 E11      ASC     "WRONG NUMBER OF CHARACTERS"
  006F5F: 22             99          DC.B    34
  006F60: CDC9D3D3C9CE  100 E12      ASC     "MISSING '$' IN FRONT OF HEX NUMBER"
  006F82: 10            101          DC.B    16
  006F83: CED5CDC2C5D2  102 E13      ASC     "NUMBER TOO LARGE"
  006F93: 0E            103          DC.B    14
  006F94: C4C9D6C9C4C5  104 E14      ASC     "DIVIDE BY ZERO"
  006FA2: 10            105          DC.B    16
  006FA3: CCCFC7A0CFD0  106 E15      ASC     "LOG OPERAND ZERO"
  006FB3: 19            107          DC.B    25
  006FB4: C9CCCCC5C7C1  108 E16      ASC     "ILLEGAL NEGATIVE ARGUMENT"
  006FCD: 17            109          DC.B    23
  006FCE: C9CCCCC5C7C1  110 E17      ASC     "ILLEGAL OPTION SELECTED"
  006FE5: 17            111          DC.B    23
  006FE6: C9CCCCC5C7C1  112 E18      ASC     "ILLEGAL DEVICE SELECTED"
  006FFD: 12            113          DC.B    18
  006FFE: C4C5D6C9C3C5  114 E19      ASC     "DEVICE RANGE ERROR"
  007010: 04            115          DC.B    4
  007011: D3D4CFD0      116 M20      ASC     "STOP"
  007015: 08            117          DC.B    8
  007016: C5CEC4A0D0D2  118 M21      ASC     "END PROG"
  00701E: 0E            119          DC.B    14
  00701F: C9CCCCC5C7C1  120 H22      ASC     "ILLEGAL SNDMSG"
  00702D: 15            121          DC.B    21
  00702E: CDC9D3D3C9CE  122 E23      ASC     "MISSING PARM OR FIELD"

                        124 ; COPYRIGHT 1984 DIGITAL ACOUSTICS INC
                        125 ;
  007043: 0E            126          DC.B    14
  007044: C1C4C4D2A0C2  127 E24      ASC     "ADDR BELOW RAM"
  007052: 10            128          DC.B    16
  007053: D4C1C2A0CFD5  129 E25      ASC     "TAB OUT OF RANGE"
  007063: 20            130          DC.B    32
  007064: D3D4D2C9CEC7  131 E26      ASC     "STRING NOT FOUND IN LINKED TABLE"
  007084: 13            132          DC.B    19
  007085: C3CCCFD3C9CE  133 E27      ASC     "CLOSING ("
  00708E: A2            134          DC.B    $A2            ;QUOTE CHAR
  00708F: A9A0CDC9D3D3  135          ASC     ") MISSING"
  007098: 16            136          DC.B    22
  007099: D0D2CFCDD0D4  137 E28      ASC     "PROMPT STRING TOO LONG"
  0070AF: 13            138          DC.B    19
  0070B0: CECFD4A0C1CE  139 E29      ASC     "NOT AN EVEN ADDRESS"
  0070C3: 10            140          DC.B    16
  0070C4: C2D2C5C1CBD0  141 E30      ASC     "BREAKPOINTS FULL"
  0070D4: 12            142          DC.B    18
  0070D5: CECFA0C2D2C5  143 E31      ASC     "NO BREAKPOINTS SET"
  0070E7: 0D            144          DC.B    13
  0070E8: CEC1CDC5A0D4  145 E32      ASC     "NAME TOO LONG"
  0070F5: 11            146          DC.B    17
  0070F6: CCC5C6D4A0D6  147 E33      ASC     "LEFT VARN MISSING"
  007107: 0B            148          DC.B    11
  007108: A7BDA7A0CDC9  149 E34      ASC     "'=' MISSING"
  007113: 11            150          DC.B    17
  007114: D5CEC2C1CCC1  151 E35      ASC     "UNBALANCED PARENS"
  007125: 13            152          DC.B    19
  007126: D3D4CFD2C5A0  153 E36      ASC     "STORE INTO CONSTANT"
  007139: 0C            154          DC.B    12
  00713A: D3D4C5D0A0C9  155 E37      ASC     "STEP IS ZERO"
  007146: 17            156          DC.B    23
  007147: D4CFCFA0CDC1  157 E38      ASC     "TOO MANY FOR-NEXT LOOPS"
  00715E: 10            158          DC.B    16
  00715F: CEC5D8D4A0D7  159 E39      ASC     "NEXT WITHOUT FOR"
  00716F: 0D            160          DC.B    13
  007170: D4CFCFA0CDC1  161 E40      ASC     "TOO MANY '='S"
  00717D: 16            162          DC.B    22
  00717E: C6CFD2ADCEC5  163 E41      ASC     "FOR-NEXT VARN MISMATCH"
  007194: 14            164          DC.B    20
  007195: D2C5D4D5D2CE  165 E42      ASC     "RETURN WITHOUT GOSUB"
  0071A9: 15            166          DC.B    21
  0071AA: C9CCCCC5C7C1  167 E43      ASC     "ILLEGAL VARIABLE NAME"
  0071BF: 16            168          DC.B    22
  0071C0: C9CCCCC5C7C1  169 E44      ASC     "ILLEGAL POWER OPERANDS"
  0071D6: 11            170          DC.B    17
  0071D7: C1D2D2C1D9A0  171 E45      ASC     "ARRAY BOUNDS OVFL"
  0071E8: 0F            172          DC.B    15
  0071E9: CCC1C2C5CCA0  173 E46      ASC     "LABEL NOT FIRST"
  0071F8: 09            174          DC.B    9
  0071F9: A0C9CEA0CCC9  175 E47      ASC     " IN LINE "
  007202: 27            176          DC.B    39
  007203: AAAAA0C5D8C3  177 E48      ASC     "** EXCEPTION ERR - TABLES MESSED UP **"
  007229: 00            178          DC.B    0
                        179 ;

          SYMBOL TABLE (ALPHABETICAL)

ACTIVE    000020BC  ACTNERR   00006CAE  ACTTBL    00003600  ACTTBL2   000036E0  ADDLI
ASSIGN    00003A04  BCLR      000063FC  BCLR1     00006402  BCLRA     0000641A  BCLRA
BEGIN    ?000037C0  BELL      00003A34  BLDBUF    000060FA  BLDBUF1   00006108  BLOAD
BRK       000063C8  BRKFULL   000063F6  BRKNUM    00005F80  BSAVE     000066F4  BUFFE
BUFR1    ?0000151E  CDESIZE   0000155A  CHKCHR    00006924  CHKFLA    00006A68  CHKFL
CHKFLD1   00006A5E  CHKFLDA  ?00006A54  CHKFLDC   00006A52  CHKKWD    00006180  CHKLI
CHKLN     00004C10  CHKSPC    000061DC  CHKSTEP   0000696A  CHKSTR    00006914  CHKST
CHKTO     00006910  CHRMSK    00001F80  CINPUT    00006354  CINPUTX   00006372  CLIST
CLRCRT    00003A64  CLRCSR    00003A54  CLRFN     00006396  CLRKB     00003A5C  CMD0
CMD1      00003A2C  CMD4      00003A38  CMD5      00003A3C  CMD6      00003A40  CMD7
CMD7A    ?0000663A  CMD7B     0000663C  CMD8      00003A48  CMD8A     0000664C  CMD9
CMDCHA    00006524  CMDCHB    0000652E  CMDCHK    00006500  CMDCHKX   00006544  CMDCH
CMDERR    00006220  CMDFN     000062C2  CMDLST    00006226  CNSTERR   00006C2E  COLD1
COLDSTRT  000060C0  COLLECT   00006546  COLUMN    00001542  CONCHK    00004C44  CONCH
COND     ?0000151A  COUNT     0000151A  CPFP1M    000020C4  CPFPOS    000020C8  CSLIN
CSTRTB    0000692C  CTLCFLG  ?00001530  DBUFF     00001104  DELFN     00004C64  DOHEX
DOHEX4    000066D0  E0       ?00006E63  E1       ?00006E73  E10      ?00006F25  E11
E12      ?00006F60  E13      ?00006F83  E14      ?00006F94  E15      ?00006FA3  E16
E17      ?00006FCE  E18      ?00006FE6  E19      ?00006FFE  E2       ?00006E87  E23
E24      ?00007044  E25      ?00007053  E26      ?00007064  E27      ?00007085  E28
E29      ?000070B0  E3       ?00006E9B  E30      ?000070C4  E31      ?000070D5  E32
E33      ?000070F6  E34      ?00007108  E35      ?00007114  E36      ?00007126  E37
E38      ?00007147  E39      ?0000715F  E4       ?00006EA8  E40      ?00007170  E41
E42      ?00007195  E43      ?000071AA  E44      ?000071C0  E45      ?000071D7  E46
E47      ?000071F9  E48      ?00007203  E5       ?00006EBC  E6       ?00006ED2  E7
E8       ?00006EF9  E9       ?00006F07  EASSIGN   0000689A  ECHO      00003A60  EDITA
EDITLA    000064E6  EDITLN    00006478  EDITLX    000064FE  EDTLN    ?0000154A  EDTLN
EDTLP     000064C0  EDTTBL    00006730  EFOR      00006936  EFOR1     0000697A  EFORX
EGOTO     00006A02  EGOTOX    00006A24  EHPR      00006A4E  EHTAB     0000687A  EHTAB
EIF       00006B90  EINPUT    00006814  EINPUTS   0000681A  ELET      00007300  ELET1
ELSESTR   00006CD0  EMAV      000069FC  EMVA      000069FE  END       00003A08  ENULL
EOA      ?000015EC  EOADT    ?000015D4  EOAN     ?000015CC  EOBLCK    00001556  EOC
EOCN      000015B4  EOH       00001584  EOI      ?000015DC  EOIN     ?000015AC  EOLA
EOLBA     000015A4  EOLBN     0000159C  EOLN     ?0000158C  EOV      ?000015E4  EOVN
EPRCR     0000683A  EPRINT    0000682C  EPRINTS   00006840  EPRNTSV   0000684C  EQFOU
EREM      000068B6  ERR23     000069D8  ERR34     000069DC  ERR40     000069E0  ERR40
ERR8      00004C78  ERROR     00006E06  ERROR0   ?00006E20  ERROR1    00006E40  ERROR
ERRORL    00006E34  ERRORX    00006E4A  ERRTBL    00006E62  EVAR1     00006862  EVAR1
EVAR2     0000685C  EVAR4     000068EE  EVARN     000068D2  EVARN1    000068DA  EVRTS
EVTAB     00006872  EXAMN     00004C24  EXTFN     000063C0  FETCHR    00006DB0  FETCH
FINDR     0000699E  FIX16     00003A98  FLGCHR    00006B76  FLIN1     00003A1C  FORST
FPADD     000020C0  FPU       0000191A  GET1VAR   00006902  GETAR2X   00006BCA  GETAR
GETCMD    00006202  GETCNSA   00006C24  GETCNST   00006C04  GETFLD    00004C1C  GETFL
GETHADR   00006A7A  GETHADX   00006A8A  GETINDX   00003A70  GETKEY    00003A58  GETLA
GETLABL   000061E6  GETLBL    00004C4C  GETLBL1   00004C50  GETLINK   0000661E  GETLI
GETOP2    00006C8C  GETOP2A  ?00006CAC  GETOPA    00006CA4  GETOPER   00006C7E  GETRE
GETREB    00006C54  GETREB0   00006C56  GETREC    00006C68  GETREL    00006C34  GETVA
GETVAR2   00006906  GETVARA   00006BE0  GETVARN   00006BD0  GETVARX   00006BFC  GETVC
GOSUBF    00006D8A  GOTOF     00006D7E  H22      ?0000701F  HADREVN   00006A6A  HEX2S
HEXCHK    00004C28  HEXGET    00004C54  HEXIT     000066E2  HEXITX    000066F2  HOMCS
HOMFN     000063BC  HPR1      00006AB4  HPR2      00006ABC  HPRAFN    0000639A  HPRFN
HPRNT     00006A9A  HPTBL    ?000020D8  HTABC     00003A24  IFELSE    00006D4C  IFG0
IFGOSUB   00006D2C  IFGOT1    00006D64  IFGOTE    00006DAA  IFGOTL    00006D5A  IFGOT
IFGOTX    00006D94  IFGOTX0   00006DA4  IFTHEA    00006CF4  IFTHEA0   00006D00  IFTHE
IFTHEC    00006D1A  IFTHEN    00006CD6  INCPTR    0000699A  INDEX    ?00001500  INITH
INITT     0000601C  INITTB    000060A6  INPREM    00006A28  INPREM1   00006A34  INPRE
INPREMX   00006A44  INPREMXX  00006A4C  INPTXT    00004C70  INPUTS    00003A0C  INSAD
IPRINT1   00004C18  ISVARN    000069F8  JERR      00006A96  JV1       000020C0  JV2
JV3       00004C00  JV4       00006000  JV5       00007300  KBTEST   ?00001518  KEY1
LASSIGN   00003A7C  LBLADR    00003A00  LBLTEMP   0000151A  LCTR      0000FFFE  LINBU
LINE      00001540  LINFEED   00003A88  LINK      00001100  LIST      00004C60  LISTE
LISTKEY   00003A74  LLET1     00007304  LLINK     0000667A  LNAME     00006664  LOAD
LOCVAL    000069B0  LOCVAL1   000069B2  LOCVAL2   000069BC  LOCVALX   000069D2  LOOP0
LOOP0X    00006DD8  LOOP1     00006DCA  LOOP1X    00006DDA  LPTR      0000FFFC  LSPRO
M20      ?00007011  M21      ?00007016  MADR     ?0000150C  MODE      00001900  MUMP1
MUMP2     00006306  MUMP3     0000630E  MUMP4     00006316  MURK      0000730C  MURK0
MURK1     000062FA  MURK2     00006302  MURK3     0000630A  MURK4     00006312  NAME
NAME1     000065F8  NAME2     0000660E  NAME3     00006610  NEW       00006010  NEWAC
NEWACT1   00006DE8  NEWACT2   00006DEE  NEWFN     000063B4  NLINES    0000154C  NOBRK
NOTEVN    00006A76  NUMEVAL   000020D4  NUMWDS    00001516  OPADR     00006CC6  OPADR
OPERCHK   00006C94  OPTBL     00006CB4  OPTBL2    00006CB9  OUTAEQ    00006B6C  OUTCH
OUTNSP    00006B64  OUTST     00006B5E  OUTSTM    00006B5C  PACK      00004C2C  PARM1
PARM2    ?00001536  PARSER    00006132  PARSRB    000061CC  PARSRX    000061FE  PASCS
PERR     ?00006222  PMTPOS   ?00001510  POKE      00006552  PR6SP     00006B62  PRBIT
PRBITX    00006B8E  PREPROC   00004C30  PRHEX2    00003A84  PRHEX4    00003A80  PRINT
PRINTER  ?000020B4  PRINTS    00003A14  PRINTSV   00003A18  PRNTERR   00006E5A  PRNTF
PRNTSTR   00003A78  PRNTVAR   00003A68  PRSPCE    00006B82  PRSTRM    000020D0  RANGC
READKB    00003A30  REG1      00006B3E  REG2      00006B2A  REG2X     00006B3A  REG8
REG8X     00006B28  RELTBL    00006C6E  REMSPC1   0000686C  REMSPCE   00004C34  RENER
RENF0     0000645E  RENFA     0000643C  RENFC     00006450  RENFD     0000646C  RENFN
RENFNX    00006470  RENLPB    00006448  RENLPC    00006468  REWIND    00004C5C  RIGHT
RUN       00004C6C  S1        00001902  SAVE      00006688  SCREDIT   00004C04  SEGOT
SELFN     00004C68  SETCSR    00003A50  SFLAG     00001508  SGTBL1    000065DA  SGTBL
SGTBLS    000065BE  SHPR1     00003A94  SHPRINT   00003A90  SLEN      00006718  SLINK
SNAME     00006704  SNDCHR    00003A9C  SNGLA     00004C74  SOA       000015E8  SOADT
SOAN      000015C8  SOBLCK    00001552  SOC       000015B8  SOCN      000015B0  SOH
SOI       000015D8  SOIN      000015A8  SOLA      00001590  SOLBA     000015A0  SOLBN
SOLN      00001588  SOV       000015E0  SOVN      000015C0  SRCH1     00004C14  SSFFL
STMTA     00006184  STMTCNT   0000154E  STMTXA    00006192  STMTXA0   000061A0  STMTX
STOREL    00006DDC  STRT1    ?00006DD0  SUBCINP   00006374  SUBCINPX  00006394  SUBCL
SUBSRCH   00006DC0  SYNERR    00006856  SYNERR1  ?00006858  SYSOUT    000020B8  TBLA
TBUFE    ?0000151C  TEMP      00001538  TEMPB     00001700  TLINE    ?0000151D  TRAP1
TRAP14    00006124  TRYLET    000061B8  TXTLEN   ?00001532  VARCHK    00004C3C  VARCH
VECT14    00001094  VOIDLBL   00004C58  VTABC     00003A20  WARMSTRT  000060FA  WRKAD
WRKBUF    00001800  ZP        00006A8C

          SYMBOL TABLE (NUMERICAL)

VECT14    00001094  LINK      00001100  DBUFF     00001104  FORSTK   ?000014FE  INDEX
INSADR   ?00001504  SFLAG     00001508  MADR     ?0000150C  PMTPOS   ?00001510  WRKAD
NUMWDS    00001516  KBTEST   ?00001518  COND     ?0000151A  LBLTEMP   0000151A  COUNT
TBUFE    ?0000151C  TLINE    ?0000151D  BUFR1    ?0000151E  CTLCFLG  ?00001530  TXTLE
PARM1     00001534  PARM2    ?00001536  TEMP      00001538  LINE      00001540  COLUM
SSFFLGS   00001546  EDTLN    ?0000154A  NLINES    0000154C  STMTCNT   0000154E  SOBLC
EOBLCK    00001556  CDESIZE   0000155A  SOH       00001580  EOH       00001584  SOLN
EOLN     ?0000158C  SOLA      00001590  EOLA     ?00001594  SOLBN     00001598  EOLBN
SOLBA     000015A0  EOLBA     000015A4  SOIN      000015A8  EOIN     ?000015AC  SOCN
EOCN      000015B4  SOC       000015B8  EOC       000015BC  SOVN      000015C0  EOVN
SOAN      000015C8  EOAN     ?000015CC  SOADT     000015D0  EOADT    ?000015D4  SOI
EOI      ?000015DC  SOV       000015E0  EOV      ?000015E4  SOA       000015E8  EOA
BUFFER    00001600  LINBUF   ?00001600  TEMPB     00001700  WRKBUF    00001800  MODE
S1        00001902  FPU       0000191A  CHRMSK    00001F80  TBLA     ?00002080  LISTE
PRINTER  ?000020B4  SYSOUT    000020B8  ACTIVE    000020BC  FPADD     000020C0  JV1
CPFP1M    000020C4  CPFPOS    000020C8  PRNTFP    000020CC  PRSTRM    000020D0  NUMEV
HPTBL    ?000020D8  ACTTBL    00003600  ACTTBL2   000036E0  BEGIN    ?000037C0  KEY1
JV2       00003A00  LBLADR    00003A00  ASSIGN    00003A04  END       00003A08  INPUT
PRINTCR   00003A10  PRINTS    00003A14  PRINTSV   00003A18  FLIN1     00003A1C  VTABC
HTABC     00003A24  CMD0      00003A28  CMD1      00003A2C  READKB    00003A30  BELL
CMD4      00003A38  CMD5      00003A3C  CMD6      00003A40  CMD7      00003A44  CMD8
CMD9      00003A4C  SETCSR    00003A50  CLRCSR    00003A54  GETKEY    00003A58  CLRKB
ECHO      00003A60  CLRCRT    00003A64  PRNTVAR   00003A68  PASCSTR   00003A6C  GETIN
LISTKEY   00003A74  PRNTSTR   00003A78  LASSIGN   00003A7C  PRHEX4    00003A80  PRHEX
LINFEED   00003A88  OUTCHR    00003A8C  SHPRINT   00003A90  SHPR1     00003A94  FIX16
SNDCHR    00003A9C  GETVAR    00004C00  JV3       00004C00  SCREDIT   00004C04  HOMCS
CHKLIST   00004C0C  CHKLN     00004C10  SRCH1     00004C14  IPRINT1   00004C18  GETFL
GETFLDA   00004C20  EXAMN     00004C24  HEXCHK    00004C28  PACK      00004C2C  PREPR
REMSPCE   00004C34  ADDLIST   00004C38  VARCHK    00004C3C  VARCHK1   00004C40  CONCH
CONCHK1   00004C48  GETLBL    00004C4C  GETLBL1   00004C50  HEXGET    00004C54  VOIDL
REWIND    00004C5C  LIST      00004C60  DELFN     00004C64  SELFN     00004C68  RUN
INPTXT    00004C70  SNGLA     00004C74  ERR8      00004C78  RANGCHK   00004C7C  BRKNU
JV4       00006000  NEW       00006010  INITT     0000601C  INITH     0000603C  INITT
COLDSTRT  000060C0  COLD1     000060C4  BLDBUF    000060FA  WARMSTRT  000060FA  BLDBU
TRAP14    00006124  PARSER    00006132  CHKKWD    00006180  STMTA     00006184  STMTX
STMTXA0   000061A0  STMTXB    000061A2  TRYLET    000061B8  PARSRB    000061CC  CHKSP
GETLABL   000061E6  GETLABA   000061F8  PARSRX    000061FE  GETCMD    00006202  CMDER
PERR     ?00006222  CMDLST    00006226  CMDFN     000062C2  MURK1     000062FA  MUMP1
MURK2     00006302  MUMP2     00006306  MURK3     0000630A  MUMP3     0000630E  MURK4
MUMP4     00006316  MURK0     00006318  CLIST     00006320  SUBCLIST  00006340  CINPU
CINPUTX   00006372  SUBCINP   00006374  SUBCINPX  00006394  CLRFN     00006396  HPRAF
HPRFN     000063A8  NEWFN     000063B4  HOMFN     000063BC  EXTFN     000063C0  BRK
BRKFULL   000063F6  BCLR      000063FC  BCLR1     00006402  NOBRK     00006414  BCLRA
BCLRAX    00006424  RENFN     00006426  RENFA     0000643C  RENLPB    00006448  RENFC
RENF0     0000645E  RENLPC    00006468  RENFD     0000646C  RENFNX    00006470  RENER
EDITLN    00006478  EDITA     00006498  EDTLP     000064C0  EDTLNB    000064DC  EDITL
EDITLX    000064FE  CMDCHK    00006500  CMDCHA    00006524  CMDCHB    0000652E  CMDCH
CMDCHKX   00006544  COLLECT   00006546  POKE      00006552  LOAD      00006558  SGTBL
SGTBL1    000065DA  SGTBL2    000065EC  NAME      000065F2  NAME1     000065F8  NAME2
NAME3     00006610  GETLINK   0000661E  GETLINK1  00006624  CMD7A    ?0000663A  CMD7B
LSPROG    00006642  CMD8A     0000664C  BLOAD     00006654  LNAME     00006664  LLINK
SAVE      00006688  CSLINK    000066C4  DOHEX4    000066D0  DOHEX     000066D8  HEXIT
HEXITX    000066F2  BSAVE     000066F4  SNAME     00006704  SLEN      00006718  SLINK
EDTTBL    00006730  EINPUT    00006814  EINPUTS   0000681A  EPRINT    0000682C  EPRCR
EPRINTS   00006840  EPRNTSV   0000684C  SYNERR    00006856  SYNERR1  ?00006858  EVAR2
EVAR1     00006862  EVAR1A    00006866  ENULL     0000686A  REMSPC1   0000686C  EVTAB
EHTAB     0000687A  EHTAB1    00006880  EASSIGN   0000689A  EREM      000068B6  EVRTS
EVARN     000068D2  EVARN1    000068DA  EVAR4     000068EE  GET1VAR   00006902  GETVA
CHKTO     00006910  CHKSTR    00006914  CHKSTR1   0000691A  CHKCHR    00006924  CSTRT
EFOR      00006936  CHKSTEP   0000696A  EFOR1     0000697A  EFORX    ?00006992  EQFOU
INCPTR    0000699A  FINDR     0000699E  RIGHTV1   000069A0  LOCVAL    000069B0  LOCVA
LOCVAL2   000069BC  LOCVALX   000069D2  ERR23     000069D8  ERR34     000069DC  ERR40
ERR40A    000069E2  GETVC     000069E6  ISVARN    000069F8  EMAV      000069FC  EMVA
SEGOTO    00006A00  EGOTO     00006A02  EGOTOX    00006A24  INPREM    00006A28  INPRE
INPREM2   00006A36  INPREMX   00006A44  INPREMXX  00006A4C  EHPR      00006A4E  CHKFL
CHKFLDA  ?00006A54  CHKFLD    00006A5A  CHKFLD1   00006A5E  CHKFLA    00006A68  HADRE
NOTEVN    00006A76  GETHADR   00006A7A  GETHADX   00006A8A  ZP        00006A8C  JERR
HPRNT     00006A9A  HPR1      00006AB4  HPR2      00006ABC  TRAP13    00006AC0  REG8
REG8X     00006B28  REG2      00006B2A  REG2X     00006B3A  REG1      00006B3E  OUTST
OUTST     00006B5E  PR6SP     00006B62  OUTNSP    00006B64  OUTAEQ    00006B6C  FLGCH
HEX2SP    00006B7E  PRSPCE    00006B82  PRBIT     00006B86  PRBITX    00006B8E  EIF
GETARG2   00006BB2  GETAR2X   00006BCA  GETVARN   00006BD0  GETVARA   00006BE0  GETVA
GETCNST   00006C04  GETCNSA   00006C24  CNSTERR   00006C2E  GETREL    00006C34  GETRE
GETREB    00006C54  GETREB0   00006C56  GETREC    00006C68  RELTBL    00006C6E  GETOP
GETOP2    00006C8C  OPERCHK   00006C94  GETOPA    00006CA4  GETOP2A  ?00006CAC  ACTNE
OPTBL     00006CB4  OPTBL2    00006CB9  OPADR     00006CC6  OPADR2    00006CCC  ELSES
IFTHEN    00006CD6  IFTHEA    00006CF4  IFTHEA0   00006D00  IFTHEB    00006D0E  IFTHE
IFGOSUB   00006D2C  IFGOTO    00006D38  IFG0      00006D3E  IFELSE    00006D4C  IFGOT
IFGOT1    00006D64  GOTOF     00006D7E  GOSUBF    00006D8A  IFGOTX    00006D94  IFGOT
IFGOTE    00006DAA  FETCHR    00006DB0  FETCHX    00006DBE  SUBSRCH   00006DC0  LOOP0
LOOP1     00006DCA  STRT1    ?00006DD0  LOOP0X    00006DD8  LOOP1X    00006DDA  STORE
NEWACT1   00006DE8  NEWACT2   00006DEE  NEWACT    00006DF8  ERROR     00006E06  ERROR
ERRORL    00006E34  ERROR1    00006E40  ERROR1A   00006E42  ERRORX    00006E4A  PRNTE
ERRTBL    00006E62  E0       ?00006E63  E1       ?00006E73  E2       ?00006E87  E3
E4       ?00006EA8  E5       ?00006EBC  E6       ?00006ED2  E7       ?00006EE9  E8
E9       ?00006F07  E10      ?00006F25  E11      ?00006F45  E12      ?00006F60  E13
E14      ?00006F94  E15      ?00006FA3  E16      ?00006FB4  E17      ?00006FCE  E18
E19      ?00006FFE  M20      ?00007011  M21      ?00007016  H22      ?0000701F  E23
E24      ?00007044  E25      ?00007053  E26      ?00007064  E27      ?00007085  E28
E29      ?000070B0  E30      ?000070C4  E31      ?000070D5  E32      ?000070E8  E33
E34      ?00007108  E35      ?00007114  E36      ?00007126  E37      ?0000713A  E38
E39      ?0000715F  E40      ?00007170  E41      ?0000717E  E42      ?00007195  E43
E44      ?000071C0  E45      ?000071D7  E46      ?000071E9  E47      ?000071F9  E48
ELET      00007300  JV5       00007300  LLET1     00007304  ELET1     00007308  MURK
LPTR      0000FFFC  LCTR      0000FFFE



* ENTER.O                              START  $00006000
*                                      LENGTH $0000122A

006000  4E F8 60 C0 4E F8 60 FA 4E F8 6E 06 4E F8 61 24
006010  41 F8 15 80 72 0D 43 F8 60 A6 42 80 30 19 20 C0
006020  20 C0 53 01 66 F6 72 01 48 41 20 C1 20 C1 20 78
006030  15 80 3E 38 3A 0A 51 47 32 3C 01 00 30 C7 53 41
006040  66 FA 20 78 15 98 42 50 20 78 15 C0 42 50 20 78
006050  15 A8 42 50 20 78 15 C8 42 50 20 78 15 B0 20 BC
006060  01 B1 00 00 54 B8 15 B4 20 78 15 B8 20 FC 10 01
006070  80 00 42 98 21 C8 15 BC 20 78 15 88 30 BC FF FF
006080  42 78 15 4C 20 78 15 90 20 F8 15 80 20 B8 15 84
006090  21 FC 00 00 80 00 15 52 21 FC 00 00 A4 00 15 56
0060A0  42 B8 15 5A 4E 75 80 00 8C 00 8F 00 90 00 92 00
0060B0  94 00 96 00 99 00 9C 00 9F 00 A0 00 A2 00 A4 00
0060C0  42 78 5F 80 32 78 3A 9E 30 7C 20 B0 20 C9 20 C9
0060D0  20 C9 42 38 15 42 42 38 15 40 4E B8 3A 64 31 FC
0060E0  FF FF 15 46 31 FC FF FF 15 08 31 FC 61 24 10 94
0060F0  31 FC 6A C0 10 8E 4E B8 60 10 3E 7C 1F F8 21 F8
006100  20 B8 20 BC 42 38 19 00 4E B8 4C 04 08 38 00 03
006110  15 08 66 F4 30 7C 16 00 4A 10 67 EC 52 38 19 00
006120  61 10 60 D6 40 E7 3F 05 4E B8 3A 2C 3A 1F 46 DF
006130  4E 4F 4E B8 4C 30 42 80 42 83 08 F8 00 01 15 08
006140  4E B8 4C 1C 0C 16 00 AE 67 00 03 2E 4E B8 4C 24
006150  4A 07 67 00 00 AE 4E B8 4C 10 36 7C 18 00 36 C1
006160  28 78 15 88 4E B8 4C 14 36 C7 36 C3 36 CC 4E B8
006170  4C 1C 4A 05 66 0A 4A 6B FF FA 66 00 EA F8 4E 75
006180  2A 4E 42 45 1E 1D 67 1A 0C 07 00 BA 67 04 52 45
006190  60 F2 21 CD 15 34 0C 2D 00 A0 FF FE 66 02 42 25
0061A0  42 25 20 4E 4E B8 4C 1C 45 F8 37 E8 4E B8 4C 0C
0061B0  67 34 42 38 19 21 E3 4B 49 F8 36 00 3A 34 30 00
0061C0  36 C5 49 F8 67 30 38 74 30 00 4E 94 53 78 15 4E
0061D0  67 2C 08 B8 00 01 15 08 2C 78 15 34 0C 16 00 A0
0061E0  66 9E 52 4E 60 F6 0C 16 00 A2 67 0C 42 43 30 49
0061F0  11 FC 00 01 19 21 60 C0 4E B8 4C 50 60 CE 4E F8
006200  4C 5C 36 7C 18 00 34 7C 62 26 4E B8 4C 0C 67 10
006210  4E B8 3A 54 E3 4B 38 7C 62 C2 38 74 30 00 4E D4
006220  7E 00 4E F8 6E 06 04 CC C9 D3 D4 03 CE C5 D7 03
006230  C4 C5 CC 04 C8 CF CD C5 04 C5 D8 C9 D4 05 D2 C5
006240  CE D5 CD 03 D2 D5 CE 06 D3 C5 CC C5 C3 D4 05 C3
006250  CC C5 C1 D2 03 C8 D0 D2 04 C8 D0 D2 C0 03 C2 D2
006260  CB 04 C2 C3 CC D2 05 C2 C3 CC D2 C1 04 D0 CF CB
006270  C5 04 CC CF C1 C4 04 D3 C1 D6 C5 05 C3 CC C9 D3
006280  D4 06 C3 C9 CE D0 D5 D4 07 C3 CF CC CC C5 C3 D4
006290  05 CD D5 D2 CB B1 05 CD D5 CD D0 B1 05 CD D5 D2
0062A0  CB B2 05 CD D5 CD D0 B2 05 CD D5 D2 CB B3 05 CD
0062B0  D5 CD D0 B3 05 CD D5 D2 CB B4 05 CD D5 CD D0 B4
0062C0  00 00 4C 60 63 B4 4C 64 63 BC 63 C0 64 26 4C 6C
0062D0  4C 68 63 96 63 A8 63 9A 63 C8 63 FC 64 1A 65 52
0062E0  65 58 66 88 63 20 63 54 65 46 62 FA 62 FE 63 02
0062F0  63 06 63 0A 63 0E 63 12 63 16 42 40 60 1A 70 08
006300  60 16 70 10 60 12 70 18 60 0E 70 20 60 0A 70 28
006310  60 06 70 30 60 02 70 38 30 78 73 0E D0 C0 4E D0
006320  2F 38 20 B0 21 FC 00 00 63 40 20 B0 42 78 FF FE
006330  31 FC FF FC FF FC 4E B8 4C 60 21 DF 20 B0 4E 75
006340  2F 0D 3A 78 FF FC 1B 07 31 CD FF FC 52 78 FF FE
006350  2A 5F 4E 75 3E 38 FF FE 67 18 31 F8 3A 5A 10 FE
006360  31 FC 63 74 3A 5A 31 FC FF FC FF FC 08 B8 00 00
006370  15 08 4E 75 38 78 FF FC 1E 24 00 07 00 80 31 CC
006380  FF FC 53 78 FF FE 66 0C 31 F8 10 FE 3A 5A 08 F8
006390  00 00 15 08 4E 75 4E F8 60 C4 4E B8 6A 9A 32 23
0063A0  26 63 20 13 4E F8 3A 90 4E B8 6A 9A 32 23 20 23
0063B0  4E F8 3A 94 4E B8 60 10 4E F8 60 FA 4E F8 4C 08
0063C0  4E B8 3A 54 4E F8 3A 2C 4E B8 6A 5A 4E B8 4C 34
0063D0  72 06 74 04 4E B8 6A 6A 30 7C 5F 80 70 78 B0 50
0063E0  65 14 30 10 5C 50 41 F0 00 02 22 44 30 D1 20 84
0063F0  32 BC 4E 4D 4E 75 7E 1E 4E F8 6E 06 30 38 5F 80
006400  67 12 30 7C 5F 82 41 F0 00 00 22 60 32 A0 5D 78
006410  5F 80 4E 75 7E 1F 4E F8 6E 06 30 38 5F 80 67 04
006420  61 E0 60 F6 4E 75 38 38 15 4C 67 44 4A 10 67 2E
006430  4E B8 4C 7C 32 38 15 38 66 02 72 0A 30 38 15 34
006440  38 38 15 4C 53 44 67 08 D0 41 65 26 51 CC FF FA
006450  20 78 15 88 38 38 15 4C 30 38 15 34 60 0E 20 78
006460  15 88 70 64 72 0A 53 44 30 C0 D0 41 51 CC FF FA
006470  4E 75 7E 0A 4E F8 6E 06 42 38 19 00 52 4E 53 45
006480  67 00 FD 9E 4E B8 4C 24 4A 07 67 74 4E B8 4C 10
006490  4E B8 4C 14 4A 07 67 66 4E B8 4C 18 11 F8 15 42
0064A0  15 34 22 78 15 C0 2C 78 15 90 E5 4B 47 F6 30 00
0064B0  E4 4B 26 53 32 03 52 41 E5 49 45 F6 10 00 24 52
0064C0  48 A7 30 00 38 5B 59 4C 38 54 4E 94 4C 9F 00 0C
0064D0  B5 CB 67 08 7E BA 4E B8 3A 9C 60 E4 22 38 15 46
0064E0  42 80 10 38 15 40 53 00 01 01 67 FA 52 00 11 C0
0064F0  15 40 11 F8 15 34 15 42 08 B8 00 02 15 08 4E 75
006500  0C 16 00 A2 66 00 FD 1A 4E B8 4C 4C 67 20 24 78
006510  15 A0 24 32 30 00 59 82 24 78 15 90 42 43 38 38
006520  15 4C 67 20 B4 9A 67 0C 52 43 51 CC FF F8 7E 00
006530  4E F8 62 20 24 78 15 88 E5 4B 32 32 30 00 E4 4B
006540  4E F8 64 98 4E 75 4E B8 63 20 4E B8 60 10 4E F8
006550  63 54 7E 01 4E F8 6E 06 48 E7 FF FE 3C 7C 66 64
006560  4E B8 65 F2 4E B8 66 1E 3A 7C 66 7B 72 31 4E B8
006570  66 C4 3A 7C 66 55 72 26 4E B8 66 C4 4E B8 66 42
006580  36 7C 3A 44 4E B8 65 BE 20 78 15 84 30 B8 3A 0A
006590  51 50 20 78 15 9C 42 10 20 78 15 B4 42 10 20 78
0065A0  15 C4 42 10 20 78 15 8C 30 BC FF FF 91 F8 15 88
0065B0  30 08 E2 48 31 C0 15 4C 4C DF 7F FF 4E 75 70 0D
0065C0  3C 7C 15 80 36 3C 60 00 3C 03 3A 4E 38 00 E7 4C
0065D0  31 C4 15 1A D6 44 4E 93 55 00 2A 5E 28 1E 3C 03
0065E0  98 8D 67 08 D9 78 15 1A D6 44 4E 93 53 00 66 EA
0065F0  4E 75 3F 0E 7E 20 70 09 1C C7 53 00 66 FA 4E B8
006600  6A 52 0C 05 00 09 65 06 7E 20 4E F8 6E 06 30 5F
006610  1E 1E 02 07 00 7F 10 C7 53 05 66 F4 4E 75 31 FC
006620  08 01 11 00 30 38 11 00 3A 7C 11 01 78 02 61 0C
006630  11 E5 11 00 66 EE 3A 7C 11 04 78 40 3C 00 4E F8
006640  3A 44 61 08 4E B8 3A 2C 3A 7C 11 04 3C 00 78 40
006650  4E F8 3A 48 00 00 FE F9 BA E7 28 34 29 3B 22 42
006660  4C 4F 41 44 20 20 20 20 20 20 20 20 20 2C 41 24
006670  36 30 30 30 2C 20 44 31 22 00 00 00 FF F9 AB 36
006680  33 39 39 37 00 00 00 00 48 E7 FF FE 3C 7C 67 04
006690  4E B8 65 F2 36 7C 3A 48 4E B8 65 BE 4E B8 66 1E
0066A0  3C 38 15 1A 30 7C 67 1C 61 26 3A 7C 67 23 72 39
0066B0  61 12 3A 7C 66 F5 72 2E 61 0A 4E B8 66 42 4C DF
0066C0  7F FF 4E 75 D2 40 3E 01 E0 4F 1A 87 1B 01 4E 75
0066D0  61 06 61 04 61 02 4E 71 3E 06 61 06 11 07 E8 4E
0066E0  4E 75 02 07 00 0F 06 07 00 30 0C 07 00 3A 65 02
0066F0  5E 07 4E 75 00 00 FE F9 BA E7 28 34 29 3B 22 42
006700  53 41 56 45 20 20 20 20 20 20 20 20 20 2C 41 24
006710  36 30 30 30 2C 20 4C 24 30 30 30 30 2C 20 44 31
006720  22 00 00 00 FF F9 AB 36 33 39 39 37 00 00 00 00
006730  73 00 6A 02 6A 02 68 9A 6A 02 68 6A 68 14 68 1A
006740  68 2C 68 3A 68 40 68 4C 68 6A 68 6A 68 72 68 7A
006750  68 72 68 7A 6A 4E 68 6A 68 B6 68 D2 6B 90 69 36
006760  68 62 69 FC 69 FE 68 6A 68 6A 68 6A 68 6A 68 6A
006770  68 5C 68 EE 68 5C 68 EE 68 6A 68 6A 68 6A 68 6A
006780  68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A
006790  68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A
0067A0  68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A
0067B0  68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A
0067C0  68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A 68 6A
0067D0  68 6A 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0067E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0067F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
006800  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
006810  00 00 00 00 0C 10 00 A2 66 48 37 78 3A 0E FF FE
006820  4E B8 4C 70 0C 18 00 AC 67 38 60 2A 28 4B 55 8C
006830  0C 10 00 A2 67 0A 1E 10 66 28 38 B8 3A 12 4E 75
006840  38 B8 3A 16 4E B8 4C 70 1E 10 67 1E 38 B8 3A 1A
006850  0C 18 00 AC 67 0C 7E 03 4E F8 6E 06 61 0E 4E B8
006860  69 02 4E B8 6A 5A 4E B8 4C 3C 4E 75 3C 48 4E F8
006870  4C 34 31 F8 3A 22 15 16 60 06 31 F8 3A 26 15 16
006880  4E B8 6A 5A 38 4E 4E B8 20 D4 4A 07 66 D8 55 4B
006890  36 F8 15 16 4E B8 4C 44 4E 75 61 D0 4E B8 69 B0
0068A0  4E B8 4C 3C 72 10 74 10 52 48 3C 48 4E B8 4C 54
0068B0  26 C3 26 C4 4E 75 31 CB 15 14 54 4B 4E B8 6A 28
0068C0  3E 0B 34 38 15 14 54 42 9E 42 34 78 15 14 34 87
0068D0  4E 75 31 CB 15 14 61 94 42 5B 7C AC 4E B8 4C 20
0068E0  4A 05 67 EC 61 20 34 78 15 14 54 52 60 EC 3C 48
0068F0  61 10 4E B8 6A 5A 61 0E 61 16 61 06 4E B8 6A 5A
006900  60 04 4E B8 6A 52 3F 08 4E B8 4C 3C 30 5F 4E 75
006910  70 04 72 00 32 7C 69 2C D2 C1 1E 19 61 06 53 00
006920  66 F8 4E 75 BE 18 66 00 FF 2E 4E 75 A0 D4 CF A0
006930  D3 D4 C5 D0 A0 00 4E B8 69 B0 4E B8 4C 3C 31 FC
006940  37 0C 19 1A 4E B8 69 9E 70 08 4E B8 69 E6 61 C0
006950  4E B8 6A 5A 70 02 4E B8 69 E6 4E B8 4C 1C 4A 05
006960  66 08 58 78 19 1A 42 5B 60 10 70 05 72 04 30 4E
006970  61 A2 4E B8 6A 5A 70 04 61 6C 30 78 19 1A 47 EB
006980  FF F6 36 D0 30 1B 32 1B 24 1B 51 4B 26 C2 36 C1
006990  36 C0 4E 75 4A 05 66 48 7A 01 52 48 60 02 42 45
0069A0  0C 10 00 A0 67 F4 0C 10 00 BD 67 E8 4A 05 67 2C
0069B0  42 45 0C 18 00 A0 67 FA 53 48 3C 48 4A 10 67 18
0069C0  0C 10 00 A0 67 0C 0C 10 00 BD 67 06 52 05 52 48
0069D0  60 EA 4A 05 67 02 4E 75 7E 17 60 06 7E 22 60 02
0069E0  7E 28 4E F8 6E 06 38 4E 4E B8 20 D4 4A 07 66 08
0069F0  D1 78 19 1A 4E F8 4C 44 4E F8 4C 3C 4E 71 4E 71
006A00  4E 71 4E B8 6A 5A 4E B8 4C 4C 66 18 4E B8 4C 38
006A10  21 CA 15 9C 22 78 15 A4 34 78 4C 7A 55 4A 22 8A
006A20  58 B8 15 A4 36 C3 4E 75 4E B8 4C 1C 4A 05 66 04
006A30  42 5B 4E 75 7E 84 16 DE 67 0A 53 07 66 F8 7E 1C
006A40  4E F8 6E 06 3E 0B E2 4F 64 02 42 1B 4E 75 4E F8
006A50  6A 9A 7C AC 4E B8 4C 20 60 04 4E B8 4C 1C 4A 05
006A60  66 06 7E 17 4E F8 6E 06 4E 75 4E B8 6A 7A 08 04
006A70  00 00 66 02 4E 75 7E 1D 60 1C 4E B8 4C 54 48 44
006A80  52 04 67 08 53 04 67 04 48 44 4E 75 48 44 0C 44
006A90  10 00 64 F6 7E 18 4E F8 6E 06 4E B8 6A 5A 4E B8
006AA0  4C 34 72 06 74 01 4E B8 6A 7A 26 C4 1E 26 66 04
006AB0  78 01 60 08 52 8E 72 02 4E B8 4C 54 36 C4 4E 75
006AC0  48 F8 FF FF 5F 3E 40 F8 5F 7E 3E 7C 1F F8 21 F8
006AD0  20 B8 20 BC 61 52 20 3C 00 00 5F 3E 72 C4 61 3E
006AE0  72 C1 06 40 00 10 61 36 30 38 5F 7E 30 7C 6B 76
006AF0  7A 0F 61 6A 7A 0D 61 66 61 72 3E 00 E0 4F 02 07
006B00  00 07 06 07 00 B0 4E 95 4E B8 6B 62 7A 04 61 4E
006B10  61 4A 61 48 61 46 61 44 61 20 4E F8 60 FA 74 B0
006B20  61 08 61 06 61 04 61 02 60 10 76 00 61 10 7C 04
006B30  61 32 76 04 61 08 58 40 52 42 4E F8 3A 88 1E 01
006B40  4E 95 1E 02 DE 03 4E 95 7E AD 4E 95 61 34 E5 8B
006B50  D6 80 26 43 61 28 61 26 61 24 60 22 53 45 61 0C
006B60  61 24 7C 06 61 1C 53 06 66 FA 4E 75 1E 18 4E 95
006B70  7E BD 4E 95 60 0C D4 D3 C9 D8 CE DA D6 C3 4E B8
006B80  3A 84 7E A0 4E D5 7E B0 0B 00 67 02 7E B1 4E D5
006B90  21 C8 17 50 48 6B FF FE 21 DF 17 58 54 8B 4E B8
006BA0  6B D0 4E B8 6C 34 4E B8 6B B2 4E B8 6D DC 4E F8
006BB0  6C 7E 21 C8 17 50 42 45 4E B8 6D B0 67 0C 08 07
006BC0  00 05 66 1C 08 07 00 03 66 3A 7E 03 4E F8 6E 06
006BD0  42 45 4E B8 6D B0 67 24 08 07 00 05 67 00 02 28
006BE0  52 45 4E B8 6D B0 67 14 08 07 00 05 66 F2 08 07
006BF0  00 04 66 EC 0C 06 00 A0 67 02 53 48 2C 78 17 50
006C00  4E F8 4C 3C 53 48 28 48 4E B8 4C 1C 4E B8 20 D4
006C10  4A 07 66 1A 4A 78 19 04 6B 0A 5C 78 17 54 7E 28
006C20  4E F8 6D EE 4E B8 4C 44 7E 26 4E F8 6D EE 7E 03
006C30  4E F8 6E 06 2F 08 42 45 4E B8 6D B0 67 2A 08 07
006C40  00 05 66 10 08 07 00 03 66 0A 0C 06 00 A0 67 06
006C50  52 45 60 E4 53 48 2C 5F 45 F8 6C 6E 4E B8 4C 0C
006C60  67 06 31 C3 17 54 4E 75 7E 03 4E F8 6E 06 01 BD
006C70  02 BC BE 01 BE 02 BE BD 01 BC 02 BD BC 00 45 F8
006C80  6C B4 49 F8 6C C6 61 0C 67 24 60 18 45 F8 6C B9
006C90  49 F8 6C CC 4E B8 4C 1C 2F 0C 4E B8 4C 0C 28 5F
006CA0  4A 07 4E 75 E3 4B 38 74 30 00 4E D4 4E 75 7E 03
006CB0  4E F8 6E 06 04 D4 C8 C5 CE 04 C7 CF D4 CF 05 C7
006CC0  CF D3 D5 C2 00 00 6C D6 6D 38 6D 2C 6D 7E 6D 8A
006CD0  A0 C5 CC D3 C5 A0 7E 20 4E B8 6D E8 2F 08 43 F8
006CE0  6C D0 70 06 4E B8 6D C0 20 5F 4A 07 66 06 4E B8
006CF0  73 08 60 26 42 14 48 6C 00 06 4E B8 73 08 20 5F
006D00  61 8A 67 0A E3 4B 38 74 30 00 4E 94 60 0C 7E 22
006D10  4E B8 6D E8 20 49 4E B8 73 08 3F 0B 34 0B 26 78
006D20  17 58 94 4B 37 42 00 02 36 5F 4E 75 7E 1C 61 0E
006D30  7E 24 4E B8 6D E8 60 14 7E 18 61 02 60 0E 4E B8
006D40  6D E8 2F 08 4E B8 6A 00 20 5F 4E 75 41 F0 50 02
006D50  4A 10 67 40 43 F8 6C D0 70 06 B3 08 66 4C 53 40
006D60  67 02 60 F6 4E B8 6A 5A 45 F8 6C B9 4E B8 4C 0C
006D70  67 32 E3 4B 49 F8 6C CC 38 74 30 00 4E D4 7E 1A
006D80  4E B8 6D E8 4E B8 6A 00 60 0A 7E 1E 4E B8 6D E8
006D90  4E B8 6A 00 3C 0B 9C B8 17 58 2C 78 17 58 3D 46
006DA0  00 02 4E 75 20 49 4E F8 6D 00 7E 03 4E F8 6E 06
006DB0  49 F8 1F 80 42 46 1C 18 67 04 1E 34 60 00 4E 75
006DC0  7E 01 53 40 24 49 28 48 34 00 1C 18 67 0A BC 1A
006DD0  56 CA FF F8 67 04 60 EC 42 07 4E 75 3E 38 17 54
006DE0  E3 4F 61 14 36 C7 4E 75 61 0E 36 C7 4E 75 61 08
006DF0  2C 78 17 58 3C 87 4E 75 2F 0D 4B F8 36 E0 3E 35
006E00  70 00 2A 5F 4E 75 21 F8 20 B8 20 BC 42 81 12 07
006E10  4E B8 3A 54 4E B8 3A 88 08 38 00 04 15 08 66 20
006E20  2F 0E 61 36 72 2F 61 32 2C 78 15 90 2A 5F 38 38
006E30  15 4C 42 43 BB DE 63 12 54 43 51 CC FF F8 72 30
006E40  61 18 4E B8 3A 88 4E F8 60 FA 2C 78 15 88 55 43
006E50  32 36 30 00 4E B8 4C 18 60 E8 4D F8 6E 62 4E F8
006E60  3A 6C 0F C9 CC CC C5 C7 C1 CC A0 C3 CF CD CD C1
006E70  CE C4 13 CE CF D4 A0 C9 CD D0 CC C5 CD C5 CE D4
006E80  C5 C4 A0 D9 C5 D4 13 C9 CC CC C5 C7 C1 CC A0 CC
006E90  C9 CE C5 A0 CE D5 CD C2 C5 D2 0C D3 D9 CE D4 C1
006EA0  D8 A0 C5 D2 D2 CF D2 13 C9 CC CC C5 C7 C1 CC A0
006EB0  CC C9 CE C5 A0 CE D5 CD C2 C5 D2 15 C9 CE D6 C1
006EC0  CC C9 C4 A0 C8 C5 D8 A0 C3 C8 C1 D2 C1 C3 D4 C5
006ED0  D2 16 D5 CE CB CE CF D7 CE A0 C8 C1 CC C7 CF CC
006EE0  A0 CB C5 D9 D7 CF D2 C4 0F C4 D5 D0 CC C9 C3 C1
006EF0  D4 C5 A0 CC C1 C2 C5 CC 0D CC C1 C2 C5 CC A0 CD
006F00  C9 D3 D3 C9 CE C7 1D C6 CF D5 CC C5 C4 A0 D5 D0
006F10  A0 C8 C1 CC C7 CF CC A0 CF C2 CA C5 C3 D4 A0 C3
006F20  CF C4 C5 A1 1F CC C9 CE C5 A0 CE D5 CD C2 C5 D2
006F30  A0 CF D6 C5 D2 A0 B6 B5 B5 B3 B4 A0 C9 CE A0 D2
006F40  C5 CE D5 CD 1A D7 D2 CF CE C7 A0 CE D5 CD C2 C5
006F50  D2 A0 CF C6 A0 C3 C8 C1 D2 C1 C3 D4 C5 D2 D3 22
006F60  CD C9 D3 D3 C9 CE C7 A0 A7 A4 A7 A0 C9 CE A0 C6
006F70  D2 CF CE D4 A0 CF C6 A0 C8 C5 D8 A0 CE D5 CD C2
006F80  C5 D2 10 CE D5 CD C2 C5 D2 A0 D4 CF CF A0 CC C1
006F90  D2 C7 C5 0E C4 C9 D6 C9 C4 C5 A0 C2 D9 A0 DA C5
006FA0  D2 CF 10 CC CF C7 A0 CF D0 C5 D2 C1 CE C4 A0 DA
006FB0  C5 D2 CF 19 C9 CC CC C5 C7 C1 CC A0 CE C5 C7 C1
006FC0  D4 C9 D6 C5 A0 C1 D2 C7 D5 CD C5 CE D4 17 C9 CC
006FD0  CC C5 C7 C1 CC A0 CF D0 D4 C9 CF CE A0 D3 C5 CC
006FE0  C5 C3 D4 C5 C4 17 C9 CC CC C5 C7 C1 CC A0 C4 C5
006FF0  D6 C9 C3 C5 A0 D3 C5 CC C5 C3 D4 C5 C4 12 C4 C5
007000  D6 C9 C3 C5 A0 D2 C1 CE C7 C5 A0 C5 D2 D2 CF D2
007010  04 D3 D4 CF D0 08 C5 CE C4 A0 D0 D2 CF C7 0E C9
007020  CC CC C5 C7 C1 CC A0 D3 CE C4 CD D3 C7 15 CD C9
007030  D3 D3 C9 CE C7 A0 D0 C1 D2 CD A0 CF D2 A0 C6 C9
007040  C5 CC C4 0E C1 C4 C4 D2 A0 C2 C5 CC CF D7 A0 D2
007050  C1 CD 10 D4 C1 C2 A0 CF D5 D4 A0 CF C6 A0 D2 C1
007060  CE C7 C5 20 D3 D4 D2 C9 CE C7 A0 CE CF D4 A0 C6
007070  CF D5 CE C4 A0 C9 CE A0 CC C9 CE CB C5 C4 A0 D4
007080  C1 C2 CC C5 13 C3 CC CF D3 C9 CE C7 A0 A8 A2 A9
007090  A0 CD C9 D3 D3 C9 CE C7 16 D0 D2 CF CD D0 D4 A0
0070A0  D3 D4 D2 C9 CE C7 A0 D4 CF CF A0 CC CF CE C7 13
0070B0  CE CF D4 A0 C1 CE A0 C5 D6 C5 CE A0 C1 C4 C4 D2
0070C0  C5 D3 D3 10 C2 D2 C5 C1 CB D0 CF C9 CE D4 D3 A0
0070D0  C6 D5 CC CC 12 CE CF A0 C2 D2 C5 C1 CB D0 CF C9
0070E0  CE D4 D3 A0 D3 C5 D4 0D CE C1 CD C5 A0 D4 CF CF
0070F0  A0 CC CF CE C7 11 CC C5 C6 D4 A0 D6 C1 D2 CE A0
007100  CD C9 D3 D3 C9 CE C7 0B A7 BD A7 A0 CD C9 D3 D3
007110  C9 CE C7 11 D5 CE C2 C1 CC C1 CE C3 C5 C4 A0 D0
007120  C1 D2 C5 CE D3 13 D3 D4 CF D2 C5 A0 C9 CE D4 CF
007130  A0 C3 CF CE D3 D4 C1 CE D4 0C D3 D4 C5 D0 A0 C9
007140  D3 A0 DA C5 D2 CF 17 D4 CF CF A0 CD C1 CE D9 A0
007150  C6 CF D2 AD CE C5 D8 D4 A0 CC CF CF D0 D3 10 CE
007160  C5 D8 D4 A0 D7 C9 D4 C8 CF D5 D4 A0 C6 CF D2 0D
007170  D4 CF CF A0 CD C1 CE D9 A0 A7 BD A7 D3 16 C6 CF
007180  D2 AD CE C5 D8 D4 A0 D6 C1 D2 CE A0 CD C9 D3 CD
007190  C1 D4 C3 C8 14 D2 C5 D4 D5 D2 CE A0 D7 C9 D4 C8
0071A0  CF D5 D4 A0 C7 CF D3 D5 C2 15 C9 CC CC C5 C7 C1
0071B0  CC A0 D6 C1 D2 C9 C1 C2 CC C5 A0 CE C1 CD C5 16
0071C0  C9 CC CC C5 C7 C1 CC A0 D0 CF D7 C5 D2 A0 CF D0
0071D0  C5 D2 C1 CE C4 D3 11 C1 D2 D2 C1 D9 A0 C2 CF D5
0071E0  CE C4 D3 A0 CF D6 C6 CC 0F CC C1 C2 C5 CC A0 CE
0071F0  CF D4 A0 C6 C9 D2 D3 D4 09 A0 C9 CE A0 CC C9 CE
007200  C5 A0 27 AA AA A0 C5 D8 C3 C5 D0 D4 C9 CF CE A0
007210  C5 D2 D2 A0 AD A0 D4 C1 C2 CC C5 D3 A0 CD C5 D3
007220  D3 C5 C4 A0 D5 D0 A0 AA AA 00
