diff --git a/src/hello b/src/hello deleted file mode 100644 index d921613..0000000 Binary files a/src/hello and /dev/null differ diff --git a/src/toolsrc/codeopt.a b/src/toolsrc/codeopt.a deleted file mode 100644 index ed9f9f0..0000000 --- a/src/toolsrc/codeopt.a +++ /dev/null @@ -1,3168 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; toolsrc/codeopt.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; toolsrc/codeopt.pla: 0001: -; toolsrc/codeopt.pla: 0002: // -; toolsrc/codeopt.pla: 0003: // Imports from main compiler -; toolsrc/codeopt.pla: 0004: // -; toolsrc/codeopt.pla: 0005: import plasm - ; DCI STRING: PLASM - !BYTE $D0,$CC,$C1,$D3,$4D - ; PLASM -> X028 -; toolsrc/codeopt.pla: 0006: word freeop_lst - ; FREEOP_LST -> X029 -; toolsrc/codeopt.pla: 0007: word optimize_seq - ; OPTIMIZE_SEQ -> X030 -; toolsrc/codeopt.pla: 0008: end -; toolsrc/codeopt.pla: 0009: // -; toolsrc/codeopt.pla: 0010: // Code sequence values shares with main compiler -; toolsrc/codeopt.pla: 0011: // -; toolsrc/codeopt.pla: 0012: include "toolsrc/codeseq.plh" -; toolsrc/codeseq.plh: 0001: // -; toolsrc/codeseq.plh: 0002: // Constant code group -; toolsrc/codeseq.plh: 0003: // -; toolsrc/codeseq.plh: 0004: const CONST_GROUP = $00 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; CONST_GROUP = 0 -; toolsrc/codeseq.plh: 0005: const CONST_CODE = $2C - ; CONST_CODE = 44 -; toolsrc/codeseq.plh: 0006: const ADDI_CODE = $38 - ; ADDI_CODE = 56 -; toolsrc/codeseq.plh: 0007: const SUBI_CODE = $3A - ; SUBI_CODE = 58 -; toolsrc/codeseq.plh: 0008: const ANDI_CODE = $3C - ; ANDI_CODE = 60 -; toolsrc/codeseq.plh: 0009: const ORI_CODE = $3E - ; ORI_CODE = 62 -; toolsrc/codeseq.plh: 0010: const CONSTR_GROUP = $01 - ; CONSTR_GROUP = 1 -; toolsrc/codeseq.plh: 0011: const CONSTR_CODE = $2E - ; CONSTR_CODE = 46 -; toolsrc/codeseq.plh: 0012: // -; toolsrc/codeseq.plh: 0013: // Stack code group -; toolsrc/codeseq.plh: 0014: // -; toolsrc/codeseq.plh: 0015: const STACK_GROUP = $02 - ; STACK_GROUP = 2 -; toolsrc/codeseq.plh: 0016: const INDEXB_CODE = $82 - ; INDEXB_CODE = 130 -; toolsrc/codeseq.plh: 0017: const ADD_CODE = $82 - ; ADD_CODE = 130 -; toolsrc/codeseq.plh: 0018: const SUB_CODE = $84 - ; SUB_CODE = 132 -; toolsrc/codeseq.plh: 0019: const MUL_CODE = $86 - ; MUL_CODE = 134 -; toolsrc/codeseq.plh: 0020: const DIV_CODE = $88 - ; DIV_CODE = 136 -; toolsrc/codeseq.plh: 0021: const MOD_CODE = $8A - ; MOD_CODE = 138 -; toolsrc/codeseq.plh: 0022: const INC_CODE = $8C - ; INC_CODE = 140 -; toolsrc/codeseq.plh: 0023: const DEC_CODE = $8E - ; DEC_CODE = 142 -; toolsrc/codeseq.plh: 0024: const NEG_CODE = $90 - ; NEG_CODE = 144 -; toolsrc/codeseq.plh: 0025: const COMP_CODE = $92 - ; COMP_CODE = 146 -; toolsrc/codeseq.plh: 0026: const AND_CODE = $94 - ; AND_CODE = 148 -; toolsrc/codeseq.plh: 0027: const OR_CODE = $96 - ; OR_CODE = 150 -; toolsrc/codeseq.plh: 0028: const EOR_CODE = $98 - ; EOR_CODE = 152 -; toolsrc/codeseq.plh: 0029: const SHL_CODE = $9A - ; SHL_CODE = 154 -; toolsrc/codeseq.plh: 0030: const SHR_CODE = $9C - ; SHR_CODE = 156 -; toolsrc/codeseq.plh: 0031: const INDEXW_CODE = $9E - ; INDEXW_CODE = 158 -; toolsrc/codeseq.plh: 0032: const LOGIC_NOT_CODE = $80 - ; LOGIC_NOT_CODE = 128 -; toolsrc/codeseq.plh: 0033: const DROP_CODE = $30 - ; DROP_CODE = 48 -; toolsrc/codeseq.plh: 0034: const DROP2_CODE = $32 - ; DROP2_CODE = 50 -; toolsrc/codeseq.plh: 0035: const DUP_CODE = $34 - ; DUP_CODE = 52 -; toolsrc/codeseq.plh: 0036: const EQ_CODE = $40 - ; EQ_CODE = 64 -; toolsrc/codeseq.plh: 0037: const NE_CODE = $42 - ; NE_CODE = 66 -; toolsrc/codeseq.plh: 0038: const GT_CODE = $44 - ; GT_CODE = 68 -; toolsrc/codeseq.plh: 0039: const LT_CODE = $46 - ; LT_CODE = 70 -; toolsrc/codeseq.plh: 0040: const GE_CODE = $48 - ; GE_CODE = 72 -; toolsrc/codeseq.plh: 0041: const LE_CODE = $4A - ; LE_CODE = 74 -; toolsrc/codeseq.plh: 0042: const ICAL_CODE = $56 - ; ICAL_CODE = 86 -; toolsrc/codeseq.plh: 0043: const RET_CODE = $5C - ; RET_CODE = 92 -; toolsrc/codeseq.plh: 0044: const LB_CODE = $60 - ; LB_CODE = 96 -; toolsrc/codeseq.plh: 0045: const BPTR_CODE = $60 - ; BPTR_CODE = 96 -; toolsrc/codeseq.plh: 0046: const LW_CODE = $62 - ; LW_CODE = 98 -; toolsrc/codeseq.plh: 0047: const WPTR_CODE = $62 - ; WPTR_CODE = 98 -; toolsrc/codeseq.plh: 0048: const SB_CODE = $70 - ; SB_CODE = 112 -; toolsrc/codeseq.plh: 0049: const SW_CODE = $72 - ; SW_CODE = 114 -; toolsrc/codeseq.plh: 0050: // -; toolsrc/codeseq.plh: 0051: // Local address code group -; toolsrc/codeseq.plh: 0052: // -; toolsrc/codeseq.plh: 0053: const LOCAL_GROUP = $03 - ; LOCAL_GROUP = 3 -; toolsrc/codeseq.plh: 0054: const LADDR_CODE = $28 - ; LADDR_CODE = 40 -; toolsrc/codeseq.plh: 0055: const LLB_CODE = $64 - ; LLB_CODE = 100 -; toolsrc/codeseq.plh: 0056: const LLW_CODE = $66 - ; LLW_CODE = 102 -; toolsrc/codeseq.plh: 0057: const DLB_CODE = $6C - ; DLB_CODE = 108 -; toolsrc/codeseq.plh: 0058: const DLW_CODE = $6E - ; DLW_CODE = 110 -; toolsrc/codeseq.plh: 0059: const SLB_CODE = $74 - ; SLB_CODE = 116 -; toolsrc/codeseq.plh: 0060: const SLW_CODE = $76 - ; SLW_CODE = 118 -; toolsrc/codeseq.plh: 0061: const ADDLB_CODE = $B0 - ; ADDLB_CODE = 176 -; toolsrc/codeseq.plh: 0062: const ADDLW_CODE = $B2 - ; ADDLW_CODE = 178 -; toolsrc/codeseq.plh: 0063: const IDXLB_CODE = $B8 - ; IDXLB_CODE = 184 -; toolsrc/codeseq.plh: 0064: const IDXLW_CODE = $BA - ; IDXLW_CODE = 186 -; toolsrc/codeseq.plh: 0065: // -; toolsrc/codeseq.plh: 0066: // Global address code group -; toolsrc/codeseq.plh: 0067: // -; toolsrc/codeseq.plh: 0068: const GLOBAL_GROUP = $04 - ; GLOBAL_GROUP = 4 -; toolsrc/codeseq.plh: 0069: const GADDR_CODE = $26 - ; GADDR_CODE = 38 -; toolsrc/codeseq.plh: 0070: const CALL_CODE = $54 - ; CALL_CODE = 84 -; toolsrc/codeseq.plh: 0071: const LAB_CODE = $68 - ; LAB_CODE = 104 -; toolsrc/codeseq.plh: 0072: const LAW_CODE = $6A - ; LAW_CODE = 106 -; toolsrc/codeseq.plh: 0073: const SAB_CODE = $78 - ; SAB_CODE = 120 -; toolsrc/codeseq.plh: 0074: const SAW_CODE = $7A - ; SAW_CODE = 122 -; toolsrc/codeseq.plh: 0075: const DAB_CODE = $7C - ; DAB_CODE = 124 -; toolsrc/codeseq.plh: 0076: const DAW_CODE = $7E - ; DAW_CODE = 126 -; toolsrc/codeseq.plh: 0077: const ADDAB_CODE = $B4 - ; ADDAB_CODE = 180 -; toolsrc/codeseq.plh: 0078: const ADDAW_CODE = $B6 - ; ADDAW_CODE = 182 -; toolsrc/codeseq.plh: 0079: const IDXAB_CODE = $BC - ; IDXAB_CODE = 188 -; toolsrc/codeseq.plh: 0080: const IDXAW_CODE = $BE - ; IDXAW_CODE = 190 -; toolsrc/codeseq.plh: 0081: // -; toolsrc/codeseq.plh: 0082: // Relative address code group -; toolsrc/codeseq.plh: 0083: // -; toolsrc/codeseq.plh: 0084: const RELATIVE_GROUP = $05 - ; RELATIVE_GROUP = 5 -; toolsrc/codeseq.plh: 0085: const BREQ_CODE = $22 - ; BREQ_CODE = 34 -; toolsrc/codeseq.plh: 0086: const BRNE_CODE = $24 - ; BRNE_CODE = 36 -; toolsrc/codeseq.plh: 0087: const BRFALSE_CODE = $4C - ; BRFALSE_CODE = 76 -; toolsrc/codeseq.plh: 0088: const BRTRUE_CODE = $4E - ; BRTRUE_CODE = 78 -; toolsrc/codeseq.plh: 0089: const BRNCH_CODE = $50 - ; BRNCH_CODE = 80 -; toolsrc/codeseq.plh: 0090: const BRAND_CODE = $AC - ; BRAND_CODE = 172 -; toolsrc/codeseq.plh: 0091: const BROR_CODE = $AE - ; BROR_CODE = 174 -; toolsrc/codeseq.plh: 0092: const BRGT_CODE = $A0 - ; BRGT_CODE = 160 -; toolsrc/codeseq.plh: 0093: const BRLT_CODE = $A2 - ; BRLT_CODE = 162 -; toolsrc/codeseq.plh: 0094: // -; toolsrc/codeseq.plh: 0095: // Code tag address group -; toolsrc/codeseq.plh: 0096: // -; toolsrc/codeseq.plh: 0097: const CODETAG_GROUP = $06 - ; CODETAG_GROUP = 6 -; toolsrc/codeseq.plh: 0098: // -; toolsrc/codeseq.plh: 0099: // Invalid code -; toolsrc/codeseq.plh: 0100: // -; toolsrc/codeseq.plh: 0101: const INVALID_CODE = $FF - ; INVALID_CODE = 255 -; toolsrc/codeseq.plh: 0102: // -; toolsrc/codeseq.plh: 0103: // Code sequence op -; toolsrc/codeseq.plh: 0104: // -; toolsrc/codeseq.plh: 0105: struc t_opseq -; toolsrc/codeseq.plh: 0106: byte opcode - ; opcode = 0 -; toolsrc/codeseq.plh: 0107: byte opgroup - ; opgroup = 1 -; toolsrc/codeseq.plh: 0108: word opval[] - ; opval = 2 -; toolsrc/codeseq.plh: 0109: word optag - ; optag = 2 -; toolsrc/codeseq.plh: 0110: word opoffset - ; opoffset = 4 -; toolsrc/codeseq.plh: 0111: word opnext - ; opnext = 6 -; toolsrc/codeseq.plh: 0112: end - ; t_opseq = 8 -; toolsrc/codeopt.pla: 0012: -; toolsrc/codeopt.pla: 0013: // -; toolsrc/codeopt.pla: 0014: // Replace all but the first of a series of identical load opcodes by DUP. This -; toolsrc/codeopt.pla: 0015: // doesn't reduce the number of opcodes but does reduce their size in bytes. -; toolsrc/codeopt.pla: 0016: // This is only called on the second optimisation pass because the DUP opcodes -; toolsrc/codeopt.pla: 0017: // may inhibit other peephole optimisations which are more valuable. -; toolsrc/codeopt.pla: 0018: // -; toolsrc/codeopt.pla: 0019: def try_dupify(op) - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; op -> [0] -_C000 ; try_dupify() -; toolsrc/codeopt.pla: 0020: byte crunched - ; crunched -> [2] -; toolsrc/codeopt.pla: 0021: word nextop - ; nextop -> [3] -; toolsrc/codeopt.pla: 0022: -; toolsrc/codeopt.pla: 0023: crunched = FALSE - !BYTE $58,$05,$01 ; ENTER 5,1 -; toolsrc/codeopt.pla: 0024: nextop = op=>opnext -; toolsrc/codeopt.pla: 0025: while nextop - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$03 ; SLW [3] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 -; toolsrc/codeopt.pla: 0026: if op->opcode <> nextop->opcode; return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$03 ; LLW [3] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B004 - !WORD _B004-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B004 -_B005 -; toolsrc/codeopt.pla: 0027: when op->opcode - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B007-* -; toolsrc/codeopt.pla: 0028: is CONST_CODE -_B008 -; toolsrc/codeopt.pla: 0029: if op=>opval <> nextop=>opval; return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $22 ; BREQ _B009 - !WORD _B009-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B009 -_B010 -; toolsrc/codeopt.pla: 0030: break - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -; toolsrc/codeopt.pla: 0031: is LADDR_CODE -_B011 -; toolsrc/codeopt.pla: 0032: is LLB_CODE -_B012 -; toolsrc/codeopt.pla: 0033: is LLW_CODE -_B013 -; toolsrc/codeopt.pla: 0034: if op=>opoffset <> nextop=>opoffset; return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $22 ; BREQ _B014 - !WORD _B014-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B014 -_B015 -; toolsrc/codeopt.pla: 0035: break - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -; toolsrc/codeopt.pla: 0036: is GADDR_CODE -_B016 -; toolsrc/codeopt.pla: 0037: is LAB_CODE -_B017 -; toolsrc/codeopt.pla: 0038: is LAW_CODE -_B018 -; toolsrc/codeopt.pla: 0039: if (op=>optag <> nextop=>optag) or (op=>opoffset <> nextop=>opoffset); return crunched; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B019 - !WORD _B019-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $42 ; ISNE -_B019 - !BYTE $4C ; BRFLS _B020 - !WORD _B020-* - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -_B020 -_B021 -; toolsrc/codeopt.pla: 0040: break - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -; toolsrc/codeopt.pla: 0041: otherwise -_B007 - !BYTE $07 ; CASEBLOCK - !WORD $0026 - !WORD _B016-* - !WORD $0028 - !WORD _B011-* - !WORD $002C - !WORD _B008-* - !WORD $0064 - !WORD _B012-* - !WORD $0066 - !WORD _B013-* - !WORD $0068 - !WORD _B017-* - !WORD $006A - !WORD _B018-* -; toolsrc/codeopt.pla: 0042: return crunched - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/codeopt.pla: 0043: wend -_B006 -; toolsrc/codeopt.pla: 0044: nextop->opcode = DUP_CODE -; toolsrc/codeopt.pla: 0045: nextop->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0046: nextop = nextop=>opnext -; toolsrc/codeopt.pla: 0047: crunched = TRUE -; toolsrc/codeopt.pla: 0048: loop - !BYTE $2A,$34 ; CB 52 - !BYTE $66,$03 ; LLW [3] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$03 ; LLW [3] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$03 ; LLW [3] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$03 ; SLW [3] - !BYTE $20 ; MINUS ONE - !BYTE $74,$02 ; SLB [2] -_B003 - !BYTE $66,$03 ; LLW [3] - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; toolsrc/codeopt.pla: 0049: return crunched - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/codeopt.pla: 0050: end -; toolsrc/codeopt.pla: 0051: def is_hardware_address(addr) - ; addr -> [0] -_C001 ; is_hardware_address() -; toolsrc/codeopt.pla: 0052: return isuge(addr, $C000) and isult(addr, $D000) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $54 ; CALL _X025 -_F000 !WORD 0 - !BYTE $AC ; BRAND _B022 - !WORD _B022-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$D0 ; CW 53248 - !BYTE $54 ; CALL _X026 -_F001 !WORD 0 -_B022 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codeopt.pla: 0053: end -; toolsrc/codeopt.pla: 0054: // -; toolsrc/codeopt.pla: 0055: // Crunch sequence (peephole optimize) -; toolsrc/codeopt.pla: 0056: // -; toolsrc/codeopt.pla: 0057: def crunch_seq(seq, pass) - ; seq -> [0] - ; pass -> [2] -_C002 ; crunch_seq() -; toolsrc/codeopt.pla: 0058: word nextop, nextopnext, opprev, op, freeops - ; nextop -> [4] - ; nextopnext -> [6] - ; opprev -> [8] - ; op -> [10] - ; freeops -> [12] -; toolsrc/codeopt.pla: 0059: byte crunched, shiftcnt - ; crunched -> [14] - ; shiftcnt -> [15] -; toolsrc/codeopt.pla: 0060: -; toolsrc/codeopt.pla: 0061: opprev = NULL - !BYTE $58,$10,$02 ; ENTER 16,2 -; toolsrc/codeopt.pla: 0062: op = *seq -; toolsrc/codeopt.pla: 0063: nextop = op=>opnext -; toolsrc/codeopt.pla: 0064: crunched = FALSE -; toolsrc/codeopt.pla: 0065: freeops = 0 -; toolsrc/codeopt.pla: 0066: while op and nextop - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $6E,$0A ; DLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $00 ; CN 0 - !BYTE $74,$0E ; SLB [14] - !BYTE $00 ; CN 0 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B023 -; toolsrc/codeopt.pla: 0067: when op->opcode - !BYTE $66,$0A ; LLW [10] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B028-* -; toolsrc/codeopt.pla: 0068: is CONST_CODE -_B029 -; toolsrc/codeopt.pla: 0069: if op=>opval == 1 -; toolsrc/codeopt.pla: 0070: if nextop->opcode == ADD_CODE -; toolsrc/codeopt.pla: 0071: op->opcode = INC_CODE -; toolsrc/codeopt.pla: 0072: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0073: freeops = 1 -; toolsrc/codeopt.pla: 0074: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $24 ; BRNE _B030 - !WORD _B030-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$82 ; CB 130 - !BYTE $24 ; BRNE _B032 - !WORD _B032-* - !BYTE $2A,$8C ; CB 140 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0075: fin -_B032 -_B033 -; toolsrc/codeopt.pla: 0076: if nextop->opcode == SUB_CODE -; toolsrc/codeopt.pla: 0077: op->opcode = DEC_CODE -; toolsrc/codeopt.pla: 0078: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0079: freeops = 1 -; toolsrc/codeopt.pla: 0080: break - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$84 ; CB 132 - !BYTE $24 ; BRNE _B034 - !WORD _B034-* - !BYTE $2A,$8E ; CB 142 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0081: fin -_B034 -_B035 -; toolsrc/codeopt.pla: 0082: if nextop->opcode == SHL_CODE -; toolsrc/codeopt.pla: 0083: op->opcode = DUP_CODE -; toolsrc/codeopt.pla: 0084: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0085: nextop->opcode = ADD_CODE -; toolsrc/codeopt.pla: 0086: break - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$9A ; CB 154 - !BYTE $24 ; BRNE _B036 - !WORD _B036-* - !BYTE $2A,$34 ; CB 52 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$82 ; CB 130 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0087: fin -_B036 -_B037 -; toolsrc/codeopt.pla: 0088: if nextop->opcode == MUL_CODE or nextop->opcode == DIV_CODE -; toolsrc/codeopt.pla: 0089: freeops = -2 -; toolsrc/codeopt.pla: 0090: break - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$86 ; CB 134 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B038 - !WORD _B038-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$88 ; CB 136 - !BYTE $40 ; ISEQ -_B038 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0091: fin -_B039 -_B040 -; toolsrc/codeopt.pla: 0092: fin -_B030 -_B031 -; toolsrc/codeopt.pla: 0093: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B042-* -; toolsrc/codeopt.pla: 0094: is NEG_CODE -_B043 -; toolsrc/codeopt.pla: 0095: op=>opval = -op=>opval -; toolsrc/codeopt.pla: 0096: freeops = 1 -; toolsrc/codeopt.pla: 0097: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0098: is COMP_CODE -_B044 -; toolsrc/codeopt.pla: 0099: op=>opval = ~op=>opval -; toolsrc/codeopt.pla: 0100: freeops = 1 -; toolsrc/codeopt.pla: 0101: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $92 ; COMP - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0102: is LOGIC_NOT_CODE -_B045 -; toolsrc/codeopt.pla: 0103: op=>opval = op=>opval ?? FALSE :: TRUE -; toolsrc/codeopt.pla: 0104: freeops = 1 -; toolsrc/codeopt.pla: 0105: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B046 - !BYTE $20 ; MINUS ONE -_B047 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0106: is BRFALSE_CODE -_B048 -; toolsrc/codeopt.pla: 0107: if op=>opval -; toolsrc/codeopt.pla: 0108: freeops = -2 // Remove constant and never taken branch -; toolsrc/codeopt.pla: 0109: else - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B050 - !WORD _B050-* -_B049 -; toolsrc/codeopt.pla: 0110: op->opcode = BRNCH_CODE // Always taken branch -; toolsrc/codeopt.pla: 0111: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0112: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0113: freeops = 1 -; toolsrc/codeopt.pla: 0114: fin - !BYTE $2A,$50 ; CB 80 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B050 -; toolsrc/codeopt.pla: 0115: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0116: is BRTRUE_CODE -_B051 -; toolsrc/codeopt.pla: 0117: if not op=>opval -; toolsrc/codeopt.pla: 0118: freeops = -2 // Remove constant never taken branch -; toolsrc/codeopt.pla: 0119: else - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B052 - !WORD _B052-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -_B052 -; toolsrc/codeopt.pla: 0120: op->opcode = BRNCH_CODE // Always taken branch -; toolsrc/codeopt.pla: 0121: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0122: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0123: freeops = 1 -; toolsrc/codeopt.pla: 0124: fin - !BYTE $2A,$50 ; CB 80 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B053 -; toolsrc/codeopt.pla: 0125: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0126: is BRGT_CODE -_B054 -; toolsrc/codeopt.pla: 0127: if opprev and (opprev->opcode == CONST_CODE) and (op=>opval <= opprev=>opval) -; toolsrc/codeopt.pla: 0128: freeops = 1 -; toolsrc/codeopt.pla: 0129: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $AC ; BRAND _B055 - !WORD _B055-* - !BYTE $66,$08 ; LLW [8] - !BYTE $60 ; LB - !BYTE $2A,$2C ; CB 44 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B056 - !WORD _B056-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4A ; ISLE -_B056 -_B055 - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B057 -_B058 -; toolsrc/codeopt.pla: 0130: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0131: is BRLT_CODE -_B059 -; toolsrc/codeopt.pla: 0132: if opprev and (opprev->opcode == CONST_CODE) and (op=>opval >= opprev=>opval) -; toolsrc/codeopt.pla: 0133: freeops = 1 -; toolsrc/codeopt.pla: 0134: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $AC ; BRAND _B060 - !WORD _B060-* - !BYTE $66,$08 ; LLW [8] - !BYTE $60 ; LB - !BYTE $2A,$2C ; CB 44 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B061 - !WORD _B061-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $48 ; ISGE -_B061 -_B060 - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B062 -_B063 -; toolsrc/codeopt.pla: 0135: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0136: is BROR_CODE -_B064 -; toolsrc/codeopt.pla: 0137: if not op=>opval -; toolsrc/codeopt.pla: 0138: freeops = -2 // Remove zero constant -; toolsrc/codeopt.pla: 0139: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B065 - !WORD _B065-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] -_B065 -_B066 -; toolsrc/codeopt.pla: 0140: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0141: is BRAND_CODE -_B067 -; toolsrc/codeopt.pla: 0142: if op=>opval -; toolsrc/codeopt.pla: 0143: freeops = -2 // Remove non-zero constant -; toolsrc/codeopt.pla: 0144: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B068 - !WORD _B068-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] -_B068 -_B069 -; toolsrc/codeopt.pla: 0145: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0146: is NE_CODE -_B070 -; toolsrc/codeopt.pla: 0147: if not op=>opval -; toolsrc/codeopt.pla: 0148: freeops = -2 // Remove ZERO:ISNE -; toolsrc/codeopt.pla: 0149: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B071 - !WORD _B071-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] -_B071 -_B072 -; toolsrc/codeopt.pla: 0150: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0151: is EQ_CODE -_B073 -; toolsrc/codeopt.pla: 0152: if not op=>opval -; toolsrc/codeopt.pla: 0153: op->opcode = LOGIC_NOT_CODE // Replace ZERO:ISEQ -; toolsrc/codeopt.pla: 0154: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0155: freeops = 1 -; toolsrc/codeopt.pla: 0156: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B074 - !WORD _B074-* - !BYTE $2A,$80 ; CB 128 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B074 -_B075 -; toolsrc/codeopt.pla: 0157: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0158: is CONST_CODE // Collapse constant operation -_B076 -; toolsrc/codeopt.pla: 0159: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0160: if nextopnext -; toolsrc/codeopt.pla: 0161: when nextopnext->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B080-* -; toolsrc/codeopt.pla: 0162: is MUL_CODE -_B081 -; toolsrc/codeopt.pla: 0163: op=>opval = op=>opval * nextop=>opval -; toolsrc/codeopt.pla: 0164: freeops = 2 -; toolsrc/codeopt.pla: 0165: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $86 ; MUL - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0166: is DIV_CODE -_B082 -; toolsrc/codeopt.pla: 0167: op=>opval = op=>opval / nextop=>opval -; toolsrc/codeopt.pla: 0168: freeops = 2 -; toolsrc/codeopt.pla: 0169: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $88 ; DIV - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0170: is MOD_CODE -_B083 -; toolsrc/codeopt.pla: 0171: op=>opval = op=>opval % nextop=>opval -; toolsrc/codeopt.pla: 0172: freeops = 2 -; toolsrc/codeopt.pla: 0173: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $8A ; MOD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0174: is ADD_CODE -_B084 -; toolsrc/codeopt.pla: 0175: op=>opval = op=>opval + nextop=>opval -; toolsrc/codeopt.pla: 0176: freeops = 2 -; toolsrc/codeopt.pla: 0177: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0178: is SUB_CODE -_B085 -; toolsrc/codeopt.pla: 0179: op=>opval = op=>opval - nextop=>opval -; toolsrc/codeopt.pla: 0180: freeops = 2 -; toolsrc/codeopt.pla: 0181: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $84 ; SUB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0182: is SHL_CODE -_B086 -; toolsrc/codeopt.pla: 0183: op=>opval = op=>opval << nextop=>opval -; toolsrc/codeopt.pla: 0184: freeops = 2 -; toolsrc/codeopt.pla: 0185: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $9A ; SHL - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0186: is SHR_CODE -_B087 -; toolsrc/codeopt.pla: 0187: op=>opval = op=>opval >> nextop=>opval -; toolsrc/codeopt.pla: 0188: freeops = 2 -; toolsrc/codeopt.pla: 0189: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $9C ; SHR - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0190: is AND_CODE -_B088 -; toolsrc/codeopt.pla: 0191: op=>opval = op=>opval & nextop=>opval -; toolsrc/codeopt.pla: 0192: freeops = 2 -; toolsrc/codeopt.pla: 0193: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $94 ; AND - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0194: is OR_CODE -_B089 -; toolsrc/codeopt.pla: 0195: op=>opval = op=>opval | nextop=>opval -; toolsrc/codeopt.pla: 0196: freeops = 2 -; toolsrc/codeopt.pla: 0197: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $96 ; OR - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0198: is EOR_CODE -_B090 -; toolsrc/codeopt.pla: 0199: op=>opval = op=>opval ^ nextop=>opval -; toolsrc/codeopt.pla: 0200: freeops = 2 -; toolsrc/codeopt.pla: 0201: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $98 ; XOR - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0202: is EQ_CODE -_B091 -; toolsrc/codeopt.pla: 0203: op=>opval = op=>opval == nextop=>opval -; toolsrc/codeopt.pla: 0204: freeops = 2 -; toolsrc/codeopt.pla: 0205: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0206: is NE_CODE -_B092 -; toolsrc/codeopt.pla: 0207: op=>opval = op=>opval <> nextop=>opval -; toolsrc/codeopt.pla: 0208: freeops = 2 -; toolsrc/codeopt.pla: 0209: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $42 ; ISNE - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0210: is GE_CODE -_B093 -; toolsrc/codeopt.pla: 0211: op=>opval = op=>opval >= nextop=>opval -; toolsrc/codeopt.pla: 0212: freeops = 2 -; toolsrc/codeopt.pla: 0213: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $48 ; ISGE - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0214: is LT_CODE -_B094 -; toolsrc/codeopt.pla: 0215: op=>opval = op=>opval < nextop=>opval -; toolsrc/codeopt.pla: 0216: freeops = 2 -; toolsrc/codeopt.pla: 0217: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $46 ; ISLT - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0218: is GT_CODE -_B095 -; toolsrc/codeopt.pla: 0219: op=>opval = op=>opval > nextop=>opval -; toolsrc/codeopt.pla: 0220: freeops = 2 -; toolsrc/codeopt.pla: 0221: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $44 ; ISGT - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0222: is LE_CODE -_B096 -; toolsrc/codeopt.pla: 0223: op=>opval = op=>opval <= nextop=>opval -; toolsrc/codeopt.pla: 0224: freeops = 2 -; toolsrc/codeopt.pla: 0225: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4A ; ISLE - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -; toolsrc/codeopt.pla: 0226: wend // End of collapse constant operation - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B080 - !BYTE $10 ; CASEBLOCK - !WORD $0040 - !WORD _B091-* - !WORD $0042 - !WORD _B092-* - !WORD $0044 - !WORD _B095-* - !WORD $0046 - !WORD _B094-* - !WORD $0048 - !WORD _B093-* - !WORD $004A - !WORD _B096-* - !WORD $0082 - !WORD _B084-* - !WORD $0084 - !WORD _B085-* - !WORD $0086 - !WORD _B081-* - !WORD $0088 - !WORD _B082-* - !WORD $008A - !WORD _B083-* - !WORD $0094 - !WORD _B088-* - !WORD $0096 - !WORD _B089-* - !WORD $0098 - !WORD _B090-* - !WORD $009A - !WORD _B086-* - !WORD $009C - !WORD _B087-* -_B079 -; toolsrc/codeopt.pla: 0227: fin -_B077 -_B078 -; toolsrc/codeopt.pla: 0228: if pass and not freeops and op=>opval -; toolsrc/codeopt.pla: 0229: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0230: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B097 - !WORD _B097-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B098 - !WORD _B098-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW -_B098 -_B097 - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F002 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B099 -_B100 -; toolsrc/codeopt.pla: 0231: break // CONST_CODE - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0232: is ADD_CODE -_B101 -; toolsrc/codeopt.pla: 0233: if op=>opval == 0 -; toolsrc/codeopt.pla: 0234: freeops = -2 -; toolsrc/codeopt.pla: 0235: elsif op=>opval > 0 and op=>opval <= 255 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B102 - !WORD _B102-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B102 -; toolsrc/codeopt.pla: 0236: op->opcode = ADDI_CODE -; toolsrc/codeopt.pla: 0237: freeops = 1 -; toolsrc/codeopt.pla: 0238: elsif op=>opval >= -255 and op=>opval < 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B104 - !WORD _B104-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B104 - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B103 - !WORD _B103-* -_B105 -; toolsrc/codeopt.pla: 0239: op->opcode = SUBI_CODE -; toolsrc/codeopt.pla: 0240: op=>opval = -op=>opval -; toolsrc/codeopt.pla: 0241: freeops = 1 -; toolsrc/codeopt.pla: 0242: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$01 ; CFFB -255 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B106 - !WORD _B106-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT -_B106 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $2A,$3A ; CB 58 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B107 -_B103 -; toolsrc/codeopt.pla: 0243: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0244: is SUB_CODE -_B108 -; toolsrc/codeopt.pla: 0245: if op=>opval == 0 -; toolsrc/codeopt.pla: 0246: freeops = -2 -; toolsrc/codeopt.pla: 0247: elsif op=>opval > 0 and op=>opval <= 255 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B109 - !WORD _B109-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -_B109 -; toolsrc/codeopt.pla: 0248: op->opcode = SUBI_CODE -; toolsrc/codeopt.pla: 0249: freeops = 1 -; toolsrc/codeopt.pla: 0250: elsif op=>opval >= -255 and op=>opval < 0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B111 - !WORD _B111-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B111 - !BYTE $4C ; BRFLS _B112 - !WORD _B112-* - !BYTE $2A,$3A ; CB 58 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B110 - !WORD _B110-* -_B112 -; toolsrc/codeopt.pla: 0251: op->opcode = ADDI_CODE -; toolsrc/codeopt.pla: 0252: op=>opval = -op=>opval -; toolsrc/codeopt.pla: 0253: freeops = 1 -; toolsrc/codeopt.pla: 0254: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$01 ; CFFB -255 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B113 - !WORD _B113-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT -_B113 - !BYTE $4C ; BRFLS _B114 - !WORD _B114-* - !BYTE $2A,$38 ; CB 56 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $90 ; NEG - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B114 -_B110 -; toolsrc/codeopt.pla: 0255: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0256: is AND_CODE -_B115 -; toolsrc/codeopt.pla: 0257: if op=>opval >= 0 and op=>opval <= 255 -; toolsrc/codeopt.pla: 0258: op->opcode = ANDI_CODE -; toolsrc/codeopt.pla: 0259: freeops = 1 -; toolsrc/codeopt.pla: 0260: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B116 - !WORD _B116-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B116 - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $2A,$3C ; CB 60 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B117 -_B118 -; toolsrc/codeopt.pla: 0261: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0262: is OR_CODE -_B119 -; toolsrc/codeopt.pla: 0263: if op=>opval == 0 -; toolsrc/codeopt.pla: 0264: freeops = -2 -; toolsrc/codeopt.pla: 0265: elsif op=>opval > 0 and op=>opval <= 255 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B120 - !WORD _B120-* - !BYTE $5E,$FE ; CFFB -2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B121 - !WORD _B121-* -_B120 -; toolsrc/codeopt.pla: 0266: op->opcode = ORI_CODE -; toolsrc/codeopt.pla: 0267: freeops = 1 -; toolsrc/codeopt.pla: 0268: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B122 - !WORD _B122-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B122 - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $2A,$3E ; CB 62 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B123 -_B121 -; toolsrc/codeopt.pla: 0269: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0270: is MUL_CODE -_B124 -; toolsrc/codeopt.pla: 0271: if op=>opval == 0 -; toolsrc/codeopt.pla: 0272: op->opcode = DROP_CODE -; toolsrc/codeopt.pla: 0273: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0274: nextop->opcode = CONST_CODE -; toolsrc/codeopt.pla: 0275: nextop->opgroup = CONST_GROUP -; toolsrc/codeopt.pla: 0276: nextop=>opval = 0 -; toolsrc/codeopt.pla: 0277: elsif op=>opval == 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B125 - !WORD _B125-* - !BYTE $2A,$30 ; CB 48 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$2C ; CB 44 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -_B125 -; toolsrc/codeopt.pla: 0278: op->opcode = DUP_CODE -; toolsrc/codeopt.pla: 0279: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0280: nextop->opcode = ADD_CODE -; toolsrc/codeopt.pla: 0281: elsif op=>opval == 3 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B127 - !WORD _B127-* - !BYTE $2A,$34 ; CB 52 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$82 ; CB 130 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -_B127 -; toolsrc/codeopt.pla: 0282: op->opcode = DUP_CODE -; toolsrc/codeopt.pla: 0283: op->opgroup = STACK_GROUP -; toolsrc/codeopt.pla: 0284: nextop->opcode = INDEXW_CODE -; toolsrc/codeopt.pla: 0285: else - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $06 ; CN 3 - !BYTE $24 ; BRNE _B128 - !WORD _B128-* - !BYTE $2A,$34 ; CB 52 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$9E ; CB 158 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B126 - !WORD _B126-* -_B128 -; toolsrc/codeopt.pla: 0286: for shiftcnt = 2 to 15 - !BYTE $1E ; CN 15 - !BYTE $04 ; CN 2 -_B130 - !BYTE $6C,$0F ; DLB [15] -; toolsrc/codeopt.pla: 0287: if op=>opval == 1 << shiftcnt -; toolsrc/codeopt.pla: 0288: op=>opval = shiftcnt -; toolsrc/codeopt.pla: 0289: nextop->opcode = SHL_CODE -; toolsrc/codeopt.pla: 0290: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $64,$0F ; LLB [15] - !BYTE $9A ; SHL - !BYTE $24 ; BRNE _B132 - !WORD _B132-* - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$9A ; CB 154 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -; toolsrc/codeopt.pla: 0291: fin -_B132 -_B133 -; toolsrc/codeopt.pla: 0292: next -_B131 - !BYTE $A4 ; INCBRLE _B130 - !WORD _B130-* -_B129 - !BYTE $74,$0F ; SLB [15] - !BYTE $30 ; DROP -; toolsrc/codeopt.pla: 0293: fin -_B126 -; toolsrc/codeopt.pla: 0294: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0295: is DIV_CODE -_B134 -; toolsrc/codeopt.pla: 0296: for shiftcnt = 1 to 15 - !BYTE $1E ; CN 15 - !BYTE $02 ; CN 1 -_B136 - !BYTE $6C,$0F ; DLB [15] -; toolsrc/codeopt.pla: 0297: if op=>opval == 1 << shiftcnt -; toolsrc/codeopt.pla: 0298: op=>opval = shiftcnt -; toolsrc/codeopt.pla: 0299: nextop->opcode = SHR_CODE -; toolsrc/codeopt.pla: 0300: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $64,$0F ; LLB [15] - !BYTE $9A ; SHL - !BYTE $24 ; BRNE _B138 - !WORD _B138-* - !BYTE $64,$0F ; LLB [15] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $2A,$9C ; CB 156 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B135 - !WORD _B135-* -; toolsrc/codeopt.pla: 0301: fin -_B138 -_B139 -; toolsrc/codeopt.pla: 0302: next -_B137 - !BYTE $A4 ; INCBRLE _B136 - !WORD _B136-* -_B135 - !BYTE $74,$0F ; SLB [15] - !BYTE $30 ; DROP -; toolsrc/codeopt.pla: 0303: break - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -; toolsrc/codeopt.pla: 0304: wend - !BYTE $50 ; BRNCH _B041 - !WORD _B041-* -_B042 - !BYTE $12 ; CASEBLOCK - !WORD $002C - !WORD _B076-* - !WORD $0040 - !WORD _B073-* - !WORD $0042 - !WORD _B070-* - !WORD $004C - !WORD _B048-* - !WORD $004E - !WORD _B051-* - !WORD $0080 - !WORD _B045-* - !WORD $0082 - !WORD _B101-* - !WORD $0084 - !WORD _B108-* - !WORD $0086 - !WORD _B124-* - !WORD $0088 - !WORD _B134-* - !WORD $0090 - !WORD _B043-* - !WORD $0092 - !WORD _B044-* - !WORD $0094 - !WORD _B115-* - !WORD $0096 - !WORD _B119-* - !WORD $00A0 - !WORD _B054-* - !WORD $00A2 - !WORD _B059-* - !WORD $00AC - !WORD _B067-* - !WORD $00AE - !WORD _B064-* -_B041 -; toolsrc/codeopt.pla: 0305: break // CONST_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0306: is LADDR_CODE -_B140 -; toolsrc/codeopt.pla: 0307: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B142-* -; toolsrc/codeopt.pla: 0308: is CONST_CODE -_B143 -; toolsrc/codeopt.pla: 0309: if nextop=>opnext -; toolsrc/codeopt.pla: 0310: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0311: when nextopnext->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B147-* -; toolsrc/codeopt.pla: 0312: is ADD_CODE // INDEXB_CODE -_B148 -; toolsrc/codeopt.pla: 0313: op=>opoffset = op=>opoffset + nextop=>opval -; toolsrc/codeopt.pla: 0314: freeops = 2 -; toolsrc/codeopt.pla: 0315: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; toolsrc/codeopt.pla: 0316: is INDEXW_CODE -_B149 -; toolsrc/codeopt.pla: 0317: op=>opoffset = op=>opoffset + nextop=>opval * 2 -; toolsrc/codeopt.pla: 0318: freeops = 2 -; toolsrc/codeopt.pla: 0319: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -; toolsrc/codeopt.pla: 0320: wend - !BYTE $50 ; BRNCH _B146 - !WORD _B146-* -_B147 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B148-* - !WORD $009E - !WORD _B149-* -_B146 -; toolsrc/codeopt.pla: 0321: fin -_B144 -_B145 -; toolsrc/codeopt.pla: 0322: break - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -; toolsrc/codeopt.pla: 0323: is LB_CODE -_B150 -; toolsrc/codeopt.pla: 0324: op->opcode = LLB_CODE -; toolsrc/codeopt.pla: 0325: freeops = 1 -; toolsrc/codeopt.pla: 0326: break - !BYTE $2A,$64 ; CB 100 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -; toolsrc/codeopt.pla: 0327: is LW_CODE -_B151 -; toolsrc/codeopt.pla: 0328: op->opcode = LLW_CODE -; toolsrc/codeopt.pla: 0329: freeops = 1 -; toolsrc/codeopt.pla: 0330: break - !BYTE $2A,$66 ; CB 102 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -; toolsrc/codeopt.pla: 0331: is SB_CODE -_B152 -; toolsrc/codeopt.pla: 0332: op->opcode = SLB_CODE -; toolsrc/codeopt.pla: 0333: freeops = 1 -; toolsrc/codeopt.pla: 0334: break - !BYTE $2A,$74 ; CB 116 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -; toolsrc/codeopt.pla: 0335: is SW_CODE -_B153 -; toolsrc/codeopt.pla: 0336: op->opcode = SLW_CODE -; toolsrc/codeopt.pla: 0337: freeops = 1 -; toolsrc/codeopt.pla: 0338: break - !BYTE $2A,$76 ; CB 118 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -; toolsrc/codeopt.pla: 0339: wend - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -_B142 - !BYTE $05 ; CASEBLOCK - !WORD $002C - !WORD _B143-* - !WORD $0060 - !WORD _B150-* - !WORD $0062 - !WORD _B151-* - !WORD $0070 - !WORD _B152-* - !WORD $0072 - !WORD _B153-* -_B141 -; toolsrc/codeopt.pla: 0340: if pass > 0 and not freeops -; toolsrc/codeopt.pla: 0341: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0342: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B154 - !WORD _B154-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B154 - !BYTE $4C ; BRFLS _B155 - !WORD _B155-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F003 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B155 -_B156 -; toolsrc/codeopt.pla: 0343: break // LADDR_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0344: is GADDR_CODE -_B157 -; toolsrc/codeopt.pla: 0345: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B159-* -; toolsrc/codeopt.pla: 0346: is CONST_CODE -_B160 -; toolsrc/codeopt.pla: 0347: if nextop=>opnext -; toolsrc/codeopt.pla: 0348: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0349: when nextopnext->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4C ; BRFLS _B161 - !WORD _B161-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B164-* -; toolsrc/codeopt.pla: 0350: is ADD_CODE // INDEXB_CODE -_B165 -; toolsrc/codeopt.pla: 0351: op=>opoffset = op=>opoffset + nextop=>opval -; toolsrc/codeopt.pla: 0352: freeops = 2 -; toolsrc/codeopt.pla: 0353: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B163 - !WORD _B163-* -; toolsrc/codeopt.pla: 0354: is INDEXW_CODE -_B166 -; toolsrc/codeopt.pla: 0355: op=>opoffset = op=>opoffset + nextop=>opval * 2 -; toolsrc/codeopt.pla: 0356: freeops = 2 -; toolsrc/codeopt.pla: 0357: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $82 ; ADD - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B163 - !WORD _B163-* -; toolsrc/codeopt.pla: 0358: wend - !BYTE $50 ; BRNCH _B163 - !WORD _B163-* -_B164 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B165-* - !WORD $009E - !WORD _B166-* -_B163 -; toolsrc/codeopt.pla: 0359: fin -_B161 -_B162 -; toolsrc/codeopt.pla: 0360: break - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; toolsrc/codeopt.pla: 0361: is LB_CODE -_B167 -; toolsrc/codeopt.pla: 0362: op->opcode = LAB_CODE -; toolsrc/codeopt.pla: 0363: freeops = 1 -; toolsrc/codeopt.pla: 0364: break - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; toolsrc/codeopt.pla: 0365: is LW_CODE -_B168 -; toolsrc/codeopt.pla: 0366: op->opcode = LAW_CODE -; toolsrc/codeopt.pla: 0367: freeops = 1 -; toolsrc/codeopt.pla: 0368: break - !BYTE $2A,$6A ; CB 106 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; toolsrc/codeopt.pla: 0369: is SB_CODE -_B169 -; toolsrc/codeopt.pla: 0370: op->opcode = SAB_CODE -; toolsrc/codeopt.pla: 0371: freeops = 1 -; toolsrc/codeopt.pla: 0372: break - !BYTE $2A,$78 ; CB 120 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; toolsrc/codeopt.pla: 0373: is SW_CODE -_B170 -; toolsrc/codeopt.pla: 0374: op->opcode = SAW_CODE -; toolsrc/codeopt.pla: 0375: freeops = 1 -; toolsrc/codeopt.pla: 0376: break - !BYTE $2A,$7A ; CB 122 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; toolsrc/codeopt.pla: 0377: is ICAL_CODE -_B171 -; toolsrc/codeopt.pla: 0378: op->opcode = CALL_CODE -; toolsrc/codeopt.pla: 0379: freeops = 1 -; toolsrc/codeopt.pla: 0380: break - !BYTE $2A,$54 ; CB 84 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -; toolsrc/codeopt.pla: 0381: wend - !BYTE $50 ; BRNCH _B158 - !WORD _B158-* -_B159 - !BYTE $06 ; CASEBLOCK - !WORD $002C - !WORD _B160-* - !WORD $0056 - !WORD _B171-* - !WORD $0060 - !WORD _B167-* - !WORD $0062 - !WORD _B168-* - !WORD $0070 - !WORD _B169-* - !WORD $0072 - !WORD _B170-* -_B158 -; toolsrc/codeopt.pla: 0382: if pass and not freeops -; toolsrc/codeopt.pla: 0383: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0384: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B172 - !WORD _B172-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B172 - !BYTE $4C ; BRFLS _B173 - !WORD _B173-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F004 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B173 -_B174 -; toolsrc/codeopt.pla: 0385: break // GADDR_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0386: is LLB_CODE -_B175 -; toolsrc/codeopt.pla: 0387: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B177-* -; toolsrc/codeopt.pla: 0388: is ADD_CODE // INDEXB_CODE -_B178 -; toolsrc/codeopt.pla: 0389: op->opcode = ADDLB_CODE -; toolsrc/codeopt.pla: 0390: freeops = 1 -; toolsrc/codeopt.pla: 0391: break - !BYTE $2A,$B0 ; CB 176 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B176 - !WORD _B176-* -; toolsrc/codeopt.pla: 0392: is INDEXW_CODE -_B179 -; toolsrc/codeopt.pla: 0393: op->opcode = IDXLB_CODE -; toolsrc/codeopt.pla: 0394: freeops = 1 -; toolsrc/codeopt.pla: 0395: break - !BYTE $2A,$B8 ; CB 184 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B176 - !WORD _B176-* -; toolsrc/codeopt.pla: 0396: wend - !BYTE $50 ; BRNCH _B176 - !WORD _B176-* -_B177 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B178-* - !WORD $009E - !WORD _B179-* -_B176 -; toolsrc/codeopt.pla: 0397: if pass and not freeops -; toolsrc/codeopt.pla: 0398: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0399: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B180 - !WORD _B180-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B180 - !BYTE $4C ; BRFLS _B181 - !WORD _B181-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F005 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B181 -_B182 -; toolsrc/codeopt.pla: 0400: break // LLB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0401: is LLW_CODE -_B183 -; toolsrc/codeopt.pla: 0402: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B185-* -; toolsrc/codeopt.pla: 0403: is ADD_CODE // INDEXB_CODE -_B186 -; toolsrc/codeopt.pla: 0404: op->opcode = ADDLW_CODE -; toolsrc/codeopt.pla: 0405: freeops = 1 -; toolsrc/codeopt.pla: 0406: break - !BYTE $2A,$B2 ; CB 178 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; toolsrc/codeopt.pla: 0407: is INDEXW_CODE -_B187 -; toolsrc/codeopt.pla: 0408: op->opcode = IDXLW_CODE -; toolsrc/codeopt.pla: 0409: freeops = 1 -; toolsrc/codeopt.pla: 0410: break - !BYTE $2A,$BA ; CB 186 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; toolsrc/codeopt.pla: 0411: is CONST_CODE -_B188 -; toolsrc/codeopt.pla: 0412: // LLW [n]:CB 8:SHR -> LLB [n+1] -; toolsrc/codeopt.pla: 0413: if nextop=>opval == 8 and nextop=>opnext -; toolsrc/codeopt.pla: 0414: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0415: if nextopnext->opcode == SHR_CODE -; toolsrc/codeopt.pla: 0416: op->opcode = LLB_CODE -; toolsrc/codeopt.pla: 0417: op=>opoffset++ - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B189 - !WORD _B189-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW -_B189 - !BYTE $4C ; BRFLS _B190 - !WORD _B190-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $2A,$9C ; CB 156 - !BYTE $24 ; BRNE _B192 - !WORD _B192-* - !BYTE $2A,$64 ; CB 100 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $8C ; INCR -; toolsrc/codeopt.pla: 0418: freeops = 2 -; toolsrc/codeopt.pla: 0419: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; toolsrc/codeopt.pla: 0420: fin -_B192 -_B193 -; toolsrc/codeopt.pla: 0421: fin -_B190 -_B191 -; toolsrc/codeopt.pla: 0422: break - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -; toolsrc/codeopt.pla: 0423: wend - !BYTE $50 ; BRNCH _B184 - !WORD _B184-* -_B185 - !BYTE $03 ; CASEBLOCK - !WORD $002C - !WORD _B188-* - !WORD $0082 - !WORD _B186-* - !WORD $009E - !WORD _B187-* -_B184 -; toolsrc/codeopt.pla: 0424: if pass and not freeops -; toolsrc/codeopt.pla: 0425: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0426: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B194 - !WORD _B194-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT -_B194 - !BYTE $4C ; BRFLS _B195 - !WORD _B195-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F006 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B195 -_B196 -; toolsrc/codeopt.pla: 0427: break // LLW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0428: is LAB_CODE -_B197 -; toolsrc/codeopt.pla: 0429: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B199-* -; toolsrc/codeopt.pla: 0430: is ADD_CODE // INDEXB_CODE -_B200 -; toolsrc/codeopt.pla: 0431: op->opcode = ADDAB_CODE -; toolsrc/codeopt.pla: 0432: freeops = 1 -; toolsrc/codeopt.pla: 0433: break - !BYTE $2A,$B4 ; CB 180 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B198 - !WORD _B198-* -; toolsrc/codeopt.pla: 0434: is INDEXW_CODE -_B201 -; toolsrc/codeopt.pla: 0435: op->opcode = IDXAB_CODE -; toolsrc/codeopt.pla: 0436: freeops = 1 -; toolsrc/codeopt.pla: 0437: break - !BYTE $2A,$BC ; CB 188 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B198 - !WORD _B198-* -; toolsrc/codeopt.pla: 0438: wend - !BYTE $50 ; BRNCH _B198 - !WORD _B198-* -_B199 - !BYTE $02 ; CASEBLOCK - !WORD $0082 - !WORD _B200-* - !WORD $009E - !WORD _B201-* -_B198 -; toolsrc/codeopt.pla: 0439: if pass and not freeops and not is_hardware_address(op=>opoffset) -; toolsrc/codeopt.pla: 0440: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0441: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B202 - !WORD _B202-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B203 - !WORD _B203-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F007 !WORD _C001 - !BYTE $80 ; NOT -_B203 -_B202 - !BYTE $4C ; BRFLS _B204 - !WORD _B204-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F008 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B204 -_B205 -; toolsrc/codeopt.pla: 0442: break // LAB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0443: is LAW_CODE -_B206 -; toolsrc/codeopt.pla: 0444: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B208-* -; toolsrc/codeopt.pla: 0445: is ADD_CODE // INDEXB_CODE -_B209 -; toolsrc/codeopt.pla: 0446: op->opcode = ADDAW_CODE -; toolsrc/codeopt.pla: 0447: freeops = 1 -; toolsrc/codeopt.pla: 0448: break - !BYTE $2A,$B6 ; CB 182 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B207 - !WORD _B207-* -; toolsrc/codeopt.pla: 0449: is INDEXW_CODE -_B210 -; toolsrc/codeopt.pla: 0450: op->opcode = IDXAW_CODE -; toolsrc/codeopt.pla: 0451: freeops = 1 -; toolsrc/codeopt.pla: 0452: break - !BYTE $2A,$BE ; CB 190 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B207 - !WORD _B207-* -; toolsrc/codeopt.pla: 0453: is CONST_CODE -_B211 -; toolsrc/codeopt.pla: 0454: // LLW [n]:CB 8:SHR -> LLB [n+1] -; toolsrc/codeopt.pla: 0455: if nextop=>opval == 8 and nextop=>opnext -; toolsrc/codeopt.pla: 0456: nextopnext = nextop=>opnext -; toolsrc/codeopt.pla: 0457: if nextopnext->opcode == SHR_CODE -; toolsrc/codeopt.pla: 0458: op->opcode = LAB_CODE -; toolsrc/codeopt.pla: 0459: op=>opoffset++ - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $10 ; CN 8 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B212 - !WORD _B212-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW -_B212 - !BYTE $4C ; BRFLS _B213 - !WORD _B213-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $6E,$06 ; DLW [6] - !BYTE $60 ; LB - !BYTE $2A,$9C ; CB 156 - !BYTE $24 ; BRNE _B215 - !WORD _B215-* - !BYTE $2A,$68 ; CB 104 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $8C ; INCR -; toolsrc/codeopt.pla: 0460: freeops = 2 -; toolsrc/codeopt.pla: 0461: break - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $04 ; CN 2 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B207 - !WORD _B207-* -; toolsrc/codeopt.pla: 0462: fin -_B215 -_B216 -; toolsrc/codeopt.pla: 0463: fin -_B213 -_B214 -; toolsrc/codeopt.pla: 0464: break - !BYTE $50 ; BRNCH _B207 - !WORD _B207-* -; toolsrc/codeopt.pla: 0465: wend - !BYTE $50 ; BRNCH _B207 - !WORD _B207-* -_B208 - !BYTE $03 ; CASEBLOCK - !WORD $002C - !WORD _B211-* - !WORD $0082 - !WORD _B209-* - !WORD $009E - !WORD _B210-* -_B207 -; toolsrc/codeopt.pla: 0466: if pass and not freeops and not is_hardware_address(op=>opoffset) -; toolsrc/codeopt.pla: 0467: crunched = try_dupify(op) -; toolsrc/codeopt.pla: 0468: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B217 - !WORD _B217-* - !BYTE $66,$0C ; LLW [12] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B218 - !WORD _B218-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C001 -_F009 !WORD _C001 - !BYTE $80 ; NOT -_B218 -_B217 - !BYTE $4C ; BRFLS _B219 - !WORD _B219-* - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C000 -_F010 !WORD _C000 - !BYTE $74,$0E ; SLB [14] -_B219 -_B220 -; toolsrc/codeopt.pla: 0469: break // LAW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0470: is LOGIC_NOT_CODE -_B221 -; toolsrc/codeopt.pla: 0471: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B223-* -; toolsrc/codeopt.pla: 0472: is BRFALSE_CODE -_B224 -; toolsrc/codeopt.pla: 0473: op->opcode = BRTRUE_CODE -; toolsrc/codeopt.pla: 0474: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0475: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0476: freeops = 1 -; toolsrc/codeopt.pla: 0477: break - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B222 - !WORD _B222-* -; toolsrc/codeopt.pla: 0478: is BRTRUE_CODE -_B225 -; toolsrc/codeopt.pla: 0479: op->opcode = BRFALSE_CODE -; toolsrc/codeopt.pla: 0480: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0481: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0482: freeops = 1 -; toolsrc/codeopt.pla: 0483: break - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B222 - !WORD _B222-* -; toolsrc/codeopt.pla: 0484: wend - !BYTE $50 ; BRNCH _B222 - !WORD _B222-* -_B223 - !BYTE $02 ; CASEBLOCK - !WORD $004C - !WORD _B224-* - !WORD $004E - !WORD _B225-* -_B222 -; toolsrc/codeopt.pla: 0485: break // LOGIC_NOT_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0486: is EQ_CODE -_B226 -; toolsrc/codeopt.pla: 0487: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B228-* -; toolsrc/codeopt.pla: 0488: is BRFALSE_CODE -_B229 -; toolsrc/codeopt.pla: 0489: op->opcode = BRNE_CODE -; toolsrc/codeopt.pla: 0490: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0491: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0492: freeops = 1 -; toolsrc/codeopt.pla: 0493: break - !BYTE $2A,$24 ; CB 36 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B227 - !WORD _B227-* -; toolsrc/codeopt.pla: 0494: is BRTRUE_CODE -_B230 -; toolsrc/codeopt.pla: 0495: op->opcode = BREQ_CODE -; toolsrc/codeopt.pla: 0496: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0497: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0498: freeops = 1 -; toolsrc/codeopt.pla: 0499: break - !BYTE $2A,$22 ; CB 34 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B227 - !WORD _B227-* -; toolsrc/codeopt.pla: 0500: wend - !BYTE $50 ; BRNCH _B227 - !WORD _B227-* -_B228 - !BYTE $02 ; CASEBLOCK - !WORD $004C - !WORD _B229-* - !WORD $004E - !WORD _B230-* -_B227 -; toolsrc/codeopt.pla: 0501: break // EQ_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0502: is NE_CODE -_B231 -; toolsrc/codeopt.pla: 0503: when nextop->opcode - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B233-* -; toolsrc/codeopt.pla: 0504: is BRFALSE_CODE -_B234 -; toolsrc/codeopt.pla: 0505: op->opcode = BREQ_CODE -; toolsrc/codeopt.pla: 0506: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0507: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0508: freeops = 1 -; toolsrc/codeopt.pla: 0509: break - !BYTE $2A,$22 ; CB 34 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B232 - !WORD _B232-* -; toolsrc/codeopt.pla: 0510: is BRTRUE_CODE -_B235 -; toolsrc/codeopt.pla: 0511: op->opcode = BRNE_CODE -; toolsrc/codeopt.pla: 0512: op->opgroup = RELATIVE_GROUP -; toolsrc/codeopt.pla: 0513: op=>optag = nextop=>optag -; toolsrc/codeopt.pla: 0514: freeops = 1 -; toolsrc/codeopt.pla: 0515: break - !BYTE $2A,$24 ; CB 36 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$0A ; LLW [10] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] - !BYTE $50 ; BRNCH _B232 - !WORD _B232-* -; toolsrc/codeopt.pla: 0516: wend - !BYTE $50 ; BRNCH _B232 - !WORD _B232-* -_B233 - !BYTE $02 ; CASEBLOCK - !WORD $004C - !WORD _B234-* - !WORD $004E - !WORD _B235-* -_B232 -; toolsrc/codeopt.pla: 0517: break // NE_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0518: is SLB_CODE -_B236 -; toolsrc/codeopt.pla: 0519: if nextop->opcode == LLB_CODE and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0520: op->opcode = DLB_CODE -; toolsrc/codeopt.pla: 0521: freeops = 1 -; toolsrc/codeopt.pla: 0522: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$64 ; CB 100 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B237 - !WORD _B237-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B237 - !BYTE $4C ; BRFLS _B238 - !WORD _B238-* - !BYTE $2A,$6C ; CB 108 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B238 -_B239 -; toolsrc/codeopt.pla: 0523: break // SLB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0524: is SLW_CODE -_B240 -; toolsrc/codeopt.pla: 0525: if nextop->opcode == LLW_CODE and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0526: op->opcode = DLW_CODE -; toolsrc/codeopt.pla: 0527: freeops = 1 -; toolsrc/codeopt.pla: 0528: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$66 ; CB 102 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B241 - !WORD _B241-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B241 - !BYTE $4C ; BRFLS _B242 - !WORD _B242-* - !BYTE $2A,$6E ; CB 110 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B242 -_B243 -; toolsrc/codeopt.pla: 0529: break // SLW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0530: is SAB_CODE -_B244 -; toolsrc/codeopt.pla: 0531: if nextop->opcode == LAB_CODE and op=>optag == nextop=>optag and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0532: op->opcode = DAB_CODE -; toolsrc/codeopt.pla: 0533: freeops = 1 -; toolsrc/codeopt.pla: 0534: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$68 ; CB 104 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B245 - !WORD _B245-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B246 - !WORD _B246-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B246 -_B245 - !BYTE $4C ; BRFLS _B247 - !WORD _B247-* - !BYTE $2A,$7C ; CB 124 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B247 -_B248 -; toolsrc/codeopt.pla: 0535: break // SAB_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0536: is SAW_CODE -_B249 -; toolsrc/codeopt.pla: 0537: if nextop->opcode == LAW_CODE and op=>optag == nextop=>optag and op=>opoffset == nextop=>opoffset -; toolsrc/codeopt.pla: 0538: op->opcode = DAW_CODE -; toolsrc/codeopt.pla: 0539: freeops = 1 -; toolsrc/codeopt.pla: 0540: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $2A,$6A ; CB 106 - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B250 - !WORD _B250-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ - !BYTE $AC ; BRAND _B251 - !WORD _B251-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $40 ; ISEQ -_B251 -_B250 - !BYTE $4C ; BRFLS _B252 - !WORD _B252-* - !BYTE $2A,$7E ; CB 126 - !BYTE $66,$0A ; LLW [10] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $76,$0C ; SLW [12] -_B252 -_B253 -; toolsrc/codeopt.pla: 0541: break // SAW_CODE - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -; toolsrc/codeopt.pla: 0542: wend - !BYTE $50 ; BRNCH _B027 - !WORD _B027-* -_B028 - !BYTE $0E ; CASEBLOCK - !WORD $0026 - !WORD _B157-* - !WORD $0028 - !WORD _B140-* - !WORD $002C - !WORD _B029-* - !WORD $0040 - !WORD _B226-* - !WORD $0042 - !WORD _B231-* - !WORD $0064 - !WORD _B175-* - !WORD $0066 - !WORD _B183-* - !WORD $0068 - !WORD _B197-* - !WORD $006A - !WORD _B206-* - !WORD $0074 - !WORD _B236-* - !WORD $0076 - !WORD _B240-* - !WORD $0078 - !WORD _B244-* - !WORD $007A - !WORD _B249-* - !WORD $0080 - !WORD _B221-* -_B027 -; toolsrc/codeopt.pla: 0543: // -; toolsrc/codeopt.pla: 0544: // Free up crunched ops. If freeops is positive we free up that many ops -; toolsrc/codeopt.pla: 0545: // *after* op; if it's negative, we free up abs(freeops) ops *starting -; toolsrc/codeopt.pla: 0546: // with* op. -; toolsrc/codeopt.pla: 0547: // -; toolsrc/codeopt.pla: 0548: if freeops < 0 -; toolsrc/codeopt.pla: 0549: freeops = -freeops -; toolsrc/codeopt.pla: 0550: if op == *seq -; toolsrc/codeopt.pla: 0551: // -; toolsrc/codeopt.pla: 0552: // If op is at the start of the sequence, we treat this as a special case. -; toolsrc/codeopt.pla: 0553: // -; toolsrc/codeopt.pla: 0554: while freeops - !BYTE $66,$0C ; LLW [12] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B254 - !WORD _B254-* - !BYTE $66,$0C ; LLW [12] - !BYTE $90 ; NEG - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $24 ; BRNE _B256 - !WORD _B256-* - !BYTE $50 ; BRNCH _B260 - !WORD _B260-* -_B258 -; toolsrc/codeopt.pla: 0555: nextop = op=>opnext -; toolsrc/codeopt.pla: 0556: op=>opnext = freeop_lst -; toolsrc/codeopt.pla: 0557: freeop_lst = op -; toolsrc/codeopt.pla: 0558: *seq = nextop -; toolsrc/codeopt.pla: 0559: op = nextop -; toolsrc/codeopt.pla: 0560: freeops-- - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _X029+0 -_F011 !WORD 0+0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _X029+0 -_F012 !WORD 0+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$0C ; LLW [12] - !BYTE $8E ; DECR -; toolsrc/codeopt.pla: 0561: loop - !BYTE $76,$0C ; SLW [12] -_B260 - !BYTE $66,$0C ; LLW [12] - !BYTE $4E ; BRTRU _B258 - !WORD _B258-* -_B259 -; toolsrc/codeopt.pla: 0562: crunched = TRUE -; toolsrc/codeopt.pla: 0563: else - !BYTE $20 ; MINUS ONE - !BYTE $74,$0E ; SLB [14] - !BYTE $50 ; BRNCH _B257 - !WORD _B257-* -_B256 -; toolsrc/codeopt.pla: 0564: // -; toolsrc/codeopt.pla: 0565: // Otherwise we just move op back to point to the previous op and -; toolsrc/codeopt.pla: 0566: // let the following loop remove the required number of ops. -; toolsrc/codeopt.pla: 0567: // -; toolsrc/codeopt.pla: 0568: op = opprev -; toolsrc/codeopt.pla: 0569: nextop = op=>opnext -; toolsrc/codeopt.pla: 0570: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $6E,$0A ; DLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B257 -; toolsrc/codeopt.pla: 0571: fin -_B254 -_B255 -; toolsrc/codeopt.pla: 0572: while freeops - !BYTE $50 ; BRNCH _B263 - !WORD _B263-* -_B261 -; toolsrc/codeopt.pla: 0573: op=>opnext = nextop=>opnext -; toolsrc/codeopt.pla: 0574: nextop=>opnext = freeop_lst -; toolsrc/codeopt.pla: 0575: freeop_lst = nextop -; toolsrc/codeopt.pla: 0576: nextop = op=>opnext -; toolsrc/codeopt.pla: 0577: crunched = TRUE -; toolsrc/codeopt.pla: 0578: freeops-- - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _X029+0 -_F013 !WORD 0+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _X029+0 -_F014 !WORD 0+0 - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $20 ; MINUS ONE - !BYTE $74,$0E ; SLB [14] - !BYTE $66,$0C ; LLW [12] - !BYTE $8E ; DECR -; toolsrc/codeopt.pla: 0579: loop - !BYTE $76,$0C ; SLW [12] -_B263 - !BYTE $66,$0C ; LLW [12] - !BYTE $4E ; BRTRU _B261 - !WORD _B261-* -_B262 -; toolsrc/codeopt.pla: 0580: opprev = op -; toolsrc/codeopt.pla: 0581: op = nextop -; toolsrc/codeopt.pla: 0582: nextop = op=>opnext -; toolsrc/codeopt.pla: 0583: loop - !BYTE $66,$0A ; LLW [10] - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $6E,$0A ; DLW [10] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B025 - !BYTE $66,$0A ; LLW [10] - !BYTE $AC ; BRAND _B026 - !WORD _B026-* - !BYTE $66,$04 ; LLW [4] -_B026 - !BYTE $4E ; BRTRU _B023 - !WORD _B023-* -_B024 -; toolsrc/codeopt.pla: 0584: return crunched - !BYTE $64,$0E ; LLB [14] - !BYTE $5A,$10 ; LEAVE 16 -; toolsrc/codeopt.pla: 0585: end -; toolsrc/codeopt.pla: 0586: // -; toolsrc/codeopt.pla: 0587: // Point to crunch function -; toolsrc/codeopt.pla: 0588: // -; toolsrc/codeopt.pla: 0589: optimize_seq = @crunch_seq -_INIT -; toolsrc/codeopt.pla: 0590: // -; toolsrc/codeopt.pla: 0591: // Keep this module in memory -; toolsrc/codeopt.pla: 0592: // -; toolsrc/codeopt.pla: 0593: return modkeep - !BYTE $26 ; LA _C002+0 -_F015 !WORD _C002+0 - !BYTE $7A ; SAW _X030+0 -_F016 !WORD 0+0 - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $5C ; RET -; toolsrc/codeopt.pla: 0594: done -_SYSFLAGS = 0 -_DEFCNT = 4 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 25 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: ISUGE - !BYTE $C9,$D3,$D5,$C7,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 25 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: FREEOP_LST - !BYTE $C6,$D2,$C5,$C5,$CF,$D0,$DF,$CC,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: OPTIMIZE_SEQ - !BYTE $CF,$D0,$D4,$C9,$CD,$C9,$DA,$C5,$DF,$D3,$C5,$51 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/ed.a b/src/toolsrc/ed.a deleted file mode 100644 index 6ad4441..0000000 --- a/src/toolsrc/ed.a +++ /dev/null @@ -1,10507 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; toolsrc/ed.pla: 0001: //===================================== -; toolsrc/ed.pla: 0002: // -; toolsrc/ed.pla: 0003: // Text Editor -; toolsrc/ed.pla: 0004: // -; toolsrc/ed.pla: 0005: //===================================== -; toolsrc/ed.pla: 0006: -; toolsrc/ed.pla: 0007: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; toolsrc/ed.pla: 0007: -; toolsrc/ed.pla: 0008: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; toolsrc/ed.pla: 0008: -; toolsrc/ed.pla: 0009: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; toolsrc/ed.pla: 0009: -; toolsrc/ed.pla: 0010: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X033 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; toolsrc/ed.pla: 0010: -; toolsrc/ed.pla: 0011: include "inc/vblank.plh" -; inc/vblank.plh: 0001: import vblank - ; DCI STRING: VBLANK - !BYTE $D6,$C2,$CC,$C1,$CE,$4B - ; VBLANK -> X034 -; inc/vblank.plh: 0002: predef waitVBL#1 - ; WAITVBL -> X035 -; inc/vblank.plh: 0003: end -; toolsrc/ed.pla: 0011: -; toolsrc/ed.pla: 0012: sysflags restxt1|resxtxt1|nojitc // Keep JITC from compiling and pausing while editing - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0105 ; SYSTEM FLAGS -; toolsrc/ed.pla: 0013: const CSW = $36 - ; CSW = 54 -; toolsrc/ed.pla: 0014: // -; toolsrc/ed.pla: 0015: // Data and text buffer constants -; toolsrc/ed.pla: 0016: // -; toolsrc/ed.pla: 0017: const MAXLINES = 999 - ; MAXLINES = 999 -; toolsrc/ed.pla: 0018: const MAXLINESSIZE = MAXLINES+24 - ; MAXLINESSIZE = 1023 -; toolsrc/ed.pla: 0019: const MAXCLIPLINES = 256 - ; MAXCLIPLINES = 256 -; toolsrc/ed.pla: 0020: const MAXLNLEN = 127 - ; MAXLNLEN = 127 -; toolsrc/ed.pla: 0021: const pgjmp = 16 - ; pgjmp = 16 -; toolsrc/ed.pla: 0022: const changed = 1 - ; changed = 1 -; toolsrc/ed.pla: 0023: const insmode = 2 - ; insmode = 2 -; toolsrc/ed.pla: 0024: const gutter = 4 // This has to be 4 to match on-screen width - ; gutter = 4 -; toolsrc/ed.pla: 0025: const selection = 8 - ; selection = 8 -; toolsrc/ed.pla: 0026: const exit = 16 - ; exit = 16 -; toolsrc/ed.pla: 0027: const numlock = 128 - ; numlock = 128 -; toolsrc/ed.pla: 0028: // -; toolsrc/ed.pla: 0029: // Text screen dimensions -; toolsrc/ed.pla: 0030: // -; toolsrc/ed.pla: 0031: byte[] UltraTermWidth = 80, 96, 160, 80, 80, 80, 132, 128 -_D036 ; UltraTermWidth = 80, 96, 160, 80, 80, 80, 132, 128 - !BYTE $50 - !BYTE $60 - !BYTE $A0 - !BYTE $50 - !BYTE $50 - !BYTE $50 - !BYTE $84 - !BYTE $80 -; toolsrc/ed.pla: 0032: byte[] UltraTermHeight = 24, 24, 24, 24, 32, 48, 24, 32 -_D037 ; UltraTermHeight = 24, 24, 24, 24, 32, 48, 24, 32 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $18 - !BYTE $20 - !BYTE $30 - !BYTE $18 - !BYTE $20 -; toolsrc/ed.pla: 0033: word scrnheight = 24 -_D038 ; scrnheight = 24 - !WORD $0018 -; toolsrc/ed.pla: 0034: byte scrnwidth = 80 -_D039 ; scrnwidth = 80 - !BYTE $50 -; toolsrc/ed.pla: 0035: byte viewwidth -_D040 !FILL 1 ; viewwidth -; toolsrc/ed.pla: 0036: byte viewleft -_D041 !FILL 1 ; viewleft -; toolsrc/ed.pla: 0037: word viewtop -_D042 !FILL 2 ; viewtop -; toolsrc/ed.pla: 0038: // -; toolsrc/ed.pla: 0039: // Editor variables -; toolsrc/ed.pla: 0040: // -; toolsrc/ed.pla: 0041: byte nullstr = "" -_D043 ; nullstr = "" - !BYTE $00 -; toolsrc/ed.pla: 0042: byte[80] findstr = "" -_D044 ; findstr = "" - !BYTE $00 - !FILL $4F -; toolsrc/ed.pla: 0043: byte[64] filename = "UNTITLED" -_D045 ; filename = "UNTITLED" - !BYTE $08 - !BYTE $55,$4E,$54,$49,$54,$4C,$45,$44 - !FILL $37 -; toolsrc/ed.pla: 0044: byte flags = 0 -_D046 ; flags = 0 - !BYTE $00 -; toolsrc/ed.pla: 0045: word numlines = 0 -_D047 ; numlines = 0 - !WORD $0000 -; toolsrc/ed.pla: 0046: word numcliplines = 0 -_D048 ; numcliplines = 0 - !WORD $0000 -; toolsrc/ed.pla: 0047: word arg -_D049 !FILL 2 ; arg -; toolsrc/ed.pla: 0048: word strpool, strplmapsize, strpoolmap -_D050 !FILL 2 ; strpool, strplmapsize, strpoolmap -_D051 !FILL 2 ; strplmapsize, strpoolmap -_D052 !FILL 2 ; strpoolmap -; toolsrc/ed.pla: 0049: word txtlinbuf, cliplinbuf -_D053 !FILL 2 ; txtlinbuf, cliplinbuf -_D054 !FILL 2 ; cliplinbuf -; toolsrc/ed.pla: 0050: word cursx, cursy, cursrow, curscol, selrow -_D055 !FILL 2 ; cursx, cursy, cursrow, curscol, selrow -_D056 !FILL 2 ; cursy, cursrow, curscol, selrow -_D057 !FILL 2 ; cursrow, curscol, selrow -_D058 !FILL 2 ; curscol, selrow -_D059 !FILL 2 ; selrow -; toolsrc/ed.pla: 0051: word cursflash = 500 // default cursor flash delay -_D060 ; cursflash = 500 // default cursor flash delay - !WORD $01F4 -; toolsrc/ed.pla: 0052: // -; toolsrc/ed.pla: 0053: // Predeclared functions -; toolsrc/ed.pla: 0054: // -; toolsrc/ed.pla: 0055: predef cmdmode#0 -; toolsrc/ed.pla: 0056: // -; toolsrc/ed.pla: 0057: // Utility functions -; toolsrc/ed.pla: 0058: // -; toolsrc/ed.pla: 0059: // Defines for ASM routines -; toolsrc/ed.pla: 0060: // -; toolsrc/ed.pla: 0061: asm equates -_A000 ; equates() -; toolsrc/ed.pla: 0062: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; toolsrc/ed.pla: 0063: end -; toolsrc/ed.pla: 0064: asm lnupcpy(dststr, srcstr)#0 -_A001 ; lnupcpy() -; toolsrc/ed.pla: 0065: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0066: STA SRCL - STA SRCL -; toolsrc/ed.pla: 0067: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0068: STA SRCH - STA SRCH -; toolsrc/ed.pla: 0069: INX - INX -; toolsrc/ed.pla: 0070: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0071: STA DSTL - STA DSTL -; toolsrc/ed.pla: 0072: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0073: STA DSTH - STA DSTH -; toolsrc/ed.pla: 0074: INX - INX -; toolsrc/ed.pla: 0075: LDY #$00 - LDY #$00 -; toolsrc/ed.pla: 0076: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/ed.pla: 0077: CMP #80 - CMP #80 -; toolsrc/ed.pla: 0078: BCC + - BCC + -; toolsrc/ed.pla: 0079: LDA #79 - LDA #79 -; toolsrc/ed.pla: 0080: + STA (DST),Y -+ STA (DST),Y -; toolsrc/ed.pla: 0081: TAY - TAY -; toolsrc/ed.pla: 0082: BEQ +++ - BEQ +++ -; toolsrc/ed.pla: 0083: CPUPLP LDA (SRC),Y -CPUPLP LDA (SRC),Y -; toolsrc/ed.pla: 0084: CMP #$20 - CMP #$20 -; toolsrc/ed.pla: 0085: BCS + - BCS + -; toolsrc/ed.pla: 0086: ADC #$60 - ADC #$60 -; toolsrc/ed.pla: 0087: + AND #$7F -+ AND #$7F -; toolsrc/ed.pla: 0088: CMP #$7B - CMP #$7B -; toolsrc/ed.pla: 0089: BCS ++ - BCS ++ -; toolsrc/ed.pla: 0090: CMP #$61 - CMP #$61 -; toolsrc/ed.pla: 0091: BCC ++ - BCC ++ -; toolsrc/ed.pla: 0092: SEC - SEC -; toolsrc/ed.pla: 0093: SBC #$20 - SBC #$20 -; toolsrc/ed.pla: 0094: ++ STA (DST),Y -++ STA (DST),Y -; toolsrc/ed.pla: 0095: DEY - DEY -; toolsrc/ed.pla: 0096: BNE CPUPLP - BNE CPUPLP -; toolsrc/ed.pla: 0097: +++ RTS -+++ RTS -; toolsrc/ed.pla: 0098: end -; toolsrc/ed.pla: 0099: //def sizemask(size) -; toolsrc/ed.pla: 0100: // if size <= 80 -; toolsrc/ed.pla: 0101: // return sizetomask[(size - 1) >> 4] -; toolsrc/ed.pla: 0102: // fin -; toolsrc/ed.pla: 0103: // if size <= 16 -; toolsrc/ed.pla: 0104: // return $01 -; toolsrc/ed.pla: 0105: // elsif size <= 32 -; toolsrc/ed.pla: 0106: // return $03 -; toolsrc/ed.pla: 0107: // elsif size <= 48 -; toolsrc/ed.pla: 0108: // return $07 -; toolsrc/ed.pla: 0109: // elsif size <= 64 -; toolsrc/ed.pla: 0110: // return $0F -; toolsrc/ed.pla: 0111: // elsif size <= 80 -; toolsrc/ed.pla: 0112: // return $1F -; toolsrc/ed.pla: 0113: // fin -; toolsrc/ed.pla: 0114: // return 0 -; toolsrc/ed.pla: 0115: //end -; toolsrc/ed.pla: 0116: asm sizemask(size)#1 -_A002 ; sizemask() -; toolsrc/ed.pla: 0117: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0118: CMP #129 ; 81 - CMP #129 ; 81 -; toolsrc/ed.pla: 0119: BCS ++ - BCS ++ -; toolsrc/ed.pla: 0120: ADC #$0F - ADC #$0F -; toolsrc/ed.pla: 0121: LSR - LSR -; toolsrc/ed.pla: 0122: LSR - LSR -; toolsrc/ed.pla: 0123: LSR - LSR -; toolsrc/ed.pla: 0124: LSR - LSR -; toolsrc/ed.pla: 0125: TAY - TAY -; toolsrc/ed.pla: 0126: LDA #$FF - LDA #$FF -; toolsrc/ed.pla: 0127: - ASL -- ASL -; toolsrc/ed.pla: 0128: DEY - DEY -; toolsrc/ed.pla: 0129: BNE - - BNE - -; toolsrc/ed.pla: 0130: EOR #$FF - EOR #$FF -; toolsrc/ed.pla: 0131: STA ESTKL,X - STA ESTKL,X -; toolsrc/ed.pla: 0132: LDA #$00 - LDA #$00 -; toolsrc/ed.pla: 0133: STA ESTKH,X - STA ESTKH,X -; toolsrc/ed.pla: 0134: RTS - RTS -; toolsrc/ed.pla: 0135: -- DEY ; THIS IS NEXT MAP BYTE FROM BELOW --- DEY ; THIS IS NEXT MAP BYTE FROM BELOW -; toolsrc/ed.pla: 0136: CPY #$FF - CPY #$FF -; toolsrc/ed.pla: 0137: BNE + - BNE + -; toolsrc/ed.pla: 0138: DEC DSTH - DEC DSTH -; toolsrc/ed.pla: 0139: DEC ESTKH+1,X - DEC ESTKH+1,X -; toolsrc/ed.pla: 0140: LDA ESTKH+1,X - LDA ESTKH+1,X -; toolsrc/ed.pla: 0141: CMP #$FF - CMP #$FF -; toolsrc/ed.pla: 0142: BNE + - BNE + -; toolsrc/ed.pla: 0143: INX - INX -; toolsrc/ed.pla: 0144: INX - INX -; toolsrc/ed.pla: 0145: INX - INX -; toolsrc/ed.pla: 0146: ++ LDA #$00 -++ LDA #$00 -; toolsrc/ed.pla: 0147: STA ESTKL,X - STA ESTKL,X -; toolsrc/ed.pla: 0148: STA ESTKH,X - STA ESTKH,X -; toolsrc/ed.pla: 0149: RTS - RTS -; toolsrc/ed.pla: 0150: end -; toolsrc/ed.pla: 0151: //def strpoolalloc(size) -; toolsrc/ed.pla: 0152: // szmask = sizemask(size) -; toolsrc/ed.pla: 0153: // for i = strplmapsize - 1 downto 0 -; toolsrc/ed.pla: 0154: // if ^(strpoolmap + i) <> $FF -; toolsrc/ed.pla: 0155: // mapmask = szmask -; toolsrc/ed.pla: 0156: // ofst = 0 -; toolsrc/ed.pla: 0157: // repeat // Look for memory hole to fit -; toolsrc/ed.pla: 0158: // if ^(strpoolmap + i) & mapmask // Nope, shift over -; toolsrc/ed.pla: 0159: // mapmask = mapmask << 1 -; toolsrc/ed.pla: 0160: // ofst++ -; toolsrc/ed.pla: 0161: // else // Yep, take it -; toolsrc/ed.pla: 0162: // ^(strpoolmap + i) = ^(strpoolmap + i) | mapmask -; toolsrc/ed.pla: 0163: // return (ofst << 4) + (i << 7) + strpool -; toolsrc/ed.pla: 0164: // fin -; toolsrc/ed.pla: 0165: // until mapmask & $100 // No fit -; toolsrc/ed.pla: 0166: // fin -; toolsrc/ed.pla: 0167: // next -; toolsrc/ed.pla: 0168: // return 0 -; toolsrc/ed.pla: 0169: //end -; toolsrc/ed.pla: 0170: asm poolalloc(poolbase, mapbase, idx, mask)#1 -_A003 ; poolalloc() -; toolsrc/ed.pla: 0171: LDA ESTKL+2,X ; MAPBASEL - LDA ESTKL+2,X ; MAPBASEL -; toolsrc/ed.pla: 0172: STA DSTL - STA DSTL -; toolsrc/ed.pla: 0173: LDA ESTKH+2,X ; MAPBASEH - LDA ESTKH+2,X ; MAPBASEH -; toolsrc/ed.pla: 0174: CLC - CLC -; toolsrc/ed.pla: 0175: ADC ESTKH+1,X ; IDXH - ADC ESTKH+1,X ; IDXH -; toolsrc/ed.pla: 0176: STA DSTH - STA DSTH -; toolsrc/ed.pla: 0177: LDY ESTKL+1,X ; IDXL - LDY ESTKL+1,X ; IDXL -; toolsrc/ed.pla: 0178: + LDA (DST),Y -+ LDA (DST),Y -; toolsrc/ed.pla: 0179: CMP #$FF - CMP #$FF -; toolsrc/ed.pla: 0180: BEQ -- ; MAP BYTE FULL, TRY NEXT - BEQ -- ; MAP BYTE FULL, TRY NEXT -; toolsrc/ed.pla: 0181: LDA #$00 - LDA #$00 -; toolsrc/ed.pla: 0182: STA TMP ; OFST - STA TMP ; OFST -; toolsrc/ed.pla: 0183: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/ed.pla: 0184: STA ESTKH,X - STA ESTKH,X -; toolsrc/ed.pla: 0185: - AND (DST),Y -- AND (DST),Y -; toolsrc/ed.pla: 0186: BEQ ++ - BEQ ++ -; toolsrc/ed.pla: 0187: INC TMP ; OFST++ - INC TMP ; OFST++ -; toolsrc/ed.pla: 0188: ASL ESTKH,X ; MASK <<= 1 - ASL ESTKH,X ; MASK <<= 1 -; toolsrc/ed.pla: 0189: BCS -- ; NO FIT, TRY NEXT MAP BYTE - BCS -- ; NO FIT, TRY NEXT MAP BYTE -; toolsrc/ed.pla: 0190: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/ed.pla: 0191: BCC - - BCC - -; toolsrc/ed.pla: 0192: ++ LDA ESTKH,X ; UPDATE MAPMASK -++ LDA ESTKH,X ; UPDATE MAPMASK -; toolsrc/ed.pla: 0193: ORA (DST),Y - ORA (DST),Y -; toolsrc/ed.pla: 0194: STA (DST),Y - STA (DST),Y -; toolsrc/ed.pla: 0195: LDA TMP ; OFST - LDA TMP ; OFST -; toolsrc/ed.pla: 0196: ASL - ASL -; toolsrc/ed.pla: 0197: ASL - ASL -; toolsrc/ed.pla: 0198: ASL - ASL -; toolsrc/ed.pla: 0199: ASL - ASL -; toolsrc/ed.pla: 0200: ;CLC - ;CLC -; toolsrc/ed.pla: 0201: ADC ESTKL+3,X ; + OFST << 4 - ADC ESTKL+3,X ; + OFST << 4 -; toolsrc/ed.pla: 0202: STA ESTKL+3,X - STA ESTKL+3,X -; toolsrc/ed.pla: 0203: BCC + - BCC + -; toolsrc/ed.pla: 0204: INC ESTKH+3,X - INC ESTKH+3,X -; toolsrc/ed.pla: 0205: + TYA -+ TYA -; toolsrc/ed.pla: 0206: LSR ESTKH+1,X - LSR ESTKH+1,X -; toolsrc/ed.pla: 0207: ROR - ROR -; toolsrc/ed.pla: 0208: TAY - TAY -; toolsrc/ed.pla: 0209: LDA #$00 - LDA #$00 -; toolsrc/ed.pla: 0210: ROR - ROR -; toolsrc/ed.pla: 0211: ;CLC - ;CLC -; toolsrc/ed.pla: 0212: ADC ESTKL+3,X ; + IDX << 7 - ADC ESTKL+3,X ; + IDX << 7 -; toolsrc/ed.pla: 0213: STA ESTKL+3,X - STA ESTKL+3,X -; toolsrc/ed.pla: 0214: TYA - TYA -; toolsrc/ed.pla: 0215: ADC ESTKH+3,X - ADC ESTKH+3,X -; toolsrc/ed.pla: 0216: STA ESTKH+3,X - STA ESTKH+3,X -; toolsrc/ed.pla: 0217: INX - INX -; toolsrc/ed.pla: 0218: INX - INX -; toolsrc/ed.pla: 0219: INX - INX -; toolsrc/ed.pla: 0220: RTS - RTS -; toolsrc/ed.pla: 0221: end -; toolsrc/ed.pla: 0222: def bell#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_C000 ; bell() -; toolsrc/ed.pla: 0223: putc($07) -; toolsrc/ed.pla: 0224: end - !BYTE $0E ; CN 7 - !BYTE $54 ; CALL _X002 -_F000 !WORD 0 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0225: // -; toolsrc/ed.pla: 0226: // Memory management routines -; toolsrc/ed.pla: 0227: // -; toolsrc/ed.pla: 0228: def striplead(strptr, chr)#0 - ; strptr -> [0] - ; chr -> [2] -_C001 ; striplead() -; toolsrc/ed.pla: 0229: byte striplen - ; striplen -> [4] -; toolsrc/ed.pla: 0230: -; toolsrc/ed.pla: 0231: for striplen = 1 to ^strptr - !BYTE $58,$05,$02 ; ENTER 5,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B001 - !WORD _B001-* -_B002 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0232: if ^(strptr + striplen) <> chr -; toolsrc/ed.pla: 0233: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $22 ; BREQ _B004 - !WORD _B004-* - !BYTE $50 ; BRNCH _B001 - !WORD _B001-* -; toolsrc/ed.pla: 0234: fin -_B004 -_B005 -; toolsrc/ed.pla: 0235: next -_B003 - !BYTE $A4 ; INCBRLE _B002 - !WORD _B002-* -_B001 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0236: if striplen > 1 -; toolsrc/ed.pla: 0237: ^strptr = ^strptr - (striplen - 1) -; toolsrc/ed.pla: 0238: memcpy(strptr + 1, strptr + striplen, ^strptr) -; toolsrc/ed.pla: 0239: fin - !BYTE $64,$04 ; LLB [4] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR - !BYTE $84 ; SUB - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F001 !WORD 0 -_B006 -_B007 -; toolsrc/ed.pla: 0240: end - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0241: def strstripcpy(dststr, srcstr)#0 - ; dststr -> [0] - ; srcstr -> [2] -_C002 ; strstripcpy() -; toolsrc/ed.pla: 0242: byte strlen - ; strlen -> [4] -; toolsrc/ed.pla: 0243: -; toolsrc/ed.pla: 0244: memcpy(dststr, srcstr, ^srcstr + 1) - !BYTE $58,$05,$02 ; ENTER 5,2 -; toolsrc/ed.pla: 0245: for strlen = ^dststr downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F002 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $A2 ; BRLT _B008 - !WORD _B008-* -_B009 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0246: if ^(dststr + strlen) > keyspace -; toolsrc/ed.pla: 0247: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $50 ; BRNCH _B008 - !WORD _B008-* -; toolsrc/ed.pla: 0248: fin -_B011 -_B012 -; toolsrc/ed.pla: 0249: next -_B010 - !BYTE $A8 ; DECBRGE _B009 - !WORD _B009-* -_B008 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0250: ^dststr = strlen -; toolsrc/ed.pla: 0251: end - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0252: def delstr(strptr)#0 - ; strptr -> [0] -_C003 ; delstr() -; toolsrc/ed.pla: 0253: word ofst, mask - ; ofst -> [2] - ; mask -> [4] -; toolsrc/ed.pla: 0254: -; toolsrc/ed.pla: 0255: if strptr <> @nullstr - !BYTE $58,$06,$01 ; ENTER 6,1 -; toolsrc/ed.pla: 0256: ofst = (strptr - strpool) >> 4 -; toolsrc/ed.pla: 0257: mask = sizemask(^strptr + 1) << (ofst & $07) -; toolsrc/ed.pla: 0258: ofst = ofst >> 3 -; toolsrc/ed.pla: 0259: ^(strpoolmap + ofst) = ^(strpoolmap + ofst) & ~mask -; toolsrc/ed.pla: 0260: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D043+0 -_F003 !WORD _D043+0 - !BYTE $22 ; BREQ _B013 - !WORD _B013-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D050+0 -_F004 !WORD _D050+0 - !BYTE $84 ; SUB - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _A002 -_F005 !WORD _A002 - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$07 ; ANDI 7 - !BYTE $9A ; SHL - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D052+0 -_F006 !WORD _D052+0 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $92 ; COMP - !BYTE $94 ; AND - !BYTE $6A ; LAW _D052+0 -_F007 !WORD _D052+0 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $70 ; SB -_B013 -_B014 -; toolsrc/ed.pla: 0261: end - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 0262: def newstr(strptr) - ; strptr -> [0] -_C004 ; newstr() -; toolsrc/ed.pla: 0263: byte strlen - ; strlen -> [2] -; toolsrc/ed.pla: 0264: word newptr - ; newptr -> [3] -; toolsrc/ed.pla: 0265: -; toolsrc/ed.pla: 0266: for strlen = ^strptr downto 1 - !BYTE $58,$05,$01 ; ENTER 5,1 - !BYTE $02 ; CN 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $A2 ; BRLT _B015 - !WORD _B015-* -_B016 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/ed.pla: 0267: if ^(strptr + strlen) > keyspace -; toolsrc/ed.pla: 0268: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B018 - !WORD _B018-* - !BYTE $50 ; BRNCH _B015 - !WORD _B015-* -; toolsrc/ed.pla: 0269: fin -_B018 -_B019 -; toolsrc/ed.pla: 0270: next -_B017 - !BYTE $A8 ; DECBRGE _B016 - !WORD _B016-* -_B015 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0271: if strlen == 0 -; toolsrc/ed.pla: 0272: return @nullstr - !BYTE $64,$02 ; LLB [2] - !BYTE $4E ; BRTRU _B020 - !WORD _B020-* - !BYTE $26 ; LA _D043+0 -_F008 !WORD _D043+0 - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0273: fin -_B020 -_B021 -; toolsrc/ed.pla: 0274: newptr = poolalloc(strpool, \ -; toolsrc/ed.pla: 0275: newptr = poolalloc(strpool, strpoolmap, \ -; toolsrc/ed.pla: 0276: newptr = poolalloc(strpool, strpoolmap, strplmapsize - 1, \ -; toolsrc/ed.pla: 0277: newptr = poolalloc(strpool, strpoolmap, strplmapsize - 1, sizemask(strlen + 1)) -; toolsrc/ed.pla: 0278: if newptr -; toolsrc/ed.pla: 0279: memcpy(newptr + 1, strptr + 1, strlen) -; toolsrc/ed.pla: 0280: ^newptr = strlen -; toolsrc/ed.pla: 0281: else - !BYTE $6A ; LAW _D050+0 -_F009 !WORD _D050+0 - !BYTE $6A ; LAW _D052+0 -_F010 !WORD _D052+0 - !BYTE $6A ; LAW _D051+0 -_F011 !WORD _D051+0 - !BYTE $8E ; DECR - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR - !BYTE $54 ; CALL _A002 -_F012 !WORD _A002 - !BYTE $54 ; CALL _A003 -_F013 !WORD _A003 - !BYTE $6E,$03 ; DLW [3] - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $66,$03 ; LLW [3] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X018 -_F014 !WORD 0 - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$03 ; LLW [3] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B023 - !WORD _B023-* -_B022 -; toolsrc/ed.pla: 0282: puts("Out of memory!\n") - !BYTE $2E ; CS - !BYTE $0F - !BYTE $4F,$75,$74,$20,$6F,$66,$20,$6D - !BYTE $65,$6D,$6F,$72,$79,$21,$0D - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 -; toolsrc/ed.pla: 0283: newptr = @nullstr -; toolsrc/ed.pla: 0284: fin - !BYTE $26 ; LA _D043+0 -_F016 !WORD _D043+0 - !BYTE $76,$03 ; SLW [3] -_B023 -; toolsrc/ed.pla: 0285: return newptr - !BYTE $66,$03 ; LLW [3] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0286: end -; toolsrc/ed.pla: 0287: def inittxtbuf#0 -_C005 ; inittxtbuf() -; toolsrc/ed.pla: 0288: word i - ; i -> [0] -; toolsrc/ed.pla: 0289: -; toolsrc/ed.pla: 0290: if not strpool - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0291: txtlinbuf = heapalloc(MAXLINESSIZE*2) -; toolsrc/ed.pla: 0292: cliplinbuf = heapalloc(MAXCLIPLINES*2) -; toolsrc/ed.pla: 0293: strplmapsize = (heapavail - 1024) / 128 -; toolsrc/ed.pla: 0294: strpoolmap = heapalloc(strplmapsize) -; toolsrc/ed.pla: 0295: strpool = heapalloc(strplmapsize * 128) -; toolsrc/ed.pla: 0296: memset(txtlinbuf, @nullstr, MAXLINESSIZE*2) -; toolsrc/ed.pla: 0297: memset(cliplinbuf, @nullstr, MAXCLIPLINES*2) -; toolsrc/ed.pla: 0298: memset(strpoolmap, 0, strplmapsize) -; toolsrc/ed.pla: 0299: else - !BYTE $6A ; LAW _D050+0 -_F017 !WORD _D050+0 - !BYTE $4E ; BRTRU _B024 - !WORD _B024-* - !BYTE $2C,$FE,$07 ; CW 2046 - !BYTE $54 ; CALL _X014 -_F018 !WORD 0 - !BYTE $7A ; SAW _D053+0 -_F019 !WORD _D053+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X014 -_F020 !WORD 0 - !BYTE $7A ; SAW _D054+0 -_F021 !WORD _D054+0 - !BYTE $54 ; CALL _X016 -_F022 !WORD 0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $84 ; SUB - !BYTE $0E ; CN 7 - !BYTE $9C ; SHR - !BYTE $7E ; DAW _D051+0 -_F023 !WORD _D051+0 - !BYTE $54 ; CALL _X014 -_F024 !WORD 0 - !BYTE $7A ; SAW _D052+0 -_F025 !WORD _D052+0 - !BYTE $6A ; LAW _D051+0 -_F026 !WORD _D051+0 - !BYTE $0E ; CN 7 - !BYTE $9A ; SHL - !BYTE $54 ; CALL _X014 -_F027 !WORD 0 - !BYTE $7A ; SAW _D050+0 -_F028 !WORD _D050+0 - !BYTE $6A ; LAW _D053+0 -_F029 !WORD _D053+0 - !BYTE $26 ; LA _D043+0 -_F030 !WORD _D043+0 - !BYTE $2C,$FE,$07 ; CW 2046 - !BYTE $54 ; CALL _X017 -_F031 !WORD 0 - !BYTE $6A ; LAW _D054+0 -_F032 !WORD _D054+0 - !BYTE $26 ; LA _D043+0 -_F033 !WORD _D043+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X017 -_F034 !WORD 0 - !BYTE $6A ; LAW _D052+0 -_F035 !WORD _D052+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D051+0 -_F036 !WORD _D051+0 - !BYTE $54 ; CALL _X017 -_F037 !WORD 0 - !BYTE $50 ; BRNCH _B025 - !WORD _B025-* -_B024 -; toolsrc/ed.pla: 0300: for i = 0 to MAXLINESSIZE-1 - !BYTE $2C,$FE,$03 ; CW 1022 - !BYTE $00 ; CN 0 -_B027 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0301: if txtlinbuf=>[i] <> @nullstr -; toolsrc/ed.pla: 0302: delstr(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0303: txtlinbuf=>[i] = @nullstr -; toolsrc/ed.pla: 0304: fin - !BYTE $6A ; LAW _D053+0 -_F038 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F039 !WORD _D043+0 - !BYTE $22 ; BREQ _B029 - !WORD _B029-* - !BYTE $6A ; LAW _D053+0 -_F040 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F041 !WORD _C003 - !BYTE $26 ; LA _D043+0 -_F042 !WORD _D043+0 - !BYTE $6A ; LAW _D053+0 -_F043 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW -_B029 -_B030 -; toolsrc/ed.pla: 0305: next -_B028 - !BYTE $A4 ; INCBRLE _B027 - !WORD _B027-* -_B026 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0306: fin -_B025 -; toolsrc/ed.pla: 0307: numlines = 1 -; toolsrc/ed.pla: 0308: cursrow = 0 -; toolsrc/ed.pla: 0309: curscol = 0 -; toolsrc/ed.pla: 0310: cursx = flags & gutter -; toolsrc/ed.pla: 0311: cursy = 0 -; toolsrc/ed.pla: 0312: viewleft = 0 -; toolsrc/ed.pla: 0313: viewtop = 0 -; toolsrc/ed.pla: 0314: viewwidth = scrnwidth - (flags & gutter) - 2 -; toolsrc/ed.pla: 0315: flags = flags & ~selection -; toolsrc/ed.pla: 0316: end - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D047+0 -_F044 !WORD _D047+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D057+0 -_F045 !WORD _D057+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D058+0 -_F046 !WORD _D058+0 - !BYTE $68 ; LAB _D046+0 -_F047 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $7A ; SAW _D055+0 -_F048 !WORD _D055+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D056+0 -_F049 !WORD _D056+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D041+0 -_F050 !WORD _D041+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D042+0 -_F051 !WORD _D042+0 - !BYTE $68 ; LAB _D039+0 -_F052 !WORD _D039+0 - !BYTE $68 ; LAB _D046+0 -_F053 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $84 ; SUB - !BYTE $3A,$02 ; SUBI 2 - !BYTE $78 ; SAB _D040+0 -_F054 !WORD _D040+0 - !BYTE $68 ; LAB _D046+0 -_F055 !WORD _D046+0 - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D046+0 -_F056 !WORD _D046+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0317: // -; toolsrc/ed.pla: 0318: // String routines -; toolsrc/ed.pla: 0319: // -; toolsrc/ed.pla: 0320: def fillnum(huns, tens, ones, chrptr)#3 - ; huns -> [0] - ; tens -> [2] - ; ones -> [4] - ; chrptr -> [6] -_C006 ; fillnum() -; toolsrc/ed.pla: 0321: if huns - !BYTE $58,$08,$04 ; ENTER 8,4 -; toolsrc/ed.pla: 0322: chrptr->[0] = '0' + huns -; toolsrc/ed.pla: 0323: chrptr->[1] = '0' + tens -; toolsrc/ed.pla: 0324: chrptr->[2] = '0' + ones -; toolsrc/ed.pla: 0325: ones++ - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $2A,$30 ; CB 48 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $2A,$30 ; CB 48 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$30 ; CB 48 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0326: if ones > 9 -; toolsrc/ed.pla: 0327: ones = 0 -; toolsrc/ed.pla: 0328: tens++ - !BYTE $6E,$04 ; DLW [4] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0329: if tens > 9 -; toolsrc/ed.pla: 0330: tens = 0 -; toolsrc/ed.pla: 0331: huns++ - !BYTE $6E,$02 ; DLW [2] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0332: fin - !BYTE $76,$00 ; SLW [0] -_B035 -_B036 -; toolsrc/ed.pla: 0333: fin -_B033 -_B034 -; toolsrc/ed.pla: 0334: elsif tens - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B031 -; toolsrc/ed.pla: 0335: chrptr->[0] = ' ' -; toolsrc/ed.pla: 0336: chrptr->[1] = '0' + tens -; toolsrc/ed.pla: 0337: chrptr->[2] = '0' + ones -; toolsrc/ed.pla: 0338: ones++ - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $2A,$30 ; CB 48 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$30 ; CB 48 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0339: if ones > 9 -; toolsrc/ed.pla: 0340: ones = 0 -; toolsrc/ed.pla: 0341: tens++ - !BYTE $6E,$04 ; DLW [4] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B038 - !WORD _B038-* - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0342: if tens > 9 -; toolsrc/ed.pla: 0343: tens = 0 -; toolsrc/ed.pla: 0344: huns = 1 -; toolsrc/ed.pla: 0345: fin - !BYTE $6E,$02 ; DLW [2] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $02 ; CN 1 - !BYTE $76,$00 ; SLW [0] -_B040 -_B041 -; toolsrc/ed.pla: 0346: fin -_B038 -_B039 -; toolsrc/ed.pla: 0347: elsif ones - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B037 -; toolsrc/ed.pla: 0348: chrptr->[0] = ' ' -; toolsrc/ed.pla: 0349: chrptr->[1] = ' ' -; toolsrc/ed.pla: 0350: chrptr->[2] = '0' + ones -; toolsrc/ed.pla: 0351: ones++ - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $2A,$20 ; CB 32 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $2A,$30 ; CB 48 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0352: if ones > 9 -; toolsrc/ed.pla: 0353: ones = 0 -; toolsrc/ed.pla: 0354: tens = 1 -; toolsrc/ed.pla: 0355: fin - !BYTE $6E,$04 ; DLW [4] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] -_B043 -_B044 -; toolsrc/ed.pla: 0356: fin -_B042 -_B032 -; toolsrc/ed.pla: 0357: return huns, tens, ones - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/ed.pla: 0358: end -; toolsrc/ed.pla: 0359: def strtonum(strptr) - ; strptr -> [0] -_C007 ; strtonum() -; toolsrc/ed.pla: 0360: word num, i - ; num -> [2] - ; i -> [4] -; toolsrc/ed.pla: 0361: byte c - ; c -> [6] -; toolsrc/ed.pla: 0362: -; toolsrc/ed.pla: 0363: num = 0 - !BYTE $58,$07,$01 ; ENTER 7,1 -; toolsrc/ed.pla: 0364: for i = 1 to ^strptr - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B045 - !WORD _B045-* -_B046 - !BYTE $6E,$04 ; DLW [4] -; toolsrc/ed.pla: 0365: c = ^(strptr + i) & $7F -; toolsrc/ed.pla: 0366: if c < '0' and c > '9' -; toolsrc/ed.pla: 0367: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $60 ; LB - !BYTE $3C,$7F ; ANDI 127 - !BYTE $6C,$06 ; DLB [6] - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B048 - !WORD _B048-* - !BYTE $64,$06 ; LLB [6] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B048 - !BYTE $4C ; BRFLS _B049 - !WORD _B049-* - !BYTE $50 ; BRNCH _B045 - !WORD _B045-* -; toolsrc/ed.pla: 0368: fin -_B049 -_B050 -; toolsrc/ed.pla: 0369: num = num * 10 + c - '0' -; toolsrc/ed.pla: 0370: next - !BYTE $66,$02 ; LLW [2] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$02 ; SLW [2] -_B047 - !BYTE $A4 ; INCBRLE _B046 - !WORD _B046-* -_B045 - !BYTE $76,$04 ; SLW [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0371: return num - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/ed.pla: 0372: end -; toolsrc/ed.pla: 0373: def nametostr(namestr, len, strptr)#0 - ; namestr -> [0] - ; len -> [2] - ; strptr -> [4] -_C008 ; nametostr() -; toolsrc/ed.pla: 0374: ^strptr = len - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/ed.pla: 0375: memcpy(strptr + 1, namestr, len) -; toolsrc/ed.pla: 0376: end - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X018 -_F057 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 0377: // -; toolsrc/ed.pla: 0378: // File routines -; toolsrc/ed.pla: 0379: // -; toolsrc/ed.pla: 0380: def readtxt(filename, startline)#0 - ; filename -> [0] - ; startline -> [2] -_C009 ; readtxt() -; toolsrc/ed.pla: 0381: byte refnum, i, j, txtbuf[MAXLNLEN+2] - ; refnum -> [4] - ; i -> [5] - ; j -> [6] - ; txtbuf -> [7] -; toolsrc/ed.pla: 0382: -; toolsrc/ed.pla: 0383: refnum = fileio:open(filename) - !BYTE $58,$88,$02 ; ENTER 136,2 -; toolsrc/ed.pla: 0384: if refnum -; toolsrc/ed.pla: 0385: fileio:newline(refnum, $7F, $0D) -; toolsrc/ed.pla: 0386: numlines = startline -; toolsrc/ed.pla: 0387: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+14 -_F058 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$04 ; DLB [4] - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $64,$04 ; LLB [4] - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F059 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D047+0 -_F060 !WORD _D047+0 -_B054 -; toolsrc/ed.pla: 0388: txtbuf = fileio:read(refnum, @txtbuf + 1, MAXLNLEN) -; toolsrc/ed.pla: 0389: if txtbuf -; toolsrc/ed.pla: 0390: txtlinbuf=>[numlines] = newstr(@txtbuf) -; toolsrc/ed.pla: 0391: numlines++ - !BYTE $64,$04 ; LLB [4] - !BYTE $28,$08 ; LLA [8] - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _X031+18 -_F061 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6C,$07 ; DLB [7] - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _C004 -_F062 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F063 !WORD _D053+0 - !BYTE $BE ; IDXAW _D047+0 -_F064 !WORD _D047+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D047+0 -_F065 !WORD _D047+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0392: fin - !BYTE $7A ; SAW _D047+0 -_F066 !WORD _D047+0 -_B056 -_B057 -; toolsrc/ed.pla: 0393: if !(numlines & $0F); putc('.'); fin - !BYTE $6A ; LAW _D047+0 -_F067 !WORD _D047+0 - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4E ; BRTRU _B058 - !WORD _B058-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F068 !WORD 0 -_B058 -_B059 -; toolsrc/ed.pla: 0394: until txtbuf == 0 or numlines == MAXLINES -_B055 - !BYTE $64,$07 ; LLB [7] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B060 - !WORD _B060-* - !BYTE $6A ; LAW _D047+0 -_F069 !WORD _D047+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $40 ; ISEQ -_B060 - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* -_B053 -; toolsrc/ed.pla: 0395: fileio:close(refnum) -; toolsrc/ed.pla: 0396: // -; toolsrc/ed.pla: 0397: // Make sure there is a blank line at the end of the buffer -; toolsrc/ed.pla: 0398: // -; toolsrc/ed.pla: 0399: if numlines < MAXLINES and txtlinbuf=>[numlines - 1] <> @nullstr -; toolsrc/ed.pla: 0400: txtlinbuf=>[numlines] = @nullstr -; toolsrc/ed.pla: 0401: numlines++ - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X031+16 -_F070 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D047+0 -_F071 !WORD _D047+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B061 - !WORD _B061-* - !BYTE $6A ; LAW _D053+0 -_F072 !WORD _D053+0 - !BYTE $6A ; LAW _D047+0 -_F073 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F074 !WORD _D043+0 - !BYTE $42 ; ISNE -_B061 - !BYTE $4C ; BRFLS _B062 - !WORD _B062-* - !BYTE $26 ; LA _D043+0 -_F075 !WORD _D043+0 - !BYTE $6A ; LAW _D053+0 -_F076 !WORD _D053+0 - !BYTE $BE ; IDXAW _D047+0 -_F077 !WORD _D047+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D047+0 -_F078 !WORD _D047+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0402: fin - !BYTE $7A ; SAW _D047+0 -_F079 !WORD _D047+0 -_B062 -_B063 -; toolsrc/ed.pla: 0403: fin -_B051 -_B052 -; toolsrc/ed.pla: 0404: putln -; toolsrc/ed.pla: 0405: end - !BYTE $54 ; CALL _X003 -_F080 !WORD 0 - !BYTE $5A,$88 ; LEAVE 136 -; toolsrc/ed.pla: 0406: def writetxt(filename)#0 - ; filename -> [0] -_C010 ; writetxt() -; toolsrc/ed.pla: 0407: word i - ; i -> [2] -; toolsrc/ed.pla: 0408: byte refnum, txtbuf[MAXLNLEN+2], txtlen - ; refnum -> [4] - ; txtbuf -> [5] - ; txtlen -> [134] -; toolsrc/ed.pla: 0409: -; toolsrc/ed.pla: 0410: // -; toolsrc/ed.pla: 0411: // Remove blank lines at end of text. -; toolsrc/ed.pla: 0412: // -; toolsrc/ed.pla: 0413: while numlines > 1 and txtlinbuf=>[numlines - 1] == @nullstr; numlines--; loop - !BYTE $58,$87,$01 ; ENTER 135,1 - !BYTE $50 ; BRNCH _B066 - !WORD _B066-* -_B064 - !BYTE $6A ; LAW _D047+0 -_F081 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D047+0 -_F082 !WORD _D047+0 -_B066 - !BYTE $6A ; LAW _D047+0 -_F083 !WORD _D047+0 - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B067 - !WORD _B067-* - !BYTE $6A ; LAW _D053+0 -_F084 !WORD _D053+0 - !BYTE $6A ; LAW _D047+0 -_F085 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F086 !WORD _D043+0 - !BYTE $40 ; ISEQ -_B067 - !BYTE $4E ; BRTRU _B064 - !WORD _B064-* -_B065 -; toolsrc/ed.pla: 0414: // -; toolsrc/ed.pla: 0415: // Delete old file and re-create -; toolsrc/ed.pla: 0416: // -; toolsrc/ed.pla: 0417: fileio:destroy(filename) -; toolsrc/ed.pla: 0418: fileio:create(filename, $04, $00) // full access, TXT file -; toolsrc/ed.pla: 0419: refnum = fileio:open(filename) -; toolsrc/ed.pla: 0420: if refnum == 0 -; toolsrc/ed.pla: 0421: puts("\nError $"); puth(perr); puts(" opening: "); puts(filename); putln - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+24 -_F087 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+22 -_F088 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+14 -_F089 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $6C,$04 ; DLB [4] - !BYTE $4E ; BRTRU _B068 - !WORD _B068-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$24 - !BYTE $54 ; CALL _X004 -_F090 !WORD 0 - !BYTE $68 ; LAB _X032+0 -_F091 !WORD 0+0 - !BYTE $54 ; CALL _X009 -_F092 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$6F,$70,$65,$6E,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F093 !WORD 0 -; toolsrc/ed.pla: 0422: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F094 !WORD 0 - !BYTE $54 ; CALL _X003 -_F095 !WORD 0 - !BYTE $5A,$87 ; LEAVE 135 -; toolsrc/ed.pla: 0423: fin -_B068 -_B069 -; toolsrc/ed.pla: 0424: // -; toolsrc/ed.pla: 0425: // Write all the text lines to the file. -; toolsrc/ed.pla: 0426: // -; toolsrc/ed.pla: 0427: for i = 0 to numlines - 1 - !BYTE $6A ; LAW _D047+0 -_F096 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B070 - !WORD _B070-* -_B071 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/ed.pla: 0428: txtlen = ^(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0429: memcpy(@txtbuf, txtlinbuf=>[i] + 1, txtlen) -; toolsrc/ed.pla: 0430: txtbuf[txtlen] = keyenter -; toolsrc/ed.pla: 0431: txtlen++ - !BYTE $6A ; LAW _D053+0 -_F097 !WORD _D053+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $74,$86 ; SLB [134] - !BYTE $28,$05 ; LLA [5] - !BYTE $6A ; LAW _D053+0 -_F098 !WORD _D053+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $64,$86 ; LLB [134] - !BYTE $54 ; CALL _X018 -_F099 !WORD 0 - !BYTE $1A ; CN 13 - !BYTE $28,$05 ; LLA [5] - !BYTE $B0,$86 ; ADDLB [134] - !BYTE $70 ; SB - !BYTE $64,$86 ; LLB [134] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0432: if fileio:write(refnum, @txtbuf, txtlen) <> txtlen -; toolsrc/ed.pla: 0433: puts("\nError $"); puth(perr); puts(" writing: "); puts(filename); putln - !BYTE $74,$86 ; SLB [134] - !BYTE $64,$04 ; LLB [4] - !BYTE $28,$05 ; LLA [5] - !BYTE $64,$86 ; LLB [134] - !BYTE $6A ; LAW _X031+20 -_F100 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $64,$86 ; LLB [134] - !BYTE $22 ; BREQ _B073 - !WORD _B073-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$24 - !BYTE $54 ; CALL _X004 -_F101 !WORD 0 - !BYTE $68 ; LAB _X032+0 -_F102 !WORD 0+0 - !BYTE $54 ; CALL _X009 -_F103 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$77,$72,$69,$74,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F104 !WORD 0 -; toolsrc/ed.pla: 0434: fileio:close(refnum) -; toolsrc/ed.pla: 0435: return - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F105 !WORD 0 - !BYTE $54 ; CALL _X003 -_F106 !WORD 0 - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X031+16 -_F107 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $5A,$87 ; LEAVE 135 -; toolsrc/ed.pla: 0436: fin -_B073 -_B074 -; toolsrc/ed.pla: 0437: if !(i & $0F); putc('.'); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4E ; BRTRU _B075 - !WORD _B075-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F108 !WORD 0 -_B075 -_B076 -; toolsrc/ed.pla: 0438: next -_B072 - !BYTE $A4 ; INCBRLE _B071 - !WORD _B071-* -_B070 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0439: if fileio:close(refnum) <> FILE_ERR_OK -; toolsrc/ed.pla: 0440: puts("\nError $"); puth(perr); puts(" closing: "); puts(filename) - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X031+16 -_F109 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$24 - !BYTE $54 ; CALL _X004 -_F110 !WORD 0 - !BYTE $68 ; LAB _X032+0 -_F111 !WORD 0+0 - !BYTE $54 ; CALL _X009 -_F112 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$63,$6C,$6F,$73,$69,$6E,$67 - !BYTE $3A,$20 - !BYTE $54 ; CALL _X004 -_F113 !WORD 0 -; toolsrc/ed.pla: 0441: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F114 !WORD 0 -_B077 -_B078 -; toolsrc/ed.pla: 0442: putln -; toolsrc/ed.pla: 0443: end - !BYTE $54 ; CALL _X003 -_F115 !WORD 0 - !BYTE $5A,$87 ; LEAVE 135 -; toolsrc/ed.pla: 0444: // -; toolsrc/ed.pla: 0445: // Screen routines -; toolsrc/ed.pla: 0446: // -; toolsrc/ed.pla: 0447: def drawstr(row, strptr)#0 - ; row -> [0] - ; strptr -> [2] -_C011 ; drawstr() -; toolsrc/ed.pla: 0448: word numchars - ; numchars -> [4] -; toolsrc/ed.pla: 0449: -; toolsrc/ed.pla: 0450: conio:gotoxy(flags & gutter, row) - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/ed.pla: 0451: numchars = ^strptr - viewleft -; toolsrc/ed.pla: 0452: if numchars >= viewwidth -; toolsrc/ed.pla: 0453: conio:putchars(viewwidth, strptr + viewleft + 1) -; toolsrc/ed.pla: 0454: else - !BYTE $68 ; LAB _D046+0 -_F116 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X033+8 -_F117 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D041+0 -_F118 !WORD _D041+0 - !BYTE $84 ; SUB - !BYTE $6E,$04 ; DLW [4] - !BYTE $68 ; LAB _D040+0 -_F119 !WORD _D040+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B079 - !WORD _B079-* - !BYTE $68 ; LAB _D040+0 -_F120 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $B4 ; ADDAB _D041+0 -_F121 !WORD _D041+0 - !BYTE $8C ; INCR - !BYTE $6A ; LAW _X033+4 -_F122 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B080 - !WORD _B080-* -_B079 -; toolsrc/ed.pla: 0455: conio:putchars(numchars, strptr + viewleft + 1) -; toolsrc/ed.pla: 0456: conio:clear(cleol) -; toolsrc/ed.pla: 0457: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $B4 ; ADDAB _D041+0 -_F123 !WORD _D041+0 - !BYTE $8C ; INCR - !BYTE $6A ; LAW _X033+4 -_F124 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+6 -_F125 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B080 -; toolsrc/ed.pla: 0458: end - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 0459: def drawgutterrow(row)#0 - ; row -> [0] -_C012 ; drawgutterrow() -; toolsrc/ed.pla: 0460: byte seperator, huns, tens, ones - ; seperator -> [2] - ; huns -> [3] - ; tens -> [4] - ; ones -> [5] -; toolsrc/ed.pla: 0461: word scrnrow - ; scrnrow -> [6] -; toolsrc/ed.pla: 0462: char gutterchars[3] - ; gutterchars -> [8] -; toolsrc/ed.pla: 0463: -; toolsrc/ed.pla: 0464: // -; toolsrc/ed.pla: 0465: // Draw line numbers and gutter hilites -; toolsrc/ed.pla: 0466: // -; toolsrc/ed.pla: 0467: if flags & gutter - !BYTE $58,$0B,$01 ; ENTER 11,1 -; toolsrc/ed.pla: 0468: scrnrow = row + viewtop -; toolsrc/ed.pla: 0469: huns, tens = divmod(scrnrow + 1, 100) -; toolsrc/ed.pla: 0470: tens, ones = divmod(tens, 10) -; toolsrc/ed.pla: 0471: if scrnrow < numlines -; toolsrc/ed.pla: 0472: seperator = viewleft ?? '<' :: ' ' -; toolsrc/ed.pla: 0473: if flags & selection -; toolsrc/ed.pla: 0474: if (scrnrow >= selrow and scrnrow <= cursrow) or (scrnrow >= cursrow and scrnrow <= selrow) -; toolsrc/ed.pla: 0475: seperator = '[' -; toolsrc/ed.pla: 0476: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0477: fin - !BYTE $68 ; LAB _D046+0 -_F126 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B081 - !WORD _B081-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B6 ; ADDAW _D042+0 -_F127 !WORD _D042+0 - !BYTE $6E,$06 ; DLW [6] - !BYTE $8C ; INCR - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X023 -_F128 !WORD 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $74,$03 ; SLB [3] - !BYTE $64,$04 ; LLB [4] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X023 -_F129 !WORD 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D047+0 -_F130 !WORD _D047+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B083 - !WORD _B083-* - !BYTE $68 ; LAB _D041+0 -_F131 !WORD _D041+0 - !BYTE $4C ; BRFLS _B085 - !WORD _B085-* - !BYTE $2A,$3C ; CB 60 - !BYTE $50 ; BRNCH _B086 - !WORD _B086-* -_B085 - !BYTE $2A,$20 ; CB 32 -_B086 - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _D046+0 -_F132 !WORD _D046+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D059+0 -_F133 !WORD _D059+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B089 - !WORD _B089-* - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D057+0 -_F134 !WORD _D057+0 - !BYTE $4A ; ISLE -_B089 - !BYTE $AE ; BROR _B090 - !WORD _B090-* - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D057+0 -_F135 !WORD _D057+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B091 - !WORD _B091-* - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D059+0 -_F136 !WORD _D059+0 - !BYTE $4A ; ISLE -_B091 -_B090 - !BYTE $4C ; BRFLS _B092 - !WORD _B092-* - !BYTE $2A,$5B ; CB 91 - !BYTE $74,$02 ; SLB [2] - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F137 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B092 -_B093 -; toolsrc/ed.pla: 0478: fin -_B087 -_B088 -; toolsrc/ed.pla: 0479: if scrnrow == cursrow -; toolsrc/ed.pla: 0480: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0481: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D057+0 -_F138 !WORD _D057+0 - !BYTE $24 ; BRNE _B094 - !WORD _B094-* - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F139 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B094 -_B095 -; toolsrc/ed.pla: 0482: huns, tens, ones = fillnum(huns, tens, ones, @gutterchars) -; toolsrc/ed.pla: 0483: conio:gotoxy(0, row) -; toolsrc/ed.pla: 0484: conio:putchars(3, @gutterchars) -; toolsrc/ed.pla: 0485: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0486: putc(seperator) -; toolsrc/ed.pla: 0487: conio:textctrl(ctrlattr, NORMAL) -; toolsrc/ed.pla: 0488: fin - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $28,$08 ; LLA [8] - !BYTE $54 ; CALL _C006 -_F140 !WORD _C006 - !BYTE $74,$05 ; SLB [5] - !BYTE $74,$04 ; SLB [4] - !BYTE $74,$03 ; SLB [3] - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X033+8 -_F141 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $28,$08 ; LLA [8] - !BYTE $6A ; LAW _X033+4 -_F142 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F143 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X002 -_F144 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $2A,$FF ; CB 255 - !BYTE $6A ; LAW _X033+12 -_F145 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B083 -_B084 -; toolsrc/ed.pla: 0489: fin -_B081 -_B082 -; toolsrc/ed.pla: 0490: end - !BYTE $5A,$0B ; LEAVE 11 -; toolsrc/ed.pla: 0491: def drawgutter#0 -_C013 ; drawgutter() -; toolsrc/ed.pla: 0492: byte row, seperator, huns, tens, ones - ; row -> [0] - ; seperator -> [1] - ; huns -> [2] - ; tens -> [3] - ; ones -> [4] -; toolsrc/ed.pla: 0493: word scrnrow - ; scrnrow -> [5] -; toolsrc/ed.pla: 0494: char gutterchars[3] - ; gutterchars -> [7] -; toolsrc/ed.pla: 0495: -; toolsrc/ed.pla: 0496: // -; toolsrc/ed.pla: 0497: // Draw line numbers and gutter hilites -; toolsrc/ed.pla: 0498: // -; toolsrc/ed.pla: 0499: if flags & gutter - !BYTE $58,$0A,$00 ; ENTER 10,0 -; toolsrc/ed.pla: 0500: seperator = viewleft ?? '<' :: ' ' -; toolsrc/ed.pla: 0501: huns, tens = divmod(viewtop + 1, 100) -; toolsrc/ed.pla: 0502: tens, ones = divmod(tens, 10) -; toolsrc/ed.pla: 0503: for row = 0 to scrnheight-1 - !BYTE $68 ; LAB _D046+0 -_F146 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B096 - !WORD _B096-* - !BYTE $68 ; LAB _D041+0 -_F147 !WORD _D041+0 - !BYTE $4C ; BRFLS _B098 - !WORD _B098-* - !BYTE $2A,$3C ; CB 60 - !BYTE $50 ; BRNCH _B099 - !WORD _B099-* -_B098 - !BYTE $2A,$20 ; CB 32 -_B099 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D042+0 -_F148 !WORD _D042+0 - !BYTE $8C ; INCR - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X023 -_F149 !WORD 0 - !BYTE $74,$03 ; SLB [3] - !BYTE $74,$02 ; SLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X023 -_F150 !WORD 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $74,$03 ; SLB [3] - !BYTE $6A ; LAW _D038+0 -_F151 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B100 - !WORD _B100-* -_B101 - !BYTE $6C,$00 ; DLB [0] -; toolsrc/ed.pla: 0504: scrnrow = row + viewtop -; toolsrc/ed.pla: 0505: if scrnrow < numlines -; toolsrc/ed.pla: 0506: seperator = viewleft ?? '<' :: ' ' -; toolsrc/ed.pla: 0507: if flags & selection -; toolsrc/ed.pla: 0508: if (scrnrow >= selrow and scrnrow <= cursrow) or (scrnrow >= cursrow and scrnrow <= selrow) -; toolsrc/ed.pla: 0509: seperator = '[' -; toolsrc/ed.pla: 0510: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0511: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $B6 ; ADDAW _D042+0 -_F152 !WORD _D042+0 - !BYTE $6E,$05 ; DLW [5] - !BYTE $6A ; LAW _D047+0 -_F153 !WORD _D047+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $68 ; LAB _D041+0 -_F154 !WORD _D041+0 - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $2A,$3C ; CB 60 - !BYTE $50 ; BRNCH _B106 - !WORD _B106-* -_B105 - !BYTE $2A,$20 ; CB 32 -_B106 - !BYTE $74,$01 ; SLB [1] - !BYTE $68 ; LAB _D046+0 -_F155 !WORD _D046+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B107 - !WORD _B107-* - !BYTE $66,$05 ; LLW [5] - !BYTE $6A ; LAW _D059+0 -_F156 !WORD _D059+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B109 - !WORD _B109-* - !BYTE $66,$05 ; LLW [5] - !BYTE $6A ; LAW _D057+0 -_F157 !WORD _D057+0 - !BYTE $4A ; ISLE -_B109 - !BYTE $AE ; BROR _B110 - !WORD _B110-* - !BYTE $66,$05 ; LLW [5] - !BYTE $6A ; LAW _D057+0 -_F158 !WORD _D057+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B111 - !WORD _B111-* - !BYTE $66,$05 ; LLW [5] - !BYTE $6A ; LAW _D059+0 -_F159 !WORD _D059+0 - !BYTE $4A ; ISLE -_B111 -_B110 - !BYTE $4C ; BRFLS _B112 - !WORD _B112-* - !BYTE $2A,$5B ; CB 91 - !BYTE $74,$01 ; SLB [1] - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F160 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B112 -_B113 -; toolsrc/ed.pla: 0512: fin -_B107 -_B108 -; toolsrc/ed.pla: 0513: if scrnrow == cursrow -; toolsrc/ed.pla: 0514: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0515: fin - !BYTE $66,$05 ; LLW [5] - !BYTE $6A ; LAW _D057+0 -_F161 !WORD _D057+0 - !BYTE $24 ; BRNE _B114 - !WORD _B114-* - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F162 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B114 -_B115 -; toolsrc/ed.pla: 0516: huns, tens, ones = fillnum(huns, tens, ones, @gutterchars) -; toolsrc/ed.pla: 0517: conio:gotoxy(0, row) -; toolsrc/ed.pla: 0518: conio:putchars(3, @gutterchars) -; toolsrc/ed.pla: 0519: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0520: putc(seperator) -; toolsrc/ed.pla: 0521: conio:textctrl(ctrlattr, NORMAL) -; toolsrc/ed.pla: 0522: fin - !BYTE $64,$02 ; LLB [2] - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$04 ; LLB [4] - !BYTE $28,$07 ; LLA [7] - !BYTE $54 ; CALL _C006 -_F163 !WORD _C006 - !BYTE $74,$04 ; SLB [4] - !BYTE $74,$03 ; SLB [3] - !BYTE $74,$02 ; SLB [2] - !BYTE $00 ; CN 0 - !BYTE $64,$00 ; LLB [0] - !BYTE $6A ; LAW _X033+8 -_F164 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _X033+4 -_F165 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F166 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _X002 -_F167 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $2A,$FF ; CB 255 - !BYTE $6A ; LAW _X033+12 -_F168 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B103 -_B104 -; toolsrc/ed.pla: 0523: next -_B102 - !BYTE $A4 ; INCBRLE _B101 - !WORD _B101-* -_B100 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0524: fin -_B096 -_B097 -; toolsrc/ed.pla: 0525: end - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/ed.pla: 0526: def drawrows(toprow, bottomrow)#0 - ; toprow -> [0] - ; bottomrow -> [2] -_C014 ; drawrows() -; toolsrc/ed.pla: 0527: byte row, seperator, huns, tens, ones - ; row -> [4] - ; seperator -> [5] - ; huns -> [6] - ; tens -> [7] - ; ones -> [8] -; toolsrc/ed.pla: 0528: word scrnrow, strptr, numchars - ; scrnrow -> [9] - ; strptr -> [11] - ; numchars -> [13] -; toolsrc/ed.pla: 0529: char gutterchars[3] - ; gutterchars -> [15] -; toolsrc/ed.pla: 0530: -; toolsrc/ed.pla: 0531: // -; toolsrc/ed.pla: 0532: // Draw gutter and text -; toolsrc/ed.pla: 0533: // -; toolsrc/ed.pla: 0534: huns, tens = divmod(viewtop + toprow + 1, 100) - !BYTE $58,$12,$02 ; ENTER 18,2 -; toolsrc/ed.pla: 0535: tens, ones = divmod(tens, 10) -; toolsrc/ed.pla: 0536: for row = toprow to bottomrow - !BYTE $6A ; LAW _D042+0 -_F169 !WORD _D042+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $8C ; INCR - !BYTE $2A,$64 ; CB 100 - !BYTE $54 ; CALL _X023 -_F170 !WORD 0 - !BYTE $74,$07 ; SLB [7] - !BYTE $74,$06 ; SLB [6] - !BYTE $64,$07 ; LLB [7] - !BYTE $14 ; CN 10 - !BYTE $54 ; CALL _X023 -_F171 !WORD 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $A0 ; BRGT _B116 - !WORD _B116-* -_B117 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0537: conio:gotoxy(0, row) -; toolsrc/ed.pla: 0538: scrnrow = row + viewtop -; toolsrc/ed.pla: 0539: if scrnrow < numlines -; toolsrc/ed.pla: 0540: if flags & gutter -; toolsrc/ed.pla: 0541: seperator = viewleft ?? '<' :: ' ' -; toolsrc/ed.pla: 0542: if flags & selection -; toolsrc/ed.pla: 0543: if (scrnrow >= selrow and scrnrow <= cursrow) or (scrnrow >= cursrow and scrnrow <= selrow) -; toolsrc/ed.pla: 0544: seperator = '[' -; toolsrc/ed.pla: 0545: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0546: fin - !BYTE $00 ; CN 0 - !BYTE $64,$04 ; LLB [4] - !BYTE $6A ; LAW _X033+8 -_F172 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$04 ; LLB [4] - !BYTE $B6 ; ADDAW _D042+0 -_F173 !WORD _D042+0 - !BYTE $6E,$09 ; DLW [9] - !BYTE $6A ; LAW _D047+0 -_F174 !WORD _D047+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $68 ; LAB _D046+0 -_F175 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B121 - !WORD _B121-* - !BYTE $68 ; LAB _D041+0 -_F176 !WORD _D041+0 - !BYTE $4C ; BRFLS _B123 - !WORD _B123-* - !BYTE $2A,$3C ; CB 60 - !BYTE $50 ; BRNCH _B124 - !WORD _B124-* -_B123 - !BYTE $2A,$20 ; CB 32 -_B124 - !BYTE $74,$05 ; SLB [5] - !BYTE $68 ; LAB _D046+0 -_F177 !WORD _D046+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B125 - !WORD _B125-* - !BYTE $66,$09 ; LLW [9] - !BYTE $6A ; LAW _D059+0 -_F178 !WORD _D059+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B127 - !WORD _B127-* - !BYTE $66,$09 ; LLW [9] - !BYTE $6A ; LAW _D057+0 -_F179 !WORD _D057+0 - !BYTE $4A ; ISLE -_B127 - !BYTE $AE ; BROR _B128 - !WORD _B128-* - !BYTE $66,$09 ; LLW [9] - !BYTE $6A ; LAW _D057+0 -_F180 !WORD _D057+0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B129 - !WORD _B129-* - !BYTE $66,$09 ; LLW [9] - !BYTE $6A ; LAW _D059+0 -_F181 !WORD _D059+0 - !BYTE $4A ; ISLE -_B129 -_B128 - !BYTE $4C ; BRFLS _B130 - !WORD _B130-* - !BYTE $2A,$5B ; CB 91 - !BYTE $74,$05 ; SLB [5] - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F182 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B130 -_B131 -; toolsrc/ed.pla: 0547: fin -_B125 -_B126 -; toolsrc/ed.pla: 0548: if scrnrow == cursrow -; toolsrc/ed.pla: 0549: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0550: fin - !BYTE $66,$09 ; LLW [9] - !BYTE $6A ; LAW _D057+0 -_F183 !WORD _D057+0 - !BYTE $24 ; BRNE _B132 - !WORD _B132-* - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F184 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B132 -_B133 -; toolsrc/ed.pla: 0551: huns, tens, ones = fillnum(huns, tens, ones, @gutterchars) -; toolsrc/ed.pla: 0552: conio:putchars(3, @gutterchars) -; toolsrc/ed.pla: 0553: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 0554: putc(seperator) -; toolsrc/ed.pla: 0555: conio:textctrl(ctrlattr, NORMAL) -; toolsrc/ed.pla: 0556: fin - !BYTE $64,$06 ; LLB [6] - !BYTE $64,$07 ; LLB [7] - !BYTE $64,$08 ; LLB [8] - !BYTE $28,$0F ; LLA [15] - !BYTE $54 ; CALL _C006 -_F185 !WORD _C006 - !BYTE $74,$08 ; SLB [8] - !BYTE $74,$07 ; SLB [7] - !BYTE $74,$06 ; SLB [6] - !BYTE $06 ; CN 3 - !BYTE $28,$0F ; LLA [15] - !BYTE $6A ; LAW _X033+4 -_F186 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F187 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$05 ; LLB [5] - !BYTE $54 ; CALL _X002 -_F188 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $2A,$FF ; CB 255 - !BYTE $6A ; LAW _X033+12 -_F189 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B121 -_B122 -; toolsrc/ed.pla: 0557: strptr = txtlinbuf=>[scrnrow] -; toolsrc/ed.pla: 0558: numchars = ^strptr - viewleft -; toolsrc/ed.pla: 0559: if numchars >= viewwidth -; toolsrc/ed.pla: 0560: numchars = viewwidth -; toolsrc/ed.pla: 0561: fin - !BYTE $6A ; LAW _D053+0 -_F190 !WORD _D053+0 - !BYTE $BA,$09 ; IDXLW [9] - !BYTE $62 ; LW - !BYTE $6E,$0B ; DLW [11] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D041+0 -_F191 !WORD _D041+0 - !BYTE $84 ; SUB - !BYTE $6E,$0D ; DLW [13] - !BYTE $68 ; LAB _D040+0 -_F192 !WORD _D040+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B134 - !WORD _B134-* - !BYTE $68 ; LAB _D040+0 -_F193 !WORD _D040+0 - !BYTE $76,$0D ; SLW [13] -_B134 -_B135 -; toolsrc/ed.pla: 0562: conio:putchars(numchars, strptr + viewleft + 1) -; toolsrc/ed.pla: 0563: fin - !BYTE $66,$0D ; LLW [13] - !BYTE $66,$0B ; LLW [11] - !BYTE $B4 ; ADDAB _D041+0 -_F194 !WORD _D041+0 - !BYTE $8C ; INCR - !BYTE $6A ; LAW _X033+4 -_F195 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B119 -_B120 -; toolsrc/ed.pla: 0564: conio:clear(cleol) -; toolsrc/ed.pla: 0565: next - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+6 -_F196 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B118 - !BYTE $A4 ; INCBRLE _B117 - !WORD _B117-* -_B116 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0566: end - !BYTE $5A,$12 ; LEAVE 18 -; toolsrc/ed.pla: 0567: def drawscrn#0 -_C015 ; drawscrn() -; toolsrc/ed.pla: 0568: drawrows(0, scrnheight - 1) -; toolsrc/ed.pla: 0569: end - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D038+0 -_F197 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C014 -_F198 !WORD _C014 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0570: def curshpos(hpos)#1 - ; hpos -> [0] -_C016 ; curshpos() -; toolsrc/ed.pla: 0571: byte needredraw, scrnleft, scrnright - ; needredraw -> [2] - ; scrnleft -> [3] - ; scrnright -> [4] -; toolsrc/ed.pla: 0572: -; toolsrc/ed.pla: 0573: needredraw = TRUE - !BYTE $58,$05,$01 ; ENTER 5,1 -; toolsrc/ed.pla: 0574: if hpos < 0; hpos = 0; fin - !BYTE $20 ; MINUS ONE - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B136 - !WORD _B136-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B136 -_B137 -; toolsrc/ed.pla: 0575: if hpos > MAXLNLEN; hpos = MAXLNLEN; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$7F ; CB 127 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B138 - !WORD _B138-* - !BYTE $2A,$7F ; CB 127 - !BYTE $76,$00 ; SLW [0] -_B138 -_B139 -; toolsrc/ed.pla: 0576: scrnleft = flags & gutter -; toolsrc/ed.pla: 0577: scrnright = scrnwidth - 2 -; toolsrc/ed.pla: 0578: curscol = hpos -; toolsrc/ed.pla: 0579: cursx = curscol - viewleft + scrnleft -; toolsrc/ed.pla: 0580: if cursx > scrnright -; toolsrc/ed.pla: 0581: cursx = scrnright -; toolsrc/ed.pla: 0582: viewleft = curscol - viewwidth -; toolsrc/ed.pla: 0583: elsif cursx < scrnleft - !BYTE $68 ; LAB _D046+0 -_F199 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $74,$03 ; SLB [3] - !BYTE $68 ; LAB _D039+0 -_F200 !WORD _D039+0 - !BYTE $3A,$02 ; SUBI 2 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D058+0 -_F201 !WORD _D058+0 - !BYTE $68 ; LAB _D041+0 -_F202 !WORD _D041+0 - !BYTE $84 ; SUB - !BYTE $B0,$03 ; ADDLB [3] - !BYTE $7E ; DAW _D055+0 -_F203 !WORD _D055+0 - !BYTE $64,$04 ; LLB [4] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B140 - !WORD _B140-* - !BYTE $64,$04 ; LLB [4] - !BYTE $7A ; SAW _D055+0 -_F204 !WORD _D055+0 - !BYTE $6A ; LAW _D058+0 -_F205 !WORD _D058+0 - !BYTE $68 ; LAB _D040+0 -_F206 !WORD _D040+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D041+0 -_F207 !WORD _D041+0 - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -_B140 -; toolsrc/ed.pla: 0584: cursx = scrnleft -; toolsrc/ed.pla: 0585: viewleft = curscol -; toolsrc/ed.pla: 0586: else - !BYTE $6A ; LAW _D055+0 -_F208 !WORD _D055+0 - !BYTE $64,$03 ; LLB [3] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B142 - !WORD _B142-* - !BYTE $64,$03 ; LLB [3] - !BYTE $7A ; SAW _D055+0 -_F209 !WORD _D055+0 - !BYTE $6A ; LAW _D058+0 -_F210 !WORD _D058+0 - !BYTE $78 ; SAB _D041+0 -_F211 !WORD _D041+0 - !BYTE $50 ; BRNCH _B141 - !WORD _B141-* -_B142 -; toolsrc/ed.pla: 0587: needredraw = FALSE -; toolsrc/ed.pla: 0588: fin - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] -_B141 -; toolsrc/ed.pla: 0589: return needredraw - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/ed.pla: 0590: end -; toolsrc/ed.pla: 0591: def cursvpos(vpos)#1 - ; vpos -> [0] -_C017 ; cursvpos() -; toolsrc/ed.pla: 0592: byte needredraw - ; needredraw -> [2] -; toolsrc/ed.pla: 0593: -; toolsrc/ed.pla: 0594: needredraw = TRUE - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/ed.pla: 0595: if vpos < 0; vpos = 0; fin - !BYTE $20 ; MINUS ONE - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B143 - !WORD _B143-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B143 -_B144 -; toolsrc/ed.pla: 0596: if vpos > numlines - 1; vpos = numlines - 1; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D047+0 -_F212 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B145 - !WORD _B145-* - !BYTE $6A ; LAW _D047+0 -_F213 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $76,$00 ; SLW [0] -_B145 -_B146 -; toolsrc/ed.pla: 0597: cursrow = vpos -; toolsrc/ed.pla: 0598: cursy = cursrow - viewtop -; toolsrc/ed.pla: 0599: if cursy > scrnheight - 1 -; toolsrc/ed.pla: 0600: cursy = scrnheight - 1 -; toolsrc/ed.pla: 0601: viewtop = cursrow - (scrnheight - 1) -; toolsrc/ed.pla: 0602: elsif cursy < 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D057+0 -_F214 !WORD _D057+0 - !BYTE $6A ; LAW _D042+0 -_F215 !WORD _D042+0 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D056+0 -_F216 !WORD _D056+0 - !BYTE $6A ; LAW _D038+0 -_F217 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $6A ; LAW _D038+0 -_F218 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D056+0 -_F219 !WORD _D056+0 - !BYTE $6A ; LAW _D057+0 -_F220 !WORD _D057+0 - !BYTE $6A ; LAW _D038+0 -_F221 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D042+0 -_F222 !WORD _D042+0 - !BYTE $50 ; BRNCH _B148 - !WORD _B148-* -_B147 -; toolsrc/ed.pla: 0603: cursy = 0 -; toolsrc/ed.pla: 0604: viewtop = cursrow -; toolsrc/ed.pla: 0605: else - !BYTE $6A ; LAW _D056+0 -_F223 !WORD _D056+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B149 - !WORD _B149-* - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D056+0 -_F224 !WORD _D056+0 - !BYTE $6A ; LAW _D057+0 -_F225 !WORD _D057+0 - !BYTE $7A ; SAW _D042+0 -_F226 !WORD _D042+0 - !BYTE $50 ; BRNCH _B148 - !WORD _B148-* -_B149 -; toolsrc/ed.pla: 0606: needredraw = FALSE -; toolsrc/ed.pla: 0607: fin - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] -_B148 -; toolsrc/ed.pla: 0608: return needredraw - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 0609: end -; toolsrc/ed.pla: 0610: def curshome#0 -_C018 ; curshome() -; toolsrc/ed.pla: 0611: cursrow = 0 -; toolsrc/ed.pla: 0612: curscol = 0 -; toolsrc/ed.pla: 0613: cursx = flags & gutter -; toolsrc/ed.pla: 0614: cursy = 0 -; toolsrc/ed.pla: 0615: viewleft = 0 -; toolsrc/ed.pla: 0616: viewtop = 0 -; toolsrc/ed.pla: 0617: drawscrn -; toolsrc/ed.pla: 0618: end - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D057+0 -_F227 !WORD _D057+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D058+0 -_F228 !WORD _D058+0 - !BYTE $68 ; LAB _D046+0 -_F229 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $7A ; SAW _D055+0 -_F230 !WORD _D055+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D056+0 -_F231 !WORD _D056+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D041+0 -_F232 !WORD _D041+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D042+0 -_F233 !WORD _D042+0 - !BYTE $54 ; CALL _C015 -_F234 !WORD _C015 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0619: def cursend#0 -_C019 ; cursend() -; toolsrc/ed.pla: 0620: if numlines > scrnheight - 1 -; toolsrc/ed.pla: 0621: cursrow = numlines - 1 -; toolsrc/ed.pla: 0622: cursy = scrnheight - 1 -; toolsrc/ed.pla: 0623: viewtop = cursrow - (scrnheight - 1) -; toolsrc/ed.pla: 0624: else - !BYTE $6A ; LAW _D047+0 -_F235 !WORD _D047+0 - !BYTE $6A ; LAW _D038+0 -_F236 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B150 - !WORD _B150-* - !BYTE $6A ; LAW _D047+0 -_F237 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D057+0 -_F238 !WORD _D057+0 - !BYTE $6A ; LAW _D038+0 -_F239 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D056+0 -_F240 !WORD _D056+0 - !BYTE $6A ; LAW _D057+0 -_F241 !WORD _D057+0 - !BYTE $6A ; LAW _D038+0 -_F242 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D042+0 -_F243 !WORD _D042+0 - !BYTE $50 ; BRNCH _B151 - !WORD _B151-* -_B150 -; toolsrc/ed.pla: 0625: cursrow = numlines - 1 -; toolsrc/ed.pla: 0626: cursy = numlines - 1 -; toolsrc/ed.pla: 0627: viewtop = 0 -; toolsrc/ed.pla: 0628: fin - !BYTE $6A ; LAW _D047+0 -_F244 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D057+0 -_F245 !WORD _D057+0 - !BYTE $6A ; LAW _D047+0 -_F246 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D056+0 -_F247 !WORD _D056+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D042+0 -_F248 !WORD _D042+0 -_B151 -; toolsrc/ed.pla: 0629: curscol = 0 -; toolsrc/ed.pla: 0630: cursx = flags & gutter -; toolsrc/ed.pla: 0631: viewleft = 0 -; toolsrc/ed.pla: 0632: drawscrn -; toolsrc/ed.pla: 0633: end - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D058+0 -_F249 !WORD _D058+0 - !BYTE $68 ; LAB _D046+0 -_F250 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $7A ; SAW _D055+0 -_F251 !WORD _D055+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D041+0 -_F252 !WORD _D041+0 - !BYTE $54 ; CALL _C015 -_F253 !WORD _C015 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0634: def cursup#0 -_C020 ; cursup() -; toolsrc/ed.pla: 0635: if cursrow > 0 -; toolsrc/ed.pla: 0636: cursrow-- - !BYTE $6A ; LAW _D057+0 -_F254 !WORD _D057+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B152 - !WORD _B152-* - !BYTE $6A ; LAW _D057+0 -_F255 !WORD _D057+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0637: drawgutterrow(cursy) -; toolsrc/ed.pla: 0638: if cursy > 0 -; toolsrc/ed.pla: 0639: cursy-- - !BYTE $7A ; SAW _D057+0 -_F256 !WORD _D057+0 - !BYTE $6A ; LAW _D056+0 -_F257 !WORD _D056+0 - !BYTE $54 ; CALL _C012 -_F258 !WORD _C012 - !BYTE $6A ; LAW _D056+0 -_F259 !WORD _D056+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B154 - !WORD _B154-* - !BYTE $6A ; LAW _D056+0 -_F260 !WORD _D056+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0640: drawgutterrow(cursy) -; toolsrc/ed.pla: 0641: else - !BYTE $7E ; DAW _D056+0 -_F261 !WORD _D056+0 - !BYTE $54 ; CALL _C012 -_F262 !WORD _C012 - !BYTE $50 ; BRNCH _B155 - !WORD _B155-* -_B154 -; toolsrc/ed.pla: 0642: viewtop = cursrow -; toolsrc/ed.pla: 0643: if conio:textctrl(ctrlscroll, DOWN) -; toolsrc/ed.pla: 0644: drawrows(0, 0) -; toolsrc/ed.pla: 0645: else - !BYTE $6A ; LAW _D057+0 -_F263 !WORD _D057+0 - !BYTE $7A ; SAW _D042+0 -_F264 !WORD _D042+0 - !BYTE $0A ; CN 5 - !BYTE $20 ; MINUS ONE - !BYTE $6A ; LAW _X033+12 -_F265 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B156 - !WORD _B156-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C014 -_F266 !WORD _C014 - !BYTE $50 ; BRNCH _B157 - !WORD _B157-* -_B156 -; toolsrc/ed.pla: 0646: drawscrn -; toolsrc/ed.pla: 0647: fin - !BYTE $54 ; CALL _C015 -_F267 !WORD _C015 -_B157 -; toolsrc/ed.pla: 0648: fin -_B155 -; toolsrc/ed.pla: 0649: fin -_B152 -_B153 -; toolsrc/ed.pla: 0650: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0651: def pgup#0 -_C021 ; pgup() -; toolsrc/ed.pla: 0652: word scroll - ; scroll -> [0] -; toolsrc/ed.pla: 0653: -; toolsrc/ed.pla: 0654: scroll = viewtop - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0655: if cursvpos(cursrow - pgjmp) -; toolsrc/ed.pla: 0656: scroll = viewtop - scroll -; toolsrc/ed.pla: 0657: if scroll -; toolsrc/ed.pla: 0658: if conio:textctrl(ctrlscroll, scroll) -; toolsrc/ed.pla: 0659: drawrows(0, -scroll - 1) -; toolsrc/ed.pla: 0660: drawgutter -; toolsrc/ed.pla: 0661: else - !BYTE $6A ; LAW _D042+0 -_F268 !WORD _D042+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D057+0 -_F269 !WORD _D057+0 - !BYTE $3A,$10 ; SUBI 16 - !BYTE $54 ; CALL _C017 -_F270 !WORD _C017 - !BYTE $4C ; BRFLS _B158 - !WORD _B158-* - !BYTE $6A ; LAW _D042+0 -_F271 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B160 - !WORD _B160-* - !BYTE $0A ; CN 5 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X033+12 -_F272 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B162 - !WORD _B162-* - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C014 -_F273 !WORD _C014 - !BYTE $54 ; CALL _C013 -_F274 !WORD _C013 - !BYTE $50 ; BRNCH _B163 - !WORD _B163-* -_B162 -; toolsrc/ed.pla: 0662: drawscrn -; toolsrc/ed.pla: 0663: fin - !BYTE $54 ; CALL _C015 -_F275 !WORD _C015 -_B163 -; toolsrc/ed.pla: 0664: fin -_B160 -_B161 -; toolsrc/ed.pla: 0665: else - !BYTE $50 ; BRNCH _B159 - !WORD _B159-* -_B158 -; toolsrc/ed.pla: 0666: drawgutter -; toolsrc/ed.pla: 0667: fin - !BYTE $54 ; CALL _C013 -_F276 !WORD _C013 -_B159 -; toolsrc/ed.pla: 0668: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0669: def cursdown#0 -_C022 ; cursdown() -; toolsrc/ed.pla: 0670: if cursrow < numlines - 1 -; toolsrc/ed.pla: 0671: cursrow++ - !BYTE $6A ; LAW _D057+0 -_F277 !WORD _D057+0 - !BYTE $6A ; LAW _D047+0 -_F278 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B164 - !WORD _B164-* - !BYTE $6A ; LAW _D057+0 -_F279 !WORD _D057+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0672: drawgutterrow(cursy) -; toolsrc/ed.pla: 0673: if cursy < scrnheight - 1 -; toolsrc/ed.pla: 0674: cursy++ - !BYTE $7A ; SAW _D057+0 -_F280 !WORD _D057+0 - !BYTE $6A ; LAW _D056+0 -_F281 !WORD _D056+0 - !BYTE $54 ; CALL _C012 -_F282 !WORD _C012 - !BYTE $6A ; LAW _D056+0 -_F283 !WORD _D056+0 - !BYTE $6A ; LAW _D038+0 -_F284 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B166 - !WORD _B166-* - !BYTE $6A ; LAW _D056+0 -_F285 !WORD _D056+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0675: drawgutterrow(cursy) -; toolsrc/ed.pla: 0676: else - !BYTE $7E ; DAW _D056+0 -_F286 !WORD _D056+0 - !BYTE $54 ; CALL _C012 -_F287 !WORD _C012 - !BYTE $50 ; BRNCH _B167 - !WORD _B167-* -_B166 -; toolsrc/ed.pla: 0677: viewtop = cursrow - (scrnheight - 1) -; toolsrc/ed.pla: 0678: if conio:textctrl(ctrlscroll, UP) -; toolsrc/ed.pla: 0679: drawrows(scrnheight - 1, scrnheight - 1) -; toolsrc/ed.pla: 0680: else - !BYTE $6A ; LAW _D057+0 -_F288 !WORD _D057+0 - !BYTE $6A ; LAW _D038+0 -_F289 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D042+0 -_F290 !WORD _D042+0 - !BYTE $0A ; CN 5 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+12 -_F291 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B168 - !WORD _B168-* - !BYTE $6A ; LAW _D038+0 -_F292 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $6A ; LAW _D038+0 -_F293 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C014 -_F294 !WORD _C014 - !BYTE $50 ; BRNCH _B169 - !WORD _B169-* -_B168 -; toolsrc/ed.pla: 0681: drawscrn -; toolsrc/ed.pla: 0682: fin - !BYTE $54 ; CALL _C015 -_F295 !WORD _C015 -_B169 -; toolsrc/ed.pla: 0683: fin -_B167 -; toolsrc/ed.pla: 0684: fin -_B164 -_B165 -; toolsrc/ed.pla: 0685: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0686: def pgdown#0 -_C023 ; pgdown() -; toolsrc/ed.pla: 0687: word scroll - ; scroll -> [0] -; toolsrc/ed.pla: 0688: -; toolsrc/ed.pla: 0689: scroll = viewtop - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0690: if cursvpos(cursrow + pgjmp) -; toolsrc/ed.pla: 0691: scroll = viewtop - scroll -; toolsrc/ed.pla: 0692: if scroll -; toolsrc/ed.pla: 0693: if conio:textctrl(ctrlscroll, scroll) -; toolsrc/ed.pla: 0694: drawrows(scrnheight - scroll, scrnheight - 1) -; toolsrc/ed.pla: 0695: drawgutter -; toolsrc/ed.pla: 0696: else - !BYTE $6A ; LAW _D042+0 -_F296 !WORD _D042+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D057+0 -_F297 !WORD _D057+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $54 ; CALL _C017 -_F298 !WORD _C017 - !BYTE $4C ; BRFLS _B170 - !WORD _B170-* - !BYTE $6A ; LAW _D042+0 -_F299 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B172 - !WORD _B172-* - !BYTE $0A ; CN 5 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X033+12 -_F300 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B174 - !WORD _B174-* - !BYTE $6A ; LAW _D038+0 -_F301 !WORD _D038+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D038+0 -_F302 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C014 -_F303 !WORD _C014 - !BYTE $54 ; CALL _C013 -_F304 !WORD _C013 - !BYTE $50 ; BRNCH _B175 - !WORD _B175-* -_B174 -; toolsrc/ed.pla: 0697: drawscrn -; toolsrc/ed.pla: 0698: fin - !BYTE $54 ; CALL _C015 -_F305 !WORD _C015 -_B175 -; toolsrc/ed.pla: 0699: fin -_B172 -_B173 -; toolsrc/ed.pla: 0700: else - !BYTE $50 ; BRNCH _B171 - !WORD _B171-* -_B170 -; toolsrc/ed.pla: 0701: drawgutter -; toolsrc/ed.pla: 0702: fin - !BYTE $54 ; CALL _C013 -_F306 !WORD _C013 -_B171 -; toolsrc/ed.pla: 0703: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0704: def cursleft#0 -_C024 ; cursleft() -; toolsrc/ed.pla: 0705: if curshpos(curscol - 1); drawscrn; fin - !BYTE $6A ; LAW _D058+0 -_F307 !WORD _D058+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C016 -_F308 !WORD _C016 - !BYTE $4C ; BRFLS _B176 - !WORD _B176-* - !BYTE $54 ; CALL _C015 -_F309 !WORD _C015 -_B176 -_B177 -; toolsrc/ed.pla: 0706: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0707: def pgleft#0 -_C025 ; pgleft() -; toolsrc/ed.pla: 0708: word i, strptr - ; i -> [0] - ; strptr -> [2] -; toolsrc/ed.pla: 0709: -; toolsrc/ed.pla: 0710: strptr = txtlinbuf=>[cursrow] - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0711: if curscol > ^strptr -; toolsrc/ed.pla: 0712: i = ^strptr -; toolsrc/ed.pla: 0713: else - !BYTE $6A ; LAW _D053+0 -_F310 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F311 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D058+0 -_F312 !WORD _D058+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B178 - !WORD _B178-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B179 - !WORD _B179-* -_B178 -; toolsrc/ed.pla: 0714: for i = 1 to ^strptr - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B180 - !WORD _B180-* -_B181 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0715: if ^(strptr + i) <> keyspace -; toolsrc/ed.pla: 0716: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B183 - !WORD _B183-* - !BYTE $50 ; BRNCH _B180 - !WORD _B180-* -; toolsrc/ed.pla: 0717: fin -_B183 -_B184 -; toolsrc/ed.pla: 0718: next -_B182 - !BYTE $A4 ; INCBRLE _B181 - !WORD _B181-* -_B180 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0719: i-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0720: if i >= curscol -; toolsrc/ed.pla: 0721: i = 0 -; toolsrc/ed.pla: 0722: fin - !BYTE $6E,$00 ; DLW [0] - !BYTE $6A ; LAW _D058+0 -_F313 !WORD _D058+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B185 - !WORD _B185-* - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] -_B185 -_B186 -; toolsrc/ed.pla: 0723: fin -_B179 -; toolsrc/ed.pla: 0724: if curshpos(i) -; toolsrc/ed.pla: 0725: drawscrn -; toolsrc/ed.pla: 0726: else - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C016 -_F314 !WORD _C016 - !BYTE $4C ; BRFLS _B187 - !WORD _B187-* - !BYTE $54 ; CALL _C015 -_F315 !WORD _C015 - !BYTE $50 ; BRNCH _B188 - !WORD _B188-* -_B187 -; toolsrc/ed.pla: 0727: drawgutter -; toolsrc/ed.pla: 0728: fin - !BYTE $54 ; CALL _C013 -_F316 !WORD _C013 -_B188 -; toolsrc/ed.pla: 0729: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0730: def cursright#0 -_C026 ; cursright() -; toolsrc/ed.pla: 0731: if curshpos(curscol + 1); drawscrn; fin - !BYTE $6A ; LAW _D058+0 -_F317 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C016 -_F318 !WORD _C016 - !BYTE $4C ; BRFLS _B189 - !WORD _B189-* - !BYTE $54 ; CALL _C015 -_F319 !WORD _C015 -_B189 -_B190 -; toolsrc/ed.pla: 0732: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 0733: def pgright#0 -_C027 ; pgright() -; toolsrc/ed.pla: 0734: word i, strptr - ; i -> [0] - ; strptr -> [2] -; toolsrc/ed.pla: 0735: -; toolsrc/ed.pla: 0736: strptr = txtlinbuf=>[cursrow] - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0737: if curscol >= ^strptr -; toolsrc/ed.pla: 0738: i = curscol + 8 -; toolsrc/ed.pla: 0739: else - !BYTE $6A ; LAW _D053+0 -_F320 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F321 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D058+0 -_F322 !WORD _D058+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B191 - !WORD _B191-* - !BYTE $6A ; LAW _D058+0 -_F323 !WORD _D058+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B192 - !WORD _B192-* -_B191 -; toolsrc/ed.pla: 0740: for i = 1 to ^strptr - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B193 - !WORD _B193-* -_B194 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0741: if ^(strptr + i) <> keyspace -; toolsrc/ed.pla: 0742: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B196 - !WORD _B196-* - !BYTE $50 ; BRNCH _B193 - !WORD _B193-* -; toolsrc/ed.pla: 0743: fin -_B196 -_B197 -; toolsrc/ed.pla: 0744: next -_B195 - !BYTE $A4 ; INCBRLE _B194 - !WORD _B194-* -_B193 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0745: i-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0746: if curscol >= i -; toolsrc/ed.pla: 0747: i = ^strptr -; toolsrc/ed.pla: 0748: fin - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D058+0 -_F324 !WORD _D058+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B198 - !WORD _B198-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $76,$00 ; SLW [0] -_B198 -_B199 -; toolsrc/ed.pla: 0749: fin -_B192 -; toolsrc/ed.pla: 0750: if curshpos(i) -; toolsrc/ed.pla: 0751: drawscrn -; toolsrc/ed.pla: 0752: else - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C016 -_F325 !WORD _C016 - !BYTE $4C ; BRFLS _B200 - !WORD _B200-* - !BYTE $54 ; CALL _C015 -_F326 !WORD _C015 - !BYTE $50 ; BRNCH _B201 - !WORD _B201-* -_B200 -; toolsrc/ed.pla: 0753: drawgutter -; toolsrc/ed.pla: 0754: fin - !BYTE $54 ; CALL _C013 -_F327 !WORD _C013 -_B201 -; toolsrc/ed.pla: 0755: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0756: // -; toolsrc/ed.pla: 0757: // Find string in text -; toolsrc/ed.pla: 0758: // -; toolsrc/ed.pla: 0759: def findline(strptr, start)#1 - ; strptr -> [0] - ; start -> [2] -_C028 ; findline() -; toolsrc/ed.pla: 0760: byte scan, i, upstr[MAXLNLEN+1] - ; scan -> [4] - ; i -> [5] - ; upstr -> [6] -; toolsrc/ed.pla: 0761: -; toolsrc/ed.pla: 0762: if ^strptr >= findstr - !BYTE $58,$86,$02 ; ENTER 134,2 -; toolsrc/ed.pla: 0763: lnupcpy(@upstr, strptr) -; toolsrc/ed.pla: 0764: for scan = start to upstr - findstr + 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D044+0 -_F328 !WORD _D044+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B202 - !WORD _B202-* - !BYTE $28,$06 ; LLA [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A001 -_F329 !WORD _A001 - !BYTE $64,$06 ; LLB [6] - !BYTE $68 ; LAB _D044+0 -_F330 !WORD _D044+0 - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $A0 ; BRGT _B204 - !WORD _B204-* -_B205 - !BYTE $6C,$04 ; DLB [4] -; toolsrc/ed.pla: 0765: if upstr[scan] == findstr[1] -; toolsrc/ed.pla: 0766: for i = 2 to findstr - !BYTE $28,$06 ; LLA [6] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $68 ; LAB _D044+1 -_F331 !WORD _D044+1 - !BYTE $24 ; BRNE _B207 - !WORD _B207-* - !BYTE $68 ; LAB _D044+0 -_F332 !WORD _D044+0 - !BYTE $04 ; CN 2 - !BYTE $A0 ; BRGT _B209 - !WORD _B209-* -_B210 - !BYTE $6C,$05 ; DLB [5] -; toolsrc/ed.pla: 0767: if upstr[scan + i - 1] <> findstr[i] -; toolsrc/ed.pla: 0768: break - !BYTE $28,$06 ; LLA [6] - !BYTE $64,$04 ; LLB [4] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $26 ; LA _D044+0 -_F333 !WORD _D044+0 - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B212 - !WORD _B212-* - !BYTE $50 ; BRNCH _B209 - !WORD _B209-* -; toolsrc/ed.pla: 0769: fin -_B212 -_B213 -; toolsrc/ed.pla: 0770: next -_B211 - !BYTE $A4 ; INCBRLE _B210 - !WORD _B210-* -_B209 - !BYTE $74,$05 ; SLB [5] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0771: if i > findstr -; toolsrc/ed.pla: 0772: curshpos(scan - 1) -; toolsrc/ed.pla: 0773: return TRUE - !BYTE $64,$05 ; LLB [5] - !BYTE $68 ; LAB _D044+0 -_F334 !WORD _D044+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B214 - !WORD _B214-* - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C016 -_F335 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$86 ; LEAVE 134 -; toolsrc/ed.pla: 0774: fin -_B214 -_B215 -; toolsrc/ed.pla: 0775: fin -_B207 -_B208 -; toolsrc/ed.pla: 0776: next -_B206 - !BYTE $A4 ; INCBRLE _B205 - !WORD _B205-* -_B204 - !BYTE $74,$04 ; SLB [4] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0777: fin -_B202 -_B203 -; toolsrc/ed.pla: 0778: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$86 ; LEAVE 134 -; toolsrc/ed.pla: 0779: end -; toolsrc/ed.pla: 0780: def findtxt#0 -_C029 ; findtxt() -; toolsrc/ed.pla: 0781: word f - ; f -> [0] -; toolsrc/ed.pla: 0782: -; toolsrc/ed.pla: 0783: // -; toolsrc/ed.pla: 0784: // Search from current pos to end -; toolsrc/ed.pla: 0785: // -; toolsrc/ed.pla: 0786: if findline(txtlinbuf=>[cursrow], curscol + 2) - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0787: return - !BYTE $6A ; LAW _D053+0 -_F336 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F337 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D058+0 -_F338 !WORD _D058+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C028 -_F339 !WORD _C028 - !BYTE $4C ; BRFLS _B216 - !WORD _B216-* - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0788: fin -_B216 -_B217 -; toolsrc/ed.pla: 0789: for f = cursrow + 1 to numlines - 1 - !BYTE $6A ; LAW _D047+0 -_F340 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $6A ; LAW _D057+0 -_F341 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $A0 ; BRGT _B218 - !WORD _B218-* -_B219 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0790: if findline(txtlinbuf=>[f], 1) -; toolsrc/ed.pla: 0791: cursvpos(f) -; toolsrc/ed.pla: 0792: return - !BYTE $6A ; LAW _D053+0 -_F342 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C028 -_F343 !WORD _C028 - !BYTE $4C ; BRFLS _B221 - !WORD _B221-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C017 -_F344 !WORD _C017 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0793: fin -_B221 -_B222 -; toolsrc/ed.pla: 0794: next -_B220 - !BYTE $A4 ; INCBRLE _B219 - !WORD _B219-* -_B218 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0795: // -; toolsrc/ed.pla: 0796: // Search from beginning to current pos -; toolsrc/ed.pla: 0797: // -; toolsrc/ed.pla: 0798: for f = 0 to cursrow - !BYTE $6A ; LAW _D057+0 -_F345 !WORD _D057+0 - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B223 - !WORD _B223-* -_B224 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0799: if findline(txtlinbuf=>[f], 1) -; toolsrc/ed.pla: 0800: cursvpos(f) -; toolsrc/ed.pla: 0801: return - !BYTE $6A ; LAW _D053+0 -_F346 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C028 -_F347 !WORD _C028 - !BYTE $4C ; BRFLS _B226 - !WORD _B226-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C017 -_F348 !WORD _C017 - !BYTE $30 ; DROP - !BYTE $32 ; DROP2 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0802: fin -_B226 -_B227 -; toolsrc/ed.pla: 0803: next -_B225 - !BYTE $A4 ; INCBRLE _B224 - !WORD _B224-* -_B223 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0804: bell -; toolsrc/ed.pla: 0805: end - !BYTE $54 ; CALL _C000 -_F349 !WORD _C000 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0806: // -; toolsrc/ed.pla: 0807: // Printer routines -; toolsrc/ed.pla: 0808: // -; toolsrc/ed.pla: 0809: def printtxt(slot)#0 - ; slot -> [0] -_C030 ; printtxt() -; toolsrc/ed.pla: 0810: word i, scrncsw - ; i -> [2] - ; scrncsw -> [4] -; toolsrc/ed.pla: 0811: -; toolsrc/ed.pla: 0812: scrncsw = *CSW - !BYTE $58,$06,$01 ; ENTER 6,1 -; toolsrc/ed.pla: 0813: *CSW = $C000 | (slot << 8) -; toolsrc/ed.pla: 0814: for i = 0 to numlines - 1 - !BYTE $6A,$36,$00 ; LAW 54 - !BYTE $76,$04 ; SLW [4] - !BYTE $2C,$00,$C0 ; CW 49152 - !BYTE $66,$00 ; LLW [0] - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $6A ; LAW _D047+0 -_F350 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B228 - !WORD _B228-* -_B229 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/ed.pla: 0815: puts(txtlinbuf=>[i]); putln -; toolsrc/ed.pla: 0816: next - !BYTE $6A ; LAW _D053+0 -_F351 !WORD _D053+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X004 -_F352 !WORD 0 - !BYTE $54 ; CALL _X003 -_F353 !WORD 0 -_B230 - !BYTE $A4 ; INCBRLE _B229 - !WORD _B229-* -_B228 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0817: *CSW = scrncsw -; toolsrc/ed.pla: 0818: end - !BYTE $66,$04 ; LLW [4] - !BYTE $7A,$36,$00 ; SAW 54 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 0819: def freesel#0 -_C031 ; freesel() -; toolsrc/ed.pla: 0820: word i - ; i -> [0] -; toolsrc/ed.pla: 0821: -; toolsrc/ed.pla: 0822: if numcliplines - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0823: for i = 0 to numcliplines - 1 - !BYTE $6A ; LAW _D048+0 -_F354 !WORD _D048+0 - !BYTE $4C ; BRFLS _B231 - !WORD _B231-* - !BYTE $6A ; LAW _D048+0 -_F355 !WORD _D048+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B233 - !WORD _B233-* -_B234 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0824: if cliplinbuf=>[i] <> @nullstr -; toolsrc/ed.pla: 0825: delstr(cliplinbuf=>[i]) -; toolsrc/ed.pla: 0826: cliplinbuf=>[i] = @nullstr -; toolsrc/ed.pla: 0827: fin - !BYTE $6A ; LAW _D054+0 -_F356 !WORD _D054+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F357 !WORD _D043+0 - !BYTE $22 ; BREQ _B236 - !WORD _B236-* - !BYTE $6A ; LAW _D054+0 -_F358 !WORD _D054+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F359 !WORD _C003 - !BYTE $26 ; LA _D043+0 -_F360 !WORD _D043+0 - !BYTE $6A ; LAW _D054+0 -_F361 !WORD _D054+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW -_B236 -_B237 -; toolsrc/ed.pla: 0828: next -_B235 - !BYTE $A4 ; INCBRLE _B234 - !WORD _B234-* -_B233 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0829: numcliplines = 0 -; toolsrc/ed.pla: 0830: fin - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D048+0 -_F362 !WORD _D048+0 -_B231 -_B232 -; toolsrc/ed.pla: 0831: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0832: def selrange#2 -_C032 ; selrange() -; toolsrc/ed.pla: 0833: word first, last - ; first -> [0] - ; last -> [2] -; toolsrc/ed.pla: 0834: -; toolsrc/ed.pla: 0835: if flags & selection - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0836: if cursrow > selrow -; toolsrc/ed.pla: 0837: first, last = selrow, cursrow -; toolsrc/ed.pla: 0838: else - !BYTE $68 ; LAB _D046+0 -_F363 !WORD _D046+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B238 - !WORD _B238-* - !BYTE $6A ; LAW _D057+0 -_F364 !WORD _D057+0 - !BYTE $6A ; LAW _D059+0 -_F365 !WORD _D059+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B240 - !WORD _B240-* - !BYTE $6A ; LAW _D059+0 -_F366 !WORD _D059+0 - !BYTE $6A ; LAW _D057+0 -_F367 !WORD _D057+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B241 - !WORD _B241-* -_B240 -; toolsrc/ed.pla: 0839: first, last = cursrow, selrow -; toolsrc/ed.pla: 0840: fin - !BYTE $6A ; LAW _D057+0 -_F368 !WORD _D057+0 - !BYTE $6A ; LAW _D059+0 -_F369 !WORD _D059+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] -_B241 -; toolsrc/ed.pla: 0841: else - !BYTE $50 ; BRNCH _B239 - !WORD _B239-* -_B238 -; toolsrc/ed.pla: 0842: first = cursrow -; toolsrc/ed.pla: 0843: last = first -; toolsrc/ed.pla: 0844: fin - !BYTE $6A ; LAW _D057+0 -_F370 !WORD _D057+0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$02 ; SLW [2] -_B239 -; toolsrc/ed.pla: 0845: return first, last - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0846: end -; toolsrc/ed.pla: 0847: def beginsel#0 -_C033 ; beginsel() -; toolsrc/ed.pla: 0848: flags = flags ^ selection -; toolsrc/ed.pla: 0849: selrow = cursrow -; toolsrc/ed.pla: 0850: drawgutter -; toolsrc/ed.pla: 0851: end - !BYTE $68 ; LAB _D046+0 -_F371 !WORD _D046+0 - !BYTE $10 ; CN 8 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D046+0 -_F372 !WORD _D046+0 - !BYTE $6A ; LAW _D057+0 -_F373 !WORD _D057+0 - !BYTE $7A ; SAW _D059+0 -_F374 !WORD _D059+0 - !BYTE $54 ; CALL _C013 -_F375 !WORD _C013 - !BYTE $5C ; RET -; toolsrc/ed.pla: 0852: def copysel#0 -_C034 ; copysel() -; toolsrc/ed.pla: 0853: word firstsel, lastsel - ; firstsel -> [0] - ; lastsel -> [2] -; toolsrc/ed.pla: 0854: -; toolsrc/ed.pla: 0855: freesel - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0856: firstsel, lastsel = selrange -; toolsrc/ed.pla: 0857: if lastsel - firstsel < MAXCLIPLINES -; toolsrc/ed.pla: 0858: for numcliplines = 0 to lastsel - firstsel - !BYTE $54 ; CALL _C031 -_F376 !WORD _C031 - !BYTE $54 ; CALL _C032 -_F377 !WORD _C032 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B242 - !WORD _B242-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B244 - !WORD _B244-* -_B245 - !BYTE $7E ; DAW _D048+0 -_F378 !WORD _D048+0 -; toolsrc/ed.pla: 0859: cliplinbuf=>[numcliplines] = newstr(txtlinbuf=>[firstsel + numcliplines]) -; toolsrc/ed.pla: 0860: next - !BYTE $6A ; LAW _D053+0 -_F379 !WORD _D053+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B6 ; ADDAW _D048+0 -_F380 !WORD _D048+0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F381 !WORD _C004 - !BYTE $6A ; LAW _D054+0 -_F382 !WORD _D054+0 - !BYTE $BE ; IDXAW _D048+0 -_F383 !WORD _D048+0 - !BYTE $72 ; SW -_B246 - !BYTE $A4 ; INCBRLE _B245 - !WORD _B245-* -_B244 - !BYTE $7A ; SAW _D048+0 -_F384 !WORD _D048+0 - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0861: flags = flags & ~selection -; toolsrc/ed.pla: 0862: drawgutter -; toolsrc/ed.pla: 0863: else - !BYTE $68 ; LAB _D046+0 -_F385 !WORD _D046+0 - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D046+0 -_F386 !WORD _D046+0 - !BYTE $54 ; CALL _C013 -_F387 !WORD _C013 - !BYTE $50 ; BRNCH _B243 - !WORD _B243-* -_B242 -; toolsrc/ed.pla: 0864: bell -; toolsrc/ed.pla: 0865: fin - !BYTE $54 ; CALL _C000 -_F388 !WORD _C000 -_B243 -; toolsrc/ed.pla: 0866: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0867: def cutsel#0 -_C035 ; cutsel() -; toolsrc/ed.pla: 0868: word firstsel, lastsel - ; firstsel -> [0] - ; lastsel -> [2] -; toolsrc/ed.pla: 0869: -; toolsrc/ed.pla: 0870: freesel - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/ed.pla: 0871: firstsel, lastsel = selrange -; toolsrc/ed.pla: 0872: if lastsel - firstsel < MAXCLIPLINES -; toolsrc/ed.pla: 0873: for numcliplines = 0 to lastsel - firstsel - !BYTE $54 ; CALL _C031 -_F389 !WORD _C031 - !BYTE $54 ; CALL _C032 -_F390 !WORD _C032 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B247 - !WORD _B247-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B249 - !WORD _B249-* -_B250 - !BYTE $7E ; DAW _D048+0 -_F391 !WORD _D048+0 -; toolsrc/ed.pla: 0874: cliplinbuf=>[numcliplines] = txtlinbuf=>[firstsel + numcliplines] -; toolsrc/ed.pla: 0875: next - !BYTE $6A ; LAW _D053+0 -_F392 !WORD _D053+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B6 ; ADDAW _D048+0 -_F393 !WORD _D048+0 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _D054+0 -_F394 !WORD _D054+0 - !BYTE $BE ; IDXAW _D048+0 -_F395 !WORD _D048+0 - !BYTE $72 ; SW -_B251 - !BYTE $A4 ; INCBRLE _B250 - !WORD _B250-* -_B249 - !BYTE $7A ; SAW _D048+0 -_F396 !WORD _D048+0 - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0876: memcpy(@txtlinbuf=>[firstsel], \ -; toolsrc/ed.pla: 0877: memcpy(@txtlinbuf=>[firstsel], @txtlinbuf=>[lastsel + 1], \ -; toolsrc/ed.pla: 0878: memcpy(@txtlinbuf=>[firstsel], @txtlinbuf=>[lastsel + 1], (numlines - lastsel + 1) * 2) -; toolsrc/ed.pla: 0879: numlines = numlines - numcliplines -; toolsrc/ed.pla: 0880: for lastsel = numlines to numlines + numcliplines - !BYTE $6A ; LAW _D053+0 -_F397 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $6A ; LAW _D053+0 -_F398 !WORD _D053+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D047+0 -_F399 !WORD _D047+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F400 !WORD 0 - !BYTE $6A ; LAW _D047+0 -_F401 !WORD _D047+0 - !BYTE $6A ; LAW _D048+0 -_F402 !WORD _D048+0 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D047+0 -_F403 !WORD _D047+0 - !BYTE $B6 ; ADDAW _D048+0 -_F404 !WORD _D048+0 - !BYTE $6A ; LAW _D047+0 -_F405 !WORD _D047+0 - !BYTE $A0 ; BRGT _B252 - !WORD _B252-* -_B253 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/ed.pla: 0881: txtlinbuf=>[lastsel] = @nullstr -; toolsrc/ed.pla: 0882: next - !BYTE $26 ; LA _D043+0 -_F406 !WORD _D043+0 - !BYTE $6A ; LAW _D053+0 -_F407 !WORD _D053+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $72 ; SW -_B254 - !BYTE $A4 ; INCBRLE _B253 - !WORD _B253-* -_B252 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0883: cursrow = firstsel -; toolsrc/ed.pla: 0884: if cursrow >= numlines -; toolsrc/ed.pla: 0885: cursrow = numlines - 1 -; toolsrc/ed.pla: 0886: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $7E ; DAW _D057+0 -_F408 !WORD _D057+0 - !BYTE $6A ; LAW _D047+0 -_F409 !WORD _D047+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B255 - !WORD _B255-* - !BYTE $6A ; LAW _D047+0 -_F410 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $7A ; SAW _D057+0 -_F411 !WORD _D057+0 -_B255 -_B256 -; toolsrc/ed.pla: 0887: if cursrow < viewtop -; toolsrc/ed.pla: 0888: viewtop = cursrow -; toolsrc/ed.pla: 0889: fin - !BYTE $6A ; LAW _D057+0 -_F412 !WORD _D057+0 - !BYTE $6A ; LAW _D042+0 -_F413 !WORD _D042+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B257 - !WORD _B257-* - !BYTE $6A ; LAW _D057+0 -_F414 !WORD _D057+0 - !BYTE $7A ; SAW _D042+0 -_F415 !WORD _D042+0 -_B257 -_B258 -; toolsrc/ed.pla: 0890: cursy = cursrow - viewtop -; toolsrc/ed.pla: 0891: flags = flags | changed -; toolsrc/ed.pla: 0892: flags = flags & ~selection -; toolsrc/ed.pla: 0893: drawscrn -; toolsrc/ed.pla: 0894: else - !BYTE $6A ; LAW _D057+0 -_F416 !WORD _D057+0 - !BYTE $6A ; LAW _D042+0 -_F417 !WORD _D042+0 - !BYTE $84 ; SUB - !BYTE $7A ; SAW _D056+0 -_F418 !WORD _D056+0 - !BYTE $68 ; LAB _D046+0 -_F419 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $7C ; DAB _D046+0 -_F420 !WORD _D046+0 - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D046+0 -_F421 !WORD _D046+0 - !BYTE $54 ; CALL _C015 -_F422 !WORD _C015 - !BYTE $50 ; BRNCH _B248 - !WORD _B248-* -_B247 -; toolsrc/ed.pla: 0895: bell -; toolsrc/ed.pla: 0896: fin - !BYTE $54 ; CALL _C000 -_F423 !WORD _C000 -_B248 -; toolsrc/ed.pla: 0897: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/ed.pla: 0898: def pastesel#0 -_C036 ; pastesel() -; toolsrc/ed.pla: 0899: word p - ; p -> [0] -; toolsrc/ed.pla: 0900: -; toolsrc/ed.pla: 0901: if numcliplines and numcliplines + numlines < MAXLINES - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/ed.pla: 0902: memcpy(@txtlinbuf=>[cursrow + numcliplines], \ -; toolsrc/ed.pla: 0903: memcpy(@txtlinbuf=>[cursrow + numcliplines], @txtlinbuf=>[cursrow], \ -; toolsrc/ed.pla: 0904: memcpy(@txtlinbuf=>[cursrow + numcliplines], @txtlinbuf=>[cursrow], (numlines - cursrow) * 2) -; toolsrc/ed.pla: 0905: for p = 0 to numcliplines - 1 - !BYTE $6A ; LAW _D048+0 -_F424 !WORD _D048+0 - !BYTE $AC ; BRAND _B259 - !WORD _B259-* - !BYTE $6A ; LAW _D048+0 -_F425 !WORD _D048+0 - !BYTE $B6 ; ADDAW _D047+0 -_F426 !WORD _D047+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT -_B259 - !BYTE $4C ; BRFLS _B260 - !WORD _B260-* - !BYTE $6A ; LAW _D053+0 -_F427 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F428 !WORD _D057+0 - !BYTE $B6 ; ADDAW _D048+0 -_F429 !WORD _D048+0 - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D053+0 -_F430 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F431 !WORD _D057+0 - !BYTE $6A ; LAW _D047+0 -_F432 !WORD _D047+0 - !BYTE $6A ; LAW _D057+0 -_F433 !WORD _D057+0 - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F434 !WORD 0 - !BYTE $6A ; LAW _D048+0 -_F435 !WORD _D048+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B262 - !WORD _B262-* -_B263 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 0906: txtlinbuf=>[cursrow + p] = newstr(cliplinbuf=>[p]) -; toolsrc/ed.pla: 0907: next - !BYTE $6A ; LAW _D054+0 -_F436 !WORD _D054+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C004 -_F437 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F438 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F439 !WORD _D057+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $9E ; IDXW - !BYTE $72 ; SW -_B264 - !BYTE $A4 ; INCBRLE _B263 - !WORD _B263-* -_B262 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0908: numlines = numlines + numcliplines -; toolsrc/ed.pla: 0909: flags = flags | changed -; toolsrc/ed.pla: 0910: drawscrn -; toolsrc/ed.pla: 0911: else - !BYTE $6A ; LAW _D047+0 -_F440 !WORD _D047+0 - !BYTE $B6 ; ADDAW _D048+0 -_F441 !WORD _D048+0 - !BYTE $7A ; SAW _D047+0 -_F442 !WORD _D047+0 - !BYTE $68 ; LAB _D046+0 -_F443 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F444 !WORD _D046+0 - !BYTE $54 ; CALL _C015 -_F445 !WORD _C015 - !BYTE $50 ; BRNCH _B261 - !WORD _B261-* -_B260 -; toolsrc/ed.pla: 0912: bell -; toolsrc/ed.pla: 0913: fin - !BYTE $54 ; CALL _C000 -_F446 !WORD _C000 -_B261 -; toolsrc/ed.pla: 0914: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0915: def indentsel#0 -_C037 ; indentsel() -; toolsrc/ed.pla: 0916: byte indentstr[MAXLNLEN+1], j, l - ; indentstr -> [0] - ; j -> [128] - ; l -> [129] -; toolsrc/ed.pla: 0917: word firstsel, lastsel, i - ; firstsel -> [130] - ; lastsel -> [132] - ; i -> [134] -; toolsrc/ed.pla: 0918: -; toolsrc/ed.pla: 0919: freesel - !BYTE $58,$88,$00 ; ENTER 136,0 -; toolsrc/ed.pla: 0920: firstsel, lastsel = selrange -; toolsrc/ed.pla: 0921: for i = firstsel to lastsel - !BYTE $54 ; CALL _C031 -_F447 !WORD _C031 - !BYTE $54 ; CALL _C032 -_F448 !WORD _C032 - !BYTE $76,$84 ; SLW [132] - !BYTE $76,$82 ; SLW [130] - !BYTE $66,$84 ; LLW [132] - !BYTE $66,$82 ; LLW [130] - !BYTE $A0 ; BRGT _B265 - !WORD _B265-* -_B266 - !BYTE $6E,$86 ; DLW [134] -; toolsrc/ed.pla: 0922: l = ^(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0923: if l and l < MAXLNLEN - 2 -; toolsrc/ed.pla: 0924: memcpy(@indentstr + 3, txtlinbuf=>[i] + 1, l) -; toolsrc/ed.pla: 0925: indentstr[0] = l + 2 -; toolsrc/ed.pla: 0926: indentstr[1] = keyspace -; toolsrc/ed.pla: 0927: indentstr[2] = keyspace -; toolsrc/ed.pla: 0928: // -; toolsrc/ed.pla: 0929: // Align indent -; toolsrc/ed.pla: 0930: // -; toolsrc/ed.pla: 0931: for j = 3 to indentstr[0] - !BYTE $6A ; LAW _D053+0 -_F449 !WORD _D053+0 - !BYTE $BA,$86 ; IDXLW [134] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $6C,$81 ; DLB [129] - !BYTE $AC ; BRAND _B268 - !WORD _B268-* - !BYTE $64,$81 ; LLB [129] - !BYTE $2A,$7D ; CB 125 - !BYTE $46 ; ISLT -_B268 - !BYTE $4C ; BRFLS _B269 - !WORD _B269-* - !BYTE $28,$03 ; LLA [3] - !BYTE $6A ; LAW _D053+0 -_F450 !WORD _D053+0 - !BYTE $BA,$86 ; IDXLW [134] - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $64,$81 ; LLB [129] - !BYTE $54 ; CALL _X018 -_F451 !WORD 0 - !BYTE $64,$81 ; LLB [129] - !BYTE $38,$02 ; ADDI 2 - !BYTE $74,$00 ; SLB [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$01 ; SLB [1] - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$02 ; SLB [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $06 ; CN 3 - !BYTE $A0 ; BRGT _B271 - !WORD _B271-* -_B272 - !BYTE $6C,$80 ; DLB [128] -; toolsrc/ed.pla: 0932: if indentstr[j] <> keyspace -; toolsrc/ed.pla: 0933: if j & 1 == 0 -; toolsrc/ed.pla: 0934: indentstr[0]-- - !BYTE $28,$00 ; LLA [0] - !BYTE $B0,$80 ; ADDLB [128] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B274 - !WORD _B274-* - !BYTE $64,$80 ; LLB [128] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4E ; BRTRU _B276 - !WORD _B276-* - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0935: memcpy(@indentstr + 1, @indentstr + 2, indentstr[0]) -; toolsrc/ed.pla: 0936: fin - !BYTE $74,$00 ; SLB [0] - !BYTE $28,$01 ; LLA [1] - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F452 !WORD 0 -_B276 -_B277 -; toolsrc/ed.pla: 0937: break - !BYTE $50 ; BRNCH _B271 - !WORD _B271-* -; toolsrc/ed.pla: 0938: fin -_B274 -_B275 -; toolsrc/ed.pla: 0939: next -_B273 - !BYTE $A4 ; INCBRLE _B272 - !WORD _B272-* -_B271 - !BYTE $74,$80 ; SLB [128] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0940: delstr(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0941: txtlinbuf=>[i] = newstr(@indentstr) -; toolsrc/ed.pla: 0942: flags = flags | changed -; toolsrc/ed.pla: 0943: fin - !BYTE $6A ; LAW _D053+0 -_F453 !WORD _D053+0 - !BYTE $BA,$86 ; IDXLW [134] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F454 !WORD _C003 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C004 -_F455 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F456 !WORD _D053+0 - !BYTE $BA,$86 ; IDXLW [134] - !BYTE $72 ; SW - !BYTE $68 ; LAB _D046+0 -_F457 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F458 !WORD _D046+0 -_B269 -_B270 -; toolsrc/ed.pla: 0944: next -_B267 - !BYTE $A4 ; INCBRLE _B266 - !WORD _B266-* -_B265 - !BYTE $76,$86 ; SLW [134] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0945: drawscrn -; toolsrc/ed.pla: 0946: end - !BYTE $54 ; CALL _C015 -_F459 !WORD _C015 - !BYTE $5A,$88 ; LEAVE 136 -; toolsrc/ed.pla: 0947: def undentsel#0 -_C038 ; undentsel() -; toolsrc/ed.pla: 0948: byte undentstr[MAXLNLEN+1], l - ; undentstr -> [0] - ; l -> [128] -; toolsrc/ed.pla: 0949: word firstsel, lastsel, i - ; firstsel -> [129] - ; lastsel -> [131] - ; i -> [133] -; toolsrc/ed.pla: 0950: -; toolsrc/ed.pla: 0951: freesel - !BYTE $58,$87,$00 ; ENTER 135,0 -; toolsrc/ed.pla: 0952: firstsel, lastsel = selrange -; toolsrc/ed.pla: 0953: for i = firstsel to lastsel - !BYTE $54 ; CALL _C031 -_F460 !WORD _C031 - !BYTE $54 ; CALL _C032 -_F461 !WORD _C032 - !BYTE $76,$83 ; SLW [131] - !BYTE $76,$81 ; SLW [129] - !BYTE $66,$83 ; LLW [131] - !BYTE $66,$81 ; LLW [129] - !BYTE $A0 ; BRGT _B278 - !WORD _B278-* -_B279 - !BYTE $6E,$85 ; DLW [133] -; toolsrc/ed.pla: 0954: l = ^(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0955: if l -; toolsrc/ed.pla: 0956: memcpy(@undentstr + 1, txtlinbuf=>[i] + 1, l) -; toolsrc/ed.pla: 0957: if undentstr[1] == keyspace -; toolsrc/ed.pla: 0958: memcpy(@undentstr + 1, @undentstr + 2, l - 1) -; toolsrc/ed.pla: 0959: l-- - !BYTE $6A ; LAW _D053+0 -_F462 !WORD _D053+0 - !BYTE $BA,$85 ; IDXLW [133] - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $6C,$80 ; DLB [128] - !BYTE $4C ; BRFLS _B281 - !WORD _B281-* - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _D053+0 -_F463 !WORD _D053+0 - !BYTE $BA,$85 ; IDXLW [133] - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $64,$80 ; LLB [128] - !BYTE $54 ; CALL _X018 -_F464 !WORD 0 - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B283 - !WORD _B283-* - !BYTE $28,$01 ; LLA [1] - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$80 ; LLB [128] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X018 -_F465 !WORD 0 - !BYTE $64,$80 ; LLB [128] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0960: if l and undentstr[1] == keyspace -; toolsrc/ed.pla: 0961: memcpy(@undentstr + 1, @undentstr + 2, l - 1) -; toolsrc/ed.pla: 0962: l-- - !BYTE $6C,$80 ; DLB [128] - !BYTE $AC ; BRAND _B285 - !WORD _B285-* - !BYTE $64,$01 ; LLB [1] - !BYTE $2A,$20 ; CB 32 - !BYTE $40 ; ISEQ -_B285 - !BYTE $4C ; BRFLS _B286 - !WORD _B286-* - !BYTE $28,$01 ; LLA [1] - !BYTE $28,$02 ; LLA [2] - !BYTE $64,$80 ; LLB [128] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _X018 -_F466 !WORD 0 - !BYTE $64,$80 ; LLB [128] - !BYTE $8E ; DECR -; toolsrc/ed.pla: 0963: fin - !BYTE $74,$80 ; SLB [128] -_B286 -_B287 -; toolsrc/ed.pla: 0964: undentstr[0] = l -; toolsrc/ed.pla: 0965: delstr(txtlinbuf=>[i]) -; toolsrc/ed.pla: 0966: txtlinbuf=>[i] = newstr(@undentstr) -; toolsrc/ed.pla: 0967: flags = flags | changed -; toolsrc/ed.pla: 0968: fin - !BYTE $64,$80 ; LLB [128] - !BYTE $74,$00 ; SLB [0] - !BYTE $6A ; LAW _D053+0 -_F467 !WORD _D053+0 - !BYTE $BA,$85 ; IDXLW [133] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F468 !WORD _C003 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C004 -_F469 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F470 !WORD _D053+0 - !BYTE $BA,$85 ; IDXLW [133] - !BYTE $72 ; SW - !BYTE $68 ; LAB _D046+0 -_F471 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F472 !WORD _D046+0 -_B283 -_B284 -; toolsrc/ed.pla: 0969: fin -_B281 -_B282 -; toolsrc/ed.pla: 0970: next -_B280 - !BYTE $A4 ; INCBRLE _B279 - !WORD _B279-* -_B278 - !BYTE $76,$85 ; SLW [133] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0971: drawscrn -; toolsrc/ed.pla: 0972: end - !BYTE $54 ; CALL _C015 -_F473 !WORD _C015 - !BYTE $5A,$87 ; LEAVE 135 -; toolsrc/ed.pla: 0973: def autoindent(strptr)#0 - ; strptr -> [0] -_C039 ; autoindent() -; toolsrc/ed.pla: 0974: byte i - ; i -> [2] -; toolsrc/ed.pla: 0975: -; toolsrc/ed.pla: 0976: for i = 1 to ^strptr - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B288 - !WORD _B288-* -_B289 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/ed.pla: 0977: if ^(strptr + i) <> keyspace -; toolsrc/ed.pla: 0978: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B291 - !WORD _B291-* - !BYTE $50 ; BRNCH _B288 - !WORD _B288-* -; toolsrc/ed.pla: 0979: fin -_B291 -_B292 -; toolsrc/ed.pla: 0980: next -_B290 - !BYTE $A4 ; INCBRLE _B289 - !WORD _B289-* -_B288 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 0981: curshpos(i - 1) -; toolsrc/ed.pla: 0982: end - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C016 -_F474 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 0983: def openline(row) - ; row -> [0] -_C040 ; openline() -; toolsrc/ed.pla: 0984: if numlines < MAXLINES - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/ed.pla: 0985: memcpy(@txtlinbuf=>[row + 1], @txtlinbuf=>[row], (numlines - row) * 2) -; toolsrc/ed.pla: 0986: txtlinbuf=>[row] = @nullstr -; toolsrc/ed.pla: 0987: numlines++ - !BYTE $6A ; LAW _D047+0 -_F475 !WORD _D047+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B293 - !WORD _B293-* - !BYTE $6A ; LAW _D053+0 -_F476 !WORD _D053+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D053+0 -_F477 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $6A ; LAW _D047+0 -_F478 !WORD _D047+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F479 !WORD 0 - !BYTE $26 ; LA _D043+0 -_F480 !WORD _D043+0 - !BYTE $6A ; LAW _D053+0 -_F481 !WORD _D053+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW - !BYTE $6A ; LAW _D047+0 -_F482 !WORD _D047+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 0988: flags = flags | changed -; toolsrc/ed.pla: 0989: return TRUE - !BYTE $7A ; SAW _D047+0 -_F483 !WORD _D047+0 - !BYTE $68 ; LAB _D046+0 -_F484 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F485 !WORD _D046+0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0990: fin -_B293 -_B294 -; toolsrc/ed.pla: 0991: bell -; toolsrc/ed.pla: 0992: return FALSE - !BYTE $54 ; CALL _C000 -_F486 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 0993: end -; toolsrc/ed.pla: 0994: def joinline#0 -_C041 ; joinline() -; toolsrc/ed.pla: 0995: word joinlen, joinstr, stripjoin - ; joinlen -> [0] - ; joinstr -> [2] - ; stripjoin -> [4] -; toolsrc/ed.pla: 0996: -; toolsrc/ed.pla: 0997: if cursrow < numlines - 1 - !BYTE $58,$06,$00 ; ENTER 6,0 -; toolsrc/ed.pla: 0998: joinstr = heapalloc(MAXLNLEN+1) -; toolsrc/ed.pla: 0999: stripjoin = heapalloc(MAXLNLEN+1) -; toolsrc/ed.pla: 1000: strstripcpy(joinstr, txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1001: memcpy(stripjoin, txtlinbuf=>[cursrow + 1], ^(txtlinbuf=>[cursrow + 1]) + 1) -; toolsrc/ed.pla: 1002: striplead(stripjoin, keyspace); -; toolsrc/ed.pla: 1003: joinlen = ^joinstr + ^stripjoin -; toolsrc/ed.pla: 1004: if joinlen <= MAXLNLEN -; toolsrc/ed.pla: 1005: curshpos(^joinstr) -; toolsrc/ed.pla: 1006: memcpy(joinstr + ^joinstr + 1, stripjoin + 1, ^stripjoin) -; toolsrc/ed.pla: 1007: ^joinstr = joinlen -; toolsrc/ed.pla: 1008: delstr(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1009: txtlinbuf=>[cursrow] = newstr(joinstr) -; toolsrc/ed.pla: 1010: delstr(txtlinbuf=>[cursrow + 1]) -; toolsrc/ed.pla: 1011: numlines-- - !BYTE $6A ; LAW _D057+0 -_F487 !WORD _D057+0 - !BYTE $6A ; LAW _D047+0 -_F488 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B295 - !WORD _B295-* - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X014 -_F489 !WORD 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X014 -_F490 !WORD 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D053+0 -_F491 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F492 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C002 -_F493 !WORD _C002 - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D053+0 -_F494 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F495 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $6A ; LAW _D053+0 -_F496 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F497 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $8C ; INCR - !BYTE $54 ; CALL _X018 -_F498 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F499 !WORD _C001 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $6E,$00 ; DLW [0] - !BYTE $2A,$7F ; CB 127 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B297 - !WORD _B297-* - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C016 -_F500 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F501 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D053+0 -_F502 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F503 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F504 !WORD _C003 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C004 -_F505 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F506 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F507 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D053+0 -_F508 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F509 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F510 !WORD _C003 - !BYTE $6A ; LAW _D047+0 -_F511 !WORD _D047+0 - !BYTE $8E ; DECR -; toolsrc/ed.pla: 1012: memcpy(@txtlinbuf=>[cursrow + 1], @txtlinbuf=>[cursrow + 2], (numlines - cursrow) * 2) -; toolsrc/ed.pla: 1013: flags = flags | changed -; toolsrc/ed.pla: 1014: heaprelease(joinstr) -; toolsrc/ed.pla: 1015: return - !BYTE $7A ; SAW _D047+0 -_F512 !WORD _D047+0 - !BYTE $6A ; LAW _D053+0 -_F513 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F514 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D053+0 -_F515 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F516 !WORD _D057+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $9E ; IDXW - !BYTE $6A ; LAW _D047+0 -_F517 !WORD _D047+0 - !BYTE $6A ; LAW _D057+0 -_F518 !WORD _D057+0 - !BYTE $84 ; SUB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F519 !WORD 0 - !BYTE $68 ; LAB _D046+0 -_F520 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F521 !WORD _D046+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X015 -_F522 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 1016: fin -_B297 -_B298 -; toolsrc/ed.pla: 1017: heaprelease(joinstr) -; toolsrc/ed.pla: 1018: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X015 -_F523 !WORD 0 - !BYTE $30 ; DROP -_B295 -_B296 -; toolsrc/ed.pla: 1019: bell -; toolsrc/ed.pla: 1020: end - !BYTE $54 ; CALL _C000 -_F524 !WORD _C000 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/ed.pla: 1021: def splitline#0 -_C042 ; splitline() -; toolsrc/ed.pla: 1022: byte splitstr[MAXLNLEN+1], splitlen, i - ; splitstr -> [0] - ; splitlen -> [128] - ; i -> [129] -; toolsrc/ed.pla: 1023: -; toolsrc/ed.pla: 1024: if openline(cursrow + 1) - !BYTE $58,$82,$00 ; ENTER 130,0 -; toolsrc/ed.pla: 1025: if curscol -; toolsrc/ed.pla: 1026: splitlen = ^(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1027: if curscol < splitlen - 1 -; toolsrc/ed.pla: 1028: splitstr = splitlen - curscol -; toolsrc/ed.pla: 1029: memcpy(@splitstr + 1, txtlinbuf=>[cursrow] + curscol + 1, splitstr) -; toolsrc/ed.pla: 1030: striplead(@splitstr, keyspace) -; toolsrc/ed.pla: 1031: for i = 1 to curscol - !BYTE $6A ; LAW _D057+0 -_F525 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C040 -_F526 !WORD _C040 - !BYTE $4C ; BRFLS _B299 - !WORD _B299-* - !BYTE $6A ; LAW _D058+0 -_F527 !WORD _D058+0 - !BYTE $4C ; BRFLS _B301 - !WORD _B301-* - !BYTE $6A ; LAW _D053+0 -_F528 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F529 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $74,$80 ; SLB [128] - !BYTE $6A ; LAW _D058+0 -_F530 !WORD _D058+0 - !BYTE $64,$80 ; LLB [128] - !BYTE $8E ; DECR - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B303 - !WORD _B303-* - !BYTE $64,$80 ; LLB [128] - !BYTE $6A ; LAW _D058+0 -_F531 !WORD _D058+0 - !BYTE $84 ; SUB - !BYTE $74,$00 ; SLB [0] - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _D053+0 -_F532 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F533 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $B6 ; ADDAW _D058+0 -_F534 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F535 !WORD 0 - !BYTE $28,$00 ; LLA [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F536 !WORD _C001 - !BYTE $6A ; LAW _D058+0 -_F537 !WORD _D058+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B305 - !WORD _B305-* -_B306 - !BYTE $6C,$81 ; DLB [129] -; toolsrc/ed.pla: 1032: if ^(txtlinbuf=>[cursrow] + i) <> keyspace -; toolsrc/ed.pla: 1033: break - !BYTE $6A ; LAW _D053+0 -_F538 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F539 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $B0,$81 ; ADDLB [129] - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B308 - !WORD _B308-* - !BYTE $50 ; BRNCH _B305 - !WORD _B305-* -; toolsrc/ed.pla: 1034: fin -_B308 -_B309 -; toolsrc/ed.pla: 1035: memcpy(@splitstr + 2, @splitstr + 1, splitstr) -; toolsrc/ed.pla: 1036: splitstr[1] = keyspace -; toolsrc/ed.pla: 1037: splitstr++ - !BYTE $28,$02 ; LLA [2] - !BYTE $28,$01 ; LLA [1] - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F540 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$01 ; SLB [1] - !BYTE $64,$00 ; LLB [0] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1038: next - !BYTE $74,$00 ; SLB [0] -_B307 - !BYTE $A4 ; INCBRLE _B306 - !WORD _B306-* -_B305 - !BYTE $74,$81 ; SLB [129] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1039: txtlinbuf=>[cursrow + 1] = newstr(@splitstr) -; toolsrc/ed.pla: 1040: splitstr = curscol -; toolsrc/ed.pla: 1041: memcpy(@splitstr + 1, txtlinbuf=>[cursrow] + 1, splitstr) -; toolsrc/ed.pla: 1042: delstr(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1043: txtlinbuf=>[cursrow] = newstr(@splitstr) -; toolsrc/ed.pla: 1044: curshpos(i - 1) -; toolsrc/ed.pla: 1045: else - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C004 -_F541 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F542 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F543 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $6A ; LAW _D058+0 -_F544 !WORD _D058+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $28,$01 ; LLA [1] - !BYTE $6A ; LAW _D053+0 -_F545 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F546 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $8C ; INCR - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _X018 -_F547 !WORD 0 - !BYTE $6A ; LAW _D053+0 -_F548 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F549 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C003 -_F550 !WORD _C003 - !BYTE $28,$00 ; LLA [0] - !BYTE $54 ; CALL _C004 -_F551 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F552 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F553 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $64,$81 ; LLB [129] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C016 -_F554 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B304 - !WORD _B304-* -_B303 -; toolsrc/ed.pla: 1046: if splitlen > 0 -; toolsrc/ed.pla: 1047: for curscol = 1 to splitlen - 1 - !BYTE $64,$80 ; LLB [128] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B310 - !WORD _B310-* - !BYTE $64,$80 ; LLB [128] - !BYTE $8E ; DECR - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B312 - !WORD _B312-* -_B313 - !BYTE $7E ; DAW _D058+0 -_F555 !WORD _D058+0 -; toolsrc/ed.pla: 1048: if ^(txtlinbuf=>[cursrow] + curscol) <> keyspace -; toolsrc/ed.pla: 1049: break - !BYTE $6A ; LAW _D053+0 -_F556 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F557 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $B6 ; ADDAW _D058+0 -_F558 !WORD _D058+0 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B315 - !WORD _B315-* - !BYTE $50 ; BRNCH _B312 - !WORD _B312-* -; toolsrc/ed.pla: 1050: fin -_B315 -_B316 -; toolsrc/ed.pla: 1051: next -_B314 - !BYTE $A4 ; INCBRLE _B313 - !WORD _B313-* -_B312 - !BYTE $7A ; SAW _D058+0 -_F559 !WORD _D058+0 - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1052: curshpos(curscol - 1) -; toolsrc/ed.pla: 1053: fin - !BYTE $6A ; LAW _D058+0 -_F560 !WORD _D058+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C016 -_F561 !WORD _C016 - !BYTE $30 ; DROP -_B310 -_B311 -; toolsrc/ed.pla: 1054: fin -_B304 -; toolsrc/ed.pla: 1055: else - !BYTE $50 ; BRNCH _B302 - !WORD _B302-* -_B301 -; toolsrc/ed.pla: 1056: txtlinbuf=>[cursrow + 1] = txtlinbuf=>[cursrow] -; toolsrc/ed.pla: 1057: txtlinbuf=>[cursrow] = @nullstr -; toolsrc/ed.pla: 1058: fin - !BYTE $6A ; LAW _D053+0 -_F562 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F563 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D053+0 -_F564 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F565 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $26 ; LA _D043+0 -_F566 !WORD _D043+0 - !BYTE $6A ; LAW _D053+0 -_F567 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F568 !WORD _D057+0 - !BYTE $72 ; SW -_B302 -; toolsrc/ed.pla: 1059: fin -_B299 -_B300 -; toolsrc/ed.pla: 1060: end - !BYTE $5A,$82 ; LEAVE 130 -; toolsrc/ed.pla: 1061: // -; toolsrc/ed.pla: 1062: // Keyboard routines -; toolsrc/ed.pla: 1063: // -; toolsrc/ed.pla: 1064: def waitkey#1 -_C043 ; waitkey() -; toolsrc/ed.pla: 1065: word delay - ; delay -> [0] -; toolsrc/ed.pla: 1066: -; toolsrc/ed.pla: 1067: for delay = 0 to cursflash - !BYTE $58,$02,$00 ; ENTER 2,0 - !BYTE $6A ; LAW _D060+0 -_F569 !WORD _D060+0 - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B317 - !WORD _B317-* -_B318 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/ed.pla: 1068: if conio:keypressed() -; toolsrc/ed.pla: 1069: return conio:getkey() - !BYTE $6A ; LAW _X033+0 -_F570 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B320 - !WORD _B320-* - !BYTE $32 ; DROP2 - !BYTE $6A ; LAW _X033+2 -_F571 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1070: fin -_B320 -_B321 -; toolsrc/ed.pla: 1071: next -_B319 - !BYTE $A4 ; INCBRLE _B318 - !WORD _B318-* -_B317 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1072: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1073: end -; toolsrc/ed.pla: 1074: def keyin -_C044 ; keyin() -; toolsrc/ed.pla: 1075: byte key, underchr, curschr - ; key -> [0] - ; underchr -> [1] - ; curschr -> [2] -; toolsrc/ed.pla: 1076: -; toolsrc/ed.pla: 1077: underchr = curscol >= ^(txtlinbuf=>[cursrow]) ?? ' ' :: txtlinbuf=>[cursrow]->[curscol + 1] - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/ed.pla: 1078: curschr = flags & insmode ?? '+' :: '_' -; toolsrc/ed.pla: 1079: if conio:keypressed() -; toolsrc/ed.pla: 1080: key = conio:getkey() -; toolsrc/ed.pla: 1081: conio:gotoxy(cursx, cursy) -; toolsrc/ed.pla: 1082: else - !BYTE $6A ; LAW _D058+0 -_F572 !WORD _D058+0 - !BYTE $6A ; LAW _D053+0 -_F573 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F574 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B322 - !WORD _B322-* - !BYTE $2A,$20 ; CB 32 - !BYTE $50 ; BRNCH _B323 - !WORD _B323-* -_B322 - !BYTE $6A ; LAW _D053+0 -_F575 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F576 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D058+0 -_F577 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB -_B323 - !BYTE $74,$01 ; SLB [1] - !BYTE $68 ; LAB _D046+0 -_F578 !WORD _D046+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B324 - !WORD _B324-* - !BYTE $2A,$2B ; CB 43 - !BYTE $50 ; BRNCH _B325 - !WORD _B325-* -_B324 - !BYTE $2A,$5F ; CB 95 -_B325 - !BYTE $74,$02 ; SLB [2] - !BYTE $6A ; LAW _X033+0 -_F579 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B326 - !WORD _B326-* - !BYTE $6A ; LAW _X033+2 -_F580 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $74,$00 ; SLB [0] - !BYTE $6A ; LAW _D055+0 -_F581 !WORD _D055+0 - !BYTE $6A ; LAW _D056+0 -_F582 !WORD _D056+0 - !BYTE $6A ; LAW _X033+8 -_F583 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B327 - !WORD _B327-* -_B326 -; toolsrc/ed.pla: 1083: conio:gotoxy(cursx, cursy) -; toolsrc/ed.pla: 1084: repeat - !BYTE $6A ; LAW _D055+0 -_F584 !WORD _D055+0 - !BYTE $6A ; LAW _D056+0 -_F585 !WORD _D056+0 - !BYTE $6A ; LAW _X033+8 -_F586 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B329 -; toolsrc/ed.pla: 1085: conio:textctrl(ctrlattr, INVERSE) -; toolsrc/ed.pla: 1086: conio:putchars(1, curschr) -; toolsrc/ed.pla: 1087: conio:gotoxy(cursx, cursy) -; toolsrc/ed.pla: 1088: key = waitkey -; toolsrc/ed.pla: 1089: conio:textctrl(ctrlattr, NORMAL) -; toolsrc/ed.pla: 1090: if not key -; toolsrc/ed.pla: 1091: conio:putchars(1, underchr) -; toolsrc/ed.pla: 1092: conio:gotoxy(cursx, cursy) -; toolsrc/ed.pla: 1093: key = waitkey -; toolsrc/ed.pla: 1094: fin - !BYTE $02 ; CN 1 - !BYTE $2A,$3F ; CB 63 - !BYTE $6A ; LAW _X033+12 -_F587 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $64,$02 ; LLB [2] - !BYTE $6A ; LAW _X033+4 -_F588 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D055+0 -_F589 !WORD _D055+0 - !BYTE $6A ; LAW _D056+0 -_F590 !WORD _D056+0 - !BYTE $6A ; LAW _X033+8 -_F591 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C043 -_F592 !WORD _C043 - !BYTE $74,$00 ; SLB [0] - !BYTE $02 ; CN 1 - !BYTE $2A,$FF ; CB 255 - !BYTE $6A ; LAW _X033+12 -_F593 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $4E ; BRTRU _B331 - !WORD _B331-* - !BYTE $02 ; CN 1 - !BYTE $64,$01 ; LLB [1] - !BYTE $6A ; LAW _X033+4 -_F594 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D055+0 -_F595 !WORD _D055+0 - !BYTE $6A ; LAW _D056+0 -_F596 !WORD _D056+0 - !BYTE $6A ; LAW _X033+8 -_F597 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C043 -_F598 !WORD _C043 - !BYTE $74,$00 ; SLB [0] -_B331 -_B332 -; toolsrc/ed.pla: 1095: until key -_B330 - !BYTE $64,$00 ; LLB [0] - !BYTE $4C ; BRFLS _B329 - !WORD _B329-* -_B328 -; toolsrc/ed.pla: 1096: fin -_B327 -; toolsrc/ed.pla: 1097: conio:putchars(1, underchr) -; toolsrc/ed.pla: 1098: if (key & ~keyoptmod) >= '0' and (key & ~keyoptmod) <= '9' -; toolsrc/ed.pla: 1099: key = key ^ (flags & numlock) // numlock == keyoptmod -; toolsrc/ed.pla: 1100: fin - !BYTE $02 ; CN 1 - !BYTE $64,$01 ; LLB [1] - !BYTE $6A ; LAW _X033+4 -_F599 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$00 ; LLB [0] - !BYTE $5E,$7F ; CFFB -129 - !BYTE $94 ; AND - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B333 - !WORD _B333-* - !BYTE $64,$00 ; LLB [0] - !BYTE $5E,$7F ; CFFB -129 - !BYTE $94 ; AND - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B333 - !BYTE $4C ; BRFLS _B334 - !WORD _B334-* - !BYTE $64,$00 ; LLB [0] - !BYTE $68 ; LAB _D046+0 -_F600 !WORD _D046+0 - !BYTE $3C,$80 ; ANDI 128 - !BYTE $98 ; XOR - !BYTE $74,$00 ; SLB [0] -_B334 -_B335 -; toolsrc/ed.pla: 1101: if key & keyoptmod // Closed-Apple/Option pressed -; toolsrc/ed.pla: 1102: when key - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B336 - !WORD _B336-* - !BYTE $64,$00 ; LLB [0] - !BYTE $52 ; SEL - !WORD _B339-* -; toolsrc/ed.pla: 1103: is keyarrowleft | keyoptmod -_B340 -; toolsrc/ed.pla: 1104: key = keyctrla; break - !BYTE $02 ; CN 1 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1105: is keyarrowright | keyoptmod -_B341 -; toolsrc/ed.pla: 1106: key = keyctrls; break - !BYTE $2A,$13 ; CB 19 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1107: is keyarrowup | keyoptmod -_B342 -; toolsrc/ed.pla: 1108: key = keyctrlw; break - !BYTE $2A,$17 ; CB 23 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1109: is keyarrowdown | keyoptmod -_B343 -; toolsrc/ed.pla: 1110: key = keyctrlz; break - !BYTE $2A,$1A ; CB 26 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1111: is keyenter | keyoptmod -_B344 -; toolsrc/ed.pla: 1112: key = keyctrlf; break - !BYTE $0C ; CN 6 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1113: is keytab | keyoptmod -_B345 -; toolsrc/ed.pla: 1114: key = keydetab; break - !BYTE $2A,$1D ; CB 29 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1115: is '\\' | keyoptmod -_B346 -; toolsrc/ed.pla: 1116: key = keydelete; break // Delete - !BYTE $2A,$7F ; CB 127 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1117: // -; toolsrc/ed.pla: 1118: // Map option+keypad on Platinum //e -; toolsrc/ed.pla: 1119: // -; toolsrc/ed.pla: 1120: is '4' | keyoptmod -_B347 -; toolsrc/ed.pla: 1121: key = keyarrowleft; break - !BYTE $10 ; CN 8 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1122: is '6' | keyoptmod -_B348 -; toolsrc/ed.pla: 1123: key = keyarrowright; break - !BYTE $2A,$15 ; CB 21 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1124: is '8' | keyoptmod -_B349 -; toolsrc/ed.pla: 1125: key = keyarrowup; break - !BYTE $16 ; CN 11 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1126: is '2' | keyoptmod -_B350 -; toolsrc/ed.pla: 1127: key = keyarrowdown; break - !BYTE $14 ; CN 10 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1128: is '7' | keyoptmod -_B351 -; toolsrc/ed.pla: 1129: key = keyctrlq; break // Top - !BYTE $2A,$11 ; CB 17 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1130: is '1' | keyoptmod -_B352 -; toolsrc/ed.pla: 1131: key = keyctrle; break // Bottom - !BYTE $0A ; CN 5 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1132: is '9' | keyoptmod -_B353 -; toolsrc/ed.pla: 1133: key = keyctrlw; break // Pg Up - !BYTE $2A,$17 ; CB 23 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1134: is '3' | keyoptmod -_B354 -; toolsrc/ed.pla: 1135: key = keyctrlz; break // Pg Dn - !BYTE $2A,$1A ; CB 26 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1136: is '5' | keyoptmod -_B355 -; toolsrc/ed.pla: 1137: key = keyctrlb; break // Selection start/end - !BYTE $04 ; CN 2 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1138: is '0' | keyoptmod -_B356 -; toolsrc/ed.pla: 1139: key = keyctrld; break // Del - !BYTE $08 ; CN 4 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1140: is '.' | keyoptmod -_B357 -; toolsrc/ed.pla: 1141: key = keyctrlv; break // Paste - !BYTE $2A,$16 ; CB 22 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1142: is '-' | keyoptmod -_B358 -; toolsrc/ed.pla: 1143: key = keyctrlx; break // Cut - !BYTE $2A,$18 ; CB 24 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1144: is '+' | keyoptmod -_B359 -; toolsrc/ed.pla: 1145: key = keyctrlc; break // Copy - !BYTE $06 ; CN 3 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1146: is '*' | keyoptmod -_B360 -; toolsrc/ed.pla: 1147: key = keyctrlo; break // Open line - !BYTE $1E ; CN 15 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1148: is '/' | keyoptmod -_B361 -; toolsrc/ed.pla: 1149: key = keyctrlt; break // Insert/Overwrite - !BYTE $2A,$14 ; CB 20 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1150: is '=' | keyoptmod -_B362 -; toolsrc/ed.pla: 1151: flags = flags ^ numlock -; toolsrc/ed.pla: 1152: if flags & numlock -; toolsrc/ed.pla: 1153: bell -; toolsrc/ed.pla: 1154: fin - !BYTE $68 ; LAB _D046+0 -_F601 !WORD _D046+0 - !BYTE $2A,$80 ; CB 128 - !BYTE $98 ; XOR - !BYTE $7C ; DAB _D046+0 -_F602 !WORD _D046+0 - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B363 - !WORD _B363-* - !BYTE $54 ; CALL _C000 -_F603 !WORD _C000 -_B363 -_B364 -; toolsrc/ed.pla: 1155: bell -; toolsrc/ed.pla: 1156: key = 0 -; toolsrc/ed.pla: 1157: break - !BYTE $54 ; CALL _C000 -_F604 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -; toolsrc/ed.pla: 1158: otherwise -_B339 - !BYTE $17 ; CASEBLOCK - !WORD $0088 - !WORD _B340-* - !WORD $0089 - !WORD _B345-* - !WORD $008A - !WORD _B343-* - !WORD $008B - !WORD _B342-* - !WORD $008D - !WORD _B344-* - !WORD $0095 - !WORD _B341-* - !WORD $00AA - !WORD _B360-* - !WORD $00AB - !WORD _B359-* - !WORD $00AD - !WORD _B358-* - !WORD $00AE - !WORD _B357-* - !WORD $00AF - !WORD _B361-* - !WORD $00B0 - !WORD _B356-* - !WORD $00B1 - !WORD _B352-* - !WORD $00B2 - !WORD _B350-* - !WORD $00B3 - !WORD _B354-* - !WORD $00B4 - !WORD _B347-* - !WORD $00B5 - !WORD _B355-* - !WORD $00B6 - !WORD _B348-* - !WORD $00B7 - !WORD _B351-* - !WORD $00B8 - !WORD _B349-* - !WORD $00B9 - !WORD _B353-* - !WORD $00BD - !WORD _B362-* - !WORD $00DC - !WORD _B346-* -; toolsrc/ed.pla: 1159: key = key & ~keyoptmod -; toolsrc/ed.pla: 1160: wend - !BYTE $64,$00 ; LLB [0] - !BYTE $5E,$7F ; CFFB -129 - !BYTE $94 ; AND - !BYTE $74,$00 ; SLB [0] -_B338 -; toolsrc/ed.pla: 1161: fin -_B336 -_B337 -; toolsrc/ed.pla: 1162: return key - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 1163: end -; toolsrc/ed.pla: 1164: def editkey(key) - ; key -> [0] -_C045 ; editkey() -; toolsrc/ed.pla: 1165: if key >= keyspace or key == keyctrld or key == keyctrlr - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/ed.pla: 1166: return TRUE - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $48 ; ISGE - !BYTE $AE ; BROR _B365 - !WORD _B365-* - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B366 - !WORD _B366-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$12 ; CB 18 - !BYTE $40 ; ISEQ -_B366 -_B365 - !BYTE $4C ; BRFLS _B367 - !WORD _B367-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1167: fin -_B367 -_B368 -; toolsrc/ed.pla: 1168: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/ed.pla: 1169: end -; toolsrc/ed.pla: 1170: def editline(key) - ; key -> [0] -_C046 ; editline() -; toolsrc/ed.pla: 1171: word undoline - ; undoline -> [2] -; toolsrc/ed.pla: 1172: byte undopos, localchange, editstr[], editlen, editchars[MAXLNLEN+1] - ; undopos -> [4] - ; localchange -> [5] - ; editstr -> [6] - ; editlen -> [6] - ; editchars -> [7] -; toolsrc/ed.pla: 1173: -; toolsrc/ed.pla: 1174: if (editkey(key)) - !BYTE $58,$87,$01 ; ENTER 135,1 -; toolsrc/ed.pla: 1175: localchange = FALSE -; toolsrc/ed.pla: 1176: undopos = curscol -; toolsrc/ed.pla: 1177: undoline = txtlinbuf=>[cursrow] -; toolsrc/ed.pla: 1178: editlen = MAXLNLEN -; toolsrc/ed.pla: 1179: memcpy(@editchars, undoline + 1, ^undoline) -; toolsrc/ed.pla: 1180: memset(@editchars + ^undoline, keyspace | (keyspace << 8), MAXLNLEN - ^undoline) -; toolsrc/ed.pla: 1181: txtlinbuf=>[cursrow] = @editstr -; toolsrc/ed.pla: 1182: repeat - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C045 -_F605 !WORD _C045 - !BYTE $4C ; BRFLS _B369 - !WORD _B369-* - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $6A ; LAW _D058+0 -_F606 !WORD _D058+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D053+0 -_F607 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F608 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $2A,$7F ; CB 127 - !BYTE $74,$06 ; SLB [6] - !BYTE $28,$07 ; LLA [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F609 !WORD 0 - !BYTE $28,$07 ; LLA [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $2C,$20,$20 ; CW 8224 - !BYTE $2A,$7F ; CB 127 - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X017 -_F610 !WORD 0 - !BYTE $28,$06 ; LLA [6] - !BYTE $6A ; LAW _D053+0 -_F611 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F612 !WORD _D057+0 - !BYTE $72 ; SW -_B372 -; toolsrc/ed.pla: 1183: when key - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B375-* -; toolsrc/ed.pla: 1184: is keyctrld -_B376 -; toolsrc/ed.pla: 1185: memcpy(@editchars[curscol], @editchars[curscol + 1], MAXLNLEN - 1 - curscol) -; toolsrc/ed.pla: 1186: editchars[MAXLNLEN - 1] = keyspace -; toolsrc/ed.pla: 1187: drawstr(cursy, @editstr) -; toolsrc/ed.pla: 1188: localchange = TRUE -; toolsrc/ed.pla: 1189: break - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D058+0 -_F613 !WORD _D058+0 - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _D058+0 -_F614 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $2A,$7E ; CB 126 - !BYTE $6A ; LAW _D058+0 -_F615 !WORD _D058+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F616 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$85 ; SLB [133] - !BYTE $6A ; LAW _D056+0 -_F617 !WORD _D056+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C011 -_F618 !WORD _C011 - !BYTE $20 ; MINUS ONE - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B374 - !WORD _B374-* -; toolsrc/ed.pla: 1190: is keyctrlr -_B377 -; toolsrc/ed.pla: 1191: memset(@editchars, $A0A0, MAXLNLEN) -; toolsrc/ed.pla: 1192: memcpy(@editchars, undoline + 1, ^undoline) -; toolsrc/ed.pla: 1193: if curshpos(undopos) -; toolsrc/ed.pla: 1194: drawscrn -; toolsrc/ed.pla: 1195: else - !BYTE $28,$07 ; LLA [7] - !BYTE $2C,$A0,$A0 ; CW 41120 - !BYTE $2A,$7F ; CB 127 - !BYTE $54 ; CALL _X017 -_F619 !WORD 0 - !BYTE $28,$07 ; LLA [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F620 !WORD 0 - !BYTE $64,$04 ; LLB [4] - !BYTE $54 ; CALL _C016 -_F621 !WORD _C016 - !BYTE $4C ; BRFLS _B378 - !WORD _B378-* - !BYTE $54 ; CALL _C015 -_F622 !WORD _C015 - !BYTE $50 ; BRNCH _B379 - !WORD _B379-* -_B378 -; toolsrc/ed.pla: 1196: drawstr(cursy, @editstr) -; toolsrc/ed.pla: 1197: fin - !BYTE $6A ; LAW _D056+0 -_F623 !WORD _D056+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C011 -_F624 !WORD _C011 -_B379 -; toolsrc/ed.pla: 1198: localchange = FALSE -; toolsrc/ed.pla: 1199: break - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B374 - !WORD _B374-* -; toolsrc/ed.pla: 1200: is keydelete -_B380 -; toolsrc/ed.pla: 1201: if curscol > 0 -; toolsrc/ed.pla: 1202: memcpy(@editchars[curscol - 1], @editchars[curscol], MAXLNLEN - curscol) -; toolsrc/ed.pla: 1203: editchars[MAXLNLEN - 1] = keyspace -; toolsrc/ed.pla: 1204: if curshpos(curscol - 1) -; toolsrc/ed.pla: 1205: drawscrn -; toolsrc/ed.pla: 1206: else - !BYTE $6A ; LAW _D058+0 -_F625 !WORD _D058+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B381 - !WORD _B381-* - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _D058+0 -_F626 !WORD _D058+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D058+0 -_F627 !WORD _D058+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _D058+0 -_F628 !WORD _D058+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F629 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $74,$85 ; SLB [133] - !BYTE $6A ; LAW _D058+0 -_F630 !WORD _D058+0 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C016 -_F631 !WORD _C016 - !BYTE $4C ; BRFLS _B383 - !WORD _B383-* - !BYTE $54 ; CALL _C015 -_F632 !WORD _C015 - !BYTE $50 ; BRNCH _B384 - !WORD _B384-* -_B383 -; toolsrc/ed.pla: 1207: drawstr(cursy, @editstr) -; toolsrc/ed.pla: 1208: fin - !BYTE $6A ; LAW _D056+0 -_F633 !WORD _D056+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C011 -_F634 !WORD _C011 -_B384 -; toolsrc/ed.pla: 1209: localchange = TRUE -; toolsrc/ed.pla: 1210: fin - !BYTE $20 ; MINUS ONE - !BYTE $74,$05 ; SLB [5] -_B381 -_B382 -; toolsrc/ed.pla: 1211: break - !BYTE $50 ; BRNCH _B374 - !WORD _B374-* -; toolsrc/ed.pla: 1212: otherwise -_B375 - !BYTE $03 ; CASEBLOCK - !WORD $0004 - !WORD _B376-* - !WORD $0012 - !WORD _B377-* - !WORD $007F - !WORD _B380-* -; toolsrc/ed.pla: 1213: if flags & insmode -; toolsrc/ed.pla: 1214: if editchars[MAXLNLEN - 1] == keyspace -; toolsrc/ed.pla: 1215: memcpy(@editchars[curscol+1], @editchars[curscol], MAXLNLEN - 1 - curscol) -; toolsrc/ed.pla: 1216: else - !BYTE $68 ; LAB _D046+0 -_F635 !WORD _D046+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B385 - !WORD _B385-* - !BYTE $64,$85 ; LLB [133] - !BYTE $2A,$20 ; CB 32 - !BYTE $24 ; BRNE _B387 - !WORD _B387-* - !BYTE $28,$07 ; LLA [7] - !BYTE $6A ; LAW _D058+0 -_F636 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D058+0 -_F637 !WORD _D058+0 - !BYTE $2A,$7E ; CB 126 - !BYTE $6A ; LAW _D058+0 -_F638 !WORD _D058+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F639 !WORD 0 - !BYTE $50 ; BRNCH _B388 - !WORD _B388-* -_B387 -; toolsrc/ed.pla: 1217: bell -; toolsrc/ed.pla: 1218: break - !BYTE $54 ; CALL _C000 -_F640 !WORD _C000 - !BYTE $50 ; BRNCH _B374 - !WORD _B374-* -; toolsrc/ed.pla: 1219: fin -_B388 -; toolsrc/ed.pla: 1220: fin -_B385 -_B386 -; toolsrc/ed.pla: 1221: editchars[curscol] = key -; toolsrc/ed.pla: 1222: if curshpos(curscol + 1) -; toolsrc/ed.pla: 1223: drawscrn -; toolsrc/ed.pla: 1224: else - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$07 ; LLA [7] - !BYTE $B6 ; ADDAW _D058+0 -_F641 !WORD _D058+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D058+0 -_F642 !WORD _D058+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C016 -_F643 !WORD _C016 - !BYTE $4C ; BRFLS _B389 - !WORD _B389-* - !BYTE $54 ; CALL _C015 -_F644 !WORD _C015 - !BYTE $50 ; BRNCH _B390 - !WORD _B390-* -_B389 -; toolsrc/ed.pla: 1225: drawstr(cursy, @editstr) -; toolsrc/ed.pla: 1226: fin - !BYTE $6A ; LAW _D056+0 -_F645 !WORD _D056+0 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C011 -_F646 !WORD _C011 -_B390 -; toolsrc/ed.pla: 1227: localchange = TRUE -; toolsrc/ed.pla: 1228: break - !BYTE $20 ; MINUS ONE - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B374 - !WORD _B374-* -; toolsrc/ed.pla: 1229: wend -_B374 -; toolsrc/ed.pla: 1230: key = keyin -; toolsrc/ed.pla: 1231: until not editkey(key) - !BYTE $54 ; CALL _C044 -_F647 !WORD _C044 - !BYTE $76,$00 ; SLW [0] -_B373 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C045 -_F648 !WORD _C045 - !BYTE $4E ; BRTRU _B372 - !WORD _B372-* -_B371 -; toolsrc/ed.pla: 1232: if localchange -; toolsrc/ed.pla: 1233: flags = flags | changed -; toolsrc/ed.pla: 1234: delstr(undoline) -; toolsrc/ed.pla: 1235: txtlinbuf=>[cursrow] = newstr(@editstr) -; toolsrc/ed.pla: 1236: else - !BYTE $64,$05 ; LLB [5] - !BYTE $4C ; BRFLS _B391 - !WORD _B391-* - !BYTE $68 ; LAB _D046+0 -_F649 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F650 !WORD _D046+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C003 -_F651 !WORD _C003 - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C004 -_F652 !WORD _C004 - !BYTE $6A ; LAW _D053+0 -_F653 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F654 !WORD _D057+0 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B392 - !WORD _B392-* -_B391 -; toolsrc/ed.pla: 1237: txtlinbuf=>[cursrow] = undoline -; toolsrc/ed.pla: 1238: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D053+0 -_F655 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F656 !WORD _D057+0 - !BYTE $72 ; SW -_B392 -; toolsrc/ed.pla: 1239: fin -_B369 -_B370 -; toolsrc/ed.pla: 1240: return key - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$87 ; LEAVE 135 -; toolsrc/ed.pla: 1241: end -; toolsrc/ed.pla: 1242: def editmode#0 -_C047 ; editmode() -; toolsrc/ed.pla: 1243: conio:textctrl(ctrlecho, OFF) -; toolsrc/ed.pla: 1244: conio:textctrl(ctrlcursor, OFF) -; toolsrc/ed.pla: 1245: repeat - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X033+12 -_F657 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X033+12 -_F658 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B394 -; toolsrc/ed.pla: 1246: when editline(keyin) - !BYTE $54 ; CALL _C044 -_F659 !WORD _C044 - !BYTE $54 ; CALL _C046 -_F660 !WORD _C046 - !BYTE $52 ; SEL - !WORD _B397-* -; toolsrc/ed.pla: 1247: is keyarrowup -_B398 -; toolsrc/ed.pla: 1248: cursup; break - !BYTE $54 ; CALL _C020 -_F661 !WORD _C020 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1249: is keyarrowdown -_B399 -; toolsrc/ed.pla: 1250: cursdown; break - !BYTE $54 ; CALL _C022 -_F662 !WORD _C022 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1251: is keyarrowleft -_B400 -; toolsrc/ed.pla: 1252: cursleft; break - !BYTE $54 ; CALL _C024 -_F663 !WORD _C024 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1253: is keyarrowright -_B401 -; toolsrc/ed.pla: 1254: cursright; break - !BYTE $54 ; CALL _C026 -_F664 !WORD _C026 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1255: is keyctrlw -_B402 -; toolsrc/ed.pla: 1256: pgup; break - !BYTE $54 ; CALL _C021 -_F665 !WORD _C021 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1257: is keyctrlz -_B403 -; toolsrc/ed.pla: 1258: pgdown; break - !BYTE $54 ; CALL _C023 -_F666 !WORD _C023 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1259: is keyctrla -_B404 -; toolsrc/ed.pla: 1260: pgleft; break - !BYTE $54 ; CALL _C025 -_F667 !WORD _C025 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1261: is keyctrls -_B405 -; toolsrc/ed.pla: 1262: pgright; break - !BYTE $54 ; CALL _C027 -_F668 !WORD _C027 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1263: is keyctrlq -_B406 -; toolsrc/ed.pla: 1264: curshome; break - !BYTE $54 ; CALL _C018 -_F669 !WORD _C018 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1265: is keyctrle -_B407 -; toolsrc/ed.pla: 1266: cursend; break - !BYTE $54 ; CALL _C019 -_F670 !WORD _C019 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1267: is keyctrlb -_B408 -; toolsrc/ed.pla: 1268: beginsel; break - !BYTE $54 ; CALL _C033 -_F671 !WORD _C033 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1269: is keyctrlc -_B409 -; toolsrc/ed.pla: 1270: copysel; break - !BYTE $54 ; CALL _C034 -_F672 !WORD _C034 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1271: is keyctrlx -_B410 -; toolsrc/ed.pla: 1272: cutsel; break - !BYTE $54 ; CALL _C035 -_F673 !WORD _C035 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1273: is keyctrlv -_B411 -; toolsrc/ed.pla: 1274: pastesel; break - !BYTE $54 ; CALL _C036 -_F674 !WORD _C036 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1275: is keyctrlf -_B412 -; toolsrc/ed.pla: 1276: if cursrow == (numlines - 1) -; toolsrc/ed.pla: 1277: if numlines < MAXLINES -; toolsrc/ed.pla: 1278: numlines++ - !BYTE $6A ; LAW _D057+0 -_F675 !WORD _D057+0 - !BYTE $6A ; LAW _D047+0 -_F676 !WORD _D047+0 - !BYTE $8E ; DECR - !BYTE $24 ; BRNE _B413 - !WORD _B413-* - !BYTE $6A ; LAW _D047+0 -_F677 !WORD _D047+0 - !BYTE $2C,$E7,$03 ; CW 999 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B415 - !WORD _B415-* - !BYTE $6A ; LAW _D047+0 -_F678 !WORD _D047+0 - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1279: cursdown -; toolsrc/ed.pla: 1280: flags = flags | changed -; toolsrc/ed.pla: 1281: drawgutter -; toolsrc/ed.pla: 1282: else - !BYTE $7A ; SAW _D047+0 -_F679 !WORD _D047+0 - !BYTE $54 ; CALL _C022 -_F680 !WORD _C022 - !BYTE $68 ; LAB _D046+0 -_F681 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F682 !WORD _D046+0 - !BYTE $54 ; CALL _C013 -_F683 !WORD _C013 - !BYTE $50 ; BRNCH _B416 - !WORD _B416-* -_B415 -; toolsrc/ed.pla: 1283: bell -; toolsrc/ed.pla: 1284: fin - !BYTE $54 ; CALL _C000 -_F684 !WORD _C000 -_B416 -; toolsrc/ed.pla: 1285: break - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1286: fin -_B413 -_B414 -; toolsrc/ed.pla: 1287: cursdown -; toolsrc/ed.pla: 1288: is keyctrlo - !BYTE $54 ; CALL _C022 -_F685 !WORD _C022 -_B417 -; toolsrc/ed.pla: 1289: openline(cursrow) -; toolsrc/ed.pla: 1290: if cursrow -; toolsrc/ed.pla: 1291: autoindent(txtlinbuf=>[cursrow - 1]) -; toolsrc/ed.pla: 1292: else - !BYTE $6A ; LAW _D057+0 -_F686 !WORD _D057+0 - !BYTE $54 ; CALL _C040 -_F687 !WORD _C040 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D057+0 -_F688 !WORD _D057+0 - !BYTE $4C ; BRFLS _B418 - !WORD _B418-* - !BYTE $6A ; LAW _D053+0 -_F689 !WORD _D053+0 - !BYTE $6A ; LAW _D057+0 -_F690 !WORD _D057+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F691 !WORD _C039 - !BYTE $50 ; BRNCH _B419 - !WORD _B419-* -_B418 -; toolsrc/ed.pla: 1293: curshpos(0) -; toolsrc/ed.pla: 1294: fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F692 !WORD _C016 - !BYTE $30 ; DROP -_B419 -; toolsrc/ed.pla: 1295: drawscrn -; toolsrc/ed.pla: 1296: break - !BYTE $54 ; CALL _C015 -_F693 !WORD _C015 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1297: is keyenter -_B420 -; toolsrc/ed.pla: 1298: if flags & insmode -; toolsrc/ed.pla: 1299: splitline -; toolsrc/ed.pla: 1300: else - !BYTE $68 ; LAB _D046+0 -_F694 !WORD _D046+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B421 - !WORD _B421-* - !BYTE $54 ; CALL _C042 -_F695 !WORD _C042 - !BYTE $50 ; BRNCH _B422 - !WORD _B422-* -_B421 -; toolsrc/ed.pla: 1301: openline(cursrow + 1) -; toolsrc/ed.pla: 1302: fin - !BYTE $6A ; LAW _D057+0 -_F696 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C040 -_F697 !WORD _C040 - !BYTE $30 ; DROP -_B422 -; toolsrc/ed.pla: 1303: autoindent(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1304: cursvpos(cursrow + 1) -; toolsrc/ed.pla: 1305: drawscrn -; toolsrc/ed.pla: 1306: break - !BYTE $6A ; LAW _D053+0 -_F698 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F699 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F700 !WORD _C039 - !BYTE $6A ; LAW _D057+0 -_F701 !WORD _D057+0 - !BYTE $8C ; INCR - !BYTE $54 ; CALL _C017 -_F702 !WORD _C017 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C015 -_F703 !WORD _C015 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1307: is keyctrly -_B423 -; toolsrc/ed.pla: 1308: joinline -; toolsrc/ed.pla: 1309: drawscrn -; toolsrc/ed.pla: 1310: break - !BYTE $54 ; CALL _C041 -_F704 !WORD _C041 - !BYTE $54 ; CALL _C015 -_F705 !WORD _C015 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1311: is keytab -_B424 -; toolsrc/ed.pla: 1312: if flags & insmode -; toolsrc/ed.pla: 1313: indentsel -; toolsrc/ed.pla: 1314: if not ^(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1315: curshpos((curscol + 2) & $FE) -; toolsrc/ed.pla: 1316: else - !BYTE $68 ; LAB _D046+0 -_F706 !WORD _D046+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B425 - !WORD _B425-* - !BYTE $54 ; CALL _C037 -_F707 !WORD _C037 - !BYTE $6A ; LAW _D053+0 -_F708 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F709 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B427 - !WORD _B427-* - !BYTE $6A ; LAW _D058+0 -_F710 !WORD _D058+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $3C,$FE ; ANDI 254 - !BYTE $54 ; CALL _C016 -_F711 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B428 - !WORD _B428-* -_B427 -; toolsrc/ed.pla: 1317: autoindent(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1318: fin - !BYTE $6A ; LAW _D053+0 -_F712 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F713 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F714 !WORD _C039 -_B428 -; toolsrc/ed.pla: 1319: break - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1320: fin -_B425 -_B426 -; toolsrc/ed.pla: 1321: is keydetab -_B429 -; toolsrc/ed.pla: 1322: undentsel -; toolsrc/ed.pla: 1323: if not ^(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1324: curshpos((curscol - 2) & $FFFE) -; toolsrc/ed.pla: 1325: else - !BYTE $54 ; CALL _C038 -_F715 !WORD _C038 - !BYTE $6A ; LAW _D053+0 -_F716 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F717 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B430 - !WORD _B430-* - !BYTE $6A ; LAW _D058+0 -_F718 !WORD _D058+0 - !BYTE $3A,$02 ; SUBI 2 - !BYTE $5E,$FE ; CFFB 65534 - !BYTE $94 ; AND - !BYTE $54 ; CALL _C016 -_F719 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B431 - !WORD _B431-* -_B430 -; toolsrc/ed.pla: 1326: autoindent(txtlinbuf=>[cursrow]) -; toolsrc/ed.pla: 1327: fin - !BYTE $6A ; LAW _D053+0 -_F720 !WORD _D053+0 - !BYTE $BE ; IDXAW _D057+0 -_F721 !WORD _D057+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F722 !WORD _C039 -_B431 -; toolsrc/ed.pla: 1328: break - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1329: is keyctrlt -_B432 -; toolsrc/ed.pla: 1330: flags = flags ^ insmode -; toolsrc/ed.pla: 1331: break - !BYTE $68 ; LAB _D046+0 -_F723 !WORD _D046+0 - !BYTE $04 ; CN 2 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D046+0 -_F724 !WORD _D046+0 - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -; toolsrc/ed.pla: 1332: is keyescape -_B433 -; toolsrc/ed.pla: 1333: cmdmode -; toolsrc/ed.pla: 1334: if not (flags & exit) -; toolsrc/ed.pla: 1335: conio:clear(cls) -; toolsrc/ed.pla: 1336: conio:textctrl(ctrlecho, OFF) -; toolsrc/ed.pla: 1337: conio:textctrl(ctrlcursor, OFF) -; toolsrc/ed.pla: 1338: drawscrn -; toolsrc/ed.pla: 1339: fin - !BYTE $54 ; CALL _P000 -_F725 !WORD _P000 - !BYTE $68 ; LAB _D046+0 -_F726 !WORD _D046+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4E ; BRTRU _B434 - !WORD _B434-* - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X033+6 -_F727 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X033+12 -_F728 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X033+12 -_F729 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C015 -_F730 !WORD _C015 -_B434 -_B435 -; toolsrc/ed.pla: 1340: wend - !BYTE $50 ; BRNCH _B396 - !WORD _B396-* -_B397 - !BYTE $16 ; CASEBLOCK - !WORD $0001 - !WORD _B404-* - !WORD $0002 - !WORD _B408-* - !WORD $0003 - !WORD _B409-* - !WORD $0005 - !WORD _B407-* - !WORD $0006 - !WORD _B412-* - !WORD $0008 - !WORD _B400-* - !WORD $0009 - !WORD _B424-* - !WORD $000A - !WORD _B399-* - !WORD $000B - !WORD _B398-* - !WORD $000D - !WORD _B420-* - !WORD $000F - !WORD _B417-* - !WORD $0011 - !WORD _B406-* - !WORD $0013 - !WORD _B405-* - !WORD $0014 - !WORD _B432-* - !WORD $0015 - !WORD _B401-* - !WORD $0016 - !WORD _B411-* - !WORD $0017 - !WORD _B402-* - !WORD $0018 - !WORD _B410-* - !WORD $0019 - !WORD _B423-* - !WORD $001A - !WORD _B403-* - !WORD $001B - !WORD _B433-* - !WORD $001D - !WORD _B429-* -_B396 -; toolsrc/ed.pla: 1341: until flags & exit -_B395 - !BYTE $68 ; LAB _D046+0 -_F731 !WORD _D046+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B394 - !WORD _B394-* -_B393 -; toolsrc/ed.pla: 1342: end - !BYTE $5C ; RET -; toolsrc/ed.pla: 1343: // -; toolsrc/ed.pla: 1344: // Command mode -; toolsrc/ed.pla: 1345: // -; toolsrc/ed.pla: 1346: def prfiles(optpath) - ; optpath -> [0] -_C048 ; prfiles() -; toolsrc/ed.pla: 1347: byte path[64] - ; path -> [2] -; toolsrc/ed.pla: 1348: byte refnum - ; refnum -> [66] -; toolsrc/ed.pla: 1349: byte firstblk - ; firstblk -> [67] -; toolsrc/ed.pla: 1350: byte entrylen, entriesblk - ; entrylen -> [68] - ; entriesblk -> [69] -; toolsrc/ed.pla: 1351: byte i, type, len - ; i -> [70] - ; type -> [71] - ; len -> [72] -; toolsrc/ed.pla: 1352: word databuff, entry - ; databuff -> [73] - ; entry -> [75] -; toolsrc/ed.pla: 1353: -; toolsrc/ed.pla: 1354: if ^optpath - !BYTE $58,$4D,$01 ; ENTER 77,1 -; toolsrc/ed.pla: 1355: strstripcpy(@path, optpath) -; toolsrc/ed.pla: 1356: else - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B436 - !WORD _B436-* - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C002 -_F732 !WORD _C002 - !BYTE $50 ; BRNCH _B437 - !WORD _B437-* -_B436 -; toolsrc/ed.pla: 1357: fileio:getpfx(@path) -; toolsrc/ed.pla: 1358: puts(@path) -; toolsrc/ed.pla: 1359: putln -; toolsrc/ed.pla: 1360: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X031+0 -_F733 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $54 ; CALL _X004 -_F734 !WORD 0 - !BYTE $54 ; CALL _X003 -_F735 !WORD 0 -_B437 -; toolsrc/ed.pla: 1361: databuff = heapalloc(512) -; toolsrc/ed.pla: 1362: refnum = fileio:open(@path) -; toolsrc/ed.pla: 1363: if perr -; toolsrc/ed.pla: 1364: return perr - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _X014 -_F736 !WORD 0 - !BYTE $76,$49 ; SLW [73] - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X031+14 -_F737 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $74,$42 ; SLB [66] - !BYTE $68 ; LAB _X032+0 -_F738 !WORD 0+0 - !BYTE $4C ; BRFLS _B438 - !WORD _B438-* - !BYTE $68 ; LAB _X032+0 -_F739 !WORD 0+0 - !BYTE $5A,$4D ; LEAVE 77 -; toolsrc/ed.pla: 1365: fin -_B438 -_B439 -; toolsrc/ed.pla: 1366: firstblk = 1 -; toolsrc/ed.pla: 1367: while fileio:read(refnum, databuff, 512) == 512 - !BYTE $02 ; CN 1 - !BYTE $74,$43 ; SLB [67] - !BYTE $50 ; BRNCH _B442 - !WORD _B442-* -_B440 -; toolsrc/ed.pla: 1368: entry = databuff + 4 -; toolsrc/ed.pla: 1369: if firstblk -; toolsrc/ed.pla: 1370: entrylen = databuff->$23 -; toolsrc/ed.pla: 1371: entriesblk = databuff->$24 -; toolsrc/ed.pla: 1372: entry = entry + entrylen -; toolsrc/ed.pla: 1373: fin - !BYTE $66,$49 ; LLW [73] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$4B ; SLW [75] - !BYTE $64,$43 ; LLB [67] - !BYTE $4C ; BRFLS _B443 - !WORD _B443-* - !BYTE $66,$49 ; LLW [73] - !BYTE $38,$23 ; ADDI 35 - !BYTE $60 ; LB - !BYTE $74,$44 ; SLB [68] - !BYTE $66,$49 ; LLW [73] - !BYTE $38,$24 ; ADDI 36 - !BYTE $60 ; LB - !BYTE $74,$45 ; SLB [69] - !BYTE $66,$4B ; LLW [75] - !BYTE $B0,$44 ; ADDLB [68] - !BYTE $76,$4B ; SLW [75] -_B443 -_B444 -; toolsrc/ed.pla: 1374: for i = firstblk to entriesblk - !BYTE $64,$45 ; LLB [69] - !BYTE $64,$43 ; LLB [67] - !BYTE $A0 ; BRGT _B445 - !WORD _B445-* -_B446 - !BYTE $6C,$46 ; DLB [70] -; toolsrc/ed.pla: 1375: type = ^entry -; toolsrc/ed.pla: 1376: if type <> 0 -; toolsrc/ed.pla: 1377: len = type & $0F -; toolsrc/ed.pla: 1378: ^entry = len -; toolsrc/ed.pla: 1379: puts(entry) -; toolsrc/ed.pla: 1380: if type & $F0 == $D0 // Is it a directory? -; toolsrc/ed.pla: 1381: putc('/') -; toolsrc/ed.pla: 1382: len++ - !BYTE $66,$4B ; LLW [75] - !BYTE $60 ; LB - !BYTE $6C,$47 ; DLB [71] - !BYTE $4C ; BRFLS _B448 - !WORD _B448-* - !BYTE $64,$47 ; LLB [71] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $6C,$48 ; DLB [72] - !BYTE $66,$4B ; LLW [75] - !BYTE $70 ; SB - !BYTE $66,$4B ; LLW [75] - !BYTE $54 ; CALL _X004 -_F740 !WORD 0 - !BYTE $64,$47 ; LLB [71] - !BYTE $3C,$F0 ; ANDI 240 - !BYTE $2A,$D0 ; CB 208 - !BYTE $24 ; BRNE _B450 - !WORD _B450-* - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F741 !WORD 0 - !BYTE $64,$48 ; LLB [72] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1383: fin - !BYTE $74,$48 ; SLB [72] -_B450 -_B451 -; toolsrc/ed.pla: 1384: for len = 20 - len downto 1 - !BYTE $02 ; CN 1 - !BYTE $2A,$14 ; CB 20 - !BYTE $64,$48 ; LLB [72] - !BYTE $84 ; SUB - !BYTE $A2 ; BRLT _B452 - !WORD _B452-* -_B453 - !BYTE $6C,$48 ; DLB [72] -; toolsrc/ed.pla: 1385: putc(' ') -; toolsrc/ed.pla: 1386: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F742 !WORD 0 -_B454 - !BYTE $A8 ; DECBRGE _B453 - !WORD _B453-* -_B452 - !BYTE $74,$48 ; SLB [72] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1387: fin -_B448 -_B449 -; toolsrc/ed.pla: 1388: entry = entry + entrylen -; toolsrc/ed.pla: 1389: next - !BYTE $66,$4B ; LLW [75] - !BYTE $B0,$44 ; ADDLB [68] - !BYTE $76,$4B ; SLW [75] -_B447 - !BYTE $A4 ; INCBRLE _B446 - !WORD _B446-* -_B445 - !BYTE $74,$46 ; SLB [70] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1390: firstblk = 0 -; toolsrc/ed.pla: 1391: loop - !BYTE $00 ; CN 0 - !BYTE $74,$43 ; SLB [67] -_B442 - !BYTE $64,$42 ; LLB [66] - !BYTE $66,$49 ; LLW [73] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X031+18 -_F743 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $22 ; BREQ _B440 - !WORD _B440-* -_B441 -; toolsrc/ed.pla: 1392: fileio:close(refnum) -; toolsrc/ed.pla: 1393: heaprelease(databuff) -; toolsrc/ed.pla: 1394: putln -; toolsrc/ed.pla: 1395: return 0 - !BYTE $64,$42 ; LLB [66] - !BYTE $6A ; LAW _X031+16 -_F744 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$49 ; LLW [73] - !BYTE $54 ; CALL _X015 -_F745 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _X003 -_F746 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$4D ; LEAVE 77 -; toolsrc/ed.pla: 1396: end -; toolsrc/ed.pla: 1397: def parsecmd(strptr) - ; strptr -> [0] -_C049 ; parsecmd() -; toolsrc/ed.pla: 1398: byte cmd - ; cmd -> [2] -; toolsrc/ed.pla: 1399: -; toolsrc/ed.pla: 1400: cmd = 0 - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/ed.pla: 1401: striplead(strptr, ' ') -; toolsrc/ed.pla: 1402: if ^strptr -; toolsrc/ed.pla: 1403: cmd = ^(strptr + 1) -; toolsrc/ed.pla: 1404: memcpy(strptr + 1, strptr + 2, ^strptr) -; toolsrc/ed.pla: 1405: ^strptr-- - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F747 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B455 - !WORD _B455-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $74,$02 ; SLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F748 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $8E ; DECR -; toolsrc/ed.pla: 1406: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB -_B455 -_B456 -; toolsrc/ed.pla: 1407: if ^strptr -; toolsrc/ed.pla: 1408: striplead(strptr, ' ') -; toolsrc/ed.pla: 1409: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B457 - !WORD _B457-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F749 !WORD _C001 -_B457 -_B458 -; toolsrc/ed.pla: 1410: return cmd - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/ed.pla: 1411: end -; toolsrc/ed.pla: 1412: def chkchng -_C050 ; chkchng() -; toolsrc/ed.pla: 1413: if flags & changed -; toolsrc/ed.pla: 1414: puts("LOSE CHANGES TO FILE (Y/N)?") - !BYTE $68 ; LAB _D046+0 -_F750 !WORD _D046+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B459 - !WORD _B459-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $4C,$4F,$53,$45,$20,$43,$48,$41 - !BYTE $4E,$47,$45,$53,$20,$54,$4F,$20 - !BYTE $46,$49,$4C,$45,$20,$28,$59,$2F - !BYTE $4E,$29,$3F - !BYTE $54 ; CALL _X004 -_F751 !WORD 0 -; toolsrc/ed.pla: 1415: if toupper(getc) == 'N' -; toolsrc/ed.pla: 1416: putln -; toolsrc/ed.pla: 1417: return FALSE - !BYTE $54 ; CALL _X006 -_F752 !WORD 0 - !BYTE $54 ; CALL _X021 -_F753 !WORD 0 - !BYTE $2A,$4E ; CB 78 - !BYTE $24 ; BRNE _B461 - !WORD _B461-* - !BYTE $54 ; CALL _X003 -_F754 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; toolsrc/ed.pla: 1418: fin -_B461 -_B462 -; toolsrc/ed.pla: 1419: putln -; toolsrc/ed.pla: 1420: fin - !BYTE $54 ; CALL _X003 -_F755 !WORD 0 -_B459 -_B460 -; toolsrc/ed.pla: 1421: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/ed.pla: 1422: end -; toolsrc/ed.pla: 1423: def cmdmode#0 -_P000 ; cmdmode#0() -_C051 ; cmdmode() -; toolsrc/ed.pla: 1424: byte slot, b - ; slot -> [0] - ; b -> [1] -; toolsrc/ed.pla: 1425: word cmdptr, line - ; cmdptr -> [2] - ; line -> [4] -; toolsrc/ed.pla: 1426: var i, freepool - ; i -> [6] - ; freepool -> [8] -; toolsrc/ed.pla: 1427: -; toolsrc/ed.pla: 1428: conio:gotoxy(0, scrnheight - 1) - !BYTE $58,$0A,$00 ; ENTER 10,0 -; toolsrc/ed.pla: 1429: conio:clear(cleol) -; toolsrc/ed.pla: 1430: conio:textctrl(ctrlecho, ON) -; toolsrc/ed.pla: 1431: conio:textctrl(ctrlcursor, ON) -; toolsrc/ed.pla: 1432: perr = 0 // Reset perr -; toolsrc/ed.pla: 1433: line = 0 -; toolsrc/ed.pla: 1434: while not (flags & exit) - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D038+0 -_F756 !WORD _D038+0 - !BYTE $8E ; DECR - !BYTE $6A ; LAW _X033+8 -_F757 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+6 -_F758 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $04 ; CN 2 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+12 -_F759 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $06 ; CN 3 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _X033+12 -_F760 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _X032+0 -_F761 !WORD 0+0 - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B465 - !WORD _B465-* -_B463 -; toolsrc/ed.pla: 1435: puts(@filename) -; toolsrc/ed.pla: 1436: cmdptr = gets($BA) -; toolsrc/ed.pla: 1437: when toupper(parsecmd(cmdptr)) - !BYTE $26 ; LA _D045+0 -_F762 !WORD _D045+0 - !BYTE $54 ; CALL _X004 -_F763 !WORD 0 - !BYTE $2A,$BA ; CB 186 - !BYTE $54 ; CALL _X007 -_F764 !WORD 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $54 ; CALL _C049 -_F765 !WORD _C049 - !BYTE $54 ; CALL _X021 -_F766 !WORD 0 - !BYTE $52 ; SEL - !WORD _B467-* -; toolsrc/ed.pla: 1438: is 'F' // Find string -_B468 -; toolsrc/ed.pla: 1439: if ^cmdptr -; toolsrc/ed.pla: 1440: lnupcpy(@findstr, cmdptr) -; toolsrc/ed.pla: 1441: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B469 - !WORD _B469-* - !BYTE $26 ; LA _D044+0 -_F767 !WORD _D044+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A001 -_F768 !WORD _A001 -_B469 -_B470 -; toolsrc/ed.pla: 1442: findtxt -; toolsrc/ed.pla: 1443: return - !BYTE $54 ; CALL _C029 -_F769 !WORD _C029 - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/ed.pla: 1444: is 'T' // Toggle upper/lower case display -_B471 -; toolsrc/ed.pla: 1445: if ^cmdptr -; toolsrc/ed.pla: 1446: when toupper(^(cmdptr + 1)) - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B472 - !WORD _B472-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F770 !WORD 0 - !BYTE $52 ; SEL - !WORD _B475-* -; toolsrc/ed.pla: 1447: is 'G' // Gutter view -_B476 -; toolsrc/ed.pla: 1448: flags = flags ^ gutter -; toolsrc/ed.pla: 1449: viewwidth = scrnwidth - (flags & gutter) - 1 -; toolsrc/ed.pla: 1450: curshpos(curscol) -; toolsrc/ed.pla: 1451: break - !BYTE $68 ; LAB _D046+0 -_F771 !WORD _D046+0 - !BYTE $08 ; CN 4 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D046+0 -_F772 !WORD _D046+0 - !BYTE $68 ; LAB _D039+0 -_F773 !WORD _D039+0 - !BYTE $68 ; LAB _D046+0 -_F774 !WORD _D046+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $84 ; SUB - !BYTE $8E ; DECR - !BYTE $78 ; SAB _D040+0 -_F775 !WORD _D040+0 - !BYTE $6A ; LAW _D058+0 -_F776 !WORD _D058+0 - !BYTE $54 ; CALL _C016 -_F777 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B474 - !WORD _B474-* -; toolsrc/ed.pla: 1452: is 'C' // Lower case chip (Apple ][/][+ only) -_B477 -; toolsrc/ed.pla: 1453: conio:textctrl(ctrlcase, 0) -; toolsrc/ed.pla: 1454: break - !BYTE $08 ; CN 4 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X033+12 -_F778 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B474 - !WORD _B474-* -; toolsrc/ed.pla: 1455: wend - !BYTE $50 ; BRNCH _B474 - !WORD _B474-* -_B475 - !BYTE $02 ; CASEBLOCK - !WORD $0043 - !WORD _B477-* - !WORD $0047 - !WORD _B476-* -_B474 -; toolsrc/ed.pla: 1456: fin -_B472 -_B473 -; toolsrc/ed.pla: 1457: return - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/ed.pla: 1458: is '9' // Goto line # -_B478 -; toolsrc/ed.pla: 1459: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1460: is '8' - !BYTE $76,$04 ; SLW [4] -_B479 -; toolsrc/ed.pla: 1461: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1462: is '7' - !BYTE $76,$04 ; SLW [4] -_B480 -; toolsrc/ed.pla: 1463: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1464: is '6' - !BYTE $76,$04 ; SLW [4] -_B481 -; toolsrc/ed.pla: 1465: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1466: is '5' - !BYTE $76,$04 ; SLW [4] -_B482 -; toolsrc/ed.pla: 1467: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1468: is '4' - !BYTE $76,$04 ; SLW [4] -_B483 -; toolsrc/ed.pla: 1469: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1470: is '3' - !BYTE $76,$04 ; SLW [4] -_B484 -; toolsrc/ed.pla: 1471: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1472: is '2' - !BYTE $76,$04 ; SLW [4] -_B485 -; toolsrc/ed.pla: 1473: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1474: is '1' - !BYTE $76,$04 ; SLW [4] -_B486 -; toolsrc/ed.pla: 1475: line++ - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1476: is '0' - !BYTE $76,$04 ; SLW [4] -_B487 -; toolsrc/ed.pla: 1477: memcpy(cmdptr + 2, cmdptr + 1, ^cmdptr) -; toolsrc/ed.pla: 1478: ^(cmdptr + 1) = line + '0' // Push number back on cmdptr -; toolsrc/ed.pla: 1479: ^cmdptr++ - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X018 -_F779 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$30 ; ADDI 48 - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1480: line = strtonum(cmdptr) -; toolsrc/ed.pla: 1481: if line -; toolsrc/ed.pla: 1482: curshpos(0) -; toolsrc/ed.pla: 1483: cursvpos(line - 1) -; toolsrc/ed.pla: 1484: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C007 -_F780 !WORD _C007 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B488 - !WORD _B488-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F781 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C017 -_F782 !WORD _C017 - !BYTE $30 ; DROP -_B488 -_B489 -; toolsrc/ed.pla: 1485: is 'E' // Edit mode -_B490 -; toolsrc/ed.pla: 1486: is 0 -_B491 -; toolsrc/ed.pla: 1487: return - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/ed.pla: 1488: is 'A' // Append file -_B492 -; toolsrc/ed.pla: 1489: readtxt(cmdptr, numlines) -; toolsrc/ed.pla: 1490: flags = flags | changed -; toolsrc/ed.pla: 1491: break - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D047+0 -_F783 !WORD _D047+0 - !BYTE $54 ; CALL _C009 -_F784 !WORD _C009 - !BYTE $68 ; LAB _D046+0 -_F785 !WORD _D046+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D046+0 -_F786 !WORD _D046+0 - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1492: is 'R' // Read file -_B493 -; toolsrc/ed.pla: 1493: if chkchng -; toolsrc/ed.pla: 1494: inittxtbuf -; toolsrc/ed.pla: 1495: strstripcpy(@filename, cmdptr) -; toolsrc/ed.pla: 1496: readtxt(@filename, 0) -; toolsrc/ed.pla: 1497: flags = flags & ~changed -; toolsrc/ed.pla: 1498: fin - !BYTE $54 ; CALL _C050 -_F787 !WORD _C050 - !BYTE $4C ; BRFLS _B494 - !WORD _B494-* - !BYTE $54 ; CALL _C005 -_F788 !WORD _C005 - !BYTE $26 ; LA _D045+0 -_F789 !WORD _D045+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F790 !WORD _C002 - !BYTE $26 ; LA _D045+0 -_F791 !WORD _D045+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C009 -_F792 !WORD _C009 - !BYTE $68 ; LAB _D046+0 -_F793 !WORD _D046+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D046+0 -_F794 !WORD _D046+0 -_B494 -_B495 -; toolsrc/ed.pla: 1499: break - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1500: is 'W' // Write file -_B496 -; toolsrc/ed.pla: 1501: if ^cmdptr -; toolsrc/ed.pla: 1502: strstripcpy(@filename, cmdptr) -; toolsrc/ed.pla: 1503: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B497 - !WORD _B497-* - !BYTE $26 ; LA _D045+0 -_F795 !WORD _D045+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C002 -_F796 !WORD _C002 -_B497 -_B498 -; toolsrc/ed.pla: 1504: writetxt(@filename) -; toolsrc/ed.pla: 1505: //if flags & changed; fin -; toolsrc/ed.pla: 1506: flags = flags & ~changed -; toolsrc/ed.pla: 1507: break - !BYTE $26 ; LA _D045+0 -_F797 !WORD _D045+0 - !BYTE $54 ; CALL _C010 -_F798 !WORD _C010 - !BYTE $68 ; LAB _D046+0 -_F799 !WORD _D046+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D046+0 -_F800 !WORD _D046+0 - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1508: is 'C' // Catalog -_B499 -; toolsrc/ed.pla: 1509: prfiles(cmdptr); break - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C048 -_F801 !WORD _C048 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1510: is 'P' // Prefix -_B500 -; toolsrc/ed.pla: 1511: fileio:setpfx(cmdptr); break - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X031+2 -_F802 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1512: is 'H' // Hardcopy -_B501 -; toolsrc/ed.pla: 1513: if ^cmdptr -; toolsrc/ed.pla: 1514: slot = cmdptr.1 - '0' -; toolsrc/ed.pla: 1515: else - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B502 - !WORD _B502-* - !BYTE $64,$03 ; LLB [3] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B503 - !WORD _B503-* -_B502 -; toolsrc/ed.pla: 1516: slot = 1 -; toolsrc/ed.pla: 1517: fin - !BYTE $02 ; CN 1 - !BYTE $74,$00 ; SLB [0] -_B503 -; toolsrc/ed.pla: 1518: printtxt(slot) -; toolsrc/ed.pla: 1519: break - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _C030 -_F803 !WORD _C030 - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1520: is 'Q' // Quit -_B504 -; toolsrc/ed.pla: 1521: flags = flags | (chkchng ?? exit :: 0) -; toolsrc/ed.pla: 1522: if not (flags & exit) -; toolsrc/ed.pla: 1523: return - !BYTE $68 ; LAB _D046+0 -_F804 !WORD _D046+0 - !BYTE $54 ; CALL _C050 -_F805 !WORD _C050 - !BYTE $4C ; BRFLS _B505 - !WORD _B505-* - !BYTE $2A,$10 ; CB 16 - !BYTE $50 ; BRNCH _B506 - !WORD _B506-* -_B505 - !BYTE $00 ; CN 0 -_B506 - !BYTE $96 ; OR - !BYTE $7C ; DAB _D046+0 -_F806 !WORD _D046+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4E ; BRTRU _B507 - !WORD _B507-* - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/ed.pla: 1524: fin -_B507 -_B508 -; toolsrc/ed.pla: 1525: break - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1526: is 'N' -_B509 -; toolsrc/ed.pla: 1527: if chkchng -; toolsrc/ed.pla: 1528: inittxtbuf -; toolsrc/ed.pla: 1529: strstripcpy(@filename, "UNTITLED") - !BYTE $54 ; CALL _C050 -_F807 !WORD _C050 - !BYTE $4C ; BRFLS _B510 - !WORD _B510-* - !BYTE $54 ; CALL _C005 -_F808 !WORD _C005 - !BYTE $26 ; LA _D045+0 -_F809 !WORD _D045+0 - !BYTE $2E ; CS - !BYTE $08 - !BYTE $55,$4E,$54,$49,$54,$4C,$45,$44 - !BYTE $54 ; CALL _C002 -_F810 !WORD _C002 -; toolsrc/ed.pla: 1530: fin -_B510 -_B511 -; toolsrc/ed.pla: 1531: break - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1532: is 'D' // Dump stats -_B512 -; toolsrc/ed.pla: 1533: freepool = 0 -; toolsrc/ed.pla: 1534: for i = strplmapsize - 1 downto 0 - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D051+0 -_F811 !WORD _D051+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B513 - !WORD _B513-* -_B514 - !BYTE $6E,$06 ; DLW [6] -; toolsrc/ed.pla: 1535: slot = ^(strpoolmap + i) -; toolsrc/ed.pla: 1536: if slot <> $FF -; toolsrc/ed.pla: 1537: for b = 0 to 7 - !BYTE $6A ; LAW _D052+0 -_F812 !WORD _D052+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $6C,$00 ; DLB [0] - !BYTE $2A,$FF ; CB 255 - !BYTE $22 ; BREQ _B516 - !WORD _B516-* - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B519 - !BYTE $6C,$01 ; DLB [1] -; toolsrc/ed.pla: 1538: if not ((1 << b) & slot) -; toolsrc/ed.pla: 1539: freepool++ - !BYTE $02 ; CN 1 - !BYTE $64,$01 ; LLB [1] - !BYTE $9A ; SHL - !BYTE $64,$00 ; LLB [0] - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B521 - !WORD _B521-* - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/ed.pla: 1540: fin - !BYTE $76,$08 ; SLW [8] -_B521 -_B522 -; toolsrc/ed.pla: 1541: next -_B520 - !BYTE $A4 ; INCBRLE _B519 - !WORD _B519-* -_B518 - !BYTE $74,$01 ; SLB [1] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1542: fin -_B516 -_B517 -; toolsrc/ed.pla: 1543: next -_B515 - !BYTE $A8 ; DECBRGE _B514 - !WORD _B514-* -_B513 - !BYTE $76,$06 ; SLW [6] - !BYTE $30 ; DROP -; toolsrc/ed.pla: 1544: puts("Pool size: "); puti(strplmapsize*128); putln - !BYTE $2E ; CS - !BYTE $0B - !BYTE $50,$6F,$6F,$6C,$20,$73,$69,$7A - !BYTE $65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F813 !WORD 0 -; toolsrc/ed.pla: 1545: puts("Pool free: "); puti(freepool*16); putln - !BYTE $6A ; LAW _D051+0 -_F814 !WORD _D051+0 - !BYTE $0E ; CN 7 - !BYTE $9A ; SHL - !BYTE $54 ; CALL _X005 -_F815 !WORD 0 - !BYTE $54 ; CALL _X003 -_F816 !WORD 0 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $50,$6F,$6F,$6C,$20,$66,$72,$65 - !BYTE $65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F817 !WORD 0 -; toolsrc/ed.pla: 1546: puts("Num lines: "); puti(numlines); putln - !BYTE $66,$08 ; LLW [8] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $54 ; CALL _X005 -_F818 !WORD 0 - !BYTE $54 ; CALL _X003 -_F819 !WORD 0 - !BYTE $2E ; CS - !BYTE $0B - !BYTE $4E,$75,$6D,$20,$6C,$69,$6E,$65 - !BYTE $73,$3A,$20 - !BYTE $54 ; CALL _X004 -_F820 !WORD 0 -; toolsrc/ed.pla: 1547: puts("Clip lines: "); puti(numcliplines); putln - !BYTE $6A ; LAW _D047+0 -_F821 !WORD _D047+0 - !BYTE $54 ; CALL _X005 -_F822 !WORD 0 - !BYTE $54 ; CALL _X003 -_F823 !WORD 0 - !BYTE $2E ; CS - !BYTE $0C - !BYTE $43,$6C,$69,$70,$20,$6C,$69,$6E - !BYTE $65,$73,$3A,$20 - !BYTE $54 ; CALL _X004 -_F824 !WORD 0 -; toolsrc/ed.pla: 1548: break - !BYTE $6A ; LAW _D048+0 -_F825 !WORD _D048+0 - !BYTE $54 ; CALL _X005 -_F826 !WORD 0 - !BYTE $54 ; CALL _X003 -_F827 !WORD 0 - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -; toolsrc/ed.pla: 1549: otherwise -_B467 - !BYTE $17 ; CASEBLOCK - !WORD $0000 - !WORD _B491-* - !WORD $0030 - !WORD _B487-* - !WORD $0031 - !WORD _B486-* - !WORD $0032 - !WORD _B485-* - !WORD $0033 - !WORD _B484-* - !WORD $0034 - !WORD _B483-* - !WORD $0035 - !WORD _B482-* - !WORD $0036 - !WORD _B481-* - !WORD $0037 - !WORD _B480-* - !WORD $0038 - !WORD _B479-* - !WORD $0039 - !WORD _B478-* - !WORD $0041 - !WORD _B492-* - !WORD $0043 - !WORD _B499-* - !WORD $0044 - !WORD _B512-* - !WORD $0045 - !WORD _B490-* - !WORD $0046 - !WORD _B468-* - !WORD $0048 - !WORD _B501-* - !WORD $004E - !WORD _B509-* - !WORD $0050 - !WORD _B500-* - !WORD $0051 - !WORD _B504-* - !WORD $0052 - !WORD _B493-* - !WORD $0054 - !WORD _B471-* - !WORD $0057 - !WORD _B496-* -; toolsrc/ed.pla: 1550: bell -; toolsrc/ed.pla: 1551: putc('?') -; toolsrc/ed.pla: 1552: putln -; toolsrc/ed.pla: 1553: wend - !BYTE $54 ; CALL _C000 -_F828 !WORD _C000 - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _X002 -_F829 !WORD 0 - !BYTE $54 ; CALL _X003 -_F830 !WORD 0 -_B466 -; toolsrc/ed.pla: 1554: if perr -; toolsrc/ed.pla: 1555: puts("ERROR: $") - !BYTE $68 ; LAB _X032+0 -_F831 !WORD 0+0 - !BYTE $4C ; BRFLS _B523 - !WORD _B523-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $45,$52,$52,$4F,$52,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F832 !WORD 0 -; toolsrc/ed.pla: 1556: putb(perr) -; toolsrc/ed.pla: 1557: putln -; toolsrc/ed.pla: 1558: fin - !BYTE $68 ; LAB _X032+0 -_F833 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F834 !WORD 0 - !BYTE $54 ; CALL _X003 -_F835 !WORD 0 -_B523 -_B524 -; toolsrc/ed.pla: 1559: loop -_B465 - !BYTE $68 ; LAB _D046+0 -_F836 !WORD _D046+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B463 - !WORD _B463-* -_B464 -; toolsrc/ed.pla: 1560: end - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/ed.pla: 1561: // -; toolsrc/ed.pla: 1562: // Init editor -; toolsrc/ed.pla: 1563: // -; toolsrc/ed.pla: 1564: arg = argNext(argFirst) -_INIT -; toolsrc/ed.pla: 1565: if ^arg -; toolsrc/ed.pla: 1566: while ^(arg+1) == '-' - !BYTE $54 ; CALL _X029 -_F837 !WORD 0 - !BYTE $54 ; CALL _X030 -_F838 !WORD 0 - !BYTE $7A ; SAW _D049+0 -_F839 !WORD _D049+0 - !BYTE $6A ; LAW _D049+0 -_F840 !WORD _D049+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B525 - !WORD _B525-* - !BYTE $50 ; BRNCH _B529 - !WORD _B529-* -_B527 -; toolsrc/ed.pla: 1567: when ^(arg+2) - !BYTE $6A ; LAW _D049+0 -_F841 !WORD _D049+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B531-* -; toolsrc/ed.pla: 1568: is '4' // Force 40 columns -_B532 -; toolsrc/ed.pla: 1569: scrnwidth = 40 -; toolsrc/ed.pla: 1570: break - !BYTE $2A,$28 ; CB 40 - !BYTE $78 ; SAB _D039+0 -_F842 !WORD _D039+0 - !BYTE $50 ; BRNCH _B530 - !WORD _B530-* -; toolsrc/ed.pla: 1571: is 'U' // Use extended VIDEX UltraTerm mode -_B533 -; toolsrc/ed.pla: 1572: scrnwidth = 80 + ^(arg+3) - '0' -; toolsrc/ed.pla: 1573: break - !BYTE $2A,$50 ; CB 80 - !BYTE $6A ; LAW _D049+0 -_F843 !WORD _D049+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $78 ; SAB _D039+0 -_F844 !WORD _D039+0 - !BYTE $50 ; BRNCH _B530 - !WORD _B530-* -; toolsrc/ed.pla: 1574: wend - !BYTE $50 ; BRNCH _B530 - !WORD _B530-* -_B531 - !BYTE $02 ; CASEBLOCK - !WORD $0034 - !WORD _B532-* - !WORD $0055 - !WORD _B533-* -_B530 -; toolsrc/ed.pla: 1575: arg = argNext(arg) -; toolsrc/ed.pla: 1576: loop - !BYTE $6A ; LAW _D049+0 -_F845 !WORD _D049+0 - !BYTE $54 ; CALL _X030 -_F846 !WORD 0 - !BYTE $7A ; SAW _D049+0 -_F847 !WORD _D049+0 -_B529 - !BYTE $6A ; LAW _D049+0 -_F848 !WORD _D049+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $22 ; BREQ _B527 - !WORD _B527-* -_B528 -; toolsrc/ed.pla: 1577: strcpy(@filename, arg) -; toolsrc/ed.pla: 1578: arg = argNext(arg) -; toolsrc/ed.pla: 1579: fin - !BYTE $26 ; LA _D045+0 -_F849 !WORD _D045+0 - !BYTE $6A ; LAW _D049+0 -_F850 !WORD _D049+0 - !BYTE $54 ; CALL _X019 -_F851 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D049+0 -_F852 !WORD _D049+0 - !BYTE $54 ; CALL _X030 -_F853 !WORD 0 - !BYTE $7A ; SAW _D049+0 -_F854 !WORD _D049+0 -_B525 -_B526 -; toolsrc/ed.pla: 1580: if waitVBL -; toolsrc/ed.pla: 1581: cursflash = waitVBL -; toolsrc/ed.pla: 1582: fin - !BYTE $54 ; CALL _X035 -_F855 !WORD 0 - !BYTE $4C ; BRFLS _B534 - !WORD _B534-* - !BYTE $54 ; CALL _X035 -_F856 !WORD 0 - !BYTE $7A ; SAW _D060+0 -_F857 !WORD _D060+0 -_B534 -_B535 -; toolsrc/ed.pla: 1583: flags = flags | insmode | gutter -; toolsrc/ed.pla: 1584: scrnwidth = conio:textmode(scrnwidth) -; toolsrc/ed.pla: 1585: if scrnwidth > 80 // Lookup UltraTerm screen dimensions -; toolsrc/ed.pla: 1586: scrnheight = UltraTermHeight[scrnwidth - 81] -; toolsrc/ed.pla: 1587: scrnwidth = UltraTermWidth[scrnwidth - 81] -; toolsrc/ed.pla: 1588: fin - !BYTE $68 ; LAB _D046+0 -_F858 !WORD _D046+0 - !BYTE $3E,$02 ; ORI 2 - !BYTE $3E,$04 ; ORI 4 - !BYTE $78 ; SAB _D046+0 -_F859 !WORD _D046+0 - !BYTE $68 ; LAB _D039+0 -_F860 !WORD _D039+0 - !BYTE $6A ; LAW _X033+14 -_F861 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D039+0 -_F862 !WORD _D039+0 - !BYTE $2A,$50 ; CB 80 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B536 - !WORD _B536-* - !BYTE $26 ; LA _D037+0 -_F863 !WORD _D037+0 - !BYTE $68 ; LAB _D039+0 -_F864 !WORD _D039+0 - !BYTE $3A,$51 ; SUBI 81 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $7A ; SAW _D038+0 -_F865 !WORD _D038+0 - !BYTE $26 ; LA _D036+0 -_F866 !WORD _D036+0 - !BYTE $68 ; LAB _D039+0 -_F867 !WORD _D039+0 - !BYTE $3A,$51 ; SUBI 81 - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $78 ; SAB _D039+0 -_F868 !WORD _D039+0 -_B536 -_B537 -; toolsrc/ed.pla: 1589: puts("PLEIADES Editor v2.20\n") - !BYTE $2E ; CS - !BYTE $16 - !BYTE $50,$4C,$45,$49,$41,$44,$45,$53 - !BYTE $20,$45,$64,$69,$74,$6F,$72,$20 - !BYTE $76,$32,$2E,$32,$30,$0D - !BYTE $54 ; CALL _X004 -_F869 !WORD 0 -; toolsrc/ed.pla: 1590: inittxtbuf -; toolsrc/ed.pla: 1591: puts(@filename) -; toolsrc/ed.pla: 1592: readtxt(@filename, 0) -; toolsrc/ed.pla: 1593: if ^arg -; toolsrc/ed.pla: 1594: curshpos(0) -; toolsrc/ed.pla: 1595: cursvpos(strtonum(arg) - 1) -; toolsrc/ed.pla: 1596: fin - !BYTE $54 ; CALL _C005 -_F870 !WORD _C005 - !BYTE $26 ; LA _D045+0 -_F871 !WORD _D045+0 - !BYTE $54 ; CALL _X004 -_F872 !WORD 0 - !BYTE $26 ; LA _D045+0 -_F873 !WORD _D045+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C009 -_F874 !WORD _C009 - !BYTE $6A ; LAW _D049+0 -_F875 !WORD _D049+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B538 - !WORD _B538-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F876 !WORD _C016 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D049+0 -_F877 !WORD _D049+0 - !BYTE $54 ; CALL _C007 -_F878 !WORD _C007 - !BYTE $8E ; DECR - !BYTE $54 ; CALL _C017 -_F879 !WORD _C017 - !BYTE $30 ; DROP -_B538 -_B539 -; toolsrc/ed.pla: 1597: conio:clear(cls) -; toolsrc/ed.pla: 1598: drawscrn -; toolsrc/ed.pla: 1599: editmode -; toolsrc/ed.pla: 1600: conio:textmode(0) // Set default mode -; toolsrc/ed.pla: 1601: done - !BYTE $06 ; CN 3 - !BYTE $6A ; LAW _X033+6 -_F880 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C015 -_F881 !WORD _C015 - !BYTE $54 ; CALL _C047 -_F882 !WORD _C047 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X033+14 -_F883 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 53 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C050 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C051 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F378-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F379-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F380-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F381-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F382-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F383-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F384-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F385-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F386-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F387-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F388-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F389-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F390-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F391-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F392-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F393-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F394-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F395-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F396-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F397-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F398-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F399-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F406-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F407-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F408-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F409-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F410-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F411-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F414-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F415-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F417-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F420-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F421-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F423-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F424-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F425-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F426-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F427-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F428-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F434-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F435-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F436-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F437-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F438-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F439-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F440-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F441-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F442-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F443-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F444-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F445-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F446-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F447-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F448-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F449-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F450-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F451-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F452-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F453-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F454-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F455-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F456-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F457-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F458-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F459-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F460-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F461-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F463-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F464-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F465-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F466-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F467-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F469-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F470-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F472-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F473-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F474-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F475-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F476-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F477-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F478-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F479-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F480-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F481-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F482-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F483-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F484-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F485-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F486-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F487-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F488-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F489-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F490-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F491-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F492-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F493-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F494-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F495-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F496-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F497-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F498-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F499-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F500-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F501-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F502-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F503-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F504-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F505-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F506-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F507-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F508-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F509-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F510-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F511-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F512-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F513-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F514-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F515-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F516-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F517-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F518-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F519-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F520-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F521-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F522-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F523-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F524-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F525-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F526-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F527-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F528-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F529-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F530-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F531-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F532-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F533-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F534-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F535-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F536-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F537-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F538-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F539-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F540-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F541-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F542-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F543-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F544-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F545-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F546-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F547-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F548-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F549-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F550-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F551-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F552-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F553-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F554-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F555-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F556-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F557-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F558-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F559-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F560-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F561-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F562-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F563-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F564-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F565-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F566-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F567-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F568-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F569-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F570-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F571-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F572-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F573-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F574-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F575-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F576-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F577-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F578-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F579-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F580-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F581-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F582-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F583-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F584-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F585-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F586-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F587-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F588-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F589-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F590-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F591-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F592-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F593-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F594-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F595-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F596-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F597-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F598-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F599-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F600-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F601-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F602-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F603-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F604-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F605-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F606-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F607-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F608-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F609-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F610-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F611-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F612-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F613-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F614-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F615-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F616-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F617-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F618-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F619-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F620-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F621-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F622-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F623-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F624-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F625-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F626-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F627-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F628-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F629-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F630-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F631-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F632-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F633-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F634-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F635-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F636-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F637-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F638-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F639-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F640-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F641-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F643-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F644-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F645-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F646-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F647-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F648-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F649-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F650-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F651-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F652-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F653-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F654-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F655-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F656-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F657-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F658-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F659-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F660-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F661-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F662-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F663-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F664-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F665-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F666-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F667-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F668-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F669-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F670-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F671-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F672-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F673-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F674-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F675-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F676-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F677-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F678-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F679-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F680-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F681-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F682-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F683-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F684-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F685-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F686-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F687-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F688-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F689-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F690-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F691-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F692-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F693-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F694-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F695-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F696-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F697-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F698-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F699-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F700-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F701-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F702-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F703-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F704-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F705-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F706-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F707-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F708-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F709-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F710-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F711-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F712-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F713-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F714-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F715-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F716-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F717-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F718-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F719-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F720-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F721-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F722-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F723-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F724-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F725-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F726-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F727-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F728-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F729-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F730-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F731-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F732-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F733-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F734-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F735-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F736-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F737-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F738-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F739-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F740-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F741-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F742-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F743-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F744-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F745-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F746-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F747-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F748-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F749-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F750-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F751-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F752-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F753-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F754-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F755-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F756-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F757-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F758-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F759-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F760-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F761-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F762-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F763-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F764-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F765-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F766-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F767-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F768-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F769-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F770-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F771-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F772-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F773-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F774-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F775-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F776-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F777-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F778-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F779-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F780-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F781-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F782-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F783-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F784-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F785-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F786-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F787-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F788-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F789-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F790-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F791-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F792-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F793-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F794-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F795-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F796-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F797-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F798-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F799-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F800-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F801-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F802-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F803-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F804-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F805-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F806-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F807-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F808-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F809-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F810-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F811-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F812-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F813-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F814-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F815-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F816-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F817-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F818-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F819-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F820-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F821-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F822-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F823-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F824-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F825-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F826-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F827-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F828-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F829-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F830-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F831-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F832-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F833-_SEGBEGIN - !BYTE 32 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F834-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F835-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F836-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F837-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F838-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F839-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F840-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F841-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F842-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F843-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F844-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F845-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F846-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F847-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F848-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F849-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F850-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F851-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F852-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F853-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F854-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F855-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F856-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F857-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F858-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F859-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F860-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F861-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F862-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F863-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F864-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F865-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F866-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F867-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F868-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F869-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F870-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F871-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F872-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F873-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F874-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F875-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F876-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F877-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F878-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F879-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F880-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F881-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F882-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F883-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: DIVMOD - !BYTE $C4,$C9,$D6,$CD,$CF,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 23 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 32 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: WAITVBL - !BYTE $D7,$C1,$C9,$D4,$D6,$C2,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/hr2forth.a b/src/toolsrc/hr2forth.a deleted file mode 100644 index 19f3035..0000000 --- a/src/toolsrc/hr2forth.a +++ /dev/null @@ -1,193 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; toolsrc/hr2forth.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; toolsrc/hr2forth.pla: 0001: -; toolsrc/hr2forth.pla: 0002: sysflags reshgr1 | reshgr2 // Reserve HGR page 1 and 2 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0030 ; SYSTEM FLAGS -; toolsrc/hr2forth.pla: 0003: -; toolsrc/hr2forth.pla: 0004: return cmdsys:modexec("PLFORTH") - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT - !BYTE $2E ; CS - !BYTE $07 - !BYTE $50,$4C,$46,$4F,$52,$54,$48 - !BYTE $6A ; LAW _X000+6 -_F000 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; toolsrc/hr2forth.pla: 0005: done -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/hrforth.a b/src/toolsrc/hrforth.a deleted file mode 100644 index 2a2b97c..0000000 --- a/src/toolsrc/hrforth.a +++ /dev/null @@ -1,193 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; toolsrc/hrforth.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; toolsrc/hrforth.pla: 0001: -; toolsrc/hrforth.pla: 0002: sysflags reshgr1 // Reserve HGR page 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0010 ; SYSTEM FLAGS -; toolsrc/hrforth.pla: 0003: -; toolsrc/hrforth.pla: 0004: return cmdsys:modexec("PLFORTH") - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT - !BYTE $2E ; CS - !BYTE $07 - !BYTE $50,$4C,$46,$4F,$52,$54,$48 - !BYTE $6A ; LAW _X000+6 -_F000 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; toolsrc/hrforth.pla: 0005: done -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/plasm.a b/src/toolsrc/plasm.a deleted file mode 100644 index 62e9925..0000000 --- a/src/toolsrc/plasm.a +++ /dev/null @@ -1,21267 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; toolsrc/plasm.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; toolsrc/plasm.pla: 0001: -; toolsrc/plasm.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; toolsrc/plasm.pla: 0002: -; toolsrc/plasm.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; toolsrc/plasm.pla: 0003: -; toolsrc/plasm.pla: 0004: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X033 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X034 - ; THROW -> X035 -; inc/longjmp.plh: 0004: end -; toolsrc/plasm.pla: 0004: -; toolsrc/plasm.pla: 0005: // -; toolsrc/plasm.pla: 0006: // Tokens -; toolsrc/plasm.pla: 0007: // -; toolsrc/plasm.pla: 0008: const ID_LEN = 32 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; ID_LEN = 32 -; toolsrc/plasm.pla: 0009: const ID_TKN = $D6 // V - ; ID_TKN = 214 -; toolsrc/plasm.pla: 0010: const CHR_TKN = $C3 // C - ; CHR_TKN = 195 -; toolsrc/plasm.pla: 0011: const INT_TKN = $C9 // I - ; INT_TKN = 201 -; toolsrc/plasm.pla: 0012: const STR_TKN = $D3 // S - ; STR_TKN = 211 -; toolsrc/plasm.pla: 0013: const CNT_TKN = $DC // \ - ; CNT_TKN = 220 -; toolsrc/plasm.pla: 0014: const EOL_TKN = $02 - ; EOL_TKN = 2 -; toolsrc/plasm.pla: 0015: const EOF_TKN = $01 - ; EOF_TKN = 1 -; toolsrc/plasm.pla: 0016: const ERR_TKN = $00 - ; ERR_TKN = 0 -; toolsrc/plasm.pla: 0017: // -; toolsrc/plasm.pla: 0018: //Ternary operand operators -; toolsrc/plasm.pla: 0019: // -; toolsrc/plasm.pla: 0020: const TERNARY_TKN = $BF // ? - ; TERNARY_TKN = 191 -; toolsrc/plasm.pla: 0021: const TRIELSE_TKN = $DF // _ - ; TRIELSE_TKN = 223 -; toolsrc/plasm.pla: 0022: // -; toolsrc/plasm.pla: 0023: // Binary operand operators -; toolsrc/plasm.pla: 0024: // -; toolsrc/plasm.pla: 0025: const SET_TKN = $BD // = - ; SET_TKN = 189 -; toolsrc/plasm.pla: 0026: const ADD_TKN = $AB // + - ; ADD_TKN = 171 -; toolsrc/plasm.pla: 0027: const SUB_TKN = $AD // - - ; SUB_TKN = 173 -; toolsrc/plasm.pla: 0028: const MUL_TKN = $AA // * - ; MUL_TKN = 170 -; toolsrc/plasm.pla: 0029: const DIV_TKN = $AF // / - ; DIV_TKN = 175 -; toolsrc/plasm.pla: 0030: const MOD_TKN = $A5 // % - ; MOD_TKN = 165 -; toolsrc/plasm.pla: 0031: const OR_TKN = $FC // | - ; OR_TKN = 252 -; toolsrc/plasm.pla: 0032: const EOR_TKN = $DE // ^ - ; EOR_TKN = 222 -; toolsrc/plasm.pla: 0033: const AND_TKN = $A6 // & - ; AND_TKN = 166 -; toolsrc/plasm.pla: 0034: const SHR_TKN = $D2 // R - ; SHR_TKN = 210 -; toolsrc/plasm.pla: 0035: const SHL_TKN = $CC // L - ; SHL_TKN = 204 -; toolsrc/plasm.pla: 0036: const GT_TKN = $BE // > - ; GT_TKN = 190 -; toolsrc/plasm.pla: 0037: const GE_TKN = $C8 // H - ; GE_TKN = 200 -; toolsrc/plasm.pla: 0038: const LT_TKN = $BC // < - ; LT_TKN = 188 -; toolsrc/plasm.pla: 0039: const LE_TKN = $C2 // B - ; LE_TKN = 194 -; toolsrc/plasm.pla: 0040: const NE_TKN = $D5 // U - ; NE_TKN = 213 -; toolsrc/plasm.pla: 0041: const EQ_TKN = $C5 // E - ; EQ_TKN = 197 -; toolsrc/plasm.pla: 0042: const LOGIC_AND_TKN = $CE // N - ; LOGIC_AND_TKN = 206 -; toolsrc/plasm.pla: 0043: const LOGIC_OR_TKN = $CF // O - ; LOGIC_OR_TKN = 207 -; toolsrc/plasm.pla: 0044: // -; toolsrc/plasm.pla: 0045: // Unary operand operators -; toolsrc/plasm.pla: 0046: // -; toolsrc/plasm.pla: 0047: const AT_TKN = $C0 // @ - ; AT_TKN = 192 -; toolsrc/plasm.pla: 0048: const DOT_TKN = $AE // . - ; DOT_TKN = 174 -; toolsrc/plasm.pla: 0049: const COLON_TKN = $BA // : - ; COLON_TKN = 186 -; toolsrc/plasm.pla: 0050: const NEG_TKN = $AD // - - ; NEG_TKN = 173 -; toolsrc/plasm.pla: 0051: const POUND_TKN = $A3 // # - ; POUND_TKN = 163 -; toolsrc/plasm.pla: 0052: const COMP_TKN = $FE // ~ - ; COMP_TKN = 254 -; toolsrc/plasm.pla: 0053: const LOGIC_NOT_TKN = $A1 // ! - ; LOGIC_NOT_TKN = 161 -; toolsrc/plasm.pla: 0054: const BPTR_TKN = $DE // ^ - ; BPTR_TKN = 222 -; toolsrc/plasm.pla: 0055: const WPTR_TKN = $AA // * - ; WPTR_TKN = 170 -; toolsrc/plasm.pla: 0056: const PTRB_TKN = $D8 // X - ; PTRB_TKN = 216 -; toolsrc/plasm.pla: 0057: const PTRW_TKN = $D7 // W - ; PTRW_TKN = 215 -; toolsrc/plasm.pla: 0058: const INC_TKN = $C1 // A - ; INC_TKN = 193 -; toolsrc/plasm.pla: 0059: const DEC_TKN = $C4 // D - ; DEC_TKN = 196 -; toolsrc/plasm.pla: 0060: const LAMBDA_TKN = $A6 // & - ; LAMBDA_TKN = 166 -; toolsrc/plasm.pla: 0061: // -; toolsrc/plasm.pla: 0062: // Enclosure tokens -; toolsrc/plasm.pla: 0063: // -; toolsrc/plasm.pla: 0064: const OPEN_PAREN_TKN = $A8 // ( - ; OPEN_PAREN_TKN = 168 -; toolsrc/plasm.pla: 0065: const CLOSE_PAREN_TKN = $A9 // ) - ; CLOSE_PAREN_TKN = 169 -; toolsrc/plasm.pla: 0066: const OPEN_BRACKET_TKN = $DB // [ - ; OPEN_BRACKET_TKN = 219 -; toolsrc/plasm.pla: 0067: const CLOSE_BRACKET_TKN = $DD // ] - ; CLOSE_BRACKET_TKN = 221 -; toolsrc/plasm.pla: 0068: // -; toolsrc/plasm.pla: 0069: // Misc. tokens -; toolsrc/plasm.pla: 0070: // -; toolsrc/plasm.pla: 0071: const COMMA_TKN = $AC // , - ; COMMA_TKN = 172 -; toolsrc/plasm.pla: 0072: //const COMMENT_TKN = $BB // // -; toolsrc/plasm.pla: 0073: const DROP_TKN = $BB - ; DROP_TKN = 187 -; toolsrc/plasm.pla: 0074: // -; toolsrc/plasm.pla: 0075: // Keyword tokens -; toolsrc/plasm.pla: 0076: // -; toolsrc/plasm.pla: 0077: const CONST_TKN = $80 - ; CONST_TKN = 128 -; toolsrc/plasm.pla: 0078: const BYTE_TKN = $81 - ; BYTE_TKN = 129 -; toolsrc/plasm.pla: 0079: const WORD_TKN = $82 - ; WORD_TKN = 130 -; toolsrc/plasm.pla: 0080: const IF_TKN = $83 - ; IF_TKN = 131 -; toolsrc/plasm.pla: 0081: const ELSEIF_TKN = $84 - ; ELSEIF_TKN = 132 -; toolsrc/plasm.pla: 0082: const ELSE_TKN = $85 - ; ELSE_TKN = 133 -; toolsrc/plasm.pla: 0083: const FIN_TKN = $86 - ; FIN_TKN = 134 -; toolsrc/plasm.pla: 0084: const END_TKN = $87 - ; END_TKN = 135 -; toolsrc/plasm.pla: 0085: const WHILE_TKN = $88 - ; WHILE_TKN = 136 -; toolsrc/plasm.pla: 0086: const LOOP_TKN = $89 - ; LOOP_TKN = 137 -; toolsrc/plasm.pla: 0087: const CASE_TKN = $8A - ; CASE_TKN = 138 -; toolsrc/plasm.pla: 0088: const OF_TKN = $8B - ; OF_TKN = 139 -; toolsrc/plasm.pla: 0089: const DEFAULT_TKN = $8C - ; DEFAULT_TKN = 140 -; toolsrc/plasm.pla: 0090: const ENDCASE_TKN = $8D - ; ENDCASE_TKN = 141 -; toolsrc/plasm.pla: 0091: const FOR_TKN = $8E - ; FOR_TKN = 142 -; toolsrc/plasm.pla: 0092: const TO_TKN = $8F - ; TO_TKN = 143 -; toolsrc/plasm.pla: 0093: const DOWNTO_TKN = $90 - ; DOWNTO_TKN = 144 -; toolsrc/plasm.pla: 0094: const STEP_TKN = $91 - ; STEP_TKN = 145 -; toolsrc/plasm.pla: 0095: const NEXT_TKN = $92 - ; NEXT_TKN = 146 -; toolsrc/plasm.pla: 0096: const REPEAT_TKN = $93 - ; REPEAT_TKN = 147 -; toolsrc/plasm.pla: 0097: const UNTIL_TKN = $94 - ; UNTIL_TKN = 148 -; toolsrc/plasm.pla: 0098: const DEF_TKN = $95 - ; DEF_TKN = 149 -; toolsrc/plasm.pla: 0099: const STRUC_TKN = $96 - ; STRUC_TKN = 150 -; toolsrc/plasm.pla: 0100: const SYSFLAGS_TKN = $97 - ; SYSFLAGS_TKN = 151 -; toolsrc/plasm.pla: 0101: const DONE_TKN = $98 - ; DONE_TKN = 152 -; toolsrc/plasm.pla: 0102: const RETURN_TKN = $99 - ; RETURN_TKN = 153 -; toolsrc/plasm.pla: 0103: const BREAK_TKN = $9A - ; BREAK_TKN = 154 -; toolsrc/plasm.pla: 0104: const CONT_TKN = $9B - ; CONT_TKN = 155 -; toolsrc/plasm.pla: 0105: const PREDEF_TKN = $9C - ; PREDEF_TKN = 156 -; toolsrc/plasm.pla: 0106: const IMPORT_TKN = $9D - ; IMPORT_TKN = 157 -; toolsrc/plasm.pla: 0107: const EXPORT_TKN = $9E - ; EXPORT_TKN = 158 -; toolsrc/plasm.pla: 0108: const INCLUDE_TKN = $9F - ; INCLUDE_TKN = 159 -; toolsrc/plasm.pla: 0109: // -; toolsrc/plasm.pla: 0110: // Types -; toolsrc/plasm.pla: 0111: // -; toolsrc/plasm.pla: 0112: const GLOBAL_TYPE = $0000 - ; GLOBAL_TYPE = 0 -; toolsrc/plasm.pla: 0113: const CONST_TYPE = $0001 - ; CONST_TYPE = 1 -; toolsrc/plasm.pla: 0114: const BYTE_TYPE = $0002 - ; BYTE_TYPE = 2 -; toolsrc/plasm.pla: 0115: const WORD_TYPE = $0004 - ; WORD_TYPE = 4 -; toolsrc/plasm.pla: 0116: const VAR_TYPE = $0006 // (WORD_TYPE | BYTE_TYPE) - ; VAR_TYPE = 6 -; toolsrc/plasm.pla: 0117: const FUNC_TYPE = $0008 - ; FUNC_TYPE = 8 -; toolsrc/plasm.pla: 0118: const FUNC_CONST_TYPE = $0009 - ; FUNC_CONST_TYPE = 9 -; toolsrc/plasm.pla: 0119: const ADDR_TYPE = $000E // (VAR_TYPE | FUNC_TYPE) - ; ADDR_TYPE = 14 -; toolsrc/plasm.pla: 0120: const LOCAL_TYPE = $0010 - ; LOCAL_TYPE = 16 -; toolsrc/plasm.pla: 0121: const BPTR_TYPE = $0020 - ; BPTR_TYPE = 32 -; toolsrc/plasm.pla: 0122: const WPTR_TYPE = $0040 - ; WPTR_TYPE = 64 -; toolsrc/plasm.pla: 0123: const PTR_TYPE = $0060 // (BPTR_TYPE | WPTR_TYPE) - ; PTR_TYPE = 96 -; toolsrc/plasm.pla: 0124: const XBYTE_TYPE = $0022 // (BPTR_TYPE | BYTE_TYPE) - ; XBYTE_TYPE = 34 -; toolsrc/plasm.pla: 0125: const XWORD_TYPE = $0044 // (WPTR_TYPE | WORD_TYPE) - ; XWORD_TYPE = 68 -; toolsrc/plasm.pla: 0126: const CONSTADDR_TYPE = $0061 // (CONST_TYPE | PTR_TYPE) - ; CONSTADDR_TYPE = 97 -; toolsrc/plasm.pla: 0127: const STR_TYPE = $0080 - ; STR_TYPE = 128 -; toolsrc/plasm.pla: 0128: const PREDEF_TYPE = $0100 - ; PREDEF_TYPE = 256 -; toolsrc/plasm.pla: 0129: const EXPORT_TYPE = $0200 - ; EXPORT_TYPE = 512 -; toolsrc/plasm.pla: 0130: const EXTERN_TYPE = $0400 - ; EXTERN_TYPE = 1024 -; toolsrc/plasm.pla: 0131: const EXTACCESS_TYPE = $0800 - ; EXTACCESS_TYPE = 2048 -; toolsrc/plasm.pla: 0132: const RELATIVE_TYPE = $8000 - ; RELATIVE_TYPE = 32768 -; toolsrc/plasm.pla: 0133: // -; toolsrc/plasm.pla: 0134: // Fixup flags mask -; toolsrc/plasm.pla: 0135: // -; toolsrc/plasm.pla: 0136: const RESOLVED_FIXUP = $01 - ; RESOLVED_FIXUP = 1 -; toolsrc/plasm.pla: 0137: const RELATIVE_FIXUP = $02 - ; RELATIVE_FIXUP = 2 -; toolsrc/plasm.pla: 0138: const MASK_FIXUP = $90 - ; MASK_FIXUP = 144 -; toolsrc/plasm.pla: 0139: const WORD_FIXUP = $80 - ; WORD_FIXUP = 128 -; toolsrc/plasm.pla: 0140: const BYTE_FIXUP = $00 - ; BYTE_FIXUP = 0 -; toolsrc/plasm.pla: 0141: const EXTERN_FIXUP = $10 - ; EXTERN_FIXUP = 16 -; toolsrc/plasm.pla: 0142: // -; toolsrc/plasm.pla: 0143: // Keywords -; toolsrc/plasm.pla: 0144: // -; toolsrc/plasm.pla: 0145: byte keywrds = "IF", IF_TKN -_D036 ; keywrds = "IF", IF_TKN - !BYTE $02 - !BYTE $49,$46 - !BYTE $83 -; toolsrc/plasm.pla: 0146: byte = "TO", TO_TKN - !BYTE $02 - !BYTE $54,$4F - !BYTE $8F -; toolsrc/plasm.pla: 0147: byte = "IS", OF_TKN - !BYTE $02 - !BYTE $49,$53 - !BYTE $8B -; toolsrc/plasm.pla: 0148: byte = "OR", LOGIC_OR_TKN - !BYTE $02 - !BYTE $4F,$52 - !BYTE $CF -; toolsrc/plasm.pla: 0149: byte = "FOR", FOR_TKN - !BYTE $03 - !BYTE $46,$4F,$52 - !BYTE $8E -; toolsrc/plasm.pla: 0150: byte = "FIN", FIN_TKN - !BYTE $03 - !BYTE $46,$49,$4E - !BYTE $86 -; toolsrc/plasm.pla: 0151: byte = "DEF", DEF_TKN - !BYTE $03 - !BYTE $44,$45,$46 - !BYTE $95 -; toolsrc/plasm.pla: 0152: byte = "END", END_TKN - !BYTE $03 - !BYTE $45,$4E,$44 - !BYTE $87 -; toolsrc/plasm.pla: 0153: byte = "AND", LOGIC_AND_TKN - !BYTE $03 - !BYTE $41,$4E,$44 - !BYTE $CE -; toolsrc/plasm.pla: 0154: byte = "NOT", LOGIC_NOT_TKN - !BYTE $03 - !BYTE $4E,$4F,$54 - !BYTE $A1 -; toolsrc/plasm.pla: 0155: byte = "RES", BYTE_TKN - !BYTE $03 - !BYTE $52,$45,$53 - !BYTE $81 -; toolsrc/plasm.pla: 0156: byte = "VAR", WORD_TKN - !BYTE $03 - !BYTE $56,$41,$52 - !BYTE $82 -; toolsrc/plasm.pla: 0157: byte = "WORD", WORD_TKN - !BYTE $04 - !BYTE $57,$4F,$52,$44 - !BYTE $82 -; toolsrc/plasm.pla: 0158: byte = "CHAR", BYTE_TKN - !BYTE $04 - !BYTE $43,$48,$41,$52 - !BYTE $81 -; toolsrc/plasm.pla: 0159: byte = "BYTE", BYTE_TKN - !BYTE $04 - !BYTE $42,$59,$54,$45 - !BYTE $81 -; toolsrc/plasm.pla: 0160: byte = "ELSE", ELSE_TKN - !BYTE $04 - !BYTE $45,$4C,$53,$45 - !BYTE $85 -; toolsrc/plasm.pla: 0161: byte = "NEXT", NEXT_TKN - !BYTE $04 - !BYTE $4E,$45,$58,$54 - !BYTE $92 -; toolsrc/plasm.pla: 0162: byte = "WHEN", CASE_TKN - !BYTE $04 - !BYTE $57,$48,$45,$4E - !BYTE $8A -; toolsrc/plasm.pla: 0163: byte = "LOOP", LOOP_TKN - !BYTE $04 - !BYTE $4C,$4F,$4F,$50 - !BYTE $89 -; toolsrc/plasm.pla: 0164: byte = "STEP", STEP_TKN - !BYTE $04 - !BYTE $53,$54,$45,$50 - !BYTE $91 -; toolsrc/plasm.pla: 0165: byte = "DONE", DONE_TKN - !BYTE $04 - !BYTE $44,$4F,$4E,$45 - !BYTE $98 -; toolsrc/plasm.pla: 0166: byte = "WEND", ENDCASE_TKN - !BYTE $04 - !BYTE $57,$45,$4E,$44 - !BYTE $8D -; toolsrc/plasm.pla: 0167: byte = "DROP", DROP_TKN - !BYTE $04 - !BYTE $44,$52,$4F,$50 - !BYTE $BB -; toolsrc/plasm.pla: 0168: byte = "CONST", CONST_TKN - !BYTE $05 - !BYTE $43,$4F,$4E,$53,$54 - !BYTE $80 -; toolsrc/plasm.pla: 0169: byte = "STRUC", STRUC_TKN - !BYTE $05 - !BYTE $53,$54,$52,$55,$43 - !BYTE $96 -; toolsrc/plasm.pla: 0170: byte = "ELSIF", ELSEIF_TKN - !BYTE $05 - !BYTE $45,$4C,$53,$49,$46 - !BYTE $84 -; toolsrc/plasm.pla: 0171: byte = "WHILE", WHILE_TKN - !BYTE $05 - !BYTE $57,$48,$49,$4C,$45 - !BYTE $88 -; toolsrc/plasm.pla: 0172: byte = "UNTIL", UNTIL_TKN - !BYTE $05 - !BYTE $55,$4E,$54,$49,$4C - !BYTE $94 -; toolsrc/plasm.pla: 0173: byte = "BREAK", BREAK_TKN - !BYTE $05 - !BYTE $42,$52,$45,$41,$4B - !BYTE $9A -; toolsrc/plasm.pla: 0174: byte = "IMPORT", IMPORT_TKN - !BYTE $06 - !BYTE $49,$4D,$50,$4F,$52,$54 - !BYTE $9D -; toolsrc/plasm.pla: 0175: byte = "EXPORT", EXPORT_TKN - !BYTE $06 - !BYTE $45,$58,$50,$4F,$52,$54 - !BYTE $9E -; toolsrc/plasm.pla: 0176: byte = "DOWNTO", DOWNTO_TKN - !BYTE $06 - !BYTE $44,$4F,$57,$4E,$54,$4F - !BYTE $90 -; toolsrc/plasm.pla: 0177: byte = "REPEAT", REPEAT_TKN - !BYTE $06 - !BYTE $52,$45,$50,$45,$41,$54 - !BYTE $93 -; toolsrc/plasm.pla: 0178: byte = "RETURN", RETURN_TKN - !BYTE $06 - !BYTE $52,$45,$54,$55,$52,$4E - !BYTE $99 -; toolsrc/plasm.pla: 0179: byte = "PREDEF", PREDEF_TKN - !BYTE $06 - !BYTE $50,$52,$45,$44,$45,$46 - !BYTE $9C -; toolsrc/plasm.pla: 0180: byte = "INCLUDE", INCLUDE_TKN - !BYTE $07 - !BYTE $49,$4E,$43,$4C,$55,$44,$45 - !BYTE $9F -; toolsrc/plasm.pla: 0181: byte = "CONTINUE", CONT_TKN - !BYTE $08 - !BYTE $43,$4F,$4E,$54,$49,$4E,$55,$45 - !BYTE $9B -; toolsrc/plasm.pla: 0182: byte = "SYSFLAGS", SYSFLAGS_TKN - !BYTE $08 - !BYTE $53,$59,$53,$46,$4C,$41,$47,$53 - !BYTE $97 -; toolsrc/plasm.pla: 0183: byte = "OTHERWISE",DEFAULT_TKN - !BYTE $09 - !BYTE $4F,$54,$48,$45,$52,$57,$49,$53 - !BYTE $45 - !BYTE $8C -; toolsrc/plasm.pla: 0184: byte = $FF - !BYTE $FF -; toolsrc/plasm.pla: 0185: // -; toolsrc/plasm.pla: 0186: // Mathematical ops -; toolsrc/plasm.pla: 0187: // -; toolsrc/plasm.pla: 0188: const bops_tblsz = 17 // minus 1 - ; bops_tblsz = 17 -; toolsrc/plasm.pla: 0189: byte[] bops_tbl // Highest precedence -_D037 ; bops_tbl // Highest precedence -; toolsrc/plasm.pla: 0190: byte = MUL_TKN, DIV_TKN, MOD_TKN - !BYTE $AA - !BYTE $AF - !BYTE $A5 -; toolsrc/plasm.pla: 0191: byte = ADD_TKN, SUB_TKN - !BYTE $AB - !BYTE $AD -; toolsrc/plasm.pla: 0192: byte = SHR_TKN, SHL_TKN - !BYTE $D2 - !BYTE $CC -; toolsrc/plasm.pla: 0193: byte = AND_TKN - !BYTE $A6 -; toolsrc/plasm.pla: 0194: byte = EOR_TKN - !BYTE $DE -; toolsrc/plasm.pla: 0195: byte = OR_TKN - !BYTE $FC -; toolsrc/plasm.pla: 0196: byte = GT_TKN, GE_TKN, LT_TKN, LE_TKN - !BYTE $BE - !BYTE $C8 - !BYTE $BC - !BYTE $C2 -; toolsrc/plasm.pla: 0197: byte = EQ_TKN, NE_TKN - !BYTE $C5 - !BYTE $D5 -; toolsrc/plasm.pla: 0198: // Lowest precedence -; toolsrc/plasm.pla: 0199: byte[] bops_prec // Highest precedence -_D038 ; bops_prec // Highest precedence -; toolsrc/plasm.pla: 0200: byte = 1, 1, 1 - !BYTE $01 - !BYTE $01 - !BYTE $01 -; toolsrc/plasm.pla: 0201: byte = 2, 2 - !BYTE $02 - !BYTE $02 -; toolsrc/plasm.pla: 0202: byte = 3, 3 - !BYTE $03 - !BYTE $03 -; toolsrc/plasm.pla: 0203: byte = 4 - !BYTE $04 -; toolsrc/plasm.pla: 0204: byte = 5 - !BYTE $05 -; toolsrc/plasm.pla: 0205: byte = 6 - !BYTE $06 -; toolsrc/plasm.pla: 0206: byte = 7, 7, 7, 7 - !BYTE $07 - !BYTE $07 - !BYTE $07 - !BYTE $07 -; toolsrc/plasm.pla: 0207: byte = 8, 8 - !BYTE $08 - !BYTE $08 -; toolsrc/plasm.pla: 0208: // Lowest precedence -; toolsrc/plasm.pla: 0209: byte[16] opstack -_D039 !FILL 16 ; opstack -; toolsrc/plasm.pla: 0210: byte[16] precstack -_D040 !FILL 16 ; precstack -; toolsrc/plasm.pla: 0211: word opsp -_D041 !FILL 2 ; opsp -; toolsrc/plasm.pla: 0212: word[16] valstack -_D042 !FILL 32 ; valstack -; toolsrc/plasm.pla: 0213: byte[16] sizestack -_D043 !FILL 16 ; sizestack -; toolsrc/plasm.pla: 0214: byte[16] typestack -_D044 !FILL 16 ; typestack -; toolsrc/plasm.pla: 0215: word valsp -_D045 !FILL 2 ; valsp -; toolsrc/plasm.pla: 0216: // -; toolsrc/plasm.pla: 0217: // Code sequence shared with optimizer -; toolsrc/plasm.pla: 0218: // -; toolsrc/plasm.pla: 0219: include "toolsrc/codeseq.plh" -; toolsrc/codeseq.plh: 0001: // -; toolsrc/codeseq.plh: 0002: // Constant code group -; toolsrc/codeseq.plh: 0003: // -; toolsrc/codeseq.plh: 0004: const CONST_GROUP = $00 - ; CONST_GROUP = 0 -; toolsrc/codeseq.plh: 0005: const CONST_CODE = $2C - ; CONST_CODE = 44 -; toolsrc/codeseq.plh: 0006: const ADDI_CODE = $38 - ; ADDI_CODE = 56 -; toolsrc/codeseq.plh: 0007: const SUBI_CODE = $3A - ; SUBI_CODE = 58 -; toolsrc/codeseq.plh: 0008: const ANDI_CODE = $3C - ; ANDI_CODE = 60 -; toolsrc/codeseq.plh: 0009: const ORI_CODE = $3E - ; ORI_CODE = 62 -; toolsrc/codeseq.plh: 0010: const CONSTR_GROUP = $01 - ; CONSTR_GROUP = 1 -; toolsrc/codeseq.plh: 0011: const CONSTR_CODE = $2E - ; CONSTR_CODE = 46 -; toolsrc/codeseq.plh: 0012: // -; toolsrc/codeseq.plh: 0013: // Stack code group -; toolsrc/codeseq.plh: 0014: // -; toolsrc/codeseq.plh: 0015: const STACK_GROUP = $02 - ; STACK_GROUP = 2 -; toolsrc/codeseq.plh: 0016: const INDEXB_CODE = $82 - ; INDEXB_CODE = 130 -; toolsrc/codeseq.plh: 0017: const ADD_CODE = $82 - ; ADD_CODE = 130 -; toolsrc/codeseq.plh: 0018: const SUB_CODE = $84 - ; SUB_CODE = 132 -; toolsrc/codeseq.plh: 0019: const MUL_CODE = $86 - ; MUL_CODE = 134 -; toolsrc/codeseq.plh: 0020: const DIV_CODE = $88 - ; DIV_CODE = 136 -; toolsrc/codeseq.plh: 0021: const MOD_CODE = $8A - ; MOD_CODE = 138 -; toolsrc/codeseq.plh: 0022: const INC_CODE = $8C - ; INC_CODE = 140 -; toolsrc/codeseq.plh: 0023: const DEC_CODE = $8E - ; DEC_CODE = 142 -; toolsrc/codeseq.plh: 0024: const NEG_CODE = $90 - ; NEG_CODE = 144 -; toolsrc/codeseq.plh: 0025: const COMP_CODE = $92 - ; COMP_CODE = 146 -; toolsrc/codeseq.plh: 0026: const AND_CODE = $94 - ; AND_CODE = 148 -; toolsrc/codeseq.plh: 0027: const OR_CODE = $96 - ; OR_CODE = 150 -; toolsrc/codeseq.plh: 0028: const EOR_CODE = $98 - ; EOR_CODE = 152 -; toolsrc/codeseq.plh: 0029: const SHL_CODE = $9A - ; SHL_CODE = 154 -; toolsrc/codeseq.plh: 0030: const SHR_CODE = $9C - ; SHR_CODE = 156 -; toolsrc/codeseq.plh: 0031: const INDEXW_CODE = $9E - ; INDEXW_CODE = 158 -; toolsrc/codeseq.plh: 0032: const LOGIC_NOT_CODE = $80 - ; LOGIC_NOT_CODE = 128 -; toolsrc/codeseq.plh: 0033: const DROP_CODE = $30 - ; DROP_CODE = 48 -; toolsrc/codeseq.plh: 0034: const DROP2_CODE = $32 - ; DROP2_CODE = 50 -; toolsrc/codeseq.plh: 0035: const DUP_CODE = $34 - ; DUP_CODE = 52 -; toolsrc/codeseq.plh: 0036: const EQ_CODE = $40 - ; EQ_CODE = 64 -; toolsrc/codeseq.plh: 0037: const NE_CODE = $42 - ; NE_CODE = 66 -; toolsrc/codeseq.plh: 0038: const GT_CODE = $44 - ; GT_CODE = 68 -; toolsrc/codeseq.plh: 0039: const LT_CODE = $46 - ; LT_CODE = 70 -; toolsrc/codeseq.plh: 0040: const GE_CODE = $48 - ; GE_CODE = 72 -; toolsrc/codeseq.plh: 0041: const LE_CODE = $4A - ; LE_CODE = 74 -; toolsrc/codeseq.plh: 0042: const ICAL_CODE = $56 - ; ICAL_CODE = 86 -; toolsrc/codeseq.plh: 0043: const RET_CODE = $5C - ; RET_CODE = 92 -; toolsrc/codeseq.plh: 0044: const LB_CODE = $60 - ; LB_CODE = 96 -; toolsrc/codeseq.plh: 0045: const BPTR_CODE = $60 - ; BPTR_CODE = 96 -; toolsrc/codeseq.plh: 0046: const LW_CODE = $62 - ; LW_CODE = 98 -; toolsrc/codeseq.plh: 0047: const WPTR_CODE = $62 - ; WPTR_CODE = 98 -; toolsrc/codeseq.plh: 0048: const SB_CODE = $70 - ; SB_CODE = 112 -; toolsrc/codeseq.plh: 0049: const SW_CODE = $72 - ; SW_CODE = 114 -; toolsrc/codeseq.plh: 0050: // -; toolsrc/codeseq.plh: 0051: // Local address code group -; toolsrc/codeseq.plh: 0052: // -; toolsrc/codeseq.plh: 0053: const LOCAL_GROUP = $03 - ; LOCAL_GROUP = 3 -; toolsrc/codeseq.plh: 0054: const LADDR_CODE = $28 - ; LADDR_CODE = 40 -; toolsrc/codeseq.plh: 0055: const LLB_CODE = $64 - ; LLB_CODE = 100 -; toolsrc/codeseq.plh: 0056: const LLW_CODE = $66 - ; LLW_CODE = 102 -; toolsrc/codeseq.plh: 0057: const DLB_CODE = $6C - ; DLB_CODE = 108 -; toolsrc/codeseq.plh: 0058: const DLW_CODE = $6E - ; DLW_CODE = 110 -; toolsrc/codeseq.plh: 0059: const SLB_CODE = $74 - ; SLB_CODE = 116 -; toolsrc/codeseq.plh: 0060: const SLW_CODE = $76 - ; SLW_CODE = 118 -; toolsrc/codeseq.plh: 0061: const ADDLB_CODE = $B0 - ; ADDLB_CODE = 176 -; toolsrc/codeseq.plh: 0062: const ADDLW_CODE = $B2 - ; ADDLW_CODE = 178 -; toolsrc/codeseq.plh: 0063: const IDXLB_CODE = $B8 - ; IDXLB_CODE = 184 -; toolsrc/codeseq.plh: 0064: const IDXLW_CODE = $BA - ; IDXLW_CODE = 186 -; toolsrc/codeseq.plh: 0065: // -; toolsrc/codeseq.plh: 0066: // Global address code group -; toolsrc/codeseq.plh: 0067: // -; toolsrc/codeseq.plh: 0068: const GLOBAL_GROUP = $04 - ; GLOBAL_GROUP = 4 -; toolsrc/codeseq.plh: 0069: const GADDR_CODE = $26 - ; GADDR_CODE = 38 -; toolsrc/codeseq.plh: 0070: const CALL_CODE = $54 - ; CALL_CODE = 84 -; toolsrc/codeseq.plh: 0071: const LAB_CODE = $68 - ; LAB_CODE = 104 -; toolsrc/codeseq.plh: 0072: const LAW_CODE = $6A - ; LAW_CODE = 106 -; toolsrc/codeseq.plh: 0073: const SAB_CODE = $78 - ; SAB_CODE = 120 -; toolsrc/codeseq.plh: 0074: const SAW_CODE = $7A - ; SAW_CODE = 122 -; toolsrc/codeseq.plh: 0075: const DAB_CODE = $7C - ; DAB_CODE = 124 -; toolsrc/codeseq.plh: 0076: const DAW_CODE = $7E - ; DAW_CODE = 126 -; toolsrc/codeseq.plh: 0077: const ADDAB_CODE = $B4 - ; ADDAB_CODE = 180 -; toolsrc/codeseq.plh: 0078: const ADDAW_CODE = $B6 - ; ADDAW_CODE = 182 -; toolsrc/codeseq.plh: 0079: const IDXAB_CODE = $BC - ; IDXAB_CODE = 188 -; toolsrc/codeseq.plh: 0080: const IDXAW_CODE = $BE - ; IDXAW_CODE = 190 -; toolsrc/codeseq.plh: 0081: // -; toolsrc/codeseq.plh: 0082: // Relative address code group -; toolsrc/codeseq.plh: 0083: // -; toolsrc/codeseq.plh: 0084: const RELATIVE_GROUP = $05 - ; RELATIVE_GROUP = 5 -; toolsrc/codeseq.plh: 0085: const BREQ_CODE = $22 - ; BREQ_CODE = 34 -; toolsrc/codeseq.plh: 0086: const BRNE_CODE = $24 - ; BRNE_CODE = 36 -; toolsrc/codeseq.plh: 0087: const BRFALSE_CODE = $4C - ; BRFALSE_CODE = 76 -; toolsrc/codeseq.plh: 0088: const BRTRUE_CODE = $4E - ; BRTRUE_CODE = 78 -; toolsrc/codeseq.plh: 0089: const BRNCH_CODE = $50 - ; BRNCH_CODE = 80 -; toolsrc/codeseq.plh: 0090: const BRAND_CODE = $AC - ; BRAND_CODE = 172 -; toolsrc/codeseq.plh: 0091: const BROR_CODE = $AE - ; BROR_CODE = 174 -; toolsrc/codeseq.plh: 0092: const BRGT_CODE = $A0 - ; BRGT_CODE = 160 -; toolsrc/codeseq.plh: 0093: const BRLT_CODE = $A2 - ; BRLT_CODE = 162 -; toolsrc/codeseq.plh: 0094: // -; toolsrc/codeseq.plh: 0095: // Code tag address group -; toolsrc/codeseq.plh: 0096: // -; toolsrc/codeseq.plh: 0097: const CODETAG_GROUP = $06 - ; CODETAG_GROUP = 6 -; toolsrc/codeseq.plh: 0098: // -; toolsrc/codeseq.plh: 0099: // Invalid code -; toolsrc/codeseq.plh: 0100: // -; toolsrc/codeseq.plh: 0101: const INVALID_CODE = $FF - ; INVALID_CODE = 255 -; toolsrc/codeseq.plh: 0102: // -; toolsrc/codeseq.plh: 0103: // Code sequence op -; toolsrc/codeseq.plh: 0104: // -; toolsrc/codeseq.plh: 0105: struc t_opseq -; toolsrc/codeseq.plh: 0106: byte opcode - ; opcode = 0 -; toolsrc/codeseq.plh: 0107: byte opgroup - ; opgroup = 1 -; toolsrc/codeseq.plh: 0108: word opval[] - ; opval = 2 -; toolsrc/codeseq.plh: 0109: word optag - ; optag = 2 -; toolsrc/codeseq.plh: 0110: word opoffset - ; opoffset = 4 -; toolsrc/codeseq.plh: 0111: word opnext - ; opnext = 6 -; toolsrc/codeseq.plh: 0112: end - ; t_opseq = 8 -; toolsrc/plasm.pla: 0219: -; toolsrc/plasm.pla: 0220: // -; toolsrc/plasm.pla: 0221: // -; toolsrc/plasm.pla: 0222: // Symbol table variables -; toolsrc/plasm.pla: 0223: // -; toolsrc/plasm.pla: 0224: struc t_id -; toolsrc/plasm.pla: 0225: word idval - ; idval = 0 -; toolsrc/plasm.pla: 0226: word idtype - ; idtype = 2 -; toolsrc/plasm.pla: 0227: byte funcparms - ; funcparms = 4 -; toolsrc/plasm.pla: 0228: byte funcvals - ; funcvals = 5 -; toolsrc/plasm.pla: 0229: byte extnum - ; extnum = 6 -; toolsrc/plasm.pla: 0230: byte idname - ; idname = 7 -; toolsrc/plasm.pla: 0231: end - ; t_id = 8 -; toolsrc/plasm.pla: 0232: // -; toolsrc/plasm.pla: 0233: // Generated code buffers -; toolsrc/plasm.pla: 0234: // -; toolsrc/plasm.pla: 0235: const OPSEQNUM = 384 - ; OPSEQNUM = 384 -; toolsrc/plasm.pla: 0236: const DFDNUM = 128 - ; DFDNUM = 128 -; toolsrc/plasm.pla: 0237: const TAGNUM = 1024 - ; TAGNUM = 1024 -; toolsrc/plasm.pla: 0238: const FIXUPNUM = 2048 - ; FIXUPNUM = 2048 -; toolsrc/plasm.pla: 0239: const MODDEPNUM = 8 - ; MODDEPNUM = 8 -; toolsrc/plasm.pla: 0240: const IDGLOBALSZ = 5120 - ; IDGLOBALSZ = 5120 -; toolsrc/plasm.pla: 0241: const IDLOCALSZ = 512 - ; IDLOCALSZ = 512 -; toolsrc/plasm.pla: 0242: const CASENUM = 64 - ; CASENUM = 64 -; toolsrc/plasm.pla: 0243: word fixup_cnt, tag_cnt = -1 -_D046 !FILL 2 ; fixup_cnt, tag_cnt = -1 -_D047 ; tag_cnt = -1 - !WORD $FFFF -; toolsrc/plasm.pla: 0244: word dfd_tag, dfd_cnt -_D048 !FILL 2 ; dfd_tag, dfd_cnt -_D049 !FILL 2 ; dfd_cnt -; toolsrc/plasm.pla: 0245: word fixup_tag, fixup_addr -_D050 !FILL 2 ; fixup_tag, fixup_addr -_D051 !FILL 2 ; fixup_addr -; toolsrc/plasm.pla: 0246: word tag_addr, tag_type -_D052 !FILL 2 ; tag_addr, tag_type -_D053 !FILL 2 ; tag_type -; toolsrc/plasm.pla: 0247: word idglobal_tbl, idlocal_tbl -_D054 !FILL 2 ; idglobal_tbl, idlocal_tbl -_D055 !FILL 2 ; idlocal_tbl -; toolsrc/plasm.pla: 0248: word pending_seq -_D056 !FILL 2 ; pending_seq -; toolsrc/plasm.pla: 0249: word globals, lastglobal, lastglobalsize, lastlocal, savelast, savetbl -_D057 !FILL 2 ; globals, lastglobal, lastglobalsize, lastlocal, savelast, savetbl -_D058 !FILL 2 ; lastglobal, lastglobalsize, lastlocal, savelast, savetbl -_D059 !FILL 2 ; lastglobalsize, lastlocal, savelast, savetbl -_D060 !FILL 2 ; lastlocal, savelast, savetbl -_D061 !FILL 2 ; savelast, savetbl -_D062 !FILL 2 ; savetbl -; toolsrc/plasm.pla: 0250: word dfd_num, tag_num, fixup_num, globalbufsz, localbufsz, codebufsz -_D063 !FILL 2 ; dfd_num, tag_num, fixup_num, globalbufsz, localbufsz, codebufsz -_D064 !FILL 2 ; tag_num, fixup_num, globalbufsz, localbufsz, codebufsz -_D065 !FILL 2 ; fixup_num, globalbufsz, localbufsz, codebufsz -_D066 !FILL 2 ; globalbufsz, localbufsz, codebufsz -_D067 !FILL 2 ; localbufsz, codebufsz -_D068 !FILL 2 ; codebufsz -; toolsrc/plasm.pla: 0251: word datasize, framesize, savesize -_D069 !FILL 2 ; datasize, framesize, savesize -_D070 !FILL 2 ; framesize, savesize -_D071 !FILL 2 ; savesize -; toolsrc/plasm.pla: 0252: byte locals, savelocals -_D072 !FILL 1 ; locals, savelocals -_D073 !FILL 1 ; savelocals -; toolsrc/plasm.pla: 0253: word codebuff, codeptr, entrypoint -_D074 !FILL 2 ; codebuff, codeptr, entrypoint -_D075 !FILL 2 ; codeptr, entrypoint -_D076 !FILL 2 ; entrypoint -; toolsrc/plasm.pla: 0254: word modsysflags -_D077 !FILL 2 ; modsysflags -; toolsrc/plasm.pla: 0255: byte[16] moddep_tbl[MODDEPNUM] -_D078 !FILL 128 ; moddep_tbl[MODDEPNUM] -; toolsrc/plasm.pla: 0256: byte moddep_cnt, def_cnt = 1 -_D079 !FILL 1 ; moddep_cnt, def_cnt = 1 -_D080 ; def_cnt = 1 - !BYTE $01 -; toolsrc/plasm.pla: 0257: predef nextln -; toolsrc/plasm.pla: 0258: predef parse_mods -; toolsrc/plasm.pla: 0259: predef emit_pending_seq#0 -; toolsrc/plasm.pla: 0260: // -; toolsrc/plasm.pla: 0261: // Module relocation base address -; toolsrc/plasm.pla: 0262: // -; toolsrc/plasm.pla: 0263: const RELADDR = $1000 - ; RELADDR = 4096 -; toolsrc/plasm.pla: 0264: // -; toolsrc/plasm.pla: 0265: // Exports for optimizer module -; toolsrc/plasm.pla: 0266: // -; toolsrc/plasm.pla: 0267: export word freeop_lst -_D084 !FILL 2 ; freeop_lst -; toolsrc/plasm.pla: 0268: export word optimize_seq -_D085 !FILL 2 ; optimize_seq -; toolsrc/plasm.pla: 0269: // -; toolsrc/plasm.pla: 0270: // Compiler flags -; toolsrc/plasm.pla: 0271: // -; toolsrc/plasm.pla: 0272: const OPTIMIZE = 1 - ; OPTIMIZE = 1 -; toolsrc/plasm.pla: 0273: const OPTIMIZE2 = 2 - ; OPTIMIZE2 = 2 -; toolsrc/plasm.pla: 0274: const NO_COMBINE = 4 - ; NO_COMBINE = 4 -; toolsrc/plasm.pla: 0275: const WARNINGS = 8 - ; WARNINGS = 8 -; toolsrc/plasm.pla: 0276: byte outflags -_D086 !FILL 1 ; outflags -; toolsrc/plasm.pla: 0277: // -; toolsrc/plasm.pla: 0278: // ProDOS/SOS file references -; toolsrc/plasm.pla: 0279: // -; toolsrc/plasm.pla: 0280: byte refnum, srcref, incref -_D087 !FILL 1 ; refnum, srcref, incref -_D088 !FILL 1 ; srcref, incref -_D089 !FILL 1 ; incref -; toolsrc/plasm.pla: 0281: byte[32] srcfile, incfile, relfile, modfile -_D090 !FILL 32 ; srcfile, incfile, relfile, modfile -_D091 !FILL 32 ; incfile, relfile, modfile -_D092 !FILL 32 ; relfile, modfile -_D093 !FILL 32 ; modfile -; toolsrc/plasm.pla: 0282: word parsefile // Pointer to current file -_D094 !FILL 2 ; parsefile // Pointer to current file -; toolsrc/plasm.pla: 0283: word srcline // Saved source line number -_D095 !FILL 2 ; srcline // Saved source line number -; toolsrc/plasm.pla: 0284: // -; toolsrc/plasm.pla: 0285: // Scanner variables -; toolsrc/plasm.pla: 0286: // -; toolsrc/plasm.pla: 0287: const MAX_INPUT_LEN = 512 - ; MAX_INPUT_LEN = 512 -; toolsrc/plasm.pla: 0288: word inbuff, inbuff_len = MAX_INPUT_LEN -_D096 !FILL 2 ; inbuff, inbuff_len = MAX_INPUT_LEN -_D097 ; inbuff_len = MAX_INPUT_LEN - !WORD $0200 -; toolsrc/plasm.pla: 0289: word scanptr -_D098 !FILL 2 ; scanptr -; toolsrc/plasm.pla: 0290: byte token = EOL_TKN -_D099 ; token = EOL_TKN - !BYTE $02 -; toolsrc/plasm.pla: 0291: byte scanchr, tknlen -_D100 !FILL 1 ; scanchr, tknlen -_D101 !FILL 1 ; tknlen -; toolsrc/plasm.pla: 0292: word tknptr, parserrln -_D102 !FILL 2 ; tknptr, parserrln -_D103 !FILL 2 ; parserrln -; toolsrc/plasm.pla: 0293: word constval -_D104 !FILL 2 ; constval -; toolsrc/plasm.pla: 0294: word lineno -_D105 !FILL 2 ; lineno -; toolsrc/plasm.pla: 0295: // -; toolsrc/plasm.pla: 0296: // Parser variables -; toolsrc/plasm.pla: 0297: // -; toolsrc/plasm.pla: 0298: const LVALUE = 0 - ; LVALUE = 0 -; toolsrc/plasm.pla: 0299: const RVALUE = 1 - ; RVALUE = 1 -; toolsrc/plasm.pla: 0300: const LAMBDANUM = 16 - ; LAMBDANUM = 16 -; toolsrc/plasm.pla: 0301: word strconstbuff -_D106 !FILL 2 ; strconstbuff -; toolsrc/plasm.pla: 0302: word strconstptr -_D107 !FILL 2 ; strconstptr -; toolsrc/plasm.pla: 0303: byte infunc, inlambda -_D108 !FILL 1 ; infunc, inlambda -_D109 !FILL 1 ; inlambda -; toolsrc/plasm.pla: 0304: byte stack_loop -_D110 !FILL 1 ; stack_loop -; toolsrc/plasm.pla: 0305: byte prevstmnt -_D111 !FILL 1 ; prevstmnt -; toolsrc/plasm.pla: 0306: word infuncvals -_D112 !FILL 2 ; infuncvals -; toolsrc/plasm.pla: 0307: word break_tag -_D113 !FILL 2 ; break_tag -; toolsrc/plasm.pla: 0308: word cont_tag -_D114 !FILL 2 ; cont_tag -; toolsrc/plasm.pla: 0309: byte lambda_cnt, lambda_num -_D115 !FILL 1 ; lambda_cnt, lambda_num -_D116 !FILL 1 ; lambda_num -; toolsrc/plasm.pla: 0310: byte[LAMBDANUM] lambda_cparms -_D117 !FILL 16 ; lambda_cparms -; toolsrc/plasm.pla: 0311: word[LAMBDANUM] lambda_seq, lambda_tag -_D118 !FILL 32 ; lambda_seq, lambda_tag -_D119 !FILL 32 ; lambda_tag -; toolsrc/plasm.pla: 0312: predef parse_constexpr#3, parse_expr(codeseq)#2, parse_lambda -; toolsrc/plasm.pla: 0313: byte bytesln = " bytes\n" -_D123 ; bytesln = " bytes\n" - !BYTE $07 - !BYTE $20,$62,$79,$74,$65,$73,$0D -; toolsrc/plasm.pla: 0314: // -; toolsrc/plasm.pla: 0315: // Arg pointer -; toolsrc/plasm.pla: 0316: // -; toolsrc/plasm.pla: 0317: word arg, opt -_D124 !FILL 2 ; arg, opt -_D125 !FILL 2 ; opt -; toolsrc/plasm.pla: 0318: // -; toolsrc/plasm.pla: 0319: // Long jump environment -; toolsrc/plasm.pla: 0320: // -; toolsrc/plasm.pla: 0321: word exit -_D126 !FILL 2 ; exit -; toolsrc/plasm.pla: 0322: // -; toolsrc/plasm.pla: 0323: // Error string flags -; toolsrc/plasm.pla: 0324: // -; toolsrc/plasm.pla: 0325: const ERR_DUP = $0001 - ; ERR_DUP = 1 -; toolsrc/plasm.pla: 0326: const ERR_UNDECL = $0002 - ; ERR_UNDECL = 2 -; toolsrc/plasm.pla: 0327: const ERR_INVAL = $0004 - ; ERR_INVAL = 4 -; toolsrc/plasm.pla: 0328: const ERR_MISS = $0008 - ; ERR_MISS = 8 -; toolsrc/plasm.pla: 0329: const ERR_OVER = $0010 - ; ERR_OVER = 16 -; toolsrc/plasm.pla: 0330: const ERR_CLOSE = $0020 - ; ERR_CLOSE = 32 -; toolsrc/plasm.pla: 0331: const ERR_LOCAL = $0040 - ; ERR_LOCAL = 64 -; toolsrc/plasm.pla: 0332: const ERR_GLOBAL = $0080 - ; ERR_GLOBAL = 128 -; toolsrc/plasm.pla: 0333: const ERR_CODE = $0100 - ; ERR_CODE = 256 -; toolsrc/plasm.pla: 0334: const ERR_ID = $0200 - ; ERR_ID = 512 -; toolsrc/plasm.pla: 0335: const ERR_CONST = $0400 - ; ERR_CONST = 1024 -; toolsrc/plasm.pla: 0336: const ERR_INIT = $0800 - ; ERR_INIT = 2048 -; toolsrc/plasm.pla: 0337: const ERR_STATE = $1000 - ; ERR_STATE = 4096 -; toolsrc/plasm.pla: 0338: const ERR_FRAME = $2000 - ; ERR_FRAME = 8192 -; toolsrc/plasm.pla: 0339: const ERR_TABLE = $4000 - ; ERR_TABLE = 16384 -; toolsrc/plasm.pla: 0340: const ERR_SYNTAX = $8000 - ; ERR_SYNTAX = 32768 -; toolsrc/plasm.pla: 0341: -; toolsrc/plasm.pla: 0342: //===================================== -; toolsrc/plasm.pla: 0343: // -; toolsrc/plasm.pla: 0344: // PLASMA Compiler -; toolsrc/plasm.pla: 0345: // -; toolsrc/plasm.pla: 0346: //===================================== -; toolsrc/plasm.pla: 0347: -; toolsrc/plasm.pla: 0348: // -; toolsrc/plasm.pla: 0349: // Lexical scanner helper for keyword/IDs -; toolsrc/plasm.pla: 0350: // -; toolsrc/plasm.pla: 0351: asm scanid(scanptr, keywrds)#3 -_A000 ; scanid() -; toolsrc/plasm.pla: 0352: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; toolsrc/plasm.pla: 0353: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/plasm.pla: 0354: STA DSTL - STA DSTL -; toolsrc/plasm.pla: 0355: LDA ESTKH,X - LDA ESTKH,X -; toolsrc/plasm.pla: 0356: STA DSTH - STA DSTH -; toolsrc/plasm.pla: 0357: LDA ESTKL+1,X - LDA ESTKL+1,X -; toolsrc/plasm.pla: 0358: STA ESTKL,X ; COPY OUTPUT SCANPTR - STA ESTKL,X ; COPY OUTPUT SCANPTR -; toolsrc/plasm.pla: 0359: STA SRCL - STA SRCL -; toolsrc/plasm.pla: 0360: LDA ESTKH+1,X - LDA ESTKH+1,X -; toolsrc/plasm.pla: 0361: STA ESTKH,X - STA ESTKH,X -; toolsrc/plasm.pla: 0362: STA SRCH - STA SRCH -; toolsrc/plasm.pla: 0363: DEX - DEX -; toolsrc/plasm.pla: 0364: LDA #$00 - LDA #$00 -; toolsrc/plasm.pla: 0365: STA ESTKL,X ; CLEAR OUTPUT TOKEN - STA ESTKL,X ; CLEAR OUTPUT TOKEN -; toolsrc/plasm.pla: 0366: STA ESTKH,X - STA ESTKH,X -; toolsrc/plasm.pla: 0367: STA ESTKH+2,X ; CLEAR MSB OF SCANCHR - STA ESTKH+2,X ; CLEAR MSB OF SCANCHR -; toolsrc/plasm.pla: 0368: TAY - TAY -; toolsrc/plasm.pla: 0369: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/plasm.pla: 0370: AND #$7F - AND #$7F -; toolsrc/plasm.pla: 0371: CMP #'a' - CMP #'a' -; toolsrc/plasm.pla: 0372: BCC + - BCC + -; toolsrc/plasm.pla: 0373: CMP #'z'+1 - CMP #'z'+1 -; toolsrc/plasm.pla: 0374: BCS + - BCS + -; toolsrc/plasm.pla: 0375: SBC #$1F - SBC #$1F -; toolsrc/plasm.pla: 0376: STA (SRC),Y - STA (SRC),Y -; toolsrc/plasm.pla: 0377: + STA ESTKL+2,X ; SET SCANCHR -+ STA ESTKL+2,X ; SET SCANCHR -; toolsrc/plasm.pla: 0378: CMP #'_' - CMP #'_' -; toolsrc/plasm.pla: 0379: BEQ + - BEQ + -; toolsrc/plasm.pla: 0380: CMP #'A' - CMP #'A' -; toolsrc/plasm.pla: 0381: BCC SCANEX - BCC SCANEX -; toolsrc/plasm.pla: 0382: CMP #'Z'+1 - CMP #'Z'+1 -; toolsrc/plasm.pla: 0383: BCS SCANEX - BCS SCANEX -; toolsrc/plasm.pla: 0384: + LDA #$D6 ; ID_TKN -+ LDA #$D6 ; ID_TKN -; toolsrc/plasm.pla: 0385: STA ESTKL,X ; SET OUTPUT TOKEN = ID_TKN - STA ESTKL,X ; SET OUTPUT TOKEN = ID_TKN -; toolsrc/plasm.pla: 0386: SCANID INY -SCANID INY -; toolsrc/plasm.pla: 0387: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/plasm.pla: 0388: AND #$7F - AND #$7F -; toolsrc/plasm.pla: 0389: BEQ ++ - BEQ ++ -; toolsrc/plasm.pla: 0390: CMP #'a' - CMP #'a' -; toolsrc/plasm.pla: 0391: BCC + - BCC + -; toolsrc/plasm.pla: 0392: CMP #'z'+1 - CMP #'z'+1 -; toolsrc/plasm.pla: 0393: BCS ++ - BCS ++ -; toolsrc/plasm.pla: 0394: SBC #$1F - SBC #$1F -; toolsrc/plasm.pla: 0395: STA (SRC),Y ; COPY UPPERCASE CHAR BACK TO ^SCANPTR - STA (SRC),Y ; COPY UPPERCASE CHAR BACK TO ^SCANPTR -; toolsrc/plasm.pla: 0396: BNE SCANID - BNE SCANID -; toolsrc/plasm.pla: 0397: + CMP #'_' -+ CMP #'_' -; toolsrc/plasm.pla: 0398: BEQ SCANID - BEQ SCANID -; toolsrc/plasm.pla: 0399: CMP #'0' - CMP #'0' -; toolsrc/plasm.pla: 0400: BCC ++ - BCC ++ -; toolsrc/plasm.pla: 0401: CMP #'9'+1 - CMP #'9'+1 -; toolsrc/plasm.pla: 0402: BCC SCANID - BCC SCANID -; toolsrc/plasm.pla: 0403: CMP #'A' - CMP #'A' -; toolsrc/plasm.pla: 0404: BCC ++ - BCC ++ -; toolsrc/plasm.pla: 0405: CMP #'Z'+1 - CMP #'Z'+1 -; toolsrc/plasm.pla: 0406: BCC SCANID - BCC SCANID -; toolsrc/plasm.pla: 0407: ++ STY TMPL -++ STY TMPL -; toolsrc/plasm.pla: 0408: TYA - TYA -; toolsrc/plasm.pla: 0409: LDY #$00 - LDY #$00 -; toolsrc/plasm.pla: 0410: CLC - CLC -; toolsrc/plasm.pla: 0411: ADC SRCL - ADC SRCL -; toolsrc/plasm.pla: 0412: STA ESTKL+1,X ; UPDATE SCANPTR - STA ESTKL+1,X ; UPDATE SCANPTR -; toolsrc/plasm.pla: 0413: BCC MATCHLEN - BCC MATCHLEN -; toolsrc/plasm.pla: 0414: INC ESTKH+1,X - INC ESTKH+1,X -; toolsrc/plasm.pla: 0415: MATCHLEN LDA (DST),Y -MATCHLEN LDA (DST),Y -; toolsrc/plasm.pla: 0416: CMP TMPL - CMP TMPL -; toolsrc/plasm.pla: 0417: BCS + - BCS + -; toolsrc/plasm.pla: 0418: ADC #$02 - ADC #$02 -; toolsrc/plasm.pla: 0419: ADC DSTL - ADC DSTL -; toolsrc/plasm.pla: 0420: STA DSTL - STA DSTL -; toolsrc/plasm.pla: 0421: BCC MATCHLEN - BCC MATCHLEN -; toolsrc/plasm.pla: 0422: INC DSTH - INC DSTH -; toolsrc/plasm.pla: 0423: BNE MATCHLEN - BNE MATCHLEN -; toolsrc/plasm.pla: 0424: + BNE SCANEX ; NO KEY MATCH -+ BNE SCANEX ; NO KEY MATCH -; toolsrc/plasm.pla: 0425: TAY - TAY -; toolsrc/plasm.pla: 0426: DEY - DEY -; toolsrc/plasm.pla: 0427: INC DSTL - INC DSTL -; toolsrc/plasm.pla: 0428: BNE MATCHKEY - BNE MATCHKEY -; toolsrc/plasm.pla: 0429: INC DSTH - INC DSTH -; toolsrc/plasm.pla: 0430: MATCHKEY LDA (SRC),Y -MATCHKEY LDA (SRC),Y -; toolsrc/plasm.pla: 0431: CMP (DST),Y - CMP (DST),Y -; toolsrc/plasm.pla: 0432: BNE NEXTKEY - BNE NEXTKEY -; toolsrc/plasm.pla: 0433: DEY - DEY -; toolsrc/plasm.pla: 0434: BPL MATCHKEY - BPL MATCHKEY -; toolsrc/plasm.pla: 0435: LDY TMPL - LDY TMPL -; toolsrc/plasm.pla: 0436: LDA (DST),Y - LDA (DST),Y -; toolsrc/plasm.pla: 0437: STA ESTKL,X ; SET OUTPUT TOKEN - STA ESTKL,X ; SET OUTPUT TOKEN -; toolsrc/plasm.pla: 0438: SCANEX RTS -SCANEX RTS -; toolsrc/plasm.pla: 0439: NEXTKEY LDY #$00 -NEXTKEY LDY #$00 -; toolsrc/plasm.pla: 0440: LDA TMPL - LDA TMPL -; toolsrc/plasm.pla: 0441: SEC - SEC -; toolsrc/plasm.pla: 0442: ADC DSTL - ADC DSTL -; toolsrc/plasm.pla: 0443: STA DSTL - STA DSTL -; toolsrc/plasm.pla: 0444: BCC MATCHLEN - BCC MATCHLEN -; toolsrc/plasm.pla: 0445: INC DSTH - INC DSTH -; toolsrc/plasm.pla: 0446: BNE MATCHLEN - BNE MATCHLEN -; toolsrc/plasm.pla: 0447: end -; toolsrc/plasm.pla: 0448: // -; toolsrc/plasm.pla: 0449: // Handy functions -; toolsrc/plasm.pla: 0450: // -; toolsrc/plasm.pla: 0451: def nametostr(namestr, len, strptr)#0 -_SUBSEG ; BYTECODE STARTS - ; namestr -> [0] - ; len -> [2] - ; strptr -> [4] -_C000 ; nametostr() -; toolsrc/plasm.pla: 0452: ^strptr = len - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/plasm.pla: 0453: memcpy(strptr + 1, namestr, len) -; toolsrc/plasm.pla: 0454: end - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X018 -_F000 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plasm.pla: 0455: def putcurln#0 -_C001 ; putcurln() -; toolsrc/plasm.pla: 0456: var i - ; i -> [0] -; toolsrc/plasm.pla: 0457: -; toolsrc/plasm.pla: 0458: putln; puts(parsefile); putc('['); puti(lineno); puts("]\n") - !BYTE $58,$02,$00 ; ENTER 2,0 - !BYTE $54 ; CALL _X003 -_F001 !WORD 0 - !BYTE $6A ; LAW _D094+0 -_F002 !WORD _D094+0 - !BYTE $54 ; CALL _X004 -_F003 !WORD 0 - !BYTE $2A,$5B ; CB 91 - !BYTE $54 ; CALL _X002 -_F004 !WORD 0 - !BYTE $6A ; LAW _D105+0 -_F005 !WORD _D105+0 - !BYTE $54 ; CALL _X005 -_F006 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5D,$0D - !BYTE $54 ; CALL _X004 -_F007 !WORD 0 -; toolsrc/plasm.pla: 0459: i = inbuff; while ^i; putc(^i); i++; loop; putln - !BYTE $6A ; LAW _D096+0 -_F008 !WORD _D096+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B003 - !WORD _B003-* -_B001 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F009 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $76,$00 ; SLW [0] -_B003 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B001 - !WORD _B001-* -_B002 -; toolsrc/plasm.pla: 0460: for i = tknptr - inbuff downto 1 - !BYTE $54 ; CALL _X003 -_F010 !WORD 0 - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D102+0 -_F011 !WORD _D102+0 - !BYTE $6A ; LAW _D096+0 -_F012 !WORD _D096+0 - !BYTE $84 ; SUB - !BYTE $A2 ; BRLT _B004 - !WORD _B004-* -_B005 - !BYTE $6E,$00 ; DLW [0] -; toolsrc/plasm.pla: 0461: putc(' ') -; toolsrc/plasm.pla: 0462: next - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F013 !WORD 0 -_B006 - !BYTE $A8 ; DECBRGE _B005 - !WORD _B005-* -_B004 - !BYTE $76,$00 ; SLW [0] - !BYTE $30 ; DROP -; toolsrc/plasm.pla: 0463: puts("^\n") - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5E,$0D - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 -; toolsrc/plasm.pla: 0464: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plasm.pla: 0465: // -; toolsrc/plasm.pla: 0466: // Error handler -; toolsrc/plasm.pla: 0467: // -; toolsrc/plasm.pla: 0468: def exit_err(err)#0 - ; err -> [0] -_C002 ; exit_err() -; toolsrc/plasm.pla: 0469: byte i - ; i -> [2] -; toolsrc/plasm.pla: 0470: -; toolsrc/plasm.pla: 0471: puts("\nError:") - !BYTE $58,$03,$01 ; ENTER 3,1 - !BYTE $2E ; CS - !BYTE $07 - !BYTE $0D,$45,$72,$72,$6F,$72,$3A - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 -; toolsrc/plasm.pla: 0472: if err & ERR_DUP; puts("duplicate "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $64,$75,$70,$6C,$69,$63,$61,$74 - !BYTE $65,$20 - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -_B007 -_B008 -; toolsrc/plasm.pla: 0473: if err & ERR_UNDECL; puts("undeclared "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $75,$6E,$64,$65,$63,$6C,$61,$72 - !BYTE $65,$64,$20 - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -_B009 -_B010 -; toolsrc/plasm.pla: 0474: if err & ERR_INVAL; puts("invalid "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $69,$6E,$76,$61,$6C,$69,$64,$20 - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 -_B011 -_B012 -; toolsrc/plasm.pla: 0475: if err & ERR_MISS; puts("missing "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $6D,$69,$73,$73,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F019 !WORD 0 -_B013 -_B014 -; toolsrc/plasm.pla: 0476: if err & ERR_OVER; puts("overflowed "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $6F,$76,$65,$72,$66,$6C,$6F,$77 - !BYTE $65,$64,$20 - !BYTE $54 ; CALL _X004 -_F020 !WORD 0 -_B015 -_B016 -; toolsrc/plasm.pla: 0477: if err & ERR_CLOSE; puts("closing "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B017 - !WORD _B017-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $63,$6C,$6F,$73,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F021 !WORD 0 -_B017 -_B018 -; toolsrc/plasm.pla: 0478: if err & ERR_LOCAL; puts("local "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* - !BYTE $2E ; CS - !BYTE $06 - !BYTE $6C,$6F,$63,$61,$6C,$20 - !BYTE $54 ; CALL _X004 -_F022 !WORD 0 -_B019 -_B020 -; toolsrc/plasm.pla: 0479: if err & ERR_GLOBAL; puts("global "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $67,$6C,$6F,$62,$61,$6C,$20 - !BYTE $54 ; CALL _X004 -_F023 !WORD 0 -_B021 -_B022 -; toolsrc/plasm.pla: 0480: if err & ERR_CODE; puts("code "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B023 - !WORD _B023-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $63,$6F,$64,$65,$20 - !BYTE $54 ; CALL _X004 -_F024 !WORD 0 -_B023 -_B024 -; toolsrc/plasm.pla: 0481: if err & ERR_ID; puts("identifier "); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $69,$64,$65,$6E,$74,$69,$66,$69 - !BYTE $65,$72,$20 - !BYTE $54 ; CALL _X004 -_F025 !WORD 0 -_B025 -_B026 -; toolsrc/plasm.pla: 0482: if err & ERR_CONST; puts("constant"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B027 - !WORD _B027-* - !BYTE $2E ; CS - !BYTE $08 - !BYTE $63,$6F,$6E,$73,$74,$61,$6E,$74 - !BYTE $54 ; CALL _X004 -_F026 !WORD 0 -_B027 -_B028 -; toolsrc/plasm.pla: 0483: if err & ERR_INIT; puts("initializer"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $2E ; CS - !BYTE $0B - !BYTE $69,$6E,$69,$74,$69,$61,$6C,$69 - !BYTE $7A,$65,$72 - !BYTE $54 ; CALL _X004 -_F027 !WORD 0 -_B029 -_B030 -; toolsrc/plasm.pla: 0484: if err & ERR_STATE; puts("statement"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $2E ; CS - !BYTE $09 - !BYTE $73,$74,$61,$74,$65,$6D,$65,$6E - !BYTE $74 - !BYTE $54 ; CALL _X004 -_F028 !WORD 0 -_B031 -_B032 -; toolsrc/plasm.pla: 0485: if err & ERR_FRAME; puts("frame"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$20 ; CW 8192 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B033 - !WORD _B033-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $66,$72,$61,$6D,$65 - !BYTE $54 ; CALL _X004 -_F029 !WORD 0 -_B033 -_B034 -; toolsrc/plasm.pla: 0486: if err & ERR_TABLE; puts("table"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$40 ; CW 16384 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B035 - !WORD _B035-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $74,$61,$62,$6C,$65 - !BYTE $54 ; CALL _X004 -_F030 !WORD 0 -_B035 -_B036 -; toolsrc/plasm.pla: 0487: if err & ERR_SYNTAX; puts("syntax"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $2E ; CS - !BYTE $06 - !BYTE $73,$79,$6E,$74,$61,$78 - !BYTE $54 ; CALL _X004 -_F031 !WORD 0 -_B037 -_B038 -; toolsrc/plasm.pla: 0488: putcurln -; toolsrc/plasm.pla: 0489: if incref -; toolsrc/plasm.pla: 0490: fileio:close(incref) // Close include file if open -; toolsrc/plasm.pla: 0491: fin - !BYTE $54 ; CALL _C001 -_F032 !WORD _C001 - !BYTE $68 ; LAB _D089+0 -_F033 !WORD _D089+0 - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $68 ; LAB _D089+0 -_F034 !WORD _D089+0 - !BYTE $6A ; LAW _X031+16 -_F035 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B039 -_B040 -; toolsrc/plasm.pla: 0492: fileio:close(srcref) // Close source file -; toolsrc/plasm.pla: 0493: throw(exit, TRUE) -; toolsrc/plasm.pla: 0494: end - !BYTE $68 ; LAB _D088+0 -_F036 !WORD _D088+0 - !BYTE $6A ; LAW _X031+16 -_F037 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D126+0 -_F038 !WORD _D126+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X035 -_F039 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plasm.pla: 0495: // -; toolsrc/plasm.pla: 0496: // Warning -; toolsrc/plasm.pla: 0497: // -; toolsrc/plasm.pla: 0498: def parse_warn(msg)#0 - ; msg -> [0] -_C003 ; parse_warn() -; toolsrc/plasm.pla: 0499: if outflags & WARNINGS - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plasm.pla: 0500: puts("\nWarning:") - !BYTE $68 ; LAB _D086+0 -_F040 !WORD _D086+0 - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B041 - !WORD _B041-* - !BYTE $2E ; CS - !BYTE $09 - !BYTE $0D,$57,$61,$72,$6E,$69,$6E,$67 - !BYTE $3A - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 -; toolsrc/plasm.pla: 0501: puts(msg) -; toolsrc/plasm.pla: 0502: putcurln -; toolsrc/plasm.pla: 0503: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F042 !WORD 0 - !BYTE $54 ; CALL _C001 -_F043 !WORD _C001 -_B041 -_B042 -; toolsrc/plasm.pla: 0504: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plasm.pla: 0505: // -; toolsrc/plasm.pla: 0506: // Include code to reduce size of this file -; toolsrc/plasm.pla: 0507: // -; toolsrc/plasm.pla: 0508: include "toolsrc/codegen.pla" -; toolsrc/codegen.pla: 0001: // -; toolsrc/codegen.pla: 0002: // Address tags -; toolsrc/codegen.pla: 0003: // -; toolsrc/codegen.pla: 0004: def new_tag(type) - ; type -> [0] -_C004 ; new_tag() -; toolsrc/codegen.pla: 0005: tag_cnt++ - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _D047+0 -_F044 !WORD _D047+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0006: if tag_cnt >= tag_num; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $7E ; DAW _D047+0 -_F045 !WORD _D047+0 - !BYTE $6A ; LAW _D064+0 -_F046 !WORD _D064+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B043 - !WORD _B043-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F047 !WORD _C002 -_B043 -_B044 -; toolsrc/codegen.pla: 0007: tag_addr=>[tag_cnt] = 0 // Unresolved, nothing to update yet -; toolsrc/codegen.pla: 0008: tag_type->[tag_cnt] = type -; toolsrc/codegen.pla: 0009: return tag_cnt - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D052+0 -_F048 !WORD _D052+0 - !BYTE $BE ; IDXAW _D047+0 -_F049 !WORD _D047+0 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D053+0 -_F050 !WORD _D053+0 - !BYTE $B6 ; ADDAW _D047+0 -_F051 !WORD _D047+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D047+0 -_F052 !WORD _D047+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0010: end -; toolsrc/codegen.pla: 0011: // -; toolsrc/codegen.pla: 0012: // New/release sequence ops -; toolsrc/codegen.pla: 0013: // -; toolsrc/codegen.pla: 0014: def new_op -_C005 ; new_op() -; toolsrc/codegen.pla: 0015: word op - ; op -> [0] -; toolsrc/codegen.pla: 0016: op = freeop_lst - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/codegen.pla: 0017: if not op -; toolsrc/codegen.pla: 0018: puts("Compiler out of sequence ops!") - !BYTE $6A ; LAW _D084+0 -_F053 !WORD _D084+0 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4E ; BRTRU _B045 - !WORD _B045-* - !BYTE $2E ; CS - !BYTE $1D - !BYTE $43,$6F,$6D,$70,$69,$6C,$65,$72 - !BYTE $20,$6F,$75,$74,$20,$6F,$66,$20 - !BYTE $73,$65,$71,$75,$65,$6E,$63,$65 - !BYTE $20,$6F,$70,$73,$21 - !BYTE $54 ; CALL _X004 -_F054 !WORD 0 -; toolsrc/codegen.pla: 0019: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0020: fin -_B045 -_B046 -; toolsrc/codegen.pla: 0021: freeop_lst = freeop_lst=>opnext -; toolsrc/codegen.pla: 0022: op=>opnext = NULL -; toolsrc/codegen.pla: 0023: return op - !BYTE $6A ; LAW _D084+0 -_F055 !WORD _D084+0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D084+0 -_F056 !WORD _D084+0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0024: end -; toolsrc/codegen.pla: 0025: def release_op(op)#0 - ; op -> [0] -_C006 ; release_op() -; toolsrc/codegen.pla: 0026: if op - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0027: op=>opnext = freeop_lst -; toolsrc/codegen.pla: 0028: freeop_lst = op -; toolsrc/codegen.pla: 0029: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B047 - !WORD _B047-* - !BYTE $6A ; LAW _D084+0 -_F057 !WORD _D084+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D084+0 -_F058 !WORD _D084+0 -_B047 -_B048 -; toolsrc/codegen.pla: 0030: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0031: def release_seq(seq)#0 - ; seq -> [0] -_C007 ; release_seq() -; toolsrc/codegen.pla: 0032: word op - ; op -> [2] -; toolsrc/codegen.pla: 0033: -; toolsrc/codegen.pla: 0034: while seq - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $50 ; BRNCH _B051 - !WORD _B051-* -_B049 -; toolsrc/codegen.pla: 0035: op = seq -; toolsrc/codegen.pla: 0036: seq = seq=>opnext -; toolsrc/codegen.pla: 0037: // -; toolsrc/codegen.pla: 0038: //Free this op -; toolsrc/codegen.pla: 0039: // -; toolsrc/codegen.pla: 0040: op=>opnext = freeop_lst -; toolsrc/codegen.pla: 0041: freeop_lst = op -; toolsrc/codegen.pla: 0042: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D084+0 -_F059 !WORD _D084+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D084+0 -_F060 !WORD _D084+0 -_B051 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B049 - !WORD _B049-* -_B050 -; toolsrc/codegen.pla: 0043: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0044: // -; toolsrc/codegen.pla: 0045: // Append one sequence to the end of another -; toolsrc/codegen.pla: 0046: // -; toolsrc/codegen.pla: 0047: def cat_seq(seq1, seq2) - ; seq1 -> [0] - ; seq2 -> [2] -_C008 ; cat_seq() -; toolsrc/codegen.pla: 0048: word op - ; op -> [4] -; toolsrc/codegen.pla: 0049: -; toolsrc/codegen.pla: 0050: if not seq1; return seq2; fin - !BYTE $58,$06,$02 ; ENTER 6,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B052 - !WORD _B052-* - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -_B052 -_B053 -; toolsrc/codegen.pla: 0051: op = seq1 -; toolsrc/codegen.pla: 0052: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B056 - !WORD _B056-* -_B054 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B056 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B054 - !WORD _B054-* -_B055 -; toolsrc/codegen.pla: 0053: op=>opnext = seq2 -; toolsrc/codegen.pla: 0054: return seq1 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0055: end -; toolsrc/codegen.pla: 0056: // -; toolsrc/codegen.pla: 0057: // Emit data/bytecode -; toolsrc/codegen.pla: 0058: // -; toolsrc/codegen.pla: 0059: def emit_byte(bval)#0 - ; bval -> [0] -_C009 ; emit_byte() -; toolsrc/codegen.pla: 0060: ^codeptr = bval - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0061: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D075+0 -_F061 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F062 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0062: if isugt(codeptr - codebuff, codebufsz); exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $7E ; DAW _D075+0 -_F063 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F064 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F065 !WORD _D068+0 - !BYTE $54 ; CALL _X024 -_F066 !WORD 0 - !BYTE $4C ; BRFLS _B057 - !WORD _B057-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F067 !WORD _C002 -_B057 -_B058 -; toolsrc/codegen.pla: 0063: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0064: def emit_word(wval)#0 - ; wval -> [0] -_C010 ; emit_word() -; toolsrc/codegen.pla: 0065: *codeptr = wval - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0066: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0067: if isugt(codeptr - codebuff, codebufsz); exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D075+0 -_F068 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F069 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7E ; DAW _D075+0 -_F070 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F071 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F072 !WORD _D068+0 - !BYTE $54 ; CALL _X024 -_F073 !WORD 0 - !BYTE $4C ; BRFLS _B059 - !WORD _B059-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F074 !WORD _C002 -_B059 -_B060 -; toolsrc/codegen.pla: 0068: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0069: def emit_fill(size)#0 - ; size -> [0] -_C011 ; emit_fill() -; toolsrc/codegen.pla: 0070: memset(codeptr, 0, size) - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0071: codeptr = codeptr + size -; toolsrc/codegen.pla: 0072: if isugt(codeptr - codebuff, codebufsz); exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $6A ; LAW _D075+0 -_F075 !WORD _D075+0 - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X017 -_F076 !WORD 0 - !BYTE $6A ; LAW _D075+0 -_F077 !WORD _D075+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $7E ; DAW _D075+0 -_F078 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F079 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F080 !WORD _D068+0 - !BYTE $54 ; CALL _X024 -_F081 !WORD 0 - !BYTE $4C ; BRFLS _B061 - !WORD _B061-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F082 !WORD _C002 -_B061 -_B062 -; toolsrc/codegen.pla: 0073: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0074: def emit_addr(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C012 ; emit_addr() -; toolsrc/codegen.pla: 0075: if tag_type->[tag] & RELATIVE_FIXUP; puts("Global fixup to relative tag"); exit_err(0); fin // DEBUG - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _D053+0 -_F083 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $2E ; CS - !BYTE $1C - !BYTE $47,$6C,$6F,$62,$61,$6C,$20,$66 - !BYTE $69,$78,$75,$70,$20,$74,$6F,$20 - !BYTE $72,$65,$6C,$61,$74,$69,$76,$65 - !BYTE $20,$74,$61,$67 - !BYTE $54 ; CALL _X004 -_F084 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F085 !WORD _C002 -_B063 -_B064 -; toolsrc/codegen.pla: 0076: fixup_tag=>[fixup_cnt] = tag -; toolsrc/codegen.pla: 0077: fixup_addr=>[fixup_cnt] = codeptr -; toolsrc/codegen.pla: 0078: fixup_cnt++ - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D050+0 -_F086 !WORD _D050+0 - !BYTE $BE ; IDXAW _D046+0 -_F087 !WORD _D046+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F088 !WORD _D075+0 - !BYTE $6A ; LAW _D051+0 -_F089 !WORD _D051+0 - !BYTE $BE ; IDXAW _D046+0 -_F090 !WORD _D046+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D046+0 -_F091 !WORD _D046+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0079: if fixup_cnt >= fixup_num; exit_err(ERR_OVER|ERR_ID|ERR_TABLE); fin - !BYTE $7E ; DAW _D046+0 -_F092 !WORD _D046+0 - !BYTE $6A ; LAW _D065+0 -_F093 !WORD _D065+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B065 - !WORD _B065-* - !BYTE $2C,$10,$42 ; CW 16912 - !BYTE $54 ; CALL _C002 -_F094 !WORD _C002 -_B065 -_B066 -; toolsrc/codegen.pla: 0080: emit_word(offset + tag_addr=>[tag]) -; toolsrc/codegen.pla: 0081: end - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D052+0 -_F095 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C010 -_F096 !WORD _C010 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0082: def emit_reladdr(tag)#0 - ; tag -> [0] -_C013 ; emit_reladdr() -; toolsrc/codegen.pla: 0083: word updtptr - ; updtptr -> [2] -; toolsrc/codegen.pla: 0084: -; toolsrc/codegen.pla: 0085: if not (tag_type->[tag] & RELATIVE_FIXUP); puts("Not relative tag fixup"); exit_err(0); fin // DEBUG - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $6A ; LAW _D053+0 -_F097 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B067 - !WORD _B067-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $4E,$6F,$74,$20,$72,$65,$6C,$61 - !BYTE $74,$69,$76,$65,$20,$74,$61,$67 - !BYTE $20,$66,$69,$78,$75,$70 - !BYTE $54 ; CALL _X004 -_F098 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F099 !WORD _C002 -_B067 -_B068 -; toolsrc/codegen.pla: 0086: if tag_type->[tag] & RESOLVED_FIXUP -; toolsrc/codegen.pla: 0087: updtptr = tag_addr=>[tag] - codeptr -; toolsrc/codegen.pla: 0088: else - !BYTE $6A ; LAW _D053+0 -_F100 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B069 - !WORD _B069-* - !BYTE $6A ; LAW _D052+0 -_F101 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $6A ; LAW _D075+0 -_F102 !WORD _D075+0 - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B070 - !WORD _B070-* -_B069 -; toolsrc/codegen.pla: 0089: // -; toolsrc/codegen.pla: 0090: // Add to list of tags needing resolution -; toolsrc/codegen.pla: 0091: // -; toolsrc/codegen.pla: 0092: updtptr = tag_addr=>[tag] -; toolsrc/codegen.pla: 0093: tag_addr=>[tag] = codeptr -; toolsrc/codegen.pla: 0094: fin - !BYTE $6A ; LAW _D052+0 -_F103 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D075+0 -_F104 !WORD _D075+0 - !BYTE $6A ; LAW _D052+0 -_F105 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW -_B070 -; toolsrc/codegen.pla: 0095: emit_word(updtptr) -; toolsrc/codegen.pla: 0096: end - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C010 -_F106 !WORD _C010 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0097: def emit_data(vartype, consttype, constval, constsize) - ; vartype -> [0] - ; consttype -> [2] - ; constval -> [4] - ; constsize -> [6] -_C014 ; emit_data() -; toolsrc/codegen.pla: 0098: byte type - ; type -> [8] -; toolsrc/codegen.pla: 0099: word size, chrptr - ; size -> [9] - ; chrptr -> [11] -; toolsrc/codegen.pla: 0100: -; toolsrc/codegen.pla: 0101: if consttype == 0 - !BYTE $58,$0D,$04 ; ENTER 13,4 -; toolsrc/codegen.pla: 0102: size = constsize -; toolsrc/codegen.pla: 0103: emit_fill(constsize) -; toolsrc/codegen.pla: 0104: elsif consttype == STR_TYPE - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B071 - !WORD _B071-* - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C011 -_F107 !WORD _C011 - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B071 -; toolsrc/codegen.pla: 0105: constsize = ^constval -; toolsrc/codegen.pla: 0106: size = constsize + 1 -; toolsrc/codegen.pla: 0107: chrptr = constval + 1 -; toolsrc/codegen.pla: 0108: emit_byte(constsize) -; toolsrc/codegen.pla: 0109: while constsize > 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$80 ; CB 128 - !BYTE $24 ; BRNE _B073 - !WORD _B073-* - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $6E,$06 ; DLW [6] - !BYTE $8C ; INCR - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C009 -_F108 !WORD _C009 - !BYTE $50 ; BRNCH _B076 - !WORD _B076-* -_B074 -; toolsrc/codegen.pla: 0110: emit_byte(^chrptr) -; toolsrc/codegen.pla: 0111: chrptr++ - !BYTE $66,$0B ; LLW [11] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C009 -_F109 !WORD _C009 - !BYTE $66,$0B ; LLW [11] - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0112: constsize-- - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0113: loop - !BYTE $76,$06 ; SLW [6] -_B076 - !BYTE $66,$06 ; LLW [6] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B074 - !WORD _B074-* -_B075 -; toolsrc/codegen.pla: 0114: elsif consttype == CONSTADDR_TYPE - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B073 -; toolsrc/codegen.pla: 0115: size = 2 -; toolsrc/codegen.pla: 0116: emit_addr(constval, 0) -; toolsrc/codegen.pla: 0117: else - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$61 ; CB 97 - !BYTE $24 ; BRNE _B077 - !WORD _B077-* - !BYTE $04 ; CN 2 - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C012 -_F110 !WORD _C012 - !BYTE $50 ; BRNCH _B072 - !WORD _B072-* -_B077 -; toolsrc/codegen.pla: 0118: if vartype & BYTE_TYPE -; toolsrc/codegen.pla: 0119: size = 1 -; toolsrc/codegen.pla: 0120: emit_byte(constval) -; toolsrc/codegen.pla: 0121: else - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B078 - !WORD _B078-* - !BYTE $02 ; CN 1 - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C009 -_F111 !WORD _C009 - !BYTE $50 ; BRNCH _B079 - !WORD _B079-* -_B078 -; toolsrc/codegen.pla: 0122: size = 2 -; toolsrc/codegen.pla: 0123: emit_word(constval) -; toolsrc/codegen.pla: 0124: fin - !BYTE $04 ; CN 2 - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C010 -_F112 !WORD _C010 -_B079 -; toolsrc/codegen.pla: 0125: fin -_B072 -; toolsrc/codegen.pla: 0126: return size - !BYTE $66,$09 ; LLW [9] - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/codegen.pla: 0127: end -; toolsrc/codegen.pla: 0128: def emit_codeseg#0 -_C015 ; emit_codeseg() -; toolsrc/codegen.pla: 0129: if lastglobalsize == 0 -; toolsrc/codegen.pla: 0130: emit_byte($00) // Pad byte between last data tag and code seg -; toolsrc/codegen.pla: 0131: datasize++ - !BYTE $6A ; LAW _D059+0 -_F113 !WORD _D059+0 - !BYTE $4E ; BRTRU _B080 - !WORD _B080-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C009 -_F114 !WORD _C009 - !BYTE $6A ; LAW _D069+0 -_F115 !WORD _D069+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0132: fin - !BYTE $7A ; SAW _D069+0 -_F116 !WORD _D069+0 -_B080 -_B081 -; toolsrc/codegen.pla: 0133: end - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0134: def emit_const(cval)#0 - ; cval -> [0] -_C016 ; emit_const() -; toolsrc/codegen.pla: 0135: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0136: if cval == $FFFF // MINUS ONE -; toolsrc/codegen.pla: 0137: emit_byte($20) -; toolsrc/codegen.pla: 0138: elsif cval & $FFF0 == $0000 // Constant NYBBLE - !BYTE $54 ; CALL _P002 -_F117 !WORD _P002 - !BYTE $66,$00 ; LLW [0] - !BYTE $20 ; MINUS ONE - !BYTE $24 ; BRNE _B082 - !WORD _B082-* - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C009 -_F118 !WORD _C009 - !BYTE $50 ; BRNCH _B083 - !WORD _B083-* -_B082 -; toolsrc/codegen.pla: 0139: emit_byte(cval*2) -; toolsrc/codegen.pla: 0140: elsif cval & $FF00 == $0000 // Constant BYTE - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$F0 ; CFFB 65520 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B084 - !WORD _B084-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C009 -_F119 !WORD _C009 - !BYTE $50 ; BRNCH _B083 - !WORD _B083-* -_B084 -; toolsrc/codegen.pla: 0141: emit_byte($2A) -; toolsrc/codegen.pla: 0142: emit_byte(cval) -; toolsrc/codegen.pla: 0143: elsif cval & $FF00 == $FF00 // Constant $FF00 | BYTE - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B085 - !WORD _B085-* - !BYTE $2A,$2A ; CB 42 - !BYTE $54 ; CALL _C009 -_F120 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F121 !WORD _C009 - !BYTE $50 ; BRNCH _B083 - !WORD _B083-* -_B085 -; toolsrc/codegen.pla: 0144: emit_byte($5E) -; toolsrc/codegen.pla: 0145: emit_byte(cval) -; toolsrc/codegen.pla: 0146: else // Constant WORD - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $24 ; BRNE _B086 - !WORD _B086-* - !BYTE $2A,$5E ; CB 94 - !BYTE $54 ; CALL _C009 -_F122 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F123 !WORD _C009 - !BYTE $50 ; BRNCH _B083 - !WORD _B083-* -_B086 -; toolsrc/codegen.pla: 0147: emit_byte($2C) -; toolsrc/codegen.pla: 0148: emit_word(cval) -; toolsrc/codegen.pla: 0149: fin - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C009 -_F124 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C010 -_F125 !WORD _C010 -_B083 -; toolsrc/codegen.pla: 0150: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0151: def emit_code(bval)#0 - ; bval -> [0] -_C017 ; emit_code() -; toolsrc/codegen.pla: 0152: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0153: ^codeptr = bval -; toolsrc/codegen.pla: 0154: codeptr++ - !BYTE $54 ; CALL _P002 -_F126 !WORD _P002 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D075+0 -_F127 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F128 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0155: if isugt(codeptr - codebuff, codebufsz); exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $7E ; DAW _D075+0 -_F129 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F130 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F131 !WORD _D068+0 - !BYTE $54 ; CALL _X024 -_F132 !WORD 0 - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F133 !WORD _C002 -_B087 -_B088 -; toolsrc/codegen.pla: 0156: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0157: def emit_slb(offset)#0 - ; offset -> [0] -_C018 ; emit_slb() -; toolsrc/codegen.pla: 0158: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0159: emit_byte($74) -; toolsrc/codegen.pla: 0160: emit_byte(offset) -; toolsrc/codegen.pla: 0161: end - !BYTE $54 ; CALL _P002 -_F134 !WORD _P002 - !BYTE $2A,$74 ; CB 116 - !BYTE $54 ; CALL _C009 -_F135 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F136 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0162: def emit_slw(offset)#0 - ; offset -> [0] -_C019 ; emit_slw() -; toolsrc/codegen.pla: 0163: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0164: emit_byte($76) -; toolsrc/codegen.pla: 0165: emit_byte(offset) -; toolsrc/codegen.pla: 0166: end - !BYTE $54 ; CALL _P002 -_F137 !WORD _P002 - !BYTE $2A,$76 ; CB 118 - !BYTE $54 ; CALL _C009 -_F138 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F139 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0167: def emit_sab(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C020 ; emit_sab() -; toolsrc/codegen.pla: 0168: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0169: emit_byte($78) -; toolsrc/codegen.pla: 0170: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0171: end - !BYTE $54 ; CALL _P002 -_F140 !WORD _P002 - !BYTE $2A,$78 ; CB 120 - !BYTE $54 ; CALL _C009 -_F141 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F142 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0172: def emit_saw(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C021 ; emit_saw() -; toolsrc/codegen.pla: 0173: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0174: emit_byte($7A) -; toolsrc/codegen.pla: 0175: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0176: end - !BYTE $54 ; CALL _P002 -_F143 !WORD _P002 - !BYTE $2A,$7A ; CB 122 - !BYTE $54 ; CALL _C009 -_F144 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F145 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0177: def emit_dlb(offset)#0 - ; offset -> [0] -_C022 ; emit_dlb() -; toolsrc/codegen.pla: 0178: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0179: emit_byte($6C) -; toolsrc/codegen.pla: 0180: emit_byte(offset) -; toolsrc/codegen.pla: 0181: end - !BYTE $54 ; CALL _P002 -_F146 !WORD _P002 - !BYTE $2A,$6C ; CB 108 - !BYTE $54 ; CALL _C009 -_F147 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F148 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0182: def emit_dlw(offset)#0 - ; offset -> [0] -_C023 ; emit_dlw() -; toolsrc/codegen.pla: 0183: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0184: emit_byte($6E) -; toolsrc/codegen.pla: 0185: emit_byte(offset) -; toolsrc/codegen.pla: 0186: end - !BYTE $54 ; CALL _P002 -_F149 !WORD _P002 - !BYTE $2A,$6E ; CB 110 - !BYTE $54 ; CALL _C009 -_F150 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F151 !WORD _C009 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0187: def emit_dab(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C024 ; emit_dab() -; toolsrc/codegen.pla: 0188: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0189: emit_byte($7C) -; toolsrc/codegen.pla: 0190: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0191: end - !BYTE $54 ; CALL _P002 -_F152 !WORD _P002 - !BYTE $2A,$7C ; CB 124 - !BYTE $54 ; CALL _C009 -_F153 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F154 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0192: def emit_daw(tag, offset)#0 - ; tag -> [0] - ; offset -> [2] -_C025 ; emit_daw() -; toolsrc/codegen.pla: 0193: emit_pending_seq - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/codegen.pla: 0194: emit_byte($7E) -; toolsrc/codegen.pla: 0195: emit_addr(tag, offset) -; toolsrc/codegen.pla: 0196: end - !BYTE $54 ; CALL _P002 -_F155 !WORD _P002 - !BYTE $2A,$7E ; CB 126 - !BYTE $54 ; CALL _C009 -_F156 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C012 -_F157 !WORD _C012 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0197: def emit_select(tag)#0 - ; tag -> [0] -_C026 ; emit_select() -; toolsrc/codegen.pla: 0198: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0199: emit_byte($52) -; toolsrc/codegen.pla: 0200: emit_reladdr(tag) -; toolsrc/codegen.pla: 0201: end - !BYTE $54 ; CALL _P002 -_F158 !WORD _P002 - !BYTE $2A,$52 ; CB 82 - !BYTE $54 ; CALL _C009 -_F159 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F160 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0202: def emit_caseblock(cnt, oflist, typlist, taglist)#0 - ; cnt -> [0] - ; oflist -> [2] - ; typlist -> [4] - ; taglist -> [6] -_C027 ; emit_caseblock() -; toolsrc/codegen.pla: 0203: byte i - ; i -> [8] -; toolsrc/codegen.pla: 0204: -; toolsrc/codegen.pla: 0205: if not cnt or cnt > 256; exit_err(ERR_OVER|ERR_STATE); fin - !BYTE $58,$09,$04 ; ENTER 9,4 - !BYTE $66,$00 ; LLW [0] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B089 - !WORD _B089-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $44 ; ISGT -_B089 - !BYTE $4C ; BRFLS _B090 - !WORD _B090-* - !BYTE $2C,$10,$10 ; CW 4112 - !BYTE $54 ; CALL _C002 -_F161 !WORD _C002 -_B090 -_B091 -; toolsrc/codegen.pla: 0206: emit_pending_seq -; toolsrc/codegen.pla: 0207: emit_byte(cnt) -; toolsrc/codegen.pla: 0208: for i = 0 to cnt-1 - !BYTE $54 ; CALL _P002 -_F162 !WORD _P002 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F163 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B092 - !WORD _B092-* -_B093 - !BYTE $6C,$08 ; DLB [8] -; toolsrc/codegen.pla: 0209: if typlist=>[i] == CONSTADDR_TYPE -; toolsrc/codegen.pla: 0210: emit_addr(oflist=>[i], 0) -; toolsrc/codegen.pla: 0211: else - !BYTE $66,$04 ; LLW [4] - !BYTE $B8,$08 ; IDXLB [8] - !BYTE $62 ; LW - !BYTE $2A,$61 ; CB 97 - !BYTE $24 ; BRNE _B095 - !WORD _B095-* - !BYTE $66,$02 ; LLW [2] - !BYTE $B8,$08 ; IDXLB [8] - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C012 -_F164 !WORD _C012 - !BYTE $50 ; BRNCH _B096 - !WORD _B096-* -_B095 -; toolsrc/codegen.pla: 0212: emit_word(oflist=>[i]) -; toolsrc/codegen.pla: 0213: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $B8,$08 ; IDXLB [8] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C010 -_F165 !WORD _C010 -_B096 -; toolsrc/codegen.pla: 0214: emit_reladdr(taglist=>[i]) -; toolsrc/codegen.pla: 0215: next - !BYTE $66,$06 ; LLW [6] - !BYTE $B8,$08 ; IDXLB [8] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C013 -_F166 !WORD _C013 -_B094 - !BYTE $A4 ; INCBRLE _B093 - !WORD _B093-* -_B092 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0216: end - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/codegen.pla: 0217: def emit_branch(tag)#0 - ; tag -> [0] -_C028 ; emit_branch() -; toolsrc/codegen.pla: 0218: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0219: emit_byte($50) -; toolsrc/codegen.pla: 0220: emit_reladdr(tag) -; toolsrc/codegen.pla: 0221: end - !BYTE $54 ; CALL _P002 -_F167 !WORD _P002 - !BYTE $2A,$50 ; CB 80 - !BYTE $54 ; CALL _C009 -_F168 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F169 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0222: def emit_brgt(tag)#0 - ; tag -> [0] -_C029 ; emit_brgt() -; toolsrc/codegen.pla: 0223: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0224: emit_byte($A0) -; toolsrc/codegen.pla: 0225: emit_reladdr(tag) -; toolsrc/codegen.pla: 0226: end - !BYTE $54 ; CALL _P002 -_F170 !WORD _P002 - !BYTE $2A,$A0 ; CB 160 - !BYTE $54 ; CALL _C009 -_F171 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F172 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0227: def emit_brlt(tag)#0 - ; tag -> [0] -_C030 ; emit_brlt() -; toolsrc/codegen.pla: 0228: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0229: emit_byte($A2) -; toolsrc/codegen.pla: 0230: emit_reladdr(tag) -; toolsrc/codegen.pla: 0231: end - !BYTE $54 ; CALL _P002 -_F173 !WORD _P002 - !BYTE $2A,$A2 ; CB 162 - !BYTE $54 ; CALL _C009 -_F174 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F175 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0232: def emit_incbrle(tag)#0 - ; tag -> [0] -_C031 ; emit_incbrle() -; toolsrc/codegen.pla: 0233: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0234: emit_byte($A4) -; toolsrc/codegen.pla: 0235: emit_reladdr(tag) -; toolsrc/codegen.pla: 0236: end - !BYTE $54 ; CALL _P002 -_F176 !WORD _P002 - !BYTE $2A,$A4 ; CB 164 - !BYTE $54 ; CALL _C009 -_F177 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F178 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0237: def emit_addbrle(tag)#0 - ; tag -> [0] -_C032 ; emit_addbrle() -; toolsrc/codegen.pla: 0238: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0239: emit_byte($A6) -; toolsrc/codegen.pla: 0240: emit_reladdr(tag) -; toolsrc/codegen.pla: 0241: end - !BYTE $54 ; CALL _P002 -_F179 !WORD _P002 - !BYTE $2A,$A6 ; CB 166 - !BYTE $54 ; CALL _C009 -_F180 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F181 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0242: def emit_decbrge(tag)#0 - ; tag -> [0] -_C033 ; emit_decbrge() -; toolsrc/codegen.pla: 0243: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0244: emit_byte($A8) -; toolsrc/codegen.pla: 0245: emit_reladdr(tag) -; toolsrc/codegen.pla: 0246: end - !BYTE $54 ; CALL _P002 -_F182 !WORD _P002 - !BYTE $2A,$A8 ; CB 168 - !BYTE $54 ; CALL _C009 -_F183 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F184 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0247: def emit_subbrge(tag)#0 - ; tag -> [0] -_C034 ; emit_subbrge() -; toolsrc/codegen.pla: 0248: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0249: emit_byte($AA) -; toolsrc/codegen.pla: 0250: emit_reladdr(tag) -; toolsrc/codegen.pla: 0251: end - !BYTE $54 ; CALL _P002 -_F185 !WORD _P002 - !BYTE $2A,$AA ; CB 170 - !BYTE $54 ; CALL _C009 -_F186 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F187 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0252: def emit_brand(tag)#0 - ; tag -> [0] -_C035 ; emit_brand() -; toolsrc/codegen.pla: 0253: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0254: emit_byte($AC) -; toolsrc/codegen.pla: 0255: emit_reladdr(tag) -; toolsrc/codegen.pla: 0256: end - !BYTE $54 ; CALL _P002 -_F188 !WORD _P002 - !BYTE $2A,$AC ; CB 172 - !BYTE $54 ; CALL _C009 -_F189 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F190 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0257: def emit_bror(tag)#0 - ; tag -> [0] -_C036 ; emit_bror() -; toolsrc/codegen.pla: 0258: emit_pending_seq - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0259: emit_byte($AE) -; toolsrc/codegen.pla: 0260: emit_reladdr(tag) -; toolsrc/codegen.pla: 0261: end - !BYTE $54 ; CALL _P002 -_F191 !WORD _P002 - !BYTE $2A,$AE ; CB 174 - !BYTE $54 ; CALL _C009 -_F192 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F193 !WORD _C013 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0262: def emit_leave#0 -_C037 ; emit_leave() -; toolsrc/codegen.pla: 0263: emit_pending_seq -; toolsrc/codegen.pla: 0264: if framesize -; toolsrc/codegen.pla: 0265: emit_byte($5A) -; toolsrc/codegen.pla: 0266: emit_byte(framesize) -; toolsrc/codegen.pla: 0267: else - !BYTE $54 ; CALL _P002 -_F194 !WORD _P002 - !BYTE $6A ; LAW _D070+0 -_F195 !WORD _D070+0 - !BYTE $4C ; BRFLS _B097 - !WORD _B097-* - !BYTE $2A,$5A ; CB 90 - !BYTE $54 ; CALL _C009 -_F196 !WORD _C009 - !BYTE $6A ; LAW _D070+0 -_F197 !WORD _D070+0 - !BYTE $54 ; CALL _C009 -_F198 !WORD _C009 - !BYTE $50 ; BRNCH _B098 - !WORD _B098-* -_B097 -; toolsrc/codegen.pla: 0268: emit_byte($5C) -; toolsrc/codegen.pla: 0269: fin - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C009 -_F199 !WORD _C009 -_B098 -; toolsrc/codegen.pla: 0270: end - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0271: def emit_enter(cparms)#0 - ; cparms -> [0] -_C038 ; emit_enter() -; toolsrc/codegen.pla: 0272: if framesize - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/codegen.pla: 0273: emit_byte($58) -; toolsrc/codegen.pla: 0274: emit_byte(framesize) -; toolsrc/codegen.pla: 0275: emit_byte(cparms) -; toolsrc/codegen.pla: 0276: fin - !BYTE $6A ; LAW _D070+0 -_F200 !WORD _D070+0 - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $2A,$58 ; CB 88 - !BYTE $54 ; CALL _C009 -_F201 !WORD _C009 - !BYTE $6A ; LAW _D070+0 -_F202 !WORD _D070+0 - !BYTE $54 ; CALL _C009 -_F203 !WORD _C009 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C009 -_F204 !WORD _C009 -_B099 -_B100 -; toolsrc/codegen.pla: 0277: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0278: def emit_tag(tag)#0 - ; tag -> [0] -_C039 ; emit_tag() -; toolsrc/codegen.pla: 0279: word fixups, updtptr, nextptr, codeofst - ; fixups -> [2] - ; updtptr -> [4] - ; nextptr -> [6] - ; codeofst -> [8] -; toolsrc/codegen.pla: 0280: -; toolsrc/codegen.pla: 0281: emit_pending_seq - !BYTE $58,$0A,$01 ; ENTER 10,1 -; toolsrc/codegen.pla: 0282: if tag_type->[tag] & RESOLVED_FIXUP; puts("Tag already resolved"); exit_err(0); fin // DEBUG - !BYTE $54 ; CALL _P002 -_F205 !WORD _P002 - !BYTE $6A ; LAW _D053+0 -_F206 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $54,$61,$67,$20,$61,$6C,$72,$65 - !BYTE $61,$64,$79,$20,$72,$65,$73,$6F - !BYTE $6C,$76,$65,$64 - !BYTE $54 ; CALL _X004 -_F207 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F208 !WORD _C002 -_B101 -_B102 -; toolsrc/codegen.pla: 0283: // -; toolsrc/codegen.pla: 0284: // Update list of addresses needing resolution -; toolsrc/codegen.pla: 0285: // -; toolsrc/codegen.pla: 0286: if tag_type->[tag] & RELATIVE_FIXUP -; toolsrc/codegen.pla: 0287: updtptr = tag_addr=>[tag] -; toolsrc/codegen.pla: 0288: while updtptr - !BYTE $6A ; LAW _D053+0 -_F209 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B103 - !WORD _B103-* - !BYTE $6A ; LAW _D052+0 -_F210 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B107 - !WORD _B107-* -_B105 -; toolsrc/codegen.pla: 0289: nextptr = *updtptr -; toolsrc/codegen.pla: 0290: *updtptr = codeptr - updtptr -; toolsrc/codegen.pla: 0291: updtptr = nextptr -; toolsrc/codegen.pla: 0292: loop - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D075+0 -_F211 !WORD _D075+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$04 ; SLW [4] -_B107 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B105 - !WORD _B105-* -_B106 -; toolsrc/codegen.pla: 0293: updtptr = codeptr -; toolsrc/codegen.pla: 0294: else - !BYTE $6A ; LAW _D075+0 -_F212 !WORD _D075+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B104 - !WORD _B104-* -_B103 -; toolsrc/codegen.pla: 0295: codeofst = codeptr - codebuff -; toolsrc/codegen.pla: 0296: for fixups = fixup_cnt-1 downto 0 - !BYTE $6A ; LAW _D075+0 -_F213 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F214 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D046+0 -_F215 !WORD _D046+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B108 - !WORD _B108-* -_B109 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/codegen.pla: 0297: if fixup_tag=>[fixups] == tag -; toolsrc/codegen.pla: 0298: updtptr = fixup_addr=>[fixups] -; toolsrc/codegen.pla: 0299: *updtptr = *updtptr + codeofst -; toolsrc/codegen.pla: 0300: fin - !BYTE $6A ; LAW _D050+0 -_F216 !WORD _D050+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $24 ; BRNE _B111 - !WORD _B111-* - !BYTE $6A ; LAW _D051+0 -_F217 !WORD _D051+0 - !BYTE $BA,$02 ; IDXLW [2] - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $62 ; LW - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$04 ; LLW [4] - !BYTE $72 ; SW -_B111 -_B112 -; toolsrc/codegen.pla: 0301: next -_B110 - !BYTE $A8 ; DECBRGE _B109 - !WORD _B109-* -_B108 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0302: updtptr = codeptr - codebuff -; toolsrc/codegen.pla: 0303: fin - !BYTE $6A ; LAW _D075+0 -_F218 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F219 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] -_B104 -; toolsrc/codegen.pla: 0304: tag_addr=>[tag] = updtptr -; toolsrc/codegen.pla: 0305: tag_type->[tag] = tag_type->[tag] | RESOLVED_FIXUP -; toolsrc/codegen.pla: 0306: end - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D052+0 -_F220 !WORD _D052+0 - !BYTE $BA,$00 ; IDXLW [0] - !BYTE $72 ; SW - !BYTE $6A ; LAW _D053+0 -_F221 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $60 ; LB - !BYTE $3E,$01 ; ORI 1 - !BYTE $6A ; LAW _D053+0 -_F222 !WORD _D053+0 - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $70 ; SB - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/codegen.pla: 0307: // -; toolsrc/codegen.pla: 0308: // Emit the pending sequence -; toolsrc/codegen.pla: 0309: // -; toolsrc/codegen.pla: 0310: def emit_pending_seq#0 -_P002 ; emit_pending_seq#0() -_C040 ; emit_pending_seq() -; toolsrc/codegen.pla: 0311: word op, pending - ; op -> [0] - ; pending -> [2] -; toolsrc/codegen.pla: 0312: // -; toolsrc/codegen.pla: 0313: // This is called by some of the emit_*() functions to ensure that any -; toolsrc/codegen.pla: 0314: // pending ops are emitted before they emit their own op when they are -; toolsrc/codegen.pla: 0315: // called from the parser. However, this function itself calls some of those -; toolsrc/codegen.pla: 0316: // emit_*() functions to emit instructions from the pending sequence, which -; toolsrc/codegen.pla: 0317: // would cause an infinite loop if we weren't careful. We therefore set -; toolsrc/codegen.pla: 0318: // pending_seq to null on entry and work with a local copy, so if this -; toolsrc/codegen.pla: 0319: // function calls back into itself it is a no-op. -; toolsrc/codegen.pla: 0320: // -; toolsrc/codegen.pla: 0321: if not pending_seq; return; fin - !BYTE $58,$04,$00 ; ENTER 4,0 - !BYTE $6A ; LAW _D056+0 -_F223 !WORD _D056+0 - !BYTE $4E ; BRTRU _B113 - !WORD _B113-* - !BYTE $5A,$04 ; LEAVE 4 -_B113 -_B114 -; toolsrc/codegen.pla: 0322: pending = pending_seq; pending_seq = NULL -; toolsrc/codegen.pla: 0323: if outflags & OPTIMIZE -; toolsrc/codegen.pla: 0324: while optimize_seq(@pending, 0); loop - !BYTE $6A ; LAW _D056+0 -_F224 !WORD _D056+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D056+0 -_F225 !WORD _D056+0 - !BYTE $68 ; LAB _D086+0 -_F226 !WORD _D086+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B115 - !WORD _B115-* - !BYTE $50 ; BRNCH _B119 - !WORD _B119-* -_B117 -_B119 - !BYTE $28,$02 ; LLA [2] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D085+0 -_F227 !WORD _D085+0 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B117 - !WORD _B117-* -_B118 -; toolsrc/codegen.pla: 0325: if outflags & OPTIMIZE2 -; toolsrc/codegen.pla: 0326: while optimize_seq(@pending, 1); loop - !BYTE $68 ; LAB _D086+0 -_F228 !WORD _D086+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B120 - !WORD _B120-* - !BYTE $50 ; BRNCH _B124 - !WORD _B124-* -_B122 -_B124 - !BYTE $28,$02 ; LLA [2] - !BYTE $02 ; CN 1 - !BYTE $6A ; LAW _D085+0 -_F229 !WORD _D085+0 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B122 - !WORD _B122-* -_B123 -; toolsrc/codegen.pla: 0327: fin -_B120 -_B121 -; toolsrc/codegen.pla: 0328: fin -_B115 -_B116 -; toolsrc/codegen.pla: 0329: while pending - !BYTE $50 ; BRNCH _B127 - !WORD _B127-* -_B125 -; toolsrc/codegen.pla: 0330: op = pending -; toolsrc/codegen.pla: 0331: when op->opgroup - !BYTE $66,$02 ; LLW [2] - !BYTE $6E,$00 ; DLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B129-* -; toolsrc/codegen.pla: 0332: // -; toolsrc/codegen.pla: 0333: // Constant value -; toolsrc/codegen.pla: 0334: // -; toolsrc/codegen.pla: 0335: is CONST_GROUP -_B130 -; toolsrc/codegen.pla: 0336: if op->opcode == CONST_CODE -; toolsrc/codegen.pla: 0337: if op=>opval == $FFFF // MINUS 1 -; toolsrc/codegen.pla: 0338: ^codeptr = $20 -; toolsrc/codegen.pla: 0339: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2C ; CB 44 - !BYTE $24 ; BRNE _B131 - !WORD _B131-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $20 ; MINUS ONE - !BYTE $24 ; BRNE _B133 - !WORD _B133-* - !BYTE $2A,$20 ; CB 32 - !BYTE $6A ; LAW _D075+0 -_F230 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F231 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0340: elsif op=>opval & $FFF0 == $0000 // Constant NYBBLE - !BYTE $7A ; SAW _D075+0 -_F232 !WORD _D075+0 - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B133 -; toolsrc/codegen.pla: 0341: ^codeptr = op->opval*2 -; toolsrc/codegen.pla: 0342: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$F0 ; CFFB 65520 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B135 - !WORD _B135-* - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D075+0 -_F233 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F234 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0343: elsif op=>opval & $FF00 == $0000 // Constant BYTE - !BYTE $7A ; SAW _D075+0 -_F235 !WORD _D075+0 - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B135 -; toolsrc/codegen.pla: 0344: *codeptr = $2A | (op->opval << 8) -; toolsrc/codegen.pla: 0345: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0346: elsif op=>opval & $FF00 == $FF00 // Constant $FF00 | BYTE - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B136 - !WORD _B136-* - !BYTE $2A,$2A ; CB 42 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F236 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F237 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F238 !WORD _D075+0 - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B136 -; toolsrc/codegen.pla: 0347: *codeptr = $5E | (op->opval << 8) -; toolsrc/codegen.pla: 0348: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0349: else // Constant WORD - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $94 ; AND - !BYTE $5E,$00 ; CFFB 65280 - !BYTE $24 ; BRNE _B137 - !WORD _B137-* - !BYTE $2A,$5E ; CB 94 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F239 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F240 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F241 !WORD _D075+0 - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B137 -; toolsrc/codegen.pla: 0350: codeptr->0 = $2C -; toolsrc/codegen.pla: 0351: codeptr=>1 = op=>opval -; toolsrc/codegen.pla: 0352: codeptr = codeptr + 3 -; toolsrc/codegen.pla: 0353: fin - !BYTE $2A,$2C ; CB 44 - !BYTE $6A ; LAW _D075+0 -_F242 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6A ; LAW _D075+0 -_F243 !WORD _D075+0 - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F244 !WORD _D075+0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $7A ; SAW _D075+0 -_F245 !WORD _D075+0 -_B134 -; toolsrc/codegen.pla: 0354: else - !BYTE $50 ; BRNCH _B132 - !WORD _B132-* -_B131 -; toolsrc/codegen.pla: 0355: *codeptr = op->opcode | (op->opval << 8) // IMMEDIATE BYTE OP -; toolsrc/codegen.pla: 0356: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0357: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F246 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F247 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F248 !WORD _D075+0 -_B132 -; toolsrc/codegen.pla: 0358: break - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codegen.pla: 0359: // -; toolsrc/codegen.pla: 0360: // Constant string -; toolsrc/codegen.pla: 0361: // -; toolsrc/codegen.pla: 0362: is CONSTR_GROUP -_B138 -; toolsrc/codegen.pla: 0363: ^codeptr = $2E -; toolsrc/codegen.pla: 0364: codeptr++ - !BYTE $2A,$2E ; CB 46 - !BYTE $6A ; LAW _D075+0 -_F249 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F250 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0365: emit_data(0, STR_TYPE, op=>opval, 0) -; toolsrc/codegen.pla: 0366: break - !BYTE $7A ; SAW _D075+0 -_F251 !WORD _D075+0 - !BYTE $00 ; CN 0 - !BYTE $2A,$80 ; CB 128 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C014 -_F252 !WORD _C014 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codegen.pla: 0367: // -; toolsrc/codegen.pla: 0368: // Single op codes -; toolsrc/codegen.pla: 0369: // -; toolsrc/codegen.pla: 0370: is STACK_GROUP -_B139 -; toolsrc/codegen.pla: 0371: ^codeptr = op->opcode -; toolsrc/codegen.pla: 0372: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F253 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F254 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0373: break - !BYTE $7A ; SAW _D075+0 -_F255 !WORD _D075+0 - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codegen.pla: 0374: // -; toolsrc/codegen.pla: 0375: // Local address codes -; toolsrc/codegen.pla: 0376: // -; toolsrc/codegen.pla: 0377: is LOCAL_GROUP -_B140 -; toolsrc/codegen.pla: 0378: *codeptr = op->opcode | (op->opoffset << 8) -; toolsrc/codegen.pla: 0379: codeptr = codeptr + 2 -; toolsrc/codegen.pla: 0380: break - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $6A ; LAW _D075+0 -_F256 !WORD _D075+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D075+0 -_F257 !WORD _D075+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D075+0 -_F258 !WORD _D075+0 - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codegen.pla: 0381: // -; toolsrc/codegen.pla: 0382: // Global address codes -; toolsrc/codegen.pla: 0383: // -; toolsrc/codegen.pla: 0384: is GLOBAL_GROUP -_B141 -; toolsrc/codegen.pla: 0385: ^codeptr = op->opcode -; toolsrc/codegen.pla: 0386: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F259 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F260 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0387: emit_addr(op=>optag, op=>opoffset) -; toolsrc/codegen.pla: 0388: break - !BYTE $7A ; SAW _D075+0 -_F261 !WORD _D075+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$04 ; ADDI 4 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C012 -_F262 !WORD _C012 - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codegen.pla: 0389: // -; toolsrc/codegen.pla: 0390: // Relative address codes -; toolsrc/codegen.pla: 0391: // -; toolsrc/codegen.pla: 0392: is RELATIVE_GROUP -_B142 -; toolsrc/codegen.pla: 0393: ^codeptr = op->opcode -; toolsrc/codegen.pla: 0394: codeptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6A ; LAW _D075+0 -_F263 !WORD _D075+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D075+0 -_F264 !WORD _D075+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0395: emit_reladdr(op=>optag) -; toolsrc/codegen.pla: 0396: break - !BYTE $7A ; SAW _D075+0 -_F265 !WORD _D075+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C013 -_F266 !WORD _C013 - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codegen.pla: 0397: // -; toolsrc/codegen.pla: 0398: // Code tags -; toolsrc/codegen.pla: 0399: // -; toolsrc/codegen.pla: 0400: is CODETAG_GROUP -_B143 -; toolsrc/codegen.pla: 0401: emit_tag(op=>optag) -; toolsrc/codegen.pla: 0402: break - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F267 !WORD _C039 - !BYTE $50 ; BRNCH _B128 - !WORD _B128-* -; toolsrc/codegen.pla: 0403: otherwise -_B129 - !BYTE $07 ; CASEBLOCK - !WORD $0000 - !WORD _B130-* - !WORD $0001 - !WORD _B138-* - !WORD $0002 - !WORD _B139-* - !WORD $0003 - !WORD _B140-* - !WORD $0004 - !WORD _B141-* - !WORD $0005 - !WORD _B142-* - !WORD $0006 - !WORD _B143-* -; toolsrc/codegen.pla: 0404: return - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0405: wend -_B128 -; toolsrc/codegen.pla: 0406: pending = pending=>opnext; -; toolsrc/codegen.pla: 0407: // -; toolsrc/codegen.pla: 0408: // Free this op -; toolsrc/codegen.pla: 0409: // -; toolsrc/codegen.pla: 0410: op=>opnext = freeop_lst -; toolsrc/codegen.pla: 0411: freeop_lst = op -; toolsrc/codegen.pla: 0412: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D084+0 -_F268 !WORD _D084+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D084+0 -_F269 !WORD _D084+0 -_B127 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B125 - !WORD _B125-* -_B126 -; toolsrc/codegen.pla: 0413: if isugt(codeptr - codebuff, codebufsz); exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $6A ; LAW _D075+0 -_F270 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F271 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D068+0 -_F272 !WORD _D068+0 - !BYTE $54 ; CALL _X024 -_F273 !WORD 0 - !BYTE $4C ; BRFLS _B144 - !WORD _B144-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F274 !WORD _C002 -_B144 -_B145 -; toolsrc/codegen.pla: 0414: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0415: // -; toolsrc/codegen.pla: 0416: // Emit a sequence of ops (into the pending sequence) -; toolsrc/codegen.pla: 0417: // -; toolsrc/codegen.pla: 0418: def emit_seq(seq)#0 - ; seq -> [0] -_C041 ; emit_seq() -; toolsrc/codegen.pla: 0419: word op - ; op -> [2] -; toolsrc/codegen.pla: 0420: byte string - ; string -> [4] -; toolsrc/codegen.pla: 0421: string = FALSE - !BYTE $58,$05,$01 ; ENTER 5,1 -; toolsrc/codegen.pla: 0422: op = seq -; toolsrc/codegen.pla: 0423: while op - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B148 - !WORD _B148-* -_B146 -; toolsrc/codegen.pla: 0424: if op->opcode == CONSTR_CODE; string = TRUE; break; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $24 ; BRNE _B149 - !WORD _B149-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B147 - !WORD _B147-* -_B149 -_B150 -; toolsrc/codegen.pla: 0425: op = op=>opnext -; toolsrc/codegen.pla: 0426: loop - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] -_B148 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B146 - !WORD _B146-* -_B147 -; toolsrc/codegen.pla: 0427: pending_seq = cat_seq(pending_seq, seq) -; toolsrc/codegen.pla: 0428: // -; toolsrc/codegen.pla: 0429: // The source code comments in the output are much more logical if we don't -; toolsrc/codegen.pla: 0430: // merge multiple sequences together. There's no value in doing this merging -; toolsrc/codegen.pla: 0431: // if we're not optimizing, and we optionally allow it to be prevented even -; toolsrc/codegen.pla: 0432: // when we are optimizing by specifing the -N (NO_COMBINE) flag. -; toolsrc/codegen.pla: 0433: // -; toolsrc/codegen.pla: 0434: // We must also force output if the sequence includes a CS opcode, as the -; toolsrc/codegen.pla: 0435: // associated 'constant' is only temporarily valid. -; toolsrc/codegen.pla: 0436: // -; toolsrc/codegen.pla: 0437: if not (outflags & (OPTIMIZE|OPTIMIZE2)) or outflags & NO_COMBINE or string -; toolsrc/codegen.pla: 0438: emit_pending_seq -; toolsrc/codegen.pla: 0439: fin - !BYTE $6A ; LAW _D056+0 -_F275 !WORD _D056+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C008 -_F276 !WORD _C008 - !BYTE $7A ; SAW _D056+0 -_F277 !WORD _D056+0 - !BYTE $68 ; LAB _D086+0 -_F278 !WORD _D086+0 - !BYTE $3C,$03 ; ANDI 3 - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B151 - !WORD _B151-* - !BYTE $68 ; LAB _D086+0 -_F279 !WORD _D086+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $AE ; BROR _B152 - !WORD _B152-* - !BYTE $64,$04 ; LLB [4] -_B152 -_B151 - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $54 ; CALL _C040 -_F280 !WORD _C040 -_B153 -_B154 -; toolsrc/codegen.pla: 0440: end - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/codegen.pla: 0441: // -; toolsrc/codegen.pla: 0442: // Emit lambda function -; toolsrc/codegen.pla: 0443: // -; toolsrc/codegen.pla: 0444: def emit_lambdafunc(tag, cparms, lambda_seq)#0 - ; tag -> [0] - ; cparms -> [2] - ; lambda_seq -> [4] -_C042 ; emit_lambdafunc() -; toolsrc/codegen.pla: 0445: emit_tag(tag) - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/codegen.pla: 0446: framesize = cparms * 2 -; toolsrc/codegen.pla: 0447: emit_enter(cparms) -; toolsrc/codegen.pla: 0448: emit_seq(lambda_seq) -; toolsrc/codegen.pla: 0449: emit_leave -; toolsrc/codegen.pla: 0450: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C039 -_F281 !WORD _C039 - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D070+0 -_F282 !WORD _D070+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C038 -_F283 !WORD _C038 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F284 !WORD _C041 - !BYTE $54 ; CALL _C037 -_F285 !WORD _C037 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0451: // -; toolsrc/codegen.pla: 0452: // ID manager -; toolsrc/codegen.pla: 0453: // -; toolsrc/codegen.pla: 0454: def idmatch(nameptr, len, idptr, idcnt) - ; nameptr -> [0] - ; len -> [2] - ; idptr -> [4] - ; idcnt -> [6] -_C043 ; idmatch() -; toolsrc/codegen.pla: 0455: byte i - ; i -> [8] -; toolsrc/codegen.pla: 0456: -; toolsrc/codegen.pla: 0457: if len > ID_LEN; len = ID_LEN; fin - !BYTE $58,$09,$04 ; ENTER 9,4 - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B155 - !WORD _B155-* - !BYTE $2A,$20 ; CB 32 - !BYTE $76,$02 ; SLW [2] -_B155 -_B156 -; toolsrc/codegen.pla: 0458: while idcnt - !BYTE $50 ; BRNCH _B159 - !WORD _B159-* -_B157 -; toolsrc/codegen.pla: 0459: if len == idptr->idname -; toolsrc/codegen.pla: 0460: i = 1; while i <= len and nameptr->[i - 1] == idptr->idname.[i]; i++; loop - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B160 - !WORD _B160-* - !BYTE $02 ; CN 1 - !BYTE $74,$08 ; SLB [8] - !BYTE $50 ; BRNCH _B164 - !WORD _B164-* -_B162 - !BYTE $64,$08 ; LLB [8] - !BYTE $8C ; INCR - !BYTE $74,$08 ; SLB [8] -_B164 - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $4A ; ISLE - !BYTE $AC ; BRAND _B165 - !WORD _B165-* - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$08 ; LLB [8] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $40 ; ISEQ -_B165 - !BYTE $4E ; BRTRU _B162 - !WORD _B162-* -_B163 -; toolsrc/codegen.pla: 0461: //for i = 1 to len -; toolsrc/codegen.pla: 0462: // if nameptr->[i - 1] <> idptr->idname.[i]; break; fin -; toolsrc/codegen.pla: 0463: //next -; toolsrc/codegen.pla: 0464: if i > len; return idptr; fin - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B166 - !WORD _B166-* - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$09 ; LEAVE 9 -_B166 -_B167 -; toolsrc/codegen.pla: 0465: fin -_B160 -_B161 -; toolsrc/codegen.pla: 0466: idptr = idptr + idptr->idname + t_id -; toolsrc/codegen.pla: 0467: idcnt-- - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0468: loop - !BYTE $76,$06 ; SLW [6] -_B159 - !BYTE $66,$06 ; LLW [6] - !BYTE $4E ; BRTRU _B157 - !WORD _B157-* -_B158 -; toolsrc/codegen.pla: 0469: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/codegen.pla: 0470: end -; toolsrc/codegen.pla: 0471: def lookup_id(nameptr, len) - ; nameptr -> [0] - ; len -> [2] -_C044 ; lookup_id() -; toolsrc/codegen.pla: 0472: word idptr - ; idptr -> [4] -; toolsrc/codegen.pla: 0473: -; toolsrc/codegen.pla: 0474: idptr = idmatch(nameptr, len, idlocal_tbl, locals) - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0475: if not idptr -; toolsrc/codegen.pla: 0476: idptr = idmatch(nameptr, len, idglobal_tbl, globals) -; toolsrc/codegen.pla: 0477: if idptr -; toolsrc/codegen.pla: 0478: if idptr=>idtype & EXTERN_TYPE -; toolsrc/codegen.pla: 0479: idptr=>idtype = idptr=>idtype | EXTACCESS_TYPE -; toolsrc/codegen.pla: 0480: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D055+0 -_F286 !WORD _D055+0 - !BYTE $68 ; LAB _D072+0 -_F287 !WORD _D072+0 - !BYTE $54 ; CALL _C043 -_F288 !WORD _C043 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B168 - !WORD _B168-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F289 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F290 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F291 !WORD _C043 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B170 - !WORD _B170-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B172 - !WORD _B172-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $96 ; OR - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B172 -_B173 -; toolsrc/codegen.pla: 0481: fin -_B170 -_B171 -; toolsrc/codegen.pla: 0482: fin -_B168 -_B169 -; toolsrc/codegen.pla: 0483: return idptr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0484: end -; toolsrc/codegen.pla: 0485: def lookup_idglobal(nameptr, len) - ; nameptr -> [0] - ; len -> [2] -_C045 ; lookup_idglobal() -; toolsrc/codegen.pla: 0486: word idptr - ; idptr -> [4] -; toolsrc/codegen.pla: 0487: -; toolsrc/codegen.pla: 0488: idptr = idmatch(nameptr, len, idglobal_tbl, globals) - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0489: if idptr -; toolsrc/codegen.pla: 0490: if idptr=>idtype & EXTERN_TYPE -; toolsrc/codegen.pla: 0491: idptr=>idtype = idptr=>idtype | EXTACCESS_TYPE -; toolsrc/codegen.pla: 0492: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F292 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F293 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F294 !WORD _C043 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B174 - !WORD _B174-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B176 - !WORD _B176-* - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $96 ; OR - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW -_B176 -_B177 -; toolsrc/codegen.pla: 0493: fin -_B174 -_B175 -; toolsrc/codegen.pla: 0494: return idptr - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0495: end -; toolsrc/codegen.pla: 0496: def new_iddata(nameptr, len, type, size)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; size -> [6] -_C046 ; new_iddata() -; toolsrc/codegen.pla: 0497: if idmatch(nameptr, len, idglobal_tbl, globals); exit_err(ERR_DUP|ERR_ID); fin - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F295 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F296 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F297 !WORD _C043 - !BYTE $4C ; BRFLS _B178 - !WORD _B178-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F298 !WORD _C002 -_B178 -_B179 -; toolsrc/codegen.pla: 0498: nametostr(nameptr, len, lastglobal + idname) -; toolsrc/codegen.pla: 0499: lastglobal=>idtype = type -; toolsrc/codegen.pla: 0500: if type & EXTERN_TYPE -; toolsrc/codegen.pla: 0501: lastglobal=>idval = new_tag(EXTERN_FIXUP|WORD_FIXUP)//datasize -; toolsrc/codegen.pla: 0502: else - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D058+0 -_F299 !WORD _D058+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _C000 -_F300 !WORD _C000 - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D058+0 -_F301 !WORD _D058+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B180 - !WORD _B180-* - !BYTE $2A,$90 ; CB 144 - !BYTE $54 ; CALL _C004 -_F302 !WORD _C004 - !BYTE $6A ; LAW _D058+0 -_F303 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B181 - !WORD _B181-* -_B180 -; toolsrc/codegen.pla: 0503: lastglobal=>idval = new_tag(WORD_FIXUP)//datasize -; toolsrc/codegen.pla: 0504: emit_tag(lastglobal=>idval) -; toolsrc/codegen.pla: 0505: lastglobalsize = size -; toolsrc/codegen.pla: 0506: if size -; toolsrc/codegen.pla: 0507: emit_fill(size) -; toolsrc/codegen.pla: 0508: datasize = datasize + size -; toolsrc/codegen.pla: 0509: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F304 !WORD _C004 - !BYTE $6A ; LAW _D058+0 -_F305 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D058+0 -_F306 !WORD _D058+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C039 -_F307 !WORD _C039 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D059+0 -_F308 !WORD _D059+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C011 -_F309 !WORD _C011 - !BYTE $6A ; LAW _D069+0 -_F310 !WORD _D069+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $7A ; SAW _D069+0 -_F311 !WORD _D069+0 -_B182 -_B183 -; toolsrc/codegen.pla: 0510: fin -_B181 -; toolsrc/codegen.pla: 0511: globals++ - !BYTE $6A ; LAW _D057+0 -_F312 !WORD _D057+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0512: lastglobal = lastglobal + t_id + len -; toolsrc/codegen.pla: 0513: if lastglobal - idglobal_tbl > globalbufsz; exit_err(ERR_OVER|ERR_GLOBAL|ERR_ID|ERR_TABLE); fin - !BYTE $7A ; SAW _D057+0 -_F313 !WORD _D057+0 - !BYTE $6A ; LAW _D058+0 -_F314 !WORD _D058+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7E ; DAW _D058+0 -_F315 !WORD _D058+0 - !BYTE $6A ; LAW _D054+0 -_F316 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D066+0 -_F317 !WORD _D066+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B184 - !WORD _B184-* - !BYTE $2C,$90,$42 ; CW 17040 - !BYTE $54 ; CALL _C002 -_F318 !WORD _C002 -_B184 -_B185 -; toolsrc/codegen.pla: 0514: end - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0515: def size_iddata(type, varsize, initsize)#0 - ; type -> [0] - ; varsize -> [2] - ; initsize -> [4] -_C047 ; size_iddata() -; toolsrc/codegen.pla: 0516: if varsize > initsize - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/codegen.pla: 0517: datasize = datasize + varsize -; toolsrc/codegen.pla: 0518: emit_data(0, 0, 0, varsize - initsize) -; toolsrc/codegen.pla: 0519: else - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B186 - !WORD _B186-* - !BYTE $6A ; LAW _D069+0 -_F319 !WORD _D069+0 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7A ; SAW _D069+0 -_F320 !WORD _D069+0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _C014 -_F321 !WORD _C014 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B187 - !WORD _B187-* -_B186 -; toolsrc/codegen.pla: 0520: datasize = datasize + initsize -; toolsrc/codegen.pla: 0521: fin - !BYTE $6A ; LAW _D069+0 -_F322 !WORD _D069+0 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $7A ; SAW _D069+0 -_F323 !WORD _D069+0 -_B187 -; toolsrc/codegen.pla: 0522: end - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0523: def new_idglobal(nameptr, len, type, value, cparms, cvals)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; value -> [6] - ; cparms -> [8] - ; cvals -> [10] -_C048 ; new_idglobal() -; toolsrc/codegen.pla: 0524: if idmatch(nameptr, len, idglobal_tbl, globals); exit_err(ERR_DUP|ERR_ID); fin - !BYTE $58,$0C,$06 ; ENTER 12,6 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D054+0 -_F324 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F325 !WORD _D057+0 - !BYTE $54 ; CALL _C043 -_F326 !WORD _C043 - !BYTE $4C ; BRFLS _B188 - !WORD _B188-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F327 !WORD _C002 -_B188 -_B189 -; toolsrc/codegen.pla: 0525: if len > ID_LEN; len = ID_LEN; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B190 - !WORD _B190-* - !BYTE $2A,$20 ; CB 32 - !BYTE $76,$02 ; SLW [2] -_B190 -_B191 -; toolsrc/codegen.pla: 0526: lastglobal=>idval = value -; toolsrc/codegen.pla: 0527: lastglobal=>idtype = type -; toolsrc/codegen.pla: 0528: lastglobal->funcparms = cparms -; toolsrc/codegen.pla: 0529: lastglobal->funcvals = cvals -; toolsrc/codegen.pla: 0530: nametostr(nameptr, len, lastglobal + idname) -; toolsrc/codegen.pla: 0531: globals++ - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _D058+0 -_F328 !WORD _D058+0 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D058+0 -_F329 !WORD _D058+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D058+0 -_F330 !WORD _D058+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$0A ; LLW [10] - !BYTE $6A ; LAW _D058+0 -_F331 !WORD _D058+0 - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D058+0 -_F332 !WORD _D058+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _C000 -_F333 !WORD _C000 - !BYTE $6A ; LAW _D057+0 -_F334 !WORD _D057+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0532: lastglobal = lastglobal + t_id + len -; toolsrc/codegen.pla: 0533: if lastglobal - idglobal_tbl > globalbufsz; exit_err(ERR_OVER|ERR_GLOBAL|ERR_ID|ERR_TABLE); fin - !BYTE $7A ; SAW _D057+0 -_F335 !WORD _D057+0 - !BYTE $6A ; LAW _D058+0 -_F336 !WORD _D058+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7E ; DAW _D058+0 -_F337 !WORD _D058+0 - !BYTE $6A ; LAW _D054+0 -_F338 !WORD _D054+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D066+0 -_F339 !WORD _D066+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B192 - !WORD _B192-* - !BYTE $2C,$90,$42 ; CW 17040 - !BYTE $54 ; CALL _C002 -_F340 !WORD _C002 -_B192 -_B193 -; toolsrc/codegen.pla: 0534: end - !BYTE $5A,$0C ; LEAVE 12 -; toolsrc/codegen.pla: 0535: def new_idconst(nameptr, len, value)#0 - ; nameptr -> [0] - ; len -> [2] - ; value -> [4] -_C049 ; new_idconst() -; toolsrc/codegen.pla: 0536: new_idglobal(nameptr, len, CONST_TYPE, value, 0, 0) - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/codegen.pla: 0537: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C048 -_F341 !WORD _C048 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0538: def new_idfunc(nameptr, len, type, tag, cfnparms, cfnvals)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; tag -> [6] - ; cfnparms -> [8] - ; cfnvals -> [10] -_C050 ; new_idfunc() -; toolsrc/codegen.pla: 0539: new_idglobal(nameptr, len, type|FUNC_TYPE, tag, cfnparms, cfnvals) - !BYTE $58,$0C,$06 ; ENTER 12,6 -; toolsrc/codegen.pla: 0540: if not (type & EXTERN_TYPE); def_cnt++; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $3E,$08 ; ORI 8 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _C048 -_F342 !WORD _C048 - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4E ; BRTRU _B194 - !WORD _B194-* - !BYTE $68 ; LAB _D080+0 -_F343 !WORD _D080+0 - !BYTE $8C ; INCR - !BYTE $78 ; SAB _D080+0 -_F344 !WORD _D080+0 -_B194 -_B195 -; toolsrc/codegen.pla: 0541: end - !BYTE $5A,$0C ; LEAVE 12 -; toolsrc/codegen.pla: 0542: def set_idfunc(nameptr, len, tag, cparms, cvals)#0 - ; nameptr -> [0] - ; len -> [2] - ; tag -> [4] - ; cparms -> [6] - ; cvals -> [8] -_C051 ; set_idfunc() -; toolsrc/codegen.pla: 0543: word idptr - ; idptr -> [10] -; toolsrc/codegen.pla: 0544: -; toolsrc/codegen.pla: 0545: idptr = lookup_idglobal(nameptr, len) - !BYTE $58,$0C,$05 ; ENTER 12,5 -; toolsrc/codegen.pla: 0546: if idptr -; toolsrc/codegen.pla: 0547: if not (idptr=>idtype & FUNC_TYPE); exit_err(ERR_UNDECL|ERR_CODE); fin // DEBUG - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C045 -_F345 !WORD _C045 - !BYTE $6E,$0A ; DLW [10] - !BYTE $4C ; BRFLS _B196 - !WORD _B196-* - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4E ; BRTRU _B198 - !WORD _B198-* - !BYTE $2C,$02,$01 ; CW 258 - !BYTE $54 ; CALL _C002 -_F346 !WORD _C002 -_B198 -_B199 -; toolsrc/codegen.pla: 0548: idptr=>idval = tag -; toolsrc/codegen.pla: 0549: idptr->funcparms = cparms -; toolsrc/codegen.pla: 0550: idptr->funcvals = cvals -; toolsrc/codegen.pla: 0551: else - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0A ; LLW [10] - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $70 ; SB - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $38,$05 ; ADDI 5 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B197 - !WORD _B197-* -_B196 -; toolsrc/codegen.pla: 0552: exit_err(ERR_UNDECL|ERR_ID) -; toolsrc/codegen.pla: 0553: fin - !BYTE $2C,$02,$02 ; CW 514 - !BYTE $54 ; CALL _C002 -_F347 !WORD _C002 -_B197 -; toolsrc/codegen.pla: 0554: end - !BYTE $5A,$0C ; LEAVE 12 -; toolsrc/codegen.pla: 0555: def init_idglobal#0 -_C052 ; init_idglobal() -; toolsrc/codegen.pla: 0556: word op - ; op -> [0] -; toolsrc/codegen.pla: 0557: word i - ; i -> [2] -; toolsrc/codegen.pla: 0558: -; toolsrc/codegen.pla: 0559: dfd_num = DFDNUM - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/codegen.pla: 0560: tag_num = TAGNUM -; toolsrc/codegen.pla: 0561: fixup_num = FIXUPNUM -; toolsrc/codegen.pla: 0562: globalbufsz = IDGLOBALSZ -; toolsrc/codegen.pla: 0563: localbufsz = IDLOCALSZ -; toolsrc/codegen.pla: 0564: if isult(heapavail, $6000) -; toolsrc/codegen.pla: 0565: dfd_num = DFDNUM/2 -; toolsrc/codegen.pla: 0566: tag_num = TAGNUM/2 -; toolsrc/codegen.pla: 0567: fixup_num = FIXUPNUM/2 -; toolsrc/codegen.pla: 0568: globalbufsz = IDGLOBALSZ-1024 -; toolsrc/codegen.pla: 0569: localbufsz = IDLOCALSZ/2 -; toolsrc/codegen.pla: 0570: inbuff_len = MAX_INPUT_LEN/2 -; toolsrc/codegen.pla: 0571: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $7A ; SAW _D063+0 -_F348 !WORD _D063+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $7A ; SAW _D064+0 -_F349 !WORD _D064+0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $7A ; SAW _D065+0 -_F350 !WORD _D065+0 - !BYTE $2C,$00,$14 ; CW 5120 - !BYTE $7A ; SAW _D066+0 -_F351 !WORD _D066+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D067+0 -_F352 !WORD _D067+0 - !BYTE $54 ; CALL _X016 -_F353 !WORD 0 - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $54 ; CALL _X026 -_F354 !WORD 0 - !BYTE $4C ; BRFLS _B200 - !WORD _B200-* - !BYTE $2A,$40 ; CB 64 - !BYTE $7A ; SAW _D063+0 -_F355 !WORD _D063+0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D064+0 -_F356 !WORD _D064+0 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $7A ; SAW _D065+0 -_F357 !WORD _D065+0 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $7A ; SAW _D066+0 -_F358 !WORD _D066+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $7A ; SAW _D067+0 -_F359 !WORD _D067+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $7A ; SAW _D097+0 -_F360 !WORD _D097+0 -_B200 -_B201 -; toolsrc/codegen.pla: 0572: // -; toolsrc/codegen.pla: 0573: //Init free op sequence list -; toolsrc/codegen.pla: 0574: // -; toolsrc/codegen.pla: 0575: freeop_lst = heapalloc(OPSEQNUM*t_opseq) -; toolsrc/codegen.pla: 0576: op = freeop_lst -; toolsrc/codegen.pla: 0577: for i = OPSEQNUM-1 downto 0 - !BYTE $2C,$00,$0C ; CW 3072 - !BYTE $54 ; CALL _X014 -_F361 !WORD 0 - !BYTE $7E ; DAW _D084+0 -_F362 !WORD _D084+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $2C,$7F,$01 ; CW 383 -_B203 - !BYTE $6E,$02 ; DLW [2] -; toolsrc/codegen.pla: 0578: op=>opnext = op + t_opseq -; toolsrc/codegen.pla: 0579: op = op + t_opseq -; toolsrc/codegen.pla: 0580: next - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$00 ; SLW [0] -_B204 - !BYTE $A8 ; DECBRGE _B203 - !WORD _B203-* -_B202 - !BYTE $76,$02 ; SLW [2] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0581: op=>opnext = NULL -; toolsrc/codegen.pla: 0582: // -; toolsrc/codegen.pla: 0583: // Allocate remaining buffers -; toolsrc/codegen.pla: 0584: // -; toolsrc/codegen.pla: 0585: dfd_tag = heapalloc(dfd_num*2) -; toolsrc/codegen.pla: 0586: tag_addr = heapalloc(tag_num*2) -; toolsrc/codegen.pla: 0587: tag_type = heapalloc(tag_num) -; toolsrc/codegen.pla: 0588: fixup_tag = heapalloc(fixup_num*2) -; toolsrc/codegen.pla: 0589: fixup_addr = heapalloc(fixup_num*2) -; toolsrc/codegen.pla: 0590: idglobal_tbl = heapalloc(globalbufsz) -; toolsrc/codegen.pla: 0591: idlocal_tbl = heapalloc(localbufsz) -; toolsrc/codegen.pla: 0592: codebufsz = heapavail - 2048 -; toolsrc/codegen.pla: 0593: codebuff = heapalloc(codebufsz) -; toolsrc/codegen.pla: 0594: codeptr = codebuff -; toolsrc/codegen.pla: 0595: lastglobal = idglobal_tbl -; toolsrc/codegen.pla: 0596: end - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D063+0 -_F363 !WORD _D063+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F364 !WORD 0 - !BYTE $7A ; SAW _D048+0 -_F365 !WORD _D048+0 - !BYTE $6A ; LAW _D064+0 -_F366 !WORD _D064+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F367 !WORD 0 - !BYTE $7A ; SAW _D052+0 -_F368 !WORD _D052+0 - !BYTE $6A ; LAW _D064+0 -_F369 !WORD _D064+0 - !BYTE $54 ; CALL _X014 -_F370 !WORD 0 - !BYTE $7A ; SAW _D053+0 -_F371 !WORD _D053+0 - !BYTE $6A ; LAW _D065+0 -_F372 !WORD _D065+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F373 !WORD 0 - !BYTE $7A ; SAW _D050+0 -_F374 !WORD _D050+0 - !BYTE $6A ; LAW _D065+0 -_F375 !WORD _D065+0 - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X014 -_F376 !WORD 0 - !BYTE $7A ; SAW _D051+0 -_F377 !WORD _D051+0 - !BYTE $6A ; LAW _D066+0 -_F378 !WORD _D066+0 - !BYTE $54 ; CALL _X014 -_F379 !WORD 0 - !BYTE $7A ; SAW _D054+0 -_F380 !WORD _D054+0 - !BYTE $6A ; LAW _D067+0 -_F381 !WORD _D067+0 - !BYTE $54 ; CALL _X014 -_F382 !WORD 0 - !BYTE $7A ; SAW _D055+0 -_F383 !WORD _D055+0 - !BYTE $54 ; CALL _X016 -_F384 !WORD 0 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $84 ; SUB - !BYTE $7E ; DAW _D068+0 -_F385 !WORD _D068+0 - !BYTE $54 ; CALL _X014 -_F386 !WORD 0 - !BYTE $7E ; DAW _D074+0 -_F387 !WORD _D074+0 - !BYTE $7A ; SAW _D075+0 -_F388 !WORD _D075+0 - !BYTE $6A ; LAW _D054+0 -_F389 !WORD _D054+0 - !BYTE $7A ; SAW _D058+0 -_F390 !WORD _D058+0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0597: def new_idlocal(nameptr, len, type, size)#0 - ; nameptr -> [0] - ; len -> [2] - ; type -> [4] - ; size -> [6] -_C053 ; new_idlocal() -; toolsrc/codegen.pla: 0598: if idmatch(nameptr, len, @idlocal_tbl, locals); exit_err(ERR_DUP|ERR_ID); fin - !BYTE $58,$08,$04 ; ENTER 8,4 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D055+0 -_F391 !WORD _D055+0 - !BYTE $68 ; LAB _D072+0 -_F392 !WORD _D072+0 - !BYTE $54 ; CALL _C043 -_F393 !WORD _C043 - !BYTE $4C ; BRFLS _B205 - !WORD _B205-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F394 !WORD _C002 -_B205 -_B206 -; toolsrc/codegen.pla: 0599: if len > ID_LEN; len = ID_LEN; fin - !BYTE $66,$02 ; LLW [2] - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B207 - !WORD _B207-* - !BYTE $2A,$20 ; CB 32 - !BYTE $76,$02 ; SLW [2] -_B207 -_B208 -; toolsrc/codegen.pla: 0600: lastlocal=>idval = framesize -; toolsrc/codegen.pla: 0601: lastlocal=>idtype = type | LOCAL_TYPE -; toolsrc/codegen.pla: 0602: nametostr(nameptr, len, lastlocal + idname) -; toolsrc/codegen.pla: 0603: locals++ - !BYTE $6A ; LAW _D070+0 -_F395 !WORD _D070+0 - !BYTE $6A ; LAW _D060+0 -_F396 !WORD _D060+0 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $3E,$10 ; ORI 16 - !BYTE $6A ; LAW _D060+0 -_F397 !WORD _D060+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D060+0 -_F398 !WORD _D060+0 - !BYTE $38,$07 ; ADDI 7 - !BYTE $54 ; CALL _C000 -_F399 !WORD _C000 - !BYTE $68 ; LAB _D072+0 -_F400 !WORD _D072+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0604: lastlocal = lastlocal + t_id + len -; toolsrc/codegen.pla: 0605: if lastlocal - idlocal_tbl > localbufsz; exit_err(ERR_OVER|ERR_LOCAL|ERR_TABLE); fin - !BYTE $78 ; SAB _D072+0 -_F401 !WORD _D072+0 - !BYTE $6A ; LAW _D060+0 -_F402 !WORD _D060+0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $7E ; DAW _D060+0 -_F403 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F404 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _D067+0 -_F405 !WORD _D067+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B209 - !WORD _B209-* - !BYTE $2C,$50,$40 ; CW 16464 - !BYTE $54 ; CALL _C002 -_F406 !WORD _C002 -_B209 -_B210 -; toolsrc/codegen.pla: 0606: framesize = framesize + size -; toolsrc/codegen.pla: 0607: if framesize > 255; exit_err(ERR_OVER|ERR_LOCAL|ERR_FRAME); fin - !BYTE $6A ; LAW _D070+0 -_F407 !WORD _D070+0 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $7E ; DAW _D070+0 -_F408 !WORD _D070+0 - !BYTE $2A,$FF ; CB 255 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B211 - !WORD _B211-* - !BYTE $2C,$50,$20 ; CW 8272 - !BYTE $54 ; CALL _C002 -_F409 !WORD _C002 -_B211 -_B212 -; toolsrc/codegen.pla: 0608: end - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0609: def init_idlocal#0 -_C054 ; init_idlocal() -; toolsrc/codegen.pla: 0610: locals = 0 -; toolsrc/codegen.pla: 0611: framesize = 0 -; toolsrc/codegen.pla: 0612: lastlocal = idlocal_tbl -; toolsrc/codegen.pla: 0613: end - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D072+0 -_F410 !WORD _D072+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D070+0 -_F411 !WORD _D070+0 - !BYTE $6A ; LAW _D055+0 -_F412 !WORD _D055+0 - !BYTE $7A ; SAW _D060+0 -_F413 !WORD _D060+0 - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0614: def save_idlocal#0 -_C055 ; save_idlocal() -; toolsrc/codegen.pla: 0615: savelocals = locals -; toolsrc/codegen.pla: 0616: savesize = framesize -; toolsrc/codegen.pla: 0617: savelast = lastlocal -; toolsrc/codegen.pla: 0618: savetbl = heapalloc(lastlocal - idlocal_tbl) -; toolsrc/codegen.pla: 0619: memcpy(savetbl, idlocal_tbl, lastlocal - idlocal_tbl) -; toolsrc/codegen.pla: 0620: end - !BYTE $68 ; LAB _D072+0 -_F414 !WORD _D072+0 - !BYTE $78 ; SAB _D073+0 -_F415 !WORD _D073+0 - !BYTE $6A ; LAW _D070+0 -_F416 !WORD _D070+0 - !BYTE $7A ; SAW _D071+0 -_F417 !WORD _D071+0 - !BYTE $6A ; LAW _D060+0 -_F418 !WORD _D060+0 - !BYTE $7A ; SAW _D061+0 -_F419 !WORD _D061+0 - !BYTE $6A ; LAW _D060+0 -_F420 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F421 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F422 !WORD 0 - !BYTE $7E ; DAW _D062+0 -_F423 !WORD _D062+0 - !BYTE $6A ; LAW _D055+0 -_F424 !WORD _D055+0 - !BYTE $6A ; LAW _D060+0 -_F425 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F426 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F427 !WORD 0 - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0621: def restore_idlocal#0 -_C056 ; restore_idlocal() -; toolsrc/codegen.pla: 0622: locals = savelocals -; toolsrc/codegen.pla: 0623: framesize = savesize -; toolsrc/codegen.pla: 0624: lastlocal = savelast -; toolsrc/codegen.pla: 0625: memcpy(idlocal_tbl, savetbl, lastlocal - idlocal_tbl) -; toolsrc/codegen.pla: 0626: heaprelease(savetbl) -; toolsrc/codegen.pla: 0627: end - !BYTE $68 ; LAB _D073+0 -_F428 !WORD _D073+0 - !BYTE $78 ; SAB _D072+0 -_F429 !WORD _D072+0 - !BYTE $6A ; LAW _D071+0 -_F430 !WORD _D071+0 - !BYTE $7A ; SAW _D070+0 -_F431 !WORD _D070+0 - !BYTE $6A ; LAW _D061+0 -_F432 !WORD _D061+0 - !BYTE $7A ; SAW _D060+0 -_F433 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F434 !WORD _D055+0 - !BYTE $6A ; LAW _D062+0 -_F435 !WORD _D062+0 - !BYTE $6A ; LAW _D060+0 -_F436 !WORD _D060+0 - !BYTE $6A ; LAW _D055+0 -_F437 !WORD _D055+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F438 !WORD 0 - !BYTE $6A ; LAW _D062+0 -_F439 !WORD _D062+0 - !BYTE $54 ; CALL _X015 -_F440 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5C ; RET -; toolsrc/codegen.pla: 0628: // -; toolsrc/codegen.pla: 0629: // Module dependency list -; toolsrc/codegen.pla: 0630: // -; toolsrc/codegen.pla: 0631: def new_moddep(nameptr, len)#0 - ; nameptr -> [0] - ; len -> [2] -_C057 ; new_moddep() -; toolsrc/codegen.pla: 0632: if len > 15; len = 15; fin - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $1E ; CN 15 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B213 - !WORD _B213-* - !BYTE $1E ; CN 15 - !BYTE $76,$02 ; SLW [2] -_B213 -_B214 -; toolsrc/codegen.pla: 0633: new_iddata(nameptr, len, EXTERN_TYPE|WORD_TYPE, 2) -; toolsrc/codegen.pla: 0634: memcpy(@moddep_tbl[moddep_cnt*16] + 1, nameptr, len) -; toolsrc/codegen.pla: 0635: moddep_tbl[moddep_cnt*16] = len -; toolsrc/codegen.pla: 0636: moddep_cnt++ - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C046 -_F441 !WORD _C046 - !BYTE $26 ; LA _D078+0 -_F442 !WORD _D078+0 - !BYTE $68 ; LAB _D079+0 -_F443 !WORD _D079+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X018 -_F444 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D078+0 -_F445 !WORD _D078+0 - !BYTE $68 ; LAB _D079+0 -_F446 !WORD _D079+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $70 ; SB - !BYTE $68 ; LAB _D079+0 -_F447 !WORD _D079+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0637: if moddep_cnt > MODDEPNUM; parse_warn("Module dependency overflow"); fin - !BYTE $7C ; DAB _D079+0 -_F448 !WORD _D079+0 - !BYTE $10 ; CN 8 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B215 - !WORD _B215-* - !BYTE $2E ; CS - !BYTE $1A - !BYTE $4D,$6F,$64,$75,$6C,$65,$20,$64 - !BYTE $65,$70,$65,$6E,$64,$65,$6E,$63 - !BYTE $79,$20,$6F,$76,$65,$72,$66,$6C - !BYTE $6F,$77 - !BYTE $54 ; CALL _C003 -_F449 !WORD _C003 -_B215 -_B216 -; toolsrc/codegen.pla: 0638: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/codegen.pla: 0639: // -; toolsrc/codegen.pla: 0640: // DFD list -; toolsrc/codegen.pla: 0641: // -; toolsrc/codegen.pla: 0642: def new_dfd(tag)#0 - ; tag -> [0] -_C058 ; new_dfd() -; toolsrc/codegen.pla: 0643: if dfd_cnt >= dfd_num; exit_err(ERR_OVER|ERR_CODE|ERR_TABLE); fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _D049+0 -_F450 !WORD _D049+0 - !BYTE $6A ; LAW _D063+0 -_F451 !WORD _D063+0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B217 - !WORD _B217-* - !BYTE $2C,$10,$41 ; CW 16656 - !BYTE $54 ; CALL _C002 -_F452 !WORD _C002 -_B217 -_B218 -; toolsrc/codegen.pla: 0644: dfd_tag=>[dfd_cnt] = tag -; toolsrc/codegen.pla: 0645: dfd_cnt++ - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D048+0 -_F453 !WORD _D048+0 - !BYTE $BE ; IDXAW _D049+0 -_F454 !WORD _D049+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D049+0 -_F455 !WORD _D049+0 - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0646: end - !BYTE $7A ; SAW _D049+0 -_F456 !WORD _D049+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/codegen.pla: 0647: // -; toolsrc/codegen.pla: 0648: // Generate/add to a sequence of code -; toolsrc/codegen.pla: 0649: // -; toolsrc/codegen.pla: 0650: def gen_op(seq, code) - ; seq -> [0] - ; code -> [2] -_C059 ; gen_op() -; toolsrc/codegen.pla: 0651: word op - ; op -> [4] -; toolsrc/codegen.pla: 0652: -; toolsrc/codegen.pla: 0653: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0654: seq = new_op -; toolsrc/codegen.pla: 0655: op = seq -; toolsrc/codegen.pla: 0656: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B219 - !WORD _B219-* - !BYTE $54 ; CALL _C005 -_F457 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B220 - !WORD _B220-* -_B219 -; toolsrc/codegen.pla: 0657: op = seq -; toolsrc/codegen.pla: 0658: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B223 - !WORD _B223-* -_B221 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B223 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B221 - !WORD _B221-* -_B222 -; toolsrc/codegen.pla: 0659: op=>opnext = new_op -; toolsrc/codegen.pla: 0660: op = op=>opnext -; toolsrc/codegen.pla: 0661: fin - !BYTE $54 ; CALL _C005 -_F458 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B220 -; toolsrc/codegen.pla: 0662: op->opcode = code -; toolsrc/codegen.pla: 0663: op->opgroup = STACK_GROUP -; toolsrc/codegen.pla: 0664: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0665: end -; toolsrc/codegen.pla: 0666: def gen_const(seq, cval) - ; seq -> [0] - ; cval -> [2] -_C060 ; gen_const() -; toolsrc/codegen.pla: 0667: word op - ; op -> [4] -; toolsrc/codegen.pla: 0668: -; toolsrc/codegen.pla: 0669: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0670: seq = new_op -; toolsrc/codegen.pla: 0671: op = seq -; toolsrc/codegen.pla: 0672: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B224 - !WORD _B224-* - !BYTE $54 ; CALL _C005 -_F459 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B225 - !WORD _B225-* -_B224 -; toolsrc/codegen.pla: 0673: op = seq -; toolsrc/codegen.pla: 0674: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B228 - !WORD _B228-* -_B226 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B228 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B226 - !WORD _B226-* -_B227 -; toolsrc/codegen.pla: 0675: op=>opnext = new_op -; toolsrc/codegen.pla: 0676: op = op=>opnext -; toolsrc/codegen.pla: 0677: fin - !BYTE $54 ; CALL _C005 -_F460 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B225 -; toolsrc/codegen.pla: 0678: op->opcode = CONST_CODE -; toolsrc/codegen.pla: 0679: op->opgroup = CONST_GROUP -; toolsrc/codegen.pla: 0680: op=>opval = cval -; toolsrc/codegen.pla: 0681: return seq - !BYTE $2A,$2C ; CB 44 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0682: end -; toolsrc/codegen.pla: 0683: def gen_str(seq, cval) - ; seq -> [0] - ; cval -> [2] -_C061 ; gen_str() -; toolsrc/codegen.pla: 0684: word op - ; op -> [4] -; toolsrc/codegen.pla: 0685: -; toolsrc/codegen.pla: 0686: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0687: seq = new_op -; toolsrc/codegen.pla: 0688: op = seq -; toolsrc/codegen.pla: 0689: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B229 - !WORD _B229-* - !BYTE $54 ; CALL _C005 -_F461 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B230 - !WORD _B230-* -_B229 -; toolsrc/codegen.pla: 0690: op = seq -; toolsrc/codegen.pla: 0691: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B233 - !WORD _B233-* -_B231 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B233 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B231 - !WORD _B231-* -_B232 -; toolsrc/codegen.pla: 0692: op=>opnext = new_op -; toolsrc/codegen.pla: 0693: op = op=>opnext -; toolsrc/codegen.pla: 0694: fin - !BYTE $54 ; CALL _C005 -_F462 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B230 -; toolsrc/codegen.pla: 0695: op->opcode = CONSTR_CODE -; toolsrc/codegen.pla: 0696: op->opgroup = CONSTR_GROUP -; toolsrc/codegen.pla: 0697: op=>opval = cval -; toolsrc/codegen.pla: 0698: return seq - !BYTE $2A,$2E ; CB 46 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0699: end -; toolsrc/codegen.pla: 0700: def gen_oplcl(seq, code, offsz) - ; seq -> [0] - ; code -> [2] - ; offsz -> [4] -_C062 ; gen_oplcl() -; toolsrc/codegen.pla: 0701: word op - ; op -> [6] -; toolsrc/codegen.pla: 0702: -; toolsrc/codegen.pla: 0703: if not seq - !BYTE $58,$08,$03 ; ENTER 8,3 -; toolsrc/codegen.pla: 0704: seq = new_op -; toolsrc/codegen.pla: 0705: op = seq -; toolsrc/codegen.pla: 0706: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B234 - !WORD _B234-* - !BYTE $54 ; CALL _C005 -_F463 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B235 - !WORD _B235-* -_B234 -; toolsrc/codegen.pla: 0707: op = seq -; toolsrc/codegen.pla: 0708: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B238 - !WORD _B238-* -_B236 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B238 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B236 - !WORD _B236-* -_B237 -; toolsrc/codegen.pla: 0709: op=>opnext = new_op -; toolsrc/codegen.pla: 0710: op = op=>opnext -; toolsrc/codegen.pla: 0711: fin - !BYTE $54 ; CALL _C005 -_F464 !WORD _C005 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B235 -; toolsrc/codegen.pla: 0712: op->opcode = code -; toolsrc/codegen.pla: 0713: op->opgroup = LOCAL_GROUP -; toolsrc/codegen.pla: 0714: op=>opoffset = offsz -; toolsrc/codegen.pla: 0715: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $06 ; CN 3 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0716: end -; toolsrc/codegen.pla: 0717: def gen_opglbl(seq, code, tag, offsz) - ; seq -> [0] - ; code -> [2] - ; tag -> [4] - ; offsz -> [6] -_C063 ; gen_opglbl() -; toolsrc/codegen.pla: 0718: word op - ; op -> [8] -; toolsrc/codegen.pla: 0719: -; toolsrc/codegen.pla: 0720: if not seq - !BYTE $58,$0A,$04 ; ENTER 10,4 -; toolsrc/codegen.pla: 0721: seq = new_op -; toolsrc/codegen.pla: 0722: op = seq -; toolsrc/codegen.pla: 0723: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B239 - !WORD _B239-* - !BYTE $54 ; CALL _C005 -_F465 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B240 - !WORD _B240-* -_B239 -; toolsrc/codegen.pla: 0724: op = seq -; toolsrc/codegen.pla: 0725: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B243 - !WORD _B243-* -_B241 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B243 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B241 - !WORD _B241-* -_B242 -; toolsrc/codegen.pla: 0726: op=>opnext = new_op -; toolsrc/codegen.pla: 0727: op = op=>opnext -; toolsrc/codegen.pla: 0728: fin - !BYTE $54 ; CALL _C005 -_F466 !WORD _C005 - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$08 ; SLW [8] -_B240 -; toolsrc/codegen.pla: 0729: op->opcode = code -; toolsrc/codegen.pla: 0730: op->opgroup = GLOBAL_GROUP -; toolsrc/codegen.pla: 0731: op=>optag = tag -; toolsrc/codegen.pla: 0732: op=>opoffset = offsz -; toolsrc/codegen.pla: 0733: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $70 ; SB - !BYTE $08 ; CN 4 - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$04 ; ADDI 4 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/codegen.pla: 0734: end -; toolsrc/codegen.pla: 0735: def gen_oprel(seq, code, tag) - ; seq -> [0] - ; code -> [2] - ; tag -> [4] -_C064 ; gen_oprel() -; toolsrc/codegen.pla: 0736: word op - ; op -> [6] -; toolsrc/codegen.pla: 0737: -; toolsrc/codegen.pla: 0738: if not seq - !BYTE $58,$08,$03 ; ENTER 8,3 -; toolsrc/codegen.pla: 0739: seq = new_op -; toolsrc/codegen.pla: 0740: op = seq -; toolsrc/codegen.pla: 0741: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B244 - !WORD _B244-* - !BYTE $54 ; CALL _C005 -_F467 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B245 - !WORD _B245-* -_B244 -; toolsrc/codegen.pla: 0742: op = seq -; toolsrc/codegen.pla: 0743: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B248 - !WORD _B248-* -_B246 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B248 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B246 - !WORD _B246-* -_B247 -; toolsrc/codegen.pla: 0744: op=>opnext = new_op -; toolsrc/codegen.pla: 0745: op = op=>opnext -; toolsrc/codegen.pla: 0746: fin - !BYTE $54 ; CALL _C005 -_F468 !WORD _C005 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B245 -; toolsrc/codegen.pla: 0747: op->opcode = code -; toolsrc/codegen.pla: 0748: op->opgroup = RELATIVE_GROUP -; toolsrc/codegen.pla: 0749: op=>optag = tag -; toolsrc/codegen.pla: 0750: return seq - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $0A ; CN 5 - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/codegen.pla: 0751: end -; toolsrc/codegen.pla: 0752: def gen_ctag(seq, tag) - ; seq -> [0] - ; tag -> [2] -_C065 ; gen_ctag() -; toolsrc/codegen.pla: 0753: word op - ; op -> [4] -; toolsrc/codegen.pla: 0754: -; toolsrc/codegen.pla: 0755: if not seq - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0756: seq = new_op -; toolsrc/codegen.pla: 0757: op = seq -; toolsrc/codegen.pla: 0758: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B249 - !WORD _B249-* - !BYTE $54 ; CALL _C005 -_F469 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B250 - !WORD _B250-* -_B249 -; toolsrc/codegen.pla: 0759: op = seq -; toolsrc/codegen.pla: 0760: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B253 - !WORD _B253-* -_B251 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B253 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B251 - !WORD _B251-* -_B252 -; toolsrc/codegen.pla: 0761: op=>opnext = new_op -; toolsrc/codegen.pla: 0762: op = op=>opnext -; toolsrc/codegen.pla: 0763: fin - !BYTE $54 ; CALL _C005 -_F470 !WORD _C005 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B250 -; toolsrc/codegen.pla: 0764: op->opcode = INVALID_CODE -; toolsrc/codegen.pla: 0765: op->opgroup = CODETAG_GROUP -; toolsrc/codegen.pla: 0766: op=>optag = tag -; toolsrc/codegen.pla: 0767: return seq - !BYTE $2A,$FF ; CB 255 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $0C ; CN 6 - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0768: end -; toolsrc/codegen.pla: 0769: def gen_uop(seq, tkn) - ; seq -> [0] - ; tkn -> [2] -_C066 ; gen_uop() -; toolsrc/codegen.pla: 0770: byte code - ; code -> [4] -; toolsrc/codegen.pla: 0771: word op - ; op -> [5] -; toolsrc/codegen.pla: 0772: -; toolsrc/codegen.pla: 0773: if not seq - !BYTE $58,$07,$02 ; ENTER 7,2 -; toolsrc/codegen.pla: 0774: seq = new_op -; toolsrc/codegen.pla: 0775: op = seq -; toolsrc/codegen.pla: 0776: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B254 - !WORD _B254-* - !BYTE $54 ; CALL _C005 -_F471 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B255 - !WORD _B255-* -_B254 -; toolsrc/codegen.pla: 0777: op = seq -; toolsrc/codegen.pla: 0778: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B258 - !WORD _B258-* -_B256 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B258 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B256 - !WORD _B256-* -_B257 -; toolsrc/codegen.pla: 0779: op=>opnext = new_op -; toolsrc/codegen.pla: 0780: op = op=>opnext -; toolsrc/codegen.pla: 0781: fin - !BYTE $54 ; CALL _C005 -_F472 !WORD _C005 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B255 -; toolsrc/codegen.pla: 0782: when tkn - !BYTE $66,$02 ; LLW [2] - !BYTE $52 ; SEL - !WORD _B260-* -; toolsrc/codegen.pla: 0783: is NEG_TKN -_B261 -; toolsrc/codegen.pla: 0784: code = $90; break - !BYTE $2A,$90 ; CB 144 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -; toolsrc/codegen.pla: 0785: is COMP_TKN -_B262 -; toolsrc/codegen.pla: 0786: code = $92; break - !BYTE $2A,$92 ; CB 146 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -; toolsrc/codegen.pla: 0787: is LOGIC_NOT_TKN -_B263 -; toolsrc/codegen.pla: 0788: code = $80; break - !BYTE $2A,$80 ; CB 128 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -; toolsrc/codegen.pla: 0789: is INC_TKN -_B264 -; toolsrc/codegen.pla: 0790: code = $8C; break - !BYTE $2A,$8C ; CB 140 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -; toolsrc/codegen.pla: 0791: is DEC_TKN -_B265 -; toolsrc/codegen.pla: 0792: code = $8E; break - !BYTE $2A,$8E ; CB 142 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -; toolsrc/codegen.pla: 0793: is BPTR_TKN -_B266 -; toolsrc/codegen.pla: 0794: code = $60; break - !BYTE $2A,$60 ; CB 96 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -; toolsrc/codegen.pla: 0795: is WPTR_TKN -_B267 -; toolsrc/codegen.pla: 0796: code = $62; break - !BYTE $2A,$62 ; CB 98 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B259 - !WORD _B259-* -; toolsrc/codegen.pla: 0797: otherwise -_B260 - !BYTE $07 ; CASEBLOCK - !WORD $00A1 - !WORD _B263-* - !WORD $00AA - !WORD _B267-* - !WORD $00AD - !WORD _B261-* - !WORD $00C1 - !WORD _B264-* - !WORD $00C4 - !WORD _B265-* - !WORD $00DE - !WORD _B266-* - !WORD $00FE - !WORD _B262-* -; toolsrc/codegen.pla: 0798: exit_err(ERR_INVAL|ERR_SYNTAX) -; toolsrc/codegen.pla: 0799: wend - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F473 !WORD _C002 -_B259 -; toolsrc/codegen.pla: 0800: op->opcode = code -; toolsrc/codegen.pla: 0801: op->opgroup = STACK_GROUP -; toolsrc/codegen.pla: 0802: return seq - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$05 ; LLW [5] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$05 ; LLW [5] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/codegen.pla: 0803: end -; toolsrc/codegen.pla: 0804: def gen_bop(seq, tkn) - ; seq -> [0] - ; tkn -> [2] -_C067 ; gen_bop() -; toolsrc/codegen.pla: 0805: byte code - ; code -> [4] -; toolsrc/codegen.pla: 0806: word op - ; op -> [5] -; toolsrc/codegen.pla: 0807: -; toolsrc/codegen.pla: 0808: if not seq - !BYTE $58,$07,$02 ; ENTER 7,2 -; toolsrc/codegen.pla: 0809: seq = new_op -; toolsrc/codegen.pla: 0810: op = seq -; toolsrc/codegen.pla: 0811: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B268 - !WORD _B268-* - !BYTE $54 ; CALL _C005 -_F474 !WORD _C005 - !BYTE $6E,$00 ; DLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B269 - !WORD _B269-* -_B268 -; toolsrc/codegen.pla: 0812: op = seq -; toolsrc/codegen.pla: 0813: while op=>opnext; op = op=>opnext; loop - !BYTE $66,$00 ; LLW [0] - !BYTE $76,$05 ; SLW [5] - !BYTE $50 ; BRNCH _B272 - !WORD _B272-* -_B270 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B272 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B270 - !WORD _B270-* -_B271 -; toolsrc/codegen.pla: 0814: op=>opnext = new_op -; toolsrc/codegen.pla: 0815: op = op=>opnext -; toolsrc/codegen.pla: 0816: fin - !BYTE $54 ; CALL _C005 -_F475 !WORD _C005 - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $72 ; SW - !BYTE $66,$05 ; LLW [5] - !BYTE $38,$06 ; ADDI 6 - !BYTE $62 ; LW - !BYTE $76,$05 ; SLW [5] -_B269 -; toolsrc/codegen.pla: 0817: when tkn - !BYTE $66,$02 ; LLW [2] - !BYTE $52 ; SEL - !WORD _B274-* -; toolsrc/codegen.pla: 0818: is MUL_TKN -_B275 -; toolsrc/codegen.pla: 0819: code = $86; break - !BYTE $2A,$86 ; CB 134 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0820: is DIV_TKN -_B276 -; toolsrc/codegen.pla: 0821: code = $88; break - !BYTE $2A,$88 ; CB 136 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0822: is MOD_TKN -_B277 -; toolsrc/codegen.pla: 0823: code = $8A; break - !BYTE $2A,$8A ; CB 138 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0824: is ADD_TKN -_B278 -; toolsrc/codegen.pla: 0825: code = $82; break - !BYTE $2A,$82 ; CB 130 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0826: is SUB_TKN -_B279 -; toolsrc/codegen.pla: 0827: code = $84; break - !BYTE $2A,$84 ; CB 132 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0828: is SHL_TKN -_B280 -; toolsrc/codegen.pla: 0829: code = $9A; break - !BYTE $2A,$9A ; CB 154 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0830: is SHR_TKN -_B281 -; toolsrc/codegen.pla: 0831: code = $9C; break - !BYTE $2A,$9C ; CB 156 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0832: is AND_TKN -_B282 -; toolsrc/codegen.pla: 0833: code = $94; break - !BYTE $2A,$94 ; CB 148 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0834: is OR_TKN -_B283 -; toolsrc/codegen.pla: 0835: code = $96; break - !BYTE $2A,$96 ; CB 150 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0836: is EOR_TKN -_B284 -; toolsrc/codegen.pla: 0837: code = $98; break - !BYTE $2A,$98 ; CB 152 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0838: is EQ_TKN -_B285 -; toolsrc/codegen.pla: 0839: code = $40; break - !BYTE $2A,$40 ; CB 64 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0840: is NE_TKN -_B286 -; toolsrc/codegen.pla: 0841: code = $42; break - !BYTE $2A,$42 ; CB 66 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0842: is GE_TKN -_B287 -; toolsrc/codegen.pla: 0843: code = $48; break - !BYTE $2A,$48 ; CB 72 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0844: is LT_TKN -_B288 -; toolsrc/codegen.pla: 0845: code = $46; break - !BYTE $2A,$46 ; CB 70 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0846: is GT_TKN -_B289 -; toolsrc/codegen.pla: 0847: code = $44; break - !BYTE $2A,$44 ; CB 68 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0848: is LE_TKN -_B290 -; toolsrc/codegen.pla: 0849: code = $4A; break - !BYTE $2A,$4A ; CB 74 - !BYTE $74,$04 ; SLB [4] - !BYTE $50 ; BRNCH _B273 - !WORD _B273-* -; toolsrc/codegen.pla: 0850: otherwise -_B274 - !BYTE $10 ; CASEBLOCK - !WORD $00A5 - !WORD _B277-* - !WORD $00A6 - !WORD _B282-* - !WORD $00AA - !WORD _B275-* - !WORD $00AB - !WORD _B278-* - !WORD $00AD - !WORD _B279-* - !WORD $00AF - !WORD _B276-* - !WORD $00BC - !WORD _B288-* - !WORD $00BE - !WORD _B289-* - !WORD $00C2 - !WORD _B290-* - !WORD $00C5 - !WORD _B285-* - !WORD $00C8 - !WORD _B287-* - !WORD $00CC - !WORD _B280-* - !WORD $00D2 - !WORD _B281-* - !WORD $00D5 - !WORD _B286-* - !WORD $00DE - !WORD _B284-* - !WORD $00FC - !WORD _B283-* -; toolsrc/codegen.pla: 0851: exit_err(ERR_INVAL|ERR_SYNTAX) -; toolsrc/codegen.pla: 0852: wend - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F476 !WORD _C002 -_B273 -; toolsrc/codegen.pla: 0853: op->opcode = code -; toolsrc/codegen.pla: 0854: op->opgroup = STACK_GROUP -; toolsrc/codegen.pla: 0855: return seq - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$05 ; LLW [5] - !BYTE $70 ; SB - !BYTE $04 ; CN 2 - !BYTE $66,$05 ; LLW [5] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/codegen.pla: 0856: end -; toolsrc/codegen.pla: 0857: // -; toolsrc/codegen.pla: 0858: // A DCI string is one that has the high bit set for every character except the last. -; toolsrc/codegen.pla: 0859: // More efficient than C or Pascal strings. -; toolsrc/codegen.pla: 0860: // -; toolsrc/codegen.pla: 0861: def dcitos(dci, str) - ; dci -> [0] - ; str -> [2] -_C068 ; dcitos() -; toolsrc/codegen.pla: 0862: byte len, c - ; len -> [4] - ; c -> [5] -; toolsrc/codegen.pla: 0863: len = 0 - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0864: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] -_B292 -; toolsrc/codegen.pla: 0865: c = ^(dci + len) -; toolsrc/codegen.pla: 0866: len++ - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0867: ^(str + len) = c & $7F -; toolsrc/codegen.pla: 0868: until not (c & $80) - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $3C,$7F ; ANDI 127 - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B293 - !BYTE $64,$05 ; LLB [5] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4E ; BRTRU _B292 - !WORD _B292-* -_B291 -; toolsrc/codegen.pla: 0869: ^str = len -; toolsrc/codegen.pla: 0870: return len - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0871: end -; toolsrc/codegen.pla: 0872: def stodci(str, dci) - ; str -> [0] - ; dci -> [2] -_C069 ; stodci() -; toolsrc/codegen.pla: 0873: byte len, c - ; len -> [4] - ; c -> [5] -; toolsrc/codegen.pla: 0874: len = ^str - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/codegen.pla: 0875: if not len; return 0; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $4E ; BRTRU _B294 - !WORD _B294-* - !BYTE $00 ; CN 0 - !BYTE $5A,$06 ; LEAVE 6 -_B294 -_B295 -; toolsrc/codegen.pla: 0876: c = toupper(^(str + len)) & $7F -; toolsrc/codegen.pla: 0877: len-- - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F477 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0878: ^(dci + len) = c -; toolsrc/codegen.pla: 0879: while len - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B298 - !WORD _B298-* -_B296 -; toolsrc/codegen.pla: 0880: c = toupper(^(str + len)) | $80 -; toolsrc/codegen.pla: 0881: len-- - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F478 !WORD 0 - !BYTE $3E,$80 ; ORI 128 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0882: ^(dci + len) = c -; toolsrc/codegen.pla: 0883: loop - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B298 - !BYTE $64,$04 ; LLB [4] - !BYTE $4E ; BRTRU _B296 - !WORD _B296-* -_B297 -; toolsrc/codegen.pla: 0884: return ^str - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/codegen.pla: 0885: end -; toolsrc/codegen.pla: 0886: // -; toolsrc/codegen.pla: 0887: // Write Extended REL header -; toolsrc/codegen.pla: 0888: // -; toolsrc/codegen.pla: 0889: def writeheader(refnum) - ; refnum -> [0] -_C070 ; writeheader() -; toolsrc/codegen.pla: 0890: word moddep, modfix - ; moddep -> [2] - ; modfix -> [4] -; toolsrc/codegen.pla: 0891: byte len, header[128] - ; len -> [6] - ; header -> [7] -; toolsrc/codegen.pla: 0892: -; toolsrc/codegen.pla: 0893: moddep = @header:12 // Beginning of module dependency list - !BYTE $58,$87,$01 ; ENTER 135,1 -; toolsrc/codegen.pla: 0894: while moddep_cnt - !BYTE $28,$13 ; LLA [19] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B301 - !WORD _B301-* -_B299 -; toolsrc/codegen.pla: 0895: moddep_cnt-- - !BYTE $68 ; LAB _D079+0 -_F479 !WORD _D079+0 - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0896: moddep = moddep + stodci(@moddep_tbl[moddep_cnt*16], moddep) -; toolsrc/codegen.pla: 0897: loop - !BYTE $78 ; SAB _D079+0 -_F480 !WORD _D079+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D078+0 -_F481 !WORD _D078+0 - !BYTE $68 ; LAB _D079+0 -_F482 !WORD _D079+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C069 -_F483 !WORD _C069 - !BYTE $82 ; ADD - !BYTE $76,$02 ; SLW [2] -_B301 - !BYTE $68 ; LAB _D079+0 -_F484 !WORD _D079+0 - !BYTE $4E ; BRTRU _B299 - !WORD _B299-* -_B300 -; toolsrc/codegen.pla: 0898: ^moddep = 0 // Terminate dependency list -; toolsrc/codegen.pla: 0899: len = moddep - 1 - @header -; toolsrc/codegen.pla: 0900: modfix = len + RELADDR - codebuff // Convert generated address into module adress -; toolsrc/codegen.pla: 0901: header:0 = len + codeptr - codebuff // sizeof header+data+bytecode -; toolsrc/codegen.pla: 0902: header:2 = $6502 // Magic # -; toolsrc/codegen.pla: 0903: header:4 = modsysflags // Module SYSFLAGS -; toolsrc/codegen.pla: 0904: header:6 = len + RELADDR + datasize // Byte code offset -; toolsrc/codegen.pla: 0905: header:8 = def_cnt // DEFinition count -; toolsrc/codegen.pla: 0906: header:10 = entrypoint + modfix // Init entrypoint -; toolsrc/codegen.pla: 0907: fileio:write(refnum, @header, len + 2) -; toolsrc/codegen.pla: 0908: return len - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $28,$07 ; LLA [7] - !BYTE $84 ; SUB - !BYTE $6C,$06 ; DLB [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D074+0 -_F485 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$04 ; SLW [4] - !BYTE $64,$06 ; LLB [6] - !BYTE $B6 ; ADDAW _D075+0 -_F486 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F487 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$07 ; SLW [7] - !BYTE $2C,$02,$65 ; CW 25858 - !BYTE $76,$09 ; SLW [9] - !BYTE $6A ; LAW _D077+0 -_F488 !WORD _D077+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $64,$06 ; LLB [6] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $B6 ; ADDAW _D069+0 -_F489 !WORD _D069+0 - !BYTE $76,$0D ; SLW [13] - !BYTE $68 ; LAB _D080+0 -_F490 !WORD _D080+0 - !BYTE $76,$0F ; SLW [15] - !BYTE $6A ; LAW _D076+0 -_F491 !WORD _D076+0 - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$11 ; SLW [17] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$07 ; LLA [7] - !BYTE $64,$06 ; LLB [6] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6A ; LAW _X031+20 -_F492 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$87 ; LEAVE 135 -; toolsrc/codegen.pla: 0909: end -; toolsrc/codegen.pla: 0910: // -; toolsrc/codegen.pla: 0911: // Write DeFinition Directory -; toolsrc/codegen.pla: 0912: // -; toolsrc/codegen.pla: 0913: def writeDFD(refnum, modfix)#0 - ; refnum -> [0] - ; modfix -> [2] -_C071 ; writeDFD() -; toolsrc/codegen.pla: 0914: word dfd, idptr, cnt - ; dfd -> [4] - ; idptr -> [6] - ; cnt -> [8] -; toolsrc/codegen.pla: 0915: byte defdir[128] - ; defdir -> [10] -; toolsrc/codegen.pla: 0916: -; toolsrc/codegen.pla: 0917: dfd = @defdir - !BYTE $58,$8A,$02 ; ENTER 138,2 -; toolsrc/codegen.pla: 0918: for cnt = 0 to dfd_cnt-1 - !BYTE $28,$0A ; LLA [10] - !BYTE $76,$04 ; SLW [4] - !BYTE $6A ; LAW _D049+0 -_F493 !WORD _D049+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B302 - !WORD _B302-* -_B303 - !BYTE $6E,$08 ; DLW [8] -; toolsrc/codegen.pla: 0919: dfd->0 = $02 -; toolsrc/codegen.pla: 0920: dfd=>1 = tag_addr=>[dfd_tag=>[cnt]] + modfix -; toolsrc/codegen.pla: 0921: dfd->3 = 0 -; toolsrc/codegen.pla: 0922: dfd = dfd + 4 -; toolsrc/codegen.pla: 0923: next - !BYTE $04 ; CN 2 - !BYTE $66,$04 ; LLW [4] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D052+0 -_F494 !WORD _D052+0 - !BYTE $6A ; LAW _D048+0 -_F495 !WORD _D048+0 - !BYTE $BA,$08 ; IDXLW [8] - !BYTE $62 ; LW - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$04 ; SLW [4] -_B304 - !BYTE $A4 ; INCBRLE _B303 - !WORD _B303-* -_B302 - !BYTE $76,$08 ; SLW [8] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0924: fileio:write(refnum, @defdir, dfd - @defdir) -; toolsrc/codegen.pla: 0925: end - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$0A ; LLA [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $28,$0A ; LLA [10] - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+20 -_F496 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $5A,$8A ; LEAVE 138 -; toolsrc/codegen.pla: 0926: // -; toolsrc/codegen.pla: 0927: // Build External Symbol Directory on heap -; toolsrc/codegen.pla: 0928: // -; toolsrc/codegen.pla: 0929: def buildESD(modfix)#2 - ; modfix -> [0] -_C072 ; buildESD() -; toolsrc/codegen.pla: 0930: word modofst, esdtbl, esd, idptr, idcnt, len - ; modofst -> [2] - ; esdtbl -> [4] - ; esd -> [6] - ; idptr -> [8] - ; idcnt -> [10] - ; len -> [12] -; toolsrc/codegen.pla: 0931: byte symnum - ; symnum -> [14] -; toolsrc/codegen.pla: 0932: -; toolsrc/codegen.pla: 0933: symnum, esdtbl, idptr, idcnt = 0, heapalloc(heapavail - 256), idglobal_tbl, globals - !BYTE $58,$0F,$01 ; ENTER 15,1 -; toolsrc/codegen.pla: 0934: esd = esdtbl -; toolsrc/codegen.pla: 0935: while idcnt - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X016 -_F497 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F498 !WORD 0 - !BYTE $6A ; LAW _D054+0 -_F499 !WORD _D054+0 - !BYTE $6A ; LAW _D057+0 -_F500 !WORD _D057+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $76,$08 ; SLW [8] - !BYTE $76,$04 ; SLW [4] - !BYTE $74,$0E ; SLB [14] - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B307 - !WORD _B307-* -_B305 -; toolsrc/codegen.pla: 0936: if idptr=>idtype & EXPORT_TYPE -; toolsrc/codegen.pla: 0937: esd = esd + stodci(@idptr->idname, esd) -; toolsrc/codegen.pla: 0938: esd->0 = $08 -; toolsrc/codegen.pla: 0939: esd=>1 = tag_addr=>[idptr=>idval] + modfix -; toolsrc/codegen.pla: 0940: esd = esd + 3 -; toolsrc/codegen.pla: 0941: elsif idptr=>idtype & EXTACCESS_TYPE - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B308 - !WORD _B308-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C069 -_F501 !WORD _C069 - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $10 ; CN 8 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D052+0 -_F502 !WORD _D052+0 - !BYTE $66,$08 ; LLW [8] - !BYTE $62 ; LW - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B309 - !WORD _B309-* -_B308 -; toolsrc/codegen.pla: 0942: esd = esd + stodci(@idptr->idname, esd) -; toolsrc/codegen.pla: 0943: esd->0 = $10 -; toolsrc/codegen.pla: 0944: esd=>1 = symnum -; toolsrc/codegen.pla: 0945: esd = esd + 3 -; toolsrc/codegen.pla: 0946: idptr->extnum = symnum -; toolsrc/codegen.pla: 0947: symnum++ - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B310 - !WORD _B310-* - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C069 -_F503 !WORD _C069 - !BYTE $82 ; ADD - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$10 ; CB 16 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $76,$06 ; SLW [6] - !BYTE $64,$0E ; LLB [14] - !BYTE $66,$08 ; LLW [8] - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $64,$0E ; LLB [14] - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0948: fin - !BYTE $74,$0E ; SLB [14] -_B310 -_B309 -; toolsrc/codegen.pla: 0949: idptr = idptr + idptr->idname + t_id -; toolsrc/codegen.pla: 0950: idcnt-- - !BYTE $66,$08 ; LLW [8] - !BYTE $34 ; DUP - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $8E ; DECR -; toolsrc/codegen.pla: 0951: loop - !BYTE $76,$0A ; SLW [10] -_B307 - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B305 - !WORD _B305-* -_B306 -; toolsrc/codegen.pla: 0952: ^esd = 0 -; toolsrc/codegen.pla: 0953: len = esd - esdtbl + 1 -; toolsrc/codegen.pla: 0954: heaprelease(esdtbl + len) -; toolsrc/codegen.pla: 0955: return esdtbl, len - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$04 ; LLW [4] - !BYTE $B2,$0C ; ADDLW [12] - !BYTE $54 ; CALL _X015 -_F504 !WORD 0 - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$0C ; LLW [12] - !BYTE $5A,$0F ; LEAVE 15 -; toolsrc/codegen.pla: 0956: end -; toolsrc/codegen.pla: 0957: // -; toolsrc/codegen.pla: 0958: // Write ReLocation Directory -; toolsrc/codegen.pla: 0959: // -; toolsrc/codegen.pla: 0960: def writeRLD(refnum, modofst)#0 - ; refnum -> [0] - ; modofst -> [2] -_C073 ; writeRLD() -; toolsrc/codegen.pla: 0961: word rldtbl, rld, rldlen, fixups, updtptr, idptr, idcnt, tag - ; rldtbl -> [4] - ; rld -> [6] - ; rldlen -> [8] - ; fixups -> [10] - ; updtptr -> [12] - ; idptr -> [14] - ; idcnt -> [16] - ; tag -> [18] -; toolsrc/codegen.pla: 0962: byte type - ; type -> [20] -; toolsrc/codegen.pla: 0963: -; toolsrc/codegen.pla: 0964: rldtbl = heapalloc(heapavail - 256) - !BYTE $58,$15,$02 ; ENTER 21,2 -; toolsrc/codegen.pla: 0965: rld = rldtbl -; toolsrc/codegen.pla: 0966: rldlen = 0 -; toolsrc/codegen.pla: 0967: for fixups = fixup_cnt-1 downto 0 - !BYTE $54 ; CALL _X016 -_F505 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X014 -_F506 !WORD 0 - !BYTE $6E,$04 ; DLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D046+0 -_F507 !WORD _D046+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B311 - !WORD _B311-* -_B312 - !BYTE $6E,$0A ; DLW [10] -; toolsrc/codegen.pla: 0968: tag = fixup_tag=>[fixups] -; toolsrc/codegen.pla: 0969: type = tag_type->[tag] -; toolsrc/codegen.pla: 0970: if not (type & RELATIVE_FIXUP) -; toolsrc/codegen.pla: 0971: if rldlen == 64 // Write out blocks of entries -; toolsrc/codegen.pla: 0972: fileio:write(refnum, rldtbl, rld - rldtbl) -; toolsrc/codegen.pla: 0973: rld = rldtbl -; toolsrc/codegen.pla: 0974: rldlen = 0 -; toolsrc/codegen.pla: 0975: fin - !BYTE $6A ; LAW _D050+0 -_F508 !WORD _D050+0 - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $62 ; LW - !BYTE $76,$12 ; SLW [18] - !BYTE $6A ; LAW _D053+0 -_F509 !WORD _D053+0 - !BYTE $B2,$12 ; ADDLW [18] - !BYTE $60 ; LB - !BYTE $6C,$14 ; DLB [20] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B314 - !WORD _B314-* - !BYTE $66,$08 ; LLW [8] - !BYTE $2A,$40 ; CB 64 - !BYTE $24 ; BRNE _B316 - !WORD _B316-* - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+20 -_F510 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $76,$06 ; SLW [6] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] -_B316 -_B317 -; toolsrc/codegen.pla: 0976: if type & EXTERN_FIXUP -; toolsrc/codegen.pla: 0977: idptr = idglobal_tbl -; toolsrc/codegen.pla: 0978: for idcnt = globals-1 downto 0 - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B318 - !WORD _B318-* - !BYTE $6A ; LAW _D054+0 -_F511 !WORD _D054+0 - !BYTE $76,$0E ; SLW [14] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D057+0 -_F512 !WORD _D057+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B320 - !WORD _B320-* -_B321 - !BYTE $6E,$10 ; DLW [16] -; toolsrc/codegen.pla: 0979: if (idptr=>idtype & EXTERN_TYPE) and (idptr=>idval == tag) -; toolsrc/codegen.pla: 0980: rld->3 = idptr->extnum -; toolsrc/codegen.pla: 0981: break - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $AC ; BRAND _B323 - !WORD _B323-* - !BYTE $66,$0E ; LLW [14] - !BYTE $62 ; LW - !BYTE $66,$12 ; LLW [18] - !BYTE $40 ; ISEQ -_B323 - !BYTE $4C ; BRFLS _B324 - !WORD _B324-* - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$06 ; ADDI 6 - !BYTE $60 ; LB - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B320 - !WORD _B320-* -; toolsrc/codegen.pla: 0982: fin -_B324 -_B325 -; toolsrc/codegen.pla: 0983: idptr = idptr + idptr->idname + t_id -; toolsrc/codegen.pla: 0984: next - !BYTE $66,$0E ; LLW [14] - !BYTE $34 ; DUP - !BYTE $38,$07 ; ADDI 7 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $38,$08 ; ADDI 8 - !BYTE $76,$0E ; SLW [14] -_B322 - !BYTE $A8 ; DECBRGE _B321 - !WORD _B321-* -_B320 - !BYTE $76,$10 ; SLW [16] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0985: else - !BYTE $50 ; BRNCH _B319 - !WORD _B319-* -_B318 -; toolsrc/codegen.pla: 0986: rld->3 = 0 -; toolsrc/codegen.pla: 0987: fin - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $70 ; SB -_B319 -; toolsrc/codegen.pla: 0988: rld->0 = $01 | (type & MASK_FIXUP) -; toolsrc/codegen.pla: 0989: rld=>1 = fixup_addr=>[fixups] + modofst -; toolsrc/codegen.pla: 0990: rld = rld + 4 -; toolsrc/codegen.pla: 0991: rldlen++ - !BYTE $02 ; CN 1 - !BYTE $64,$14 ; LLB [20] - !BYTE $3C,$90 ; ANDI 144 - !BYTE $96 ; OR - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D051+0 -_F513 !WORD _D051+0 - !BYTE $BA,$0A ; IDXLW [10] - !BYTE $62 ; LW - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $72 ; SW - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$04 ; ADDI 4 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/codegen.pla: 0992: fin - !BYTE $76,$08 ; SLW [8] -_B314 -_B315 -; toolsrc/codegen.pla: 0993: next -_B313 - !BYTE $A8 ; DECBRGE _B312 - !WORD _B312-* -_B311 - !BYTE $76,$0A ; SLW [10] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 0994: ^rld = 0 -; toolsrc/codegen.pla: 0995: fileio:write(refnum, rldtbl, rld - rldtbl + 1) -; toolsrc/codegen.pla: 0996: heaprelease(rldtbl) -; toolsrc/codegen.pla: 0997: end - !BYTE $00 ; CN 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $8C ; INCR - !BYTE $6A ; LAW _X031+20 -_F514 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F515 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$15 ; LEAVE 21 -; toolsrc/codegen.pla: 0998: // -; toolsrc/codegen.pla: 0999: // Write Extended REL file -; toolsrc/codegen.pla: 1000: // -; toolsrc/codegen.pla: 1001: def writemodule(refnum)#0 - ; refnum -> [0] -_C074 ; writemodule() -; toolsrc/codegen.pla: 1002: word hdrlen, esd, esdlen, modfix, modadj, modofst, fixups, updtptr - ; hdrlen -> [2] - ; esd -> [4] - ; esdlen -> [6] - ; modfix -> [8] - ; modadj -> [10] - ; modofst -> [12] - ; fixups -> [14] - ; updtptr -> [16] -; toolsrc/codegen.pla: 1003: -; toolsrc/codegen.pla: 1004: // -; toolsrc/codegen.pla: 1005: // Write module header -; toolsrc/codegen.pla: 1006: // -; toolsrc/codegen.pla: 1007: hdrlen = writeheader(refnum) - !BYTE $58,$12,$01 ; ENTER 18,1 -; toolsrc/codegen.pla: 1008: modfix = hdrlen + RELADDR -; toolsrc/codegen.pla: 1009: modofst = hdrlen - codebuff -; toolsrc/codegen.pla: 1010: // -; toolsrc/codegen.pla: 1011: // Adjust internal fixups for header size -; toolsrc/codegen.pla: 1012: // -; toolsrc/codegen.pla: 1013: for fixups = fixup_cnt-1 downto 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C070 -_F516 !WORD _C070 - !BYTE $6E,$02 ; DLW [2] - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $82 ; ADD - !BYTE $76,$08 ; SLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D074+0 -_F517 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D046+0 -_F518 !WORD _D046+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B326 - !WORD _B326-* -_B327 - !BYTE $6E,$0E ; DLW [14] -; toolsrc/codegen.pla: 1014: if not (tag_type->[fixup_tag=>[fixups]] & (EXTERN_FIXUP|RELATIVE_FIXUP)) -; toolsrc/codegen.pla: 1015: updtptr = fixup_addr=>[fixups] -; toolsrc/codegen.pla: 1016: *updtptr = *updtptr + modfix -; toolsrc/codegen.pla: 1017: fin - !BYTE $6A ; LAW _D053+0 -_F519 !WORD _D053+0 - !BYTE $6A ; LAW _D050+0 -_F520 !WORD _D050+0 - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $62 ; LW - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $3C,$12 ; ANDI 18 - !BYTE $4E ; BRTRU _B329 - !WORD _B329-* - !BYTE $6A ; LAW _D051+0 -_F521 !WORD _D051+0 - !BYTE $BA,$0E ; IDXLW [14] - !BYTE $62 ; LW - !BYTE $6E,$10 ; DLW [16] - !BYTE $62 ; LW - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $66,$10 ; LLW [16] - !BYTE $72 ; SW -_B329 -_B330 -; toolsrc/codegen.pla: 1018: next -_B328 - !BYTE $A8 ; DECBRGE _B327 - !WORD _B327-* -_B326 - !BYTE $76,$0E ; SLW [14] - !BYTE $30 ; DROP -; toolsrc/codegen.pla: 1019: // -; toolsrc/codegen.pla: 1020: // Write data/code buffer -; toolsrc/codegen.pla: 1021: // -; toolsrc/codegen.pla: 1022: fileio:write(refnum, codebuff, codeptr - codebuff) -; toolsrc/codegen.pla: 1023: // -; toolsrc/codegen.pla: 1024: // Write bytecode definition directory -; toolsrc/codegen.pla: 1025: // -; toolsrc/codegen.pla: 1026: writeDFD(refnum, modfix) -; toolsrc/codegen.pla: 1027: // -; toolsrc/codegen.pla: 1028: // Build EXERN/ENTRY directory -; toolsrc/codegen.pla: 1029: // -; toolsrc/codegen.pla: 1030: esd, esdlen = buildESD(modfix) -; toolsrc/codegen.pla: 1031: // -; toolsrc/codegen.pla: 1032: // Write relocation directory -; toolsrc/codegen.pla: 1033: // -; toolsrc/codegen.pla: 1034: writeRLD(refnum, modofst) -; toolsrc/codegen.pla: 1035: // -; toolsrc/codegen.pla: 1036: // Write EXTERN/EBTRY directory -; toolsrc/codegen.pla: 1037: // -; toolsrc/codegen.pla: 1038: fileio:write(refnum, esd, esdlen) -; toolsrc/codegen.pla: 1039: heaprelease(esd) -; toolsrc/codegen.pla: 1040: end - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D074+0 -_F522 !WORD _D074+0 - !BYTE $6A ; LAW _D075+0 -_F523 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F524 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $6A ; LAW _X031+20 -_F525 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C071 -_F526 !WORD _C071 - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C072 -_F527 !WORD _C072 - !BYTE $76,$06 ; SLW [6] - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C073 -_F528 !WORD _C073 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X031+20 -_F529 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X015 -_F530 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$12 ; LEAVE 18 -; toolsrc/plasm.pla: 0508: -; toolsrc/plasm.pla: 0509: include "toolsrc/lex.pla" -; toolsrc/lex.pla: 0001: // -; toolsrc/lex.pla: 0002: // Lexical anaylzer -; toolsrc/lex.pla: 0003: // -; toolsrc/lex.pla: 0004: //def isalpha(c) -; toolsrc/lex.pla: 0005: // if c >= 'A' and c <= 'Z' -; toolsrc/lex.pla: 0006: // return TRUE -; toolsrc/lex.pla: 0007: // //elsif c >= 'a' and c <= 'z' -; toolsrc/lex.pla: 0008: // // return TRUE -; toolsrc/lex.pla: 0009: // elsif c == '_' -; toolsrc/lex.pla: 0010: // return TRUE -; toolsrc/lex.pla: 0011: // fin -; toolsrc/lex.pla: 0012: // return FALSE -; toolsrc/lex.pla: 0013: //end -; toolsrc/lex.pla: 0014: //def isnum(c) -; toolsrc/lex.pla: 0015: // return c >= '0' and c <= '9' -; toolsrc/lex.pla: 0016: //end -; toolsrc/lex.pla: 0017: //def isalphanum(c) -; toolsrc/lex.pla: 0018: // if c >= 'A' and c <= 'Z' -; toolsrc/lex.pla: 0019: // return TRUE -; toolsrc/lex.pla: 0020: // //elsif c >= 'a' and c <= 'z' -; toolsrc/lex.pla: 0021: // // return TRUE -; toolsrc/lex.pla: 0022: // elsif c >= '0' and c <= '9' -; toolsrc/lex.pla: 0023: // return TRUE -; toolsrc/lex.pla: 0024: // elsif c == '_' -; toolsrc/lex.pla: 0025: // return TRUE -; toolsrc/lex.pla: 0026: // fin -; toolsrc/lex.pla: 0027: // return FALSE -; toolsrc/lex.pla: 0028: //end -; toolsrc/lex.pla: 0029: //def keymatch -; toolsrc/lex.pla: 0030: // byte i, keypos -; toolsrc/lex.pla: 0031: // word chrptr -; toolsrc/lex.pla: 0032: // -; toolsrc/lex.pla: 0033: // keypos = 0 -; toolsrc/lex.pla: 0034: // while keywrds[keypos] < tknlen -; toolsrc/lex.pla: 0035: // keypos = keypos + keywrds[keypos] + 2 -; toolsrc/lex.pla: 0036: // loop -; toolsrc/lex.pla: 0037: // chrptr = tknptr - 1 -; toolsrc/lex.pla: 0038: // while keywrds[keypos] == tknlen -; toolsrc/lex.pla: 0039: // for i = 1 to tknlen -; toolsrc/lex.pla: 0040: // if ^(chrptr + i) <> keywrds[keypos + i]; break; fin -; toolsrc/lex.pla: 0041: // next -; toolsrc/lex.pla: 0042: // if i > tknlen -; toolsrc/lex.pla: 0043: // return keywrds[keypos + keywrds[keypos] + 1] -; toolsrc/lex.pla: 0044: // fin -; toolsrc/lex.pla: 0045: // keypos = keypos + keywrds[keypos] + 2 -; toolsrc/lex.pla: 0046: // loop -; toolsrc/lex.pla: 0047: // return ID_TKN -; toolsrc/lex.pla: 0048: //end -; toolsrc/lex.pla: 0049: def scannum -_C075 ; scannum() -; toolsrc/lex.pla: 0050: word num - ; num -> [0] -; toolsrc/lex.pla: 0051: num = 0 - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/lex.pla: 0052: -; toolsrc/lex.pla: 0053: if ^scanptr == '$' -; toolsrc/lex.pla: 0054: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D098+0 -_F531 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$24 ; CB 36 - !BYTE $24 ; BRNE _B331 - !WORD _B331-* -_B334 -; toolsrc/lex.pla: 0055: scanptr++ - !BYTE $6A ; LAW _D098+0 -_F532 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0056: if ^scanptr >= '0' and ^scanptr <= '9' -; toolsrc/lex.pla: 0057: num = (num << 4) + ^scanptr - '0' -; toolsrc/lex.pla: 0058: elsif ^scanptr >= 'A' and ^scanptr <= 'F' - !BYTE $7A ; SAW _D098+0 -_F533 !WORD _D098+0 - !BYTE $6A ; LAW _D098+0 -_F534 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B336 - !WORD _B336-* - !BYTE $6A ; LAW _D098+0 -_F535 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B336 - !BYTE $4C ; BRFLS _B337 - !WORD _B337-* - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D098+0 -_F536 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -_B337 -; toolsrc/lex.pla: 0059: num = (num << 4) + ^scanptr - '7'// 'A'-10 -; toolsrc/lex.pla: 0060: elsif ^scanptr >= 'a' and ^scanptr <= 'f' - !BYTE $6A ; LAW _D098+0 -_F537 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$41 ; CB 65 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B339 - !WORD _B339-* - !BYTE $6A ; LAW _D098+0 -_F538 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$46 ; CB 70 - !BYTE $4A ; ISLE -_B339 - !BYTE $4C ; BRFLS _B340 - !WORD _B340-* - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D098+0 -_F539 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$37 ; SUBI 55 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -_B340 -; toolsrc/lex.pla: 0061: num = (num << 4) + ^scanptr - 'W'// 'a'-10 -; toolsrc/lex.pla: 0062: else - !BYTE $6A ; LAW _D098+0 -_F540 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$61 ; CB 97 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B341 - !WORD _B341-* - !BYTE $6A ; LAW _D098+0 -_F541 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$66 ; CB 102 - !BYTE $4A ; ISLE -_B341 - !BYTE $4C ; BRFLS _B342 - !WORD _B342-* - !BYTE $66,$00 ; LLW [0] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D098+0 -_F542 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$57 ; SUBI 87 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B338 - !WORD _B338-* -_B342 -; toolsrc/lex.pla: 0063: break - !BYTE $50 ; BRNCH _B333 - !WORD _B333-* -; toolsrc/lex.pla: 0064: fin -_B338 -; toolsrc/lex.pla: 0065: until not ^scanptr -_B335 - !BYTE $6A ; LAW _D098+0 -_F543 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B334 - !WORD _B334-* -_B333 -; toolsrc/lex.pla: 0066: elsif ^scanptr < '0' or ^scanptr > '9' - !BYTE $50 ; BRNCH _B332 - !WORD _B332-* -_B331 -; toolsrc/lex.pla: 0067: repeat - !BYTE $6A ; LAW _D098+0 -_F544 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B343 - !WORD _B343-* - !BYTE $6A ; LAW _D098+0 -_F545 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B343 - !BYTE $4C ; BRFLS _B344 - !WORD _B344-* -_B346 -; toolsrc/lex.pla: 0068: num = num * 10 + ^scanptr - '0' -; toolsrc/lex.pla: 0069: scanptr++ - !BYTE $66,$00 ; LLW [0] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $6A ; LAW _D098+0 -_F546 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D098+0 -_F547 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0070: until ^scanptr < '0' or ^scanptr > '9' - !BYTE $7A ; SAW _D098+0 -_F548 !WORD _D098+0 -_B347 - !BYTE $6A ; LAW _D098+0 -_F549 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B348 - !WORD _B348-* - !BYTE $6A ; LAW _D098+0 -_F550 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B348 - !BYTE $4C ; BRFLS _B346 - !WORD _B346-* -_B345 -; toolsrc/lex.pla: 0071: else - !BYTE $50 ; BRNCH _B332 - !WORD _B332-* -_B344 -; toolsrc/lex.pla: 0072: num = ^scanptr -; toolsrc/lex.pla: 0073: fin - !BYTE $6A ; LAW _D098+0 -_F551 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $76,$00 ; SLW [0] -_B332 -; toolsrc/lex.pla: 0074: return num - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/lex.pla: 0075: end -; toolsrc/lex.pla: 0076: def scan -_C076 ; scan() -; toolsrc/lex.pla: 0077: // -; toolsrc/lex.pla: 0078: // Skip whitespace -; toolsrc/lex.pla: 0079: // -; toolsrc/lex.pla: 0080: while ^scanptr == ' ' - !BYTE $50 ; BRNCH _B351 - !WORD _B351-* -_B349 -; toolsrc/lex.pla: 0081: scanptr++ - !BYTE $6A ; LAW _D098+0 -_F552 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0082: loop - !BYTE $7A ; SAW _D098+0 -_F553 !WORD _D098+0 -_B351 - !BYTE $6A ; LAW _D098+0 -_F554 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $22 ; BREQ _B349 - !WORD _B349-* -_B350 -; toolsrc/lex.pla: 0083: tknptr = scanptr -; toolsrc/lex.pla: 0084: scanchr, scanptr, token = scanid(scanptr, @keywrds) //scanchr = toupper(^scanptr) -; toolsrc/lex.pla: 0085: // -; toolsrc/lex.pla: 0086: // Scan for token based on first character -; toolsrc/lex.pla: 0087: // -; toolsrc/lex.pla: 0088: if token //if isalpha(scanchr) -; toolsrc/lex.pla: 0089: // -; toolsrc/lex.pla: 0090: // ID, either variable name or reserved word -; toolsrc/lex.pla: 0091: // -; toolsrc/lex.pla: 0092: //repeat -; toolsrc/lex.pla: 0093: // ^scanptr = scanchr -; toolsrc/lex.pla: 0094: // scanptr++ -; toolsrc/lex.pla: 0095: // scanchr = toupper(^scanptr) -; toolsrc/lex.pla: 0096: //until not isalphanum(scanchr) -; toolsrc/lex.pla: 0097: tknlen = scanptr - tknptr -; toolsrc/lex.pla: 0098: elsif scanchr >= '0' and scanchr <= '9' // isnum() - !BYTE $6A ; LAW _D098+0 -_F555 !WORD _D098+0 - !BYTE $7A ; SAW _D102+0 -_F556 !WORD _D102+0 - !BYTE $6A ; LAW _D098+0 -_F557 !WORD _D098+0 - !BYTE $26 ; LA _D036+0 -_F558 !WORD _D036+0 - !BYTE $54 ; CALL _A000 -_F559 !WORD _A000 - !BYTE $78 ; SAB _D099+0 -_F560 !WORD _D099+0 - !BYTE $7A ; SAW _D098+0 -_F561 !WORD _D098+0 - !BYTE $78 ; SAB _D100+0 -_F562 !WORD _D100+0 - !BYTE $68 ; LAB _D099+0 -_F563 !WORD _D099+0 - !BYTE $4C ; BRFLS _B352 - !WORD _B352-* - !BYTE $6A ; LAW _D098+0 -_F564 !WORD _D098+0 - !BYTE $6A ; LAW _D102+0 -_F565 !WORD _D102+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D101+0 -_F566 !WORD _D101+0 - !BYTE $50 ; BRNCH _B353 - !WORD _B353-* -_B352 -; toolsrc/lex.pla: 0099: // -; toolsrc/lex.pla: 0100: // Decimal constant -; toolsrc/lex.pla: 0101: // -; toolsrc/lex.pla: 0102: token = INT_TKN -; toolsrc/lex.pla: 0103: constval = 0 -; toolsrc/lex.pla: 0104: repeat - !BYTE $68 ; LAB _D100+0 -_F567 !WORD _D100+0 - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B354 - !WORD _B354-* - !BYTE $68 ; LAB _D100+0 -_F568 !WORD _D100+0 - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B354 - !BYTE $4C ; BRFLS _B355 - !WORD _B355-* - !BYTE $2A,$C9 ; CB 201 - !BYTE $78 ; SAB _D099+0 -_F569 !WORD _D099+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D104+0 -_F570 !WORD _D104+0 -_B357 -; toolsrc/lex.pla: 0105: constval = constval * 10 + ^scanptr - '0' -; toolsrc/lex.pla: 0106: scanptr++ - !BYTE $6A ; LAW _D104+0 -_F571 !WORD _D104+0 - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $6A ; LAW _D098+0 -_F572 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $7A ; SAW _D104+0 -_F573 !WORD _D104+0 - !BYTE $6A ; LAW _D098+0 -_F574 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0107: until ^scanptr < '0' or ^scanptr > '9' - !BYTE $7A ; SAW _D098+0 -_F575 !WORD _D098+0 -_B358 - !BYTE $6A ; LAW _D098+0 -_F576 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B359 - !WORD _B359-* - !BYTE $6A ; LAW _D098+0 -_F577 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B359 - !BYTE $4C ; BRFLS _B357 - !WORD _B357-* -_B356 -; toolsrc/lex.pla: 0108: else - !BYTE $50 ; BRNCH _B353 - !WORD _B353-* -_B355 -; toolsrc/lex.pla: 0109: // -; toolsrc/lex.pla: 0110: // Potential multiple character tokens -; toolsrc/lex.pla: 0111: // -; toolsrc/lex.pla: 0112: when scanchr - !BYTE $68 ; LAB _D100+0 -_F578 !WORD _D100+0 - !BYTE $52 ; SEL - !WORD _B361-* -; toolsrc/lex.pla: 0113: is '$' -_B362 -; toolsrc/lex.pla: 0114: // -; toolsrc/lex.pla: 0115: // Hexadecimal constant -; toolsrc/lex.pla: 0116: // -; toolsrc/lex.pla: 0117: token = INT_TKN -; toolsrc/lex.pla: 0118: constval = 0 -; toolsrc/lex.pla: 0119: repeat - !BYTE $2A,$C9 ; CB 201 - !BYTE $78 ; SAB _D099+0 -_F579 !WORD _D099+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D104+0 -_F580 !WORD _D104+0 -_B364 -; toolsrc/lex.pla: 0120: scanptr++ - !BYTE $6A ; LAW _D098+0 -_F581 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0121: if ^scanptr >= '0' and ^scanptr <= '9' -; toolsrc/lex.pla: 0122: constval = (constval << 4) + ^scanptr - '0' -; toolsrc/lex.pla: 0123: elsif ^scanptr >= 'A' and ^scanptr <= 'F' - !BYTE $7A ; SAW _D098+0 -_F582 !WORD _D098+0 - !BYTE $6A ; LAW _D098+0 -_F583 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B366 - !WORD _B366-* - !BYTE $6A ; LAW _D098+0 -_F584 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B366 - !BYTE $4C ; BRFLS _B367 - !WORD _B367-* - !BYTE $6A ; LAW _D104+0 -_F585 !WORD _D104+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D098+0 -_F586 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$30 ; SUBI 48 - !BYTE $7A ; SAW _D104+0 -_F587 !WORD _D104+0 - !BYTE $50 ; BRNCH _B368 - !WORD _B368-* -_B367 -; toolsrc/lex.pla: 0124: constval = (constval << 4) + ^scanptr - '7'// 'A'-10 -; toolsrc/lex.pla: 0125: elsif ^scanptr >= 'a' and ^scanptr <= 'f' - !BYTE $6A ; LAW _D098+0 -_F588 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$41 ; CB 65 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B369 - !WORD _B369-* - !BYTE $6A ; LAW _D098+0 -_F589 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$46 ; CB 70 - !BYTE $4A ; ISLE -_B369 - !BYTE $4C ; BRFLS _B370 - !WORD _B370-* - !BYTE $6A ; LAW _D104+0 -_F590 !WORD _D104+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D098+0 -_F591 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$37 ; SUBI 55 - !BYTE $7A ; SAW _D104+0 -_F592 !WORD _D104+0 - !BYTE $50 ; BRNCH _B368 - !WORD _B368-* -_B370 -; toolsrc/lex.pla: 0126: constval = (constval << 4) + ^scanptr - 'W'// 'a'-10 -; toolsrc/lex.pla: 0127: else - !BYTE $6A ; LAW _D098+0 -_F593 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$61 ; CB 97 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B371 - !WORD _B371-* - !BYTE $6A ; LAW _D098+0 -_F594 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$66 ; CB 102 - !BYTE $4A ; ISLE -_B371 - !BYTE $4C ; BRFLS _B372 - !WORD _B372-* - !BYTE $6A ; LAW _D104+0 -_F595 !WORD _D104+0 - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $6A ; LAW _D098+0 -_F596 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$57 ; SUBI 87 - !BYTE $7A ; SAW _D104+0 -_F597 !WORD _D104+0 - !BYTE $50 ; BRNCH _B368 - !WORD _B368-* -_B372 -; toolsrc/lex.pla: 0128: break - !BYTE $50 ; BRNCH _B363 - !WORD _B363-* -; toolsrc/lex.pla: 0129: fin -_B368 -; toolsrc/lex.pla: 0130: until not ^scanptr -_B365 - !BYTE $6A ; LAW _D098+0 -_F598 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B364 - !WORD _B364-* -_B363 -; toolsrc/lex.pla: 0131: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0132: is '\'' -_B373 -; toolsrc/lex.pla: 0133: // -; toolsrc/lex.pla: 0134: // Character constant -; toolsrc/lex.pla: 0135: // -; toolsrc/lex.pla: 0136: token = CHR_TKN -; toolsrc/lex.pla: 0137: scanptr++ - !BYTE $2A,$C3 ; CB 195 - !BYTE $78 ; SAB _D099+0 -_F599 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F600 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0138: if ^scanptr <> '\\' -; toolsrc/lex.pla: 0139: constval = ^scanptr -; toolsrc/lex.pla: 0140: else - !BYTE $7A ; SAW _D098+0 -_F601 !WORD _D098+0 - !BYTE $6A ; LAW _D098+0 -_F602 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$5C ; CB 92 - !BYTE $22 ; BREQ _B374 - !WORD _B374-* - !BYTE $6A ; LAW _D098+0 -_F603 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $7A ; SAW _D104+0 -_F604 !WORD _D104+0 - !BYTE $50 ; BRNCH _B375 - !WORD _B375-* -_B374 -; toolsrc/lex.pla: 0141: scanptr++ - !BYTE $6A ; LAW _D098+0 -_F605 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0142: when ^scanptr - !BYTE $7A ; SAW _D098+0 -_F606 !WORD _D098+0 - !BYTE $6A ; LAW _D098+0 -_F607 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B377-* -; toolsrc/lex.pla: 0143: is 'n' -_B378 -; toolsrc/lex.pla: 0144: is 'N' -_B379 -; toolsrc/lex.pla: 0145: constval = $0D; break - !BYTE $1A ; CN 13 - !BYTE $7A ; SAW _D104+0 -_F608 !WORD _D104+0 - !BYTE $50 ; BRNCH _B376 - !WORD _B376-* -; toolsrc/lex.pla: 0146: is 'r' -_B380 -; toolsrc/lex.pla: 0147: is 'R' -_B381 -; toolsrc/lex.pla: 0148: constval = $0A; break - !BYTE $14 ; CN 10 - !BYTE $7A ; SAW _D104+0 -_F609 !WORD _D104+0 - !BYTE $50 ; BRNCH _B376 - !WORD _B376-* -; toolsrc/lex.pla: 0149: is 't' -_B382 -; toolsrc/lex.pla: 0150: is 'T' -_B383 -; toolsrc/lex.pla: 0151: constval = $09; break - !BYTE $12 ; CN 9 - !BYTE $7A ; SAW _D104+0 -_F610 !WORD _D104+0 - !BYTE $50 ; BRNCH _B376 - !WORD _B376-* -; toolsrc/lex.pla: 0152: is '\\' -_B384 -; toolsrc/lex.pla: 0153: constval = '\\'; break - !BYTE $2A,$5C ; CB 92 - !BYTE $7A ; SAW _D104+0 -_F611 !WORD _D104+0 - !BYTE $50 ; BRNCH _B376 - !WORD _B376-* -; toolsrc/lex.pla: 0154: otherwise -_B377 - !BYTE $07 ; CASEBLOCK - !WORD $004E - !WORD _B379-* - !WORD $0052 - !WORD _B381-* - !WORD $0054 - !WORD _B383-* - !WORD $005C - !WORD _B384-* - !WORD $006E - !WORD _B378-* - !WORD $0072 - !WORD _B380-* - !WORD $0074 - !WORD _B382-* -; toolsrc/lex.pla: 0155: constval = scannum -; toolsrc/lex.pla: 0156: scanptr-- - !BYTE $54 ; CALL _C075 -_F612 !WORD _C075 - !BYTE $7A ; SAW _D104+0 -_F613 !WORD _D104+0 - !BYTE $6A ; LAW _D098+0 -_F614 !WORD _D098+0 - !BYTE $8E ; DECR -; toolsrc/lex.pla: 0157: wend - !BYTE $7A ; SAW _D098+0 -_F615 !WORD _D098+0 -_B376 -; toolsrc/lex.pla: 0158: fin -_B375 -; toolsrc/lex.pla: 0159: if ^(scanptr + 1) <> '\''; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $6A ; LAW _D098+0 -_F616 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$27 ; CB 39 - !BYTE $22 ; BREQ _B385 - !WORD _B385-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F617 !WORD _C002 -_B385 -_B386 -; toolsrc/lex.pla: 0160: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0161: break - !BYTE $6A ; LAW _D098+0 -_F618 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F619 !WORD _D098+0 - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0162: is '"' -_B387 -; toolsrc/lex.pla: 0163: // -; toolsrc/lex.pla: 0164: // String constant -; toolsrc/lex.pla: 0165: // -; toolsrc/lex.pla: 0166: token = STR_TKN -; toolsrc/lex.pla: 0167: constval = strconstptr -; toolsrc/lex.pla: 0168: ^constval = 0 -; toolsrc/lex.pla: 0169: strconstptr++ - !BYTE $2A,$D3 ; CB 211 - !BYTE $78 ; SAB _D099+0 -_F620 !WORD _D099+0 - !BYTE $6A ; LAW _D107+0 -_F621 !WORD _D107+0 - !BYTE $7A ; SAW _D104+0 -_F622 !WORD _D104+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D104+0 -_F623 !WORD _D104+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D107+0 -_F624 !WORD _D107+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0170: scanptr++ - !BYTE $7A ; SAW _D107+0 -_F625 !WORD _D107+0 - !BYTE $6A ; LAW _D098+0 -_F626 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0171: while ^scanptr and ^scanptr <> '"' - !BYTE $7A ; SAW _D098+0 -_F627 !WORD _D098+0 - !BYTE $50 ; BRNCH _B390 - !WORD _B390-* -_B388 -; toolsrc/lex.pla: 0172: if ^scanptr <> '\\' -; toolsrc/lex.pla: 0173: ^strconstptr = ^scanptr -; toolsrc/lex.pla: 0174: else - !BYTE $6A ; LAW _D098+0 -_F628 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$5C ; CB 92 - !BYTE $22 ; BREQ _B392 - !WORD _B392-* - !BYTE $6A ; LAW _D098+0 -_F629 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D107+0 -_F630 !WORD _D107+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B393 - !WORD _B393-* -_B392 -; toolsrc/lex.pla: 0175: scanptr++ - !BYTE $6A ; LAW _D098+0 -_F631 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0176: when ^scanptr - !BYTE $7A ; SAW _D098+0 -_F632 !WORD _D098+0 - !BYTE $6A ; LAW _D098+0 -_F633 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $52 ; SEL - !WORD _B395-* -; toolsrc/lex.pla: 0177: is 'n' -_B396 -; toolsrc/lex.pla: 0178: is 'N' -_B397 -; toolsrc/lex.pla: 0179: ^strconstptr = $0D; break - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _D107+0 -_F634 !WORD _D107+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B394 - !WORD _B394-* -; toolsrc/lex.pla: 0180: is 'r' -_B398 -; toolsrc/lex.pla: 0181: is 'R' -_B399 -; toolsrc/lex.pla: 0182: ^strconstptr = $0A; break - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D107+0 -_F635 !WORD _D107+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B394 - !WORD _B394-* -; toolsrc/lex.pla: 0183: is 't' -_B400 -; toolsrc/lex.pla: 0184: is 'T' -_B401 -; toolsrc/lex.pla: 0185: ^strconstptr = $09; break - !BYTE $12 ; CN 9 - !BYTE $6A ; LAW _D107+0 -_F636 !WORD _D107+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B394 - !WORD _B394-* -; toolsrc/lex.pla: 0186: is '\\' -_B402 -; toolsrc/lex.pla: 0187: ^strconstptr = '\\'; break - !BYTE $2A,$5C ; CB 92 - !BYTE $6A ; LAW _D107+0 -_F637 !WORD _D107+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B394 - !WORD _B394-* -; toolsrc/lex.pla: 0188: otherwise -_B395 - !BYTE $07 ; CASEBLOCK - !WORD $004E - !WORD _B397-* - !WORD $0052 - !WORD _B399-* - !WORD $0054 - !WORD _B401-* - !WORD $005C - !WORD _B402-* - !WORD $006E - !WORD _B396-* - !WORD $0072 - !WORD _B398-* - !WORD $0074 - !WORD _B400-* -; toolsrc/lex.pla: 0189: ^strconstptr = scannum -; toolsrc/lex.pla: 0190: scanptr-- - !BYTE $54 ; CALL _C075 -_F638 !WORD _C075 - !BYTE $6A ; LAW _D107+0 -_F639 !WORD _D107+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D098+0 -_F640 !WORD _D098+0 - !BYTE $8E ; DECR -; toolsrc/lex.pla: 0191: wend - !BYTE $7A ; SAW _D098+0 -_F641 !WORD _D098+0 -_B394 -; toolsrc/lex.pla: 0192: fin -_B393 -; toolsrc/lex.pla: 0193: strconstptr++ - !BYTE $6A ; LAW _D107+0 -_F642 !WORD _D107+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0194: ^constval++ - !BYTE $7A ; SAW _D107+0 -_F643 !WORD _D107+0 - !BYTE $6A ; LAW _D104+0 -_F644 !WORD _D104+0 - !BYTE $60 ; LB - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0195: scanptr++ - !BYTE $6A ; LAW _D104+0 -_F645 !WORD _D104+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D098+0 -_F646 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0196: loop - !BYTE $7A ; SAW _D098+0 -_F647 !WORD _D098+0 -_B390 - !BYTE $6A ; LAW _D098+0 -_F648 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B391 - !WORD _B391-* - !BYTE $6A ; LAW _D098+0 -_F649 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$22 ; CB 34 - !BYTE $42 ; ISNE -_B391 - !BYTE $4E ; BRTRU _B388 - !WORD _B388-* -_B389 -; toolsrc/lex.pla: 0197: if not ^scanptr; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $6A ; LAW _D098+0 -_F650 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B403 - !WORD _B403-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F651 !WORD _C002 -_B403 -_B404 -; toolsrc/lex.pla: 0198: strconstptr++ - !BYTE $6A ; LAW _D107+0 -_F652 !WORD _D107+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0199: scanptr++ - !BYTE $7A ; SAW _D107+0 -_F653 !WORD _D107+0 - !BYTE $6A ; LAW _D098+0 -_F654 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0200: break - !BYTE $7A ; SAW _D098+0 -_F655 !WORD _D098+0 - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0201: is '/' -_B405 -; toolsrc/lex.pla: 0202: if ^(scanptr + 1) == '/' -; toolsrc/lex.pla: 0203: token = EOL_TKN -; toolsrc/lex.pla: 0204: ^scanptr = $00 -; toolsrc/lex.pla: 0205: else - !BYTE $6A ; LAW _D098+0 -_F656 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B406 - !WORD _B406-* - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D099+0 -_F657 !WORD _D099+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D098+0 -_F658 !WORD _D098+0 - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B407 - !WORD _B407-* -_B406 -; toolsrc/lex.pla: 0206: token = DIV_TKN -; toolsrc/lex.pla: 0207: scanptr++ - !BYTE $2A,$AF ; CB 175 - !BYTE $78 ; SAB _D099+0 -_F659 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F660 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0208: fin - !BYTE $7A ; SAW _D098+0 -_F661 !WORD _D098+0 -_B407 -; toolsrc/lex.pla: 0209: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0210: is '=' -_B408 -; toolsrc/lex.pla: 0211: if ^(scanptr + 1) == '=' -; toolsrc/lex.pla: 0212: token = EQ_TKN -; toolsrc/lex.pla: 0213: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0214: elsif ^(scanptr + 1) == '>' - !BYTE $6A ; LAW _D098+0 -_F662 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3D ; CB 61 - !BYTE $24 ; BRNE _B409 - !WORD _B409-* - !BYTE $2A,$C5 ; CB 197 - !BYTE $78 ; SAB _D099+0 -_F663 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F664 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F665 !WORD _D098+0 - !BYTE $50 ; BRNCH _B410 - !WORD _B410-* -_B409 -; toolsrc/lex.pla: 0215: token = PTRW_TKN -; toolsrc/lex.pla: 0216: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0217: else - !BYTE $6A ; LAW _D098+0 -_F666 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B411 - !WORD _B411-* - !BYTE $2A,$D7 ; CB 215 - !BYTE $78 ; SAB _D099+0 -_F667 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F668 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F669 !WORD _D098+0 - !BYTE $50 ; BRNCH _B410 - !WORD _B410-* -_B411 -; toolsrc/lex.pla: 0218: token = SET_TKN -; toolsrc/lex.pla: 0219: scanptr++ - !BYTE $2A,$BD ; CB 189 - !BYTE $78 ; SAB _D099+0 -_F670 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F671 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0220: fin - !BYTE $7A ; SAW _D098+0 -_F672 !WORD _D098+0 -_B410 -; toolsrc/lex.pla: 0221: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0222: is '-' -_B412 -; toolsrc/lex.pla: 0223: if ^(scanptr + 1) == '>' -; toolsrc/lex.pla: 0224: token = PTRB_TKN -; toolsrc/lex.pla: 0225: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0226: elsif ^(scanptr + 1) == '-' - !BYTE $6A ; LAW _D098+0 -_F673 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B413 - !WORD _B413-* - !BYTE $2A,$D8 ; CB 216 - !BYTE $78 ; SAB _D099+0 -_F674 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F675 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F676 !WORD _D098+0 - !BYTE $50 ; BRNCH _B414 - !WORD _B414-* -_B413 -; toolsrc/lex.pla: 0227: token = DEC_TKN -; toolsrc/lex.pla: 0228: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0229: else - !BYTE $6A ; LAW _D098+0 -_F677 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B415 - !WORD _B415-* - !BYTE $2A,$C4 ; CB 196 - !BYTE $78 ; SAB _D099+0 -_F678 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F679 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F680 !WORD _D098+0 - !BYTE $50 ; BRNCH _B414 - !WORD _B414-* -_B415 -; toolsrc/lex.pla: 0230: token = SUB_TKN -; toolsrc/lex.pla: 0231: scanptr++ - !BYTE $2A,$AD ; CB 173 - !BYTE $78 ; SAB _D099+0 -_F681 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F682 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0232: fin - !BYTE $7A ; SAW _D098+0 -_F683 !WORD _D098+0 -_B414 -; toolsrc/lex.pla: 0233: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0234: is '+' -_B416 -; toolsrc/lex.pla: 0235: if ^(scanptr + 1) == '+' -; toolsrc/lex.pla: 0236: token = INC_TKN -; toolsrc/lex.pla: 0237: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0238: else - !BYTE $6A ; LAW _D098+0 -_F684 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2B ; CB 43 - !BYTE $24 ; BRNE _B417 - !WORD _B417-* - !BYTE $2A,$C1 ; CB 193 - !BYTE $78 ; SAB _D099+0 -_F685 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F686 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F687 !WORD _D098+0 - !BYTE $50 ; BRNCH _B418 - !WORD _B418-* -_B417 -; toolsrc/lex.pla: 0239: token = ADD_TKN -; toolsrc/lex.pla: 0240: scanptr++ - !BYTE $2A,$AB ; CB 171 - !BYTE $78 ; SAB _D099+0 -_F688 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F689 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0241: fin - !BYTE $7A ; SAW _D098+0 -_F690 !WORD _D098+0 -_B418 -; toolsrc/lex.pla: 0242: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0243: is '>' -_B419 -; toolsrc/lex.pla: 0244: if ^(scanptr + 1) == '>' -; toolsrc/lex.pla: 0245: token = SHR_TKN -; toolsrc/lex.pla: 0246: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0247: elsif ^(scanptr + 1) == '=' - !BYTE $6A ; LAW _D098+0 -_F691 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B420 - !WORD _B420-* - !BYTE $2A,$D2 ; CB 210 - !BYTE $78 ; SAB _D099+0 -_F692 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F693 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F694 !WORD _D098+0 - !BYTE $50 ; BRNCH _B421 - !WORD _B421-* -_B420 -; toolsrc/lex.pla: 0248: token = GE_TKN -; toolsrc/lex.pla: 0249: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0250: else - !BYTE $6A ; LAW _D098+0 -_F695 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3D ; CB 61 - !BYTE $24 ; BRNE _B422 - !WORD _B422-* - !BYTE $2A,$C8 ; CB 200 - !BYTE $78 ; SAB _D099+0 -_F696 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F697 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F698 !WORD _D098+0 - !BYTE $50 ; BRNCH _B421 - !WORD _B421-* -_B422 -; toolsrc/lex.pla: 0251: token = GT_TKN -; toolsrc/lex.pla: 0252: scanptr++ - !BYTE $2A,$BE ; CB 190 - !BYTE $78 ; SAB _D099+0 -_F699 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F700 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0253: fin - !BYTE $7A ; SAW _D098+0 -_F701 !WORD _D098+0 -_B421 -; toolsrc/lex.pla: 0254: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0255: is '<' -_B423 -; toolsrc/lex.pla: 0256: if ^(scanptr + 1) == '<' -; toolsrc/lex.pla: 0257: token = SHL_TKN -; toolsrc/lex.pla: 0258: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0259: elsif ^(scanptr + 1) == '=' - !BYTE $6A ; LAW _D098+0 -_F702 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3C ; CB 60 - !BYTE $24 ; BRNE _B424 - !WORD _B424-* - !BYTE $2A,$CC ; CB 204 - !BYTE $78 ; SAB _D099+0 -_F703 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F704 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F705 !WORD _D098+0 - !BYTE $50 ; BRNCH _B425 - !WORD _B425-* -_B424 -; toolsrc/lex.pla: 0260: token = LE_TKN -; toolsrc/lex.pla: 0261: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0262: elsif ^(scanptr + 1) == '>' - !BYTE $6A ; LAW _D098+0 -_F706 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3D ; CB 61 - !BYTE $24 ; BRNE _B426 - !WORD _B426-* - !BYTE $2A,$C2 ; CB 194 - !BYTE $78 ; SAB _D099+0 -_F707 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F708 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F709 !WORD _D098+0 - !BYTE $50 ; BRNCH _B425 - !WORD _B425-* -_B426 -; toolsrc/lex.pla: 0263: token = NE_TKN -; toolsrc/lex.pla: 0264: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0265: else - !BYTE $6A ; LAW _D098+0 -_F710 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3E ; CB 62 - !BYTE $24 ; BRNE _B427 - !WORD _B427-* - !BYTE $2A,$D5 ; CB 213 - !BYTE $78 ; SAB _D099+0 -_F711 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F712 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F713 !WORD _D098+0 - !BYTE $50 ; BRNCH _B425 - !WORD _B425-* -_B427 -; toolsrc/lex.pla: 0266: token = LT_TKN -; toolsrc/lex.pla: 0267: scanptr++ - !BYTE $2A,$BC ; CB 188 - !BYTE $78 ; SAB _D099+0 -_F714 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F715 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0268: fin - !BYTE $7A ; SAW _D098+0 -_F716 !WORD _D098+0 -_B425 -; toolsrc/lex.pla: 0269: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0270: is ':' -_B428 -; toolsrc/lex.pla: 0271: if ^(scanptr + 1) == ':' -; toolsrc/lex.pla: 0272: token = TRIELSE_TKN; -; toolsrc/lex.pla: 0273: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0274: else - !BYTE $6A ; LAW _D098+0 -_F717 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3A ; CB 58 - !BYTE $24 ; BRNE _B429 - !WORD _B429-* - !BYTE $2A,$DF ; CB 223 - !BYTE $78 ; SAB _D099+0 -_F718 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F719 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F720 !WORD _D098+0 - !BYTE $50 ; BRNCH _B430 - !WORD _B430-* -_B429 -; toolsrc/lex.pla: 0275: token = COLON_TKN; -; toolsrc/lex.pla: 0276: scanptr++ - !BYTE $2A,$BA ; CB 186 - !BYTE $78 ; SAB _D099+0 -_F721 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F722 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0277: fin - !BYTE $7A ; SAW _D098+0 -_F723 !WORD _D098+0 -_B430 -; toolsrc/lex.pla: 0278: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0279: is '?' -_B431 -; toolsrc/lex.pla: 0280: if ^(scanptr + 1) == '?' -; toolsrc/lex.pla: 0281: token = TERNARY_TKN; -; toolsrc/lex.pla: 0282: scanptr = scanptr + 2 -; toolsrc/lex.pla: 0283: fin - !BYTE $6A ; LAW _D098+0 -_F724 !WORD _D098+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$3F ; CB 63 - !BYTE $24 ; BRNE _B432 - !WORD _B432-* - !BYTE $2A,$BF ; CB 191 - !BYTE $78 ; SAB _D099+0 -_F725 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F726 !WORD _D098+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D098+0 -_F727 !WORD _D098+0 -_B432 -_B433 -; toolsrc/lex.pla: 0284: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0285: is 0 -_B434 -; toolsrc/lex.pla: 0286: is ';' -_B435 -; toolsrc/lex.pla: 0287: if token <> EOF_TKN -; toolsrc/lex.pla: 0288: token = EOL_TKN -; toolsrc/lex.pla: 0289: fin - !BYTE $68 ; LAB _D099+0 -_F728 !WORD _D099+0 - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B436 - !WORD _B436-* - !BYTE $04 ; CN 2 - !BYTE $78 ; SAB _D099+0 -_F729 !WORD _D099+0 -_B436 -_B437 -; toolsrc/lex.pla: 0290: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0291: is '\\' -_B438 -; toolsrc/lex.pla: 0292: if token <> EOF_TKN -; toolsrc/lex.pla: 0293: token = CNT_TKN -; toolsrc/lex.pla: 0294: nextln -; toolsrc/lex.pla: 0295: fin - !BYTE $68 ; LAB _D099+0 -_F730 !WORD _D099+0 - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B439 - !WORD _B439-* - !BYTE $2A,$DC ; CB 220 - !BYTE $78 ; SAB _D099+0 -_F731 !WORD _D099+0 - !BYTE $54 ; CALL _P000 -_F732 !WORD _P000 - !BYTE $30 ; DROP -_B439 -_B440 -; toolsrc/lex.pla: 0296: break - !BYTE $50 ; BRNCH _B360 - !WORD _B360-* -; toolsrc/lex.pla: 0297: otherwise -_B361 - !BYTE $0E ; CASEBLOCK - !WORD $0000 - !WORD _B434-* - !WORD $0022 - !WORD _B387-* - !WORD $0024 - !WORD _B362-* - !WORD $0027 - !WORD _B373-* - !WORD $002B - !WORD _B416-* - !WORD $002D - !WORD _B412-* - !WORD $002F - !WORD _B405-* - !WORD $003A - !WORD _B428-* - !WORD $003B - !WORD _B435-* - !WORD $003C - !WORD _B423-* - !WORD $003D - !WORD _B408-* - !WORD $003E - !WORD _B419-* - !WORD $003F - !WORD _B431-* - !WORD $005C - !WORD _B438-* -; toolsrc/lex.pla: 0298: // -; toolsrc/lex.pla: 0299: // Simple single character tokens -; toolsrc/lex.pla: 0300: // -; toolsrc/lex.pla: 0301: token = scanchr | $80 -; toolsrc/lex.pla: 0302: scanptr++ - !BYTE $68 ; LAB _D100+0 -_F733 !WORD _D100+0 - !BYTE $3E,$80 ; ORI 128 - !BYTE $78 ; SAB _D099+0 -_F734 !WORD _D099+0 - !BYTE $6A ; LAW _D098+0 -_F735 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0303: wend - !BYTE $7A ; SAW _D098+0 -_F736 !WORD _D098+0 -_B360 -; toolsrc/lex.pla: 0304: fin -_B353 -; toolsrc/lex.pla: 0305: tknlen = scanptr - tknptr -; toolsrc/lex.pla: 0306: return token - !BYTE $6A ; LAW _D098+0 -_F737 !WORD _D098+0 - !BYTE $6A ; LAW _D102+0 -_F738 !WORD _D102+0 - !BYTE $84 ; SUB - !BYTE $78 ; SAB _D101+0 -_F739 !WORD _D101+0 - !BYTE $68 ; LAB _D099+0 -_F740 !WORD _D099+0 - !BYTE $5C ; RET -; toolsrc/lex.pla: 0307: end -; toolsrc/lex.pla: 0308: def rewind(ptr)#0 - ; ptr -> [0] -_C077 ; rewind() -; toolsrc/lex.pla: 0309: scanptr = ptr - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/lex.pla: 0310: tknptr = ptr -; toolsrc/lex.pla: 0311: end - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D098+0 -_F741 !WORD _D098+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D102+0 -_F742 !WORD _D102+0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/lex.pla: 0312: def lookahead -_C078 ; lookahead() -; toolsrc/lex.pla: 0313: word backptr, backtkn - ; backptr -> [0] - ; backtkn -> [2] -; toolsrc/lex.pla: 0314: byte prevtkn, prevlen, look - ; prevtkn -> [4] - ; prevlen -> [5] - ; look -> [6] -; toolsrc/lex.pla: 0315: backptr = scanptr - !BYTE $58,$07,$00 ; ENTER 7,0 -; toolsrc/lex.pla: 0316: backtkn = tknptr -; toolsrc/lex.pla: 0317: prevtkn = token -; toolsrc/lex.pla: 0318: prevlen = tknlen -; toolsrc/lex.pla: 0319: look = scan -; toolsrc/lex.pla: 0320: scanptr = backptr -; toolsrc/lex.pla: 0321: tknptr = backtkn -; toolsrc/lex.pla: 0322: token = prevtkn -; toolsrc/lex.pla: 0323: tknlen = prevlen -; toolsrc/lex.pla: 0324: return look - !BYTE $6A ; LAW _D098+0 -_F743 !WORD _D098+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D102+0 -_F744 !WORD _D102+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $68 ; LAB _D099+0 -_F745 !WORD _D099+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $68 ; LAB _D101+0 -_F746 !WORD _D101+0 - !BYTE $74,$05 ; SLB [5] - !BYTE $54 ; CALL _C076 -_F747 !WORD _C076 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D098+0 -_F748 !WORD _D098+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D102+0 -_F749 !WORD _D102+0 - !BYTE $64,$04 ; LLB [4] - !BYTE $78 ; SAB _D099+0 -_F750 !WORD _D099+0 - !BYTE $64,$05 ; LLB [5] - !BYTE $78 ; SAB _D101+0 -_F751 !WORD _D101+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/lex.pla: 0325: end -; toolsrc/lex.pla: 0326: // -; toolsrc/lex.pla: 0327: // Get next line of input -; toolsrc/lex.pla: 0328: // -; toolsrc/lex.pla: 0329: def nextln -_P000 ; nextln() -_C079 ; nextln() -; toolsrc/lex.pla: 0330: var inptr, inlen - ; inptr -> [0] - ; inlen -> [2] -; toolsrc/lex.pla: 0331: -; toolsrc/lex.pla: 0332: strconstptr = strconstbuff // Reset string constant buffer - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/lex.pla: 0333: if ^scanptr == ';' -; toolsrc/lex.pla: 0334: scanptr++ - !BYTE $6A ; LAW _D106+0 -_F752 !WORD _D106+0 - !BYTE $7A ; SAW _D107+0 -_F753 !WORD _D107+0 - !BYTE $6A ; LAW _D098+0 -_F754 !WORD _D098+0 - !BYTE $60 ; LB - !BYTE $2A,$3B ; CB 59 - !BYTE $24 ; BRNE _B441 - !WORD _B441-* - !BYTE $6A ; LAW _D098+0 -_F755 !WORD _D098+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0335: scan -; toolsrc/lex.pla: 0336: else - !BYTE $7A ; SAW _D098+0 -_F756 !WORD _D098+0 - !BYTE $54 ; CALL _C076 -_F757 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B442 - !WORD _B442-* -_B441 -; toolsrc/lex.pla: 0337: if token <> EOL_TKN and token <> EOF_TKN and token <> CNT_TKN -; toolsrc/lex.pla: 0338: putc(token&$7F); puts("Extraneous characters\n") - !BYTE $68 ; LAB _D099+0 -_F758 !WORD _D099+0 - !BYTE $04 ; CN 2 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B443 - !WORD _B443-* - !BYTE $68 ; LAB _D099+0 -_F759 !WORD _D099+0 - !BYTE $02 ; CN 1 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B444 - !WORD _B444-* - !BYTE $68 ; LAB _D099+0 -_F760 !WORD _D099+0 - !BYTE $2A,$DC ; CB 220 - !BYTE $42 ; ISNE -_B444 -_B443 - !BYTE $4C ; BRFLS _B445 - !WORD _B445-* - !BYTE $68 ; LAB _D099+0 -_F761 !WORD _D099+0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $54 ; CALL _X002 -_F762 !WORD 0 - !BYTE $2E ; CS - !BYTE $16 - !BYTE $45,$78,$74,$72,$61,$6E,$65,$6F - !BYTE $75,$73,$20,$63,$68,$61,$72,$61 - !BYTE $63,$74,$65,$72,$73,$0D - !BYTE $54 ; CALL _X004 -_F763 !WORD 0 -; toolsrc/lex.pla: 0339: exit_err(0) -; toolsrc/lex.pla: 0340: fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F764 !WORD _C002 -_B445 -_B446 -; toolsrc/lex.pla: 0341: if token == CNT_TKN -; toolsrc/lex.pla: 0342: inptr = scanptr -; toolsrc/lex.pla: 0343: inlen = inbuff_len - (inptr - inbuff) -; toolsrc/lex.pla: 0344: if inlen <= 0 -; toolsrc/lex.pla: 0345: puts("Input "); exit_err(ERR_OVER) - !BYTE $68 ; LAB _D099+0 -_F765 !WORD _D099+0 - !BYTE $2A,$DC ; CB 220 - !BYTE $24 ; BRNE _B447 - !WORD _B447-* - !BYTE $6A ; LAW _D098+0 -_F766 !WORD _D098+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D097+0 -_F767 !WORD _D097+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D096+0 -_F768 !WORD _D096+0 - !BYTE $84 ; SUB - !BYTE $84 ; SUB - !BYTE $6E,$02 ; DLW [2] - !BYTE $00 ; CN 0 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B449 - !WORD _B449-* - !BYTE $2E ; CS - !BYTE $06 - !BYTE $49,$6E,$70,$75,$74,$20 - !BYTE $54 ; CALL _X004 -_F769 !WORD 0 -; toolsrc/lex.pla: 0346: fin - !BYTE $2A,$10 ; CB 16 - !BYTE $54 ; CALL _C002 -_F770 !WORD _C002 -_B449 -_B450 -; toolsrc/lex.pla: 0347: else - !BYTE $50 ; BRNCH _B448 - !WORD _B448-* -_B447 -; toolsrc/lex.pla: 0348: scanptr = inbuff -; toolsrc/lex.pla: 0349: inptr = inbuff -; toolsrc/lex.pla: 0350: inlen = inbuff_len -; toolsrc/lex.pla: 0351: fin - !BYTE $6A ; LAW _D096+0 -_F771 !WORD _D096+0 - !BYTE $7A ; SAW _D098+0 -_F772 !WORD _D098+0 - !BYTE $6A ; LAW _D096+0 -_F773 !WORD _D096+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D097+0 -_F774 !WORD _D097+0 - !BYTE $76,$02 ; SLW [2] -_B448 -; toolsrc/lex.pla: 0352: inlen = fileio:read(refnum, inptr, inlen) -; toolsrc/lex.pla: 0353: if inlen -; toolsrc/lex.pla: 0354: if ^(inptr + inlen - 1) == $0D; inlen--; fin - !BYTE $68 ; LAB _D087+0 -_F775 !WORD _D087+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X031+18 -_F776 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B451 - !WORD _B451-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B453 - !WORD _B453-* - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $76,$02 ; SLW [2] -_B453 -_B454 -; toolsrc/lex.pla: 0355: ^(inptr + inlen) = NULL // NULL terminate input -; toolsrc/lex.pla: 0356: lineno++ - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D105+0 -_F777 !WORD _D105+0 - !BYTE $8C ; INCR -; toolsrc/lex.pla: 0357: if !(lineno & $0F); putc('.'); fin - !BYTE $7E ; DAW _D105+0 -_F778 !WORD _D105+0 - !BYTE $3C,$0F ; ANDI 15 - !BYTE $4E ; BRTRU _B455 - !WORD _B455-* - !BYTE $2A,$2E ; CB 46 - !BYTE $54 ; CALL _X002 -_F779 !WORD 0 -_B455 -_B456 -; toolsrc/lex.pla: 0358: if scan == INCLUDE_TKN -; toolsrc/lex.pla: 0359: if incref; puts("Nested INCLUDEs not allowed\n"); exit_err(0); fin - !BYTE $54 ; CALL _C076 -_F780 !WORD _C076 - !BYTE $2A,$9F ; CB 159 - !BYTE $24 ; BRNE _B457 - !WORD _B457-* - !BYTE $68 ; LAB _D089+0 -_F781 !WORD _D089+0 - !BYTE $4C ; BRFLS _B459 - !WORD _B459-* - !BYTE $2E ; CS - !BYTE $1C - !BYTE $4E,$65,$73,$74,$65,$64,$20,$49 - !BYTE $4E,$43,$4C,$55,$44,$45,$73,$20 - !BYTE $6E,$6F,$74,$20,$61,$6C,$6C,$6F - !BYTE $77,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F782 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F783 !WORD _C002 -_B459 -_B460 -; toolsrc/lex.pla: 0360: if scan <> STR_TKN; puts("Missing INCLUDE file\n"); exit_err(0); fin - !BYTE $54 ; CALL _C076 -_F784 !WORD _C076 - !BYTE $2A,$D3 ; CB 211 - !BYTE $22 ; BREQ _B461 - !WORD _B461-* - !BYTE $2E ; CS - !BYTE $15 - !BYTE $4D,$69,$73,$73,$69,$6E,$67,$20 - !BYTE $49,$4E,$43,$4C,$55,$44,$45,$20 - !BYTE $66,$69,$6C,$65,$0D - !BYTE $54 ; CALL _X004 -_F785 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F786 !WORD _C002 -_B461 -_B462 -; toolsrc/lex.pla: 0361: strcpy(@incfile, constval) -; toolsrc/lex.pla: 0362: incref = fileio:open(@incfile) -; toolsrc/lex.pla: 0363: if not incref -; toolsrc/lex.pla: 0364: puts("Unable to open INCLUDE file: ") - !BYTE $26 ; LA _D091+0 -_F787 !WORD _D091+0 - !BYTE $6A ; LAW _D104+0 -_F788 !WORD _D104+0 - !BYTE $54 ; CALL _X019 -_F789 !WORD 0 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D091+0 -_F790 !WORD _D091+0 - !BYTE $6A ; LAW _X031+14 -_F791 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D089+0 -_F792 !WORD _D089+0 - !BYTE $4E ; BRTRU _B463 - !WORD _B463-* - !BYTE $2E ; CS - !BYTE $1D - !BYTE $55,$6E,$61,$62,$6C,$65,$20,$74 - !BYTE $6F,$20,$6F,$70,$65,$6E,$20,$49 - !BYTE $4E,$43,$4C,$55,$44,$45,$20,$66 - !BYTE $69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F793 !WORD 0 -; toolsrc/lex.pla: 0365: puts(@incfile) -; toolsrc/lex.pla: 0366: putln -; toolsrc/lex.pla: 0367: exit_err(0) -; toolsrc/lex.pla: 0368: fin - !BYTE $26 ; LA _D091+0 -_F794 !WORD _D091+0 - !BYTE $54 ; CALL _X004 -_F795 !WORD 0 - !BYTE $54 ; CALL _X003 -_F796 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F797 !WORD _C002 -_B463 -_B464 -; toolsrc/lex.pla: 0369: fileio:newline(incref, $7F, $0D) -; toolsrc/lex.pla: 0370: refnum = incref -; toolsrc/lex.pla: 0371: parsefile = @incfile -; toolsrc/lex.pla: 0372: srcline = lineno -; toolsrc/lex.pla: 0373: lineno = 0 -; toolsrc/lex.pla: 0374: scan -; toolsrc/lex.pla: 0375: return nextln - !BYTE $68 ; LAB _D089+0 -_F798 !WORD _D089+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F799 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D089+0 -_F800 !WORD _D089+0 - !BYTE $78 ; SAB _D087+0 -_F801 !WORD _D087+0 - !BYTE $26 ; LA _D091+0 -_F802 !WORD _D091+0 - !BYTE $7A ; SAW _D094+0 -_F803 !WORD _D094+0 - !BYTE $6A ; LAW _D105+0 -_F804 !WORD _D105+0 - !BYTE $7A ; SAW _D095+0 -_F805 !WORD _D095+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D105+0 -_F806 !WORD _D105+0 - !BYTE $54 ; CALL _C076 -_F807 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C079 -_F808 !WORD _C079 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/lex.pla: 0376: fin -_B457 -_B458 -; toolsrc/lex.pla: 0377: else - !BYTE $50 ; BRNCH _B452 - !WORD _B452-* -_B451 -; toolsrc/lex.pla: 0378: if refnum == incref -; toolsrc/lex.pla: 0379: fileio:close(incref) -; toolsrc/lex.pla: 0380: incref = 0 -; toolsrc/lex.pla: 0381: refnum = srcref -; toolsrc/lex.pla: 0382: parsefile = @srcfile -; toolsrc/lex.pla: 0383: lineno = srcline -; toolsrc/lex.pla: 0384: return nextln - !BYTE $68 ; LAB _D087+0 -_F809 !WORD _D087+0 - !BYTE $68 ; LAB _D089+0 -_F810 !WORD _D089+0 - !BYTE $24 ; BRNE _B465 - !WORD _B465-* - !BYTE $68 ; LAB _D089+0 -_F811 !WORD _D089+0 - !BYTE $6A ; LAW _X031+16 -_F812 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D089+0 -_F813 !WORD _D089+0 - !BYTE $68 ; LAB _D088+0 -_F814 !WORD _D088+0 - !BYTE $78 ; SAB _D087+0 -_F815 !WORD _D087+0 - !BYTE $26 ; LA _D090+0 -_F816 !WORD _D090+0 - !BYTE $7A ; SAW _D094+0 -_F817 !WORD _D094+0 - !BYTE $6A ; LAW _D095+0 -_F818 !WORD _D095+0 - !BYTE $7A ; SAW _D105+0 -_F819 !WORD _D105+0 - !BYTE $54 ; CALL _C079 -_F820 !WORD _C079 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/lex.pla: 0385: else - !BYTE $50 ; BRNCH _B466 - !WORD _B466-* -_B465 -; toolsrc/lex.pla: 0386: ^inbuff = NULL // NULL terminated 0 length string -; toolsrc/lex.pla: 0387: token = EOF_TKN -; toolsrc/lex.pla: 0388: fin - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D096+0 -_F821 !WORD _D096+0 - !BYTE $70 ; SB - !BYTE $02 ; CN 1 - !BYTE $78 ; SAB _D099+0 -_F822 !WORD _D099+0 -_B466 -; toolsrc/lex.pla: 0389: fin -_B452 -; toolsrc/lex.pla: 0390: fin -_B442 -; toolsrc/lex.pla: 0391: return token - !BYTE $68 ; LAB _D099+0 -_F823 !WORD _D099+0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/lex.pla: 0392: end -; toolsrc/plasm.pla: 0509: -; toolsrc/plasm.pla: 0510: include "toolsrc/parse.pla" -; toolsrc/parse.pla: 0001: // -; toolsrc/parse.pla: 0002: // Alebraic op to stack op -; toolsrc/parse.pla: 0003: // -; toolsrc/parse.pla: 0004: def push_op(op, prec)#0 - ; op -> [0] - ; prec -> [2] -_C080 ; push_op() -; toolsrc/parse.pla: 0005: if opsp == 16; exit_err(ERR_OVER|ERR_CODE|ERR_FRAME); fin - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $6A ; LAW _D041+0 -_F824 !WORD _D041+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B467 - !WORD _B467-* - !BYTE $2C,$10,$21 ; CW 8464 - !BYTE $54 ; CALL _C002 -_F825 !WORD _C002 -_B467 -_B468 -; toolsrc/parse.pla: 0006: opstack[opsp] = op -; toolsrc/parse.pla: 0007: precstack[opsp] = prec -; toolsrc/parse.pla: 0008: opsp++ - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D039+0 -_F826 !WORD _D039+0 - !BYTE $B6 ; ADDAW _D041+0 -_F827 !WORD _D041+0 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D040+0 -_F828 !WORD _D040+0 - !BYTE $B6 ; ADDAW _D041+0 -_F829 !WORD _D041+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D041+0 -_F830 !WORD _D041+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0009: end - !BYTE $7A ; SAW _D041+0 -_F831 !WORD _D041+0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/parse.pla: 0010: def pop_op -_C081 ; pop_op() -; toolsrc/parse.pla: 0011: opsp-- - !BYTE $6A ; LAW _D041+0 -_F832 !WORD _D041+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0012: if opsp < 0; exit_err(ERR_INVAL|ERR_CODE|ERR_FRAME); fin - !BYTE $7E ; DAW _D041+0 -_F833 !WORD _D041+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B469 - !WORD _B469-* - !BYTE $2C,$04,$21 ; CW 8452 - !BYTE $54 ; CALL _C002 -_F834 !WORD _C002 -_B469 -_B470 -; toolsrc/parse.pla: 0013: return opstack[opsp] - !BYTE $26 ; LA _D039+0 -_F835 !WORD _D039+0 - !BYTE $B6 ; ADDAW _D041+0 -_F836 !WORD _D041+0 - !BYTE $60 ; LB - !BYTE $5C ; RET -; toolsrc/parse.pla: 0014: end -; toolsrc/parse.pla: 0015: def tos_op -_C082 ; tos_op() -; toolsrc/parse.pla: 0016: return opsp < 0 ?? 0 :: opstack[opsp-1] - !BYTE $6A ; LAW _D041+0 -_F837 !WORD _D041+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B471 - !WORD _B471-* - !BYTE $00 ; CN 0 - !BYTE $50 ; BRNCH _B472 - !WORD _B472-* -_B471 - !BYTE $26 ; LA _D039+0 -_F838 !WORD _D039+0 - !BYTE $6A ; LAW _D041+0 -_F839 !WORD _D041+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB -_B472 - !BYTE $5C ; RET -; toolsrc/parse.pla: 0017: end -; toolsrc/parse.pla: 0018: def tos_op_prec(tos) - ; tos -> [0] -_C083 ; tos_op_prec() -; toolsrc/parse.pla: 0019: return opsp <= tos ?? 100 :: precstack[opsp-1] - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _D041+0 -_F840 !WORD _D041+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B473 - !WORD _B473-* - !BYTE $2A,$64 ; CB 100 - !BYTE $50 ; BRNCH _B474 - !WORD _B474-* -_B473 - !BYTE $26 ; LA _D040+0 -_F841 !WORD _D040+0 - !BYTE $6A ; LAW _D041+0 -_F842 !WORD _D041+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB -_B474 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/parse.pla: 0020: end -; toolsrc/parse.pla: 0021: def push_val(value, size, type)#0 - ; value -> [0] - ; size -> [2] - ; type -> [4] -_C084 ; push_val() -; toolsrc/parse.pla: 0022: byte i - ; i -> [6] -; toolsrc/parse.pla: 0023: if valsp == 16; exit_err(ERR_OVER|ERR_CODE|ERR_FRAME); fin - !BYTE $58,$07,$03 ; ENTER 7,3 - !BYTE $6A ; LAW _D045+0 -_F843 !WORD _D045+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B475 - !WORD _B475-* - !BYTE $2C,$10,$21 ; CW 8464 - !BYTE $54 ; CALL _C002 -_F844 !WORD _C002 -_B475 -_B476 -; toolsrc/parse.pla: 0024: valstack[valsp] = value -; toolsrc/parse.pla: 0025: sizestack[valsp] = size -; toolsrc/parse.pla: 0026: typestack[valsp] = type -; toolsrc/parse.pla: 0027: valsp++ - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D042+0 -_F845 !WORD _D042+0 - !BYTE $BE ; IDXAW _D045+0 -_F846 !WORD _D045+0 - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D043+0 -_F847 !WORD _D043+0 - !BYTE $B6 ; ADDAW _D045+0 -_F848 !WORD _D045+0 - !BYTE $70 ; SB - !BYTE $66,$04 ; LLW [4] - !BYTE $26 ; LA _D044+0 -_F849 !WORD _D044+0 - !BYTE $B6 ; ADDAW _D045+0 -_F850 !WORD _D045+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D045+0 -_F851 !WORD _D045+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0028: end - !BYTE $7A ; SAW _D045+0 -_F852 !WORD _D045+0 - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/parse.pla: 0029: def pop_val#3 -_C085 ; pop_val() -; toolsrc/parse.pla: 0030: byte i - ; i -> [0] -; toolsrc/parse.pla: 0031: valsp-- - !BYTE $58,$01,$00 ; ENTER 1,0 - !BYTE $6A ; LAW _D045+0 -_F853 !WORD _D045+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0032: if valsp < 0; exit_err(ERR_INVAL|ERR_CODE|ERR_FRAME); fin - !BYTE $7E ; DAW _D045+0 -_F854 !WORD _D045+0 - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B477 - !WORD _B477-* - !BYTE $2C,$04,$21 ; CW 8452 - !BYTE $54 ; CALL _C002 -_F855 !WORD _C002 -_B477 -_B478 -; toolsrc/parse.pla: 0033: return valstack[valsp], sizestack[valsp], typestack[valsp] - !BYTE $26 ; LA _D042+0 -_F856 !WORD _D042+0 - !BYTE $BE ; IDXAW _D045+0 -_F857 !WORD _D045+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D043+0 -_F858 !WORD _D043+0 - !BYTE $B6 ; ADDAW _D045+0 -_F859 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $26 ; LA _D044+0 -_F860 !WORD _D044+0 - !BYTE $B6 ; ADDAW _D045+0 -_F861 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/parse.pla: 0034: end -; toolsrc/parse.pla: 0035: // -; toolsrc/parse.pla: 0036: // Constant expression parsing -; toolsrc/parse.pla: 0037: // -; toolsrc/parse.pla: 0038: def calc_binaryop(op)#0 - ; op -> [0] -_C086 ; calc_binaryop() -; toolsrc/parse.pla: 0039: word val1, val2 - ; val1 -> [2] - ; val2 -> [4] -; toolsrc/parse.pla: 0040: byte size1, size2, type1, type2 - ; size1 -> [6] - ; size2 -> [7] - ; type1 -> [8] - ; type2 -> [9] -; toolsrc/parse.pla: 0041: -; toolsrc/parse.pla: 0042: val2, size2, type2 = pop_val - !BYTE $58,$0A,$01 ; ENTER 10,1 -; toolsrc/parse.pla: 0043: val1, size1, type1 = pop_val -; toolsrc/parse.pla: 0044: if type1 <> CONST_TYPE and type2 <> CONST_TYPE; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $54 ; CALL _C085 -_F862 !WORD _C085 - !BYTE $74,$09 ; SLB [9] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$04 ; SLW [4] - !BYTE $54 ; CALL _C085 -_F863 !WORD _C085 - !BYTE $74,$08 ; SLB [8] - !BYTE $74,$06 ; SLB [6] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$08 ; LLB [8] - !BYTE $02 ; CN 1 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B479 - !WORD _B479-* - !BYTE $64,$09 ; LLB [9] - !BYTE $02 ; CN 1 - !BYTE $42 ; ISNE -_B479 - !BYTE $4C ; BRFLS _B480 - !WORD _B480-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F864 !WORD _C002 -_B480 -_B481 -; toolsrc/parse.pla: 0045: when op - !BYTE $66,$00 ; LLW [0] - !BYTE $52 ; SEL - !WORD _B483-* -; toolsrc/parse.pla: 0046: is MUL_TKN -_B484 -; toolsrc/parse.pla: 0047: val1 = val1 * val2 -; toolsrc/parse.pla: 0048: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $86 ; MUL - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0049: is DIV_TKN -_B485 -; toolsrc/parse.pla: 0050: val1 = val1 / val2 -; toolsrc/parse.pla: 0051: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $88 ; DIV - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0052: is MOD_TKN -_B486 -; toolsrc/parse.pla: 0053: val1 = val1 % val2 -; toolsrc/parse.pla: 0054: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $8A ; MOD - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0055: is ADD_TKN -_B487 -; toolsrc/parse.pla: 0056: val1 = val1 + val2 -; toolsrc/parse.pla: 0057: break - !BYTE $66,$02 ; LLW [2] - !BYTE $B2,$04 ; ADDLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0058: is SUB_TKN -_B488 -; toolsrc/parse.pla: 0059: val1 = val1 - val2 -; toolsrc/parse.pla: 0060: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $84 ; SUB - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0061: is SHL_TKN -_B489 -; toolsrc/parse.pla: 0062: val1 = val1 << val2 -; toolsrc/parse.pla: 0063: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $9A ; SHL - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0064: is SHR_TKN -_B490 -; toolsrc/parse.pla: 0065: val1 = val1 >> val2 -; toolsrc/parse.pla: 0066: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $9C ; SHR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0067: is AND_TKN -_B491 -; toolsrc/parse.pla: 0068: val1 = val1 & val2 -; toolsrc/parse.pla: 0069: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $94 ; AND - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0070: is OR_TKN -_B492 -; toolsrc/parse.pla: 0071: val1 = val1 | val2 -; toolsrc/parse.pla: 0072: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $96 ; OR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0073: is EOR_TKN -_B493 -; toolsrc/parse.pla: 0074: val1 = val1 ^ val2 -; toolsrc/parse.pla: 0075: break - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $98 ; XOR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B482 - !WORD _B482-* -; toolsrc/parse.pla: 0076: otherwise -_B483 - !BYTE $0A ; CASEBLOCK - !WORD $00A5 - !WORD _B486-* - !WORD $00A6 - !WORD _B491-* - !WORD $00AA - !WORD _B484-* - !WORD $00AB - !WORD _B487-* - !WORD $00AD - !WORD _B488-* - !WORD $00AF - !WORD _B485-* - !WORD $00CC - !WORD _B489-* - !WORD $00D2 - !WORD _B490-* - !WORD $00DE - !WORD _B493-* - !WORD $00FC - !WORD _B492-* -; toolsrc/parse.pla: 0077: exit_err(ERR_INVAL|ERR_CONST) -; toolsrc/parse.pla: 0078: wend - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F865 !WORD _C002 -_B482 -; toolsrc/parse.pla: 0079: if size2 > size1; size1 = size2; fin - !BYTE $64,$07 ; LLB [7] - !BYTE $64,$06 ; LLB [6] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B494 - !WORD _B494-* - !BYTE $64,$07 ; LLB [7] - !BYTE $74,$06 ; SLB [6] -_B494 -_B495 -; toolsrc/parse.pla: 0080: push_val(val1, size1, type1) -; toolsrc/parse.pla: 0081: end - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$06 ; LLB [6] - !BYTE $64,$08 ; LLB [8] - !BYTE $54 ; CALL _C084 -_F866 !WORD _C084 - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/parse.pla: 0082: def parse_constterm -_C087 ; parse_constterm() -; toolsrc/parse.pla: 0083: -; toolsrc/parse.pla: 0084: when scan - !BYTE $54 ; CALL _C076 -_F867 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B497-* -; toolsrc/parse.pla: 0085: is OPEN_PAREN_TKN -_B498 -; toolsrc/parse.pla: 0086: push_val(parse_constexpr) -; toolsrc/parse.pla: 0087: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $54 ; CALL _P003 -_F868 !WORD _P003 - !BYTE $54 ; CALL _C084 -_F869 !WORD _C084 - !BYTE $68 ; LAB _D099+0 -_F870 !WORD _D099+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B499 - !WORD _B499-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F871 !WORD _C002 -_B499 -_B500 -; toolsrc/parse.pla: 0088: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/parse.pla: 0089: is ID_TKN -_B501 -; toolsrc/parse.pla: 0090: is INT_TKN -_B502 -; toolsrc/parse.pla: 0091: is CHR_TKN -_B503 -; toolsrc/parse.pla: 0092: is STR_TKN -_B504 -; toolsrc/parse.pla: 0093: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/parse.pla: 0094: wend - !BYTE $50 ; BRNCH _B496 - !WORD _B496-* -_B497 - !BYTE $05 ; CASEBLOCK - !WORD $00A8 - !WORD _B498-* - !WORD $00C3 - !WORD _B503-* - !WORD $00C9 - !WORD _B502-* - !WORD $00D3 - !WORD _B504-* - !WORD $00D6 - !WORD _B501-* -_B496 -; toolsrc/parse.pla: 0095: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; toolsrc/parse.pla: 0096: end -; toolsrc/parse.pla: 0097: def parse_constval -_C088 ; parse_constval() -; toolsrc/parse.pla: 0098: byte mod, size - ; mod -> [0] - ; size -> [1] -; toolsrc/parse.pla: 0099: word type, idptr, value - ; type -> [2] - ; idptr -> [4] - ; value -> [6] -; toolsrc/parse.pla: 0100: -; toolsrc/parse.pla: 0101: mod = 0 - !BYTE $58,$08,$00 ; ENTER 8,0 -; toolsrc/parse.pla: 0102: while not parse_constterm - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B507 - !WORD _B507-* -_B505 -; toolsrc/parse.pla: 0103: when token - !BYTE $68 ; LAB _D099+0 -_F872 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B509-* -; toolsrc/parse.pla: 0104: is SUB_TKN -_B510 -; toolsrc/parse.pla: 0105: mod = mod | 1; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$01 ; ORI 1 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B508 - !WORD _B508-* -; toolsrc/parse.pla: 0106: is COMP_TKN -_B511 -; toolsrc/parse.pla: 0107: mod = mod | 2; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$02 ; ORI 2 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B508 - !WORD _B508-* -; toolsrc/parse.pla: 0108: is LOGIC_NOT_TKN -_B512 -; toolsrc/parse.pla: 0109: mod = mod | 4; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$04 ; ORI 4 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B508 - !WORD _B508-* -; toolsrc/parse.pla: 0110: is AT_TKN -_B513 -; toolsrc/parse.pla: 0111: mod = mod | 8; break - !BYTE $64,$00 ; LLB [0] - !BYTE $3E,$08 ; ORI 8 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B508 - !WORD _B508-* -; toolsrc/parse.pla: 0112: is ADD_TKN -_B514 -; toolsrc/parse.pla: 0113: break - !BYTE $50 ; BRNCH _B508 - !WORD _B508-* -; toolsrc/parse.pla: 0114: otherwise -_B509 - !BYTE $05 ; CASEBLOCK - !WORD $00A1 - !WORD _B512-* - !WORD $00AB - !WORD _B514-* - !WORD $00AD - !WORD _B510-* - !WORD $00C0 - !WORD _B513-* - !WORD $00FE - !WORD _B511-* -; toolsrc/parse.pla: 0115: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0116: wend -_B508 -; toolsrc/parse.pla: 0117: loop -_B507 - !BYTE $54 ; CALL _C087 -_F873 !WORD _C087 - !BYTE $4C ; BRFLS _B505 - !WORD _B505-* -_B506 -; toolsrc/parse.pla: 0118: when token - !BYTE $68 ; LAB _D099+0 -_F874 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B516-* -; toolsrc/parse.pla: 0119: is CLOSE_PAREN_TKN -_B517 -; toolsrc/parse.pla: 0120: value, size, type = pop_val -; toolsrc/parse.pla: 0121: break - !BYTE $54 ; CALL _C085 -_F875 !WORD _C085 - !BYTE $76,$02 ; SLW [2] - !BYTE $74,$01 ; SLB [1] - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B515 - !WORD _B515-* -; toolsrc/parse.pla: 0122: is STR_TKN -_B518 -; toolsrc/parse.pla: 0123: size = tknlen - 1 -; toolsrc/parse.pla: 0124: value = constval -; toolsrc/parse.pla: 0125: type = STR_TYPE -; toolsrc/parse.pla: 0126: if mod; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $68 ; LAB _D101+0 -_F876 !WORD _D101+0 - !BYTE $8E ; DECR - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D104+0 -_F877 !WORD _D104+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$80 ; CB 128 - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $4C ; BRFLS _B519 - !WORD _B519-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F878 !WORD _C002 -_B519 -_B520 -; toolsrc/parse.pla: 0127: break - !BYTE $50 ; BRNCH _B515 - !WORD _B515-* -; toolsrc/parse.pla: 0128: is CHR_TKN -_B521 -; toolsrc/parse.pla: 0129: size = 1 -; toolsrc/parse.pla: 0130: value = constval -; toolsrc/parse.pla: 0131: type = CONST_TYPE -; toolsrc/parse.pla: 0132: break - !BYTE $02 ; CN 1 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D104+0 -_F879 !WORD _D104+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B515 - !WORD _B515-* -; toolsrc/parse.pla: 0133: is INT_TKN -_B522 -; toolsrc/parse.pla: 0134: size = 2 -; toolsrc/parse.pla: 0135: value = constval -; toolsrc/parse.pla: 0136: type = CONST_TYPE -; toolsrc/parse.pla: 0137: break - !BYTE $04 ; CN 2 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D104+0 -_F880 !WORD _D104+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $02 ; CN 1 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B515 - !WORD _B515-* -; toolsrc/parse.pla: 0138: is ID_TKN -_B523 -; toolsrc/parse.pla: 0139: size = 2 -; toolsrc/parse.pla: 0140: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0141: if not idptr; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $04 ; CN 2 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D102+0 -_F881 !WORD _D102+0 - !BYTE $68 ; LAB _D101+0 -_F882 !WORD _D101+0 - !BYTE $54 ; CALL _C044 -_F883 !WORD _C044 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B524 - !WORD _B524-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F884 !WORD _C002 -_B524 -_B525 -; toolsrc/parse.pla: 0142: type = idptr=>idtype -; toolsrc/parse.pla: 0143: if type & (FUNC_TYPE|ADDR_TYPE) -; toolsrc/parse.pla: 0144: if mod <> 8; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $6E,$02 ; DLW [2] - !BYTE $3C,$0E ; ANDI 14 - !BYTE $4C ; BRFLS _B526 - !WORD _B526-* - !BYTE $64,$00 ; LLB [0] - !BYTE $10 ; CN 8 - !BYTE $22 ; BREQ _B528 - !WORD _B528-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F885 !WORD _C002 -_B528 -_B529 -; toolsrc/parse.pla: 0145: type = CONSTADDR_TYPE -; toolsrc/parse.pla: 0146: elsif type <> CONST_TYPE - !BYTE $2A,$61 ; CB 97 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B527 - !WORD _B527-* -_B526 -; toolsrc/parse.pla: 0147: exit_err(ERR_INVAL|ERR_CONST) -; toolsrc/parse.pla: 0148: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B530 - !WORD _B530-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F886 !WORD _C002 -_B530 -_B527 -; toolsrc/parse.pla: 0149: value = idptr=>idval -; toolsrc/parse.pla: 0150: break - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B515 - !WORD _B515-* -; toolsrc/parse.pla: 0151: otherwise -_B516 - !BYTE $05 ; CASEBLOCK - !WORD $00A9 - !WORD _B517-* - !WORD $00C3 - !WORD _B521-* - !WORD $00C9 - !WORD _B522-* - !WORD $00D3 - !WORD _B518-* - !WORD $00D6 - !WORD _B523-* -; toolsrc/parse.pla: 0152: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0153: wend -_B515 -; toolsrc/parse.pla: 0154: if mod & 1 -; toolsrc/parse.pla: 0155: value = -value -; toolsrc/parse.pla: 0156: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B531 - !WORD _B531-* - !BYTE $66,$06 ; LLW [6] - !BYTE $90 ; NEG - !BYTE $76,$06 ; SLW [6] -_B531 -_B532 -; toolsrc/parse.pla: 0157: if mod & 2 -; toolsrc/parse.pla: 0158: value = ~value -; toolsrc/parse.pla: 0159: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B533 - !WORD _B533-* - !BYTE $66,$06 ; LLW [6] - !BYTE $92 ; COMP - !BYTE $76,$06 ; SLW [6] -_B533 -_B534 -; toolsrc/parse.pla: 0160: if mod & 4 -; toolsrc/parse.pla: 0161: value = !value -; toolsrc/parse.pla: 0162: fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B535 - !WORD _B535-* - !BYTE $66,$06 ; LLW [6] - !BYTE $80 ; NOT - !BYTE $76,$06 ; SLW [6] -_B535 -_B536 -; toolsrc/parse.pla: 0163: push_val(value, size, type) -; toolsrc/parse.pla: 0164: return TRUE - !BYTE $66,$06 ; LLW [6] - !BYTE $64,$01 ; LLB [1] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C084 -_F887 !WORD _C084 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0165: end -; toolsrc/parse.pla: 0166: def parse_constexpr#3 -_P003 ; parse_constexpr#3() -_C089 ; parse_constexpr() -; toolsrc/parse.pla: 0167: byte prevmatch, matchop, i - ; prevmatch -> [0] - ; matchop -> [1] - ; i -> [2] -; toolsrc/parse.pla: 0168: word optos - ; optos -> [3] -; toolsrc/parse.pla: 0169: -; toolsrc/parse.pla: 0170: matchop = 0 - !BYTE $58,$05,$00 ; ENTER 5,0 -; toolsrc/parse.pla: 0171: optos = opsp -; toolsrc/parse.pla: 0172: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D041+0 -_F888 !WORD _D041+0 - !BYTE $76,$03 ; SLW [3] -_B538 -; toolsrc/parse.pla: 0173: prevmatch = matchop -; toolsrc/parse.pla: 0174: matchop = 0 -; toolsrc/parse.pla: 0175: if parse_constval -; toolsrc/parse.pla: 0176: matchop = 1 -; toolsrc/parse.pla: 0177: scan -; toolsrc/parse.pla: 0178: for i = 0 to bops_tblsz - !BYTE $64,$01 ; LLB [1] - !BYTE $74,$00 ; SLB [0] - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $54 ; CALL _C088 -_F889 !WORD _C088 - !BYTE $4C ; BRFLS _B540 - !WORD _B540-* - !BYTE $02 ; CN 1 - !BYTE $74,$01 ; SLB [1] - !BYTE $54 ; CALL _C076 -_F890 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $2A,$11 ; CB 17 - !BYTE $00 ; CN 0 -_B543 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/parse.pla: 0179: if token == bops_tbl[i] -; toolsrc/parse.pla: 0180: matchop = 2 -; toolsrc/parse.pla: 0181: while bops_prec[i] >= tos_op_prec(optos) - !BYTE $68 ; LAB _D099+0 -_F891 !WORD _D099+0 - !BYTE $26 ; LA _D037+0 -_F892 !WORD _D037+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B545 - !WORD _B545-* - !BYTE $04 ; CN 2 - !BYTE $74,$01 ; SLB [1] - !BYTE $50 ; BRNCH _B549 - !WORD _B549-* -_B547 -; toolsrc/parse.pla: 0182: calc_binaryop(pop_op) -; toolsrc/parse.pla: 0183: loop - !BYTE $54 ; CALL _C081 -_F893 !WORD _C081 - !BYTE $54 ; CALL _C086 -_F894 !WORD _C086 -_B549 - !BYTE $26 ; LA _D038+0 -_F895 !WORD _D038+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $66,$03 ; LLW [3] - !BYTE $54 ; CALL _C083 -_F896 !WORD _C083 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B547 - !WORD _B547-* -_B548 -; toolsrc/parse.pla: 0184: push_op(token, bops_prec[i]) -; toolsrc/parse.pla: 0185: break - !BYTE $68 ; LAB _D099+0 -_F897 !WORD _D099+0 - !BYTE $26 ; LA _D038+0 -_F898 !WORD _D038+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C080 -_F899 !WORD _C080 - !BYTE $50 ; BRNCH _B542 - !WORD _B542-* -; toolsrc/parse.pla: 0186: fin -_B545 -_B546 -; toolsrc/parse.pla: 0187: next -_B544 - !BYTE $A4 ; INCBRLE _B543 - !WORD _B543-* -_B542 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 0188: fin -_B540 -_B541 -; toolsrc/parse.pla: 0189: until matchop <> 2 -_B539 - !BYTE $64,$01 ; LLB [1] - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B538 - !WORD _B538-* -_B537 -; toolsrc/parse.pla: 0190: if matchop == 0 and prevmatch == 0; return 0, 0, 0; fin - !BYTE $64,$01 ; LLB [1] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B550 - !WORD _B550-* - !BYTE $64,$00 ; LLB [0] - !BYTE $80 ; NOT -_B550 - !BYTE $4C ; BRFLS _B551 - !WORD _B551-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$05 ; LEAVE 5 -_B551 -_B552 -; toolsrc/parse.pla: 0191: if matchop == 0 and prevmatch == 2; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $64,$01 ; LLB [1] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B553 - !WORD _B553-* - !BYTE $64,$00 ; LLB [0] - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ -_B553 - !BYTE $4C ; BRFLS _B554 - !WORD _B554-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F900 !WORD _C002 -_B554 -_B555 -; toolsrc/parse.pla: 0192: while optos < opsp - !BYTE $50 ; BRNCH _B558 - !WORD _B558-* -_B556 -; toolsrc/parse.pla: 0193: calc_binaryop(pop_op) -; toolsrc/parse.pla: 0194: loop - !BYTE $54 ; CALL _C081 -_F901 !WORD _C081 - !BYTE $54 ; CALL _C086 -_F902 !WORD _C086 -_B558 - !BYTE $66,$03 ; LLW [3] - !BYTE $6A ; LAW _D041+0 -_F903 !WORD _D041+0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B556 - !WORD _B556-* -_B557 -; toolsrc/parse.pla: 0195: return pop_val - !BYTE $54 ; CALL _C085 -_F904 !WORD _C085 - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/parse.pla: 0196: end -; toolsrc/parse.pla: 0197: def parse_const(valptr) - ; valptr -> [0] -_C090 ; parse_const() -; toolsrc/parse.pla: 0198: word idptr - ; idptr -> [2] -; toolsrc/parse.pla: 0199: -; toolsrc/parse.pla: 0200: when scan - !BYTE $58,$04,$01 ; ENTER 4,1 - !BYTE $54 ; CALL _C076 -_F905 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B560-* -; toolsrc/parse.pla: 0201: is CHR_TKN -_B561 -; toolsrc/parse.pla: 0202: is INT_TKN -_B562 -; toolsrc/parse.pla: 0203: *valptr = constval -; toolsrc/parse.pla: 0204: break - !BYTE $6A ; LAW _D104+0 -_F906 !WORD _D104+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B559 - !WORD _B559-* -; toolsrc/parse.pla: 0205: is ID_TKN -_B563 -; toolsrc/parse.pla: 0206: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0207: if idptr=>idtype & CONST_TYPE -; toolsrc/parse.pla: 0208: *valptr = idptr=>idval -; toolsrc/parse.pla: 0209: break - !BYTE $6A ; LAW _D102+0 -_F907 !WORD _D102+0 - !BYTE $68 ; LAB _D101+0 -_F908 !WORD _D101+0 - !BYTE $54 ; CALL _C044 -_F909 !WORD _C044 - !BYTE $6E,$02 ; DLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B564 - !WORD _B564-* - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B559 - !WORD _B559-* -; toolsrc/parse.pla: 0210: fin -_B564 -_B565 -; toolsrc/parse.pla: 0211: otherwise - !BYTE $50 ; BRNCH _B566 - !WORD _B566-* -_B560 - !BYTE $03 ; CASEBLOCK - !WORD $00C3 - !WORD _B561-* - !WORD $00C9 - !WORD _B562-* - !WORD $00D6 - !WORD _B563-* -_B566 -; toolsrc/parse.pla: 0212: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/parse.pla: 0213: wend -_B559 -; toolsrc/parse.pla: 0214: return CONST_TYPE - !BYTE $02 ; CN 1 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/parse.pla: 0215: end -; toolsrc/parse.pla: 0216: // -; toolsrc/parse.pla: 0217: // Normal expression parsing -; toolsrc/parse.pla: 0218: // -; toolsrc/parse.pla: 0219: def parse_list#2 -_C091 ; parse_list() -; toolsrc/parse.pla: 0220: byte listdepth, stackdepth - ; listdepth -> [0] - ; stackdepth -> [1] -; toolsrc/parse.pla: 0221: word listseq, exprseq - ; listseq -> [2] - ; exprseq -> [4] -; toolsrc/parse.pla: 0222: -; toolsrc/parse.pla: 0223: listseq = NULL - !BYTE $58,$06,$00 ; ENTER 6,0 -; toolsrc/parse.pla: 0224: listdepth = 0 -; toolsrc/parse.pla: 0225: repeat - !BYTE $00 ; CN 0 - !BYTE $76,$02 ; SLW [2] - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] -_B568 -; toolsrc/parse.pla: 0226: listseq, stackdepth = parse_expr(listseq) -; toolsrc/parse.pla: 0227: listdepth = listdepth + stackdepth -; toolsrc/parse.pla: 0228: until token <> COMMA_TKN - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _P004 -_F910 !WORD _P004 - !BYTE $74,$01 ; SLB [1] - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $B0,$01 ; ADDLB [1] - !BYTE $74,$00 ; SLB [0] -_B569 - !BYTE $68 ; LAB _D099+0 -_F911 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B568 - !WORD _B568-* -_B567 -; toolsrc/parse.pla: 0229: return listseq, listdepth - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$00 ; LLB [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/parse.pla: 0230: end -; toolsrc/parse.pla: 0231: def parse_value(codeseq, r_val)#2 - ; codeseq -> [0] - ; r_val -> [2] -_C092 ; parse_value() -; toolsrc/parse.pla: 0232: byte cfnparms, cfnvals, stackdepth, operation - ; cfnparms -> [4] - ; cfnvals -> [5] - ; stackdepth -> [6] - ; operation -> [7] -; toolsrc/parse.pla: 0233: word deref, type, optos, idptr, value, const_offset - ; deref -> [8] - ; type -> [10] - ; optos -> [12] - ; idptr -> [14] - ; value -> [16] - ; const_offset -> [18] -; toolsrc/parse.pla: 0234: word uopseq, valseq, idxseq - ; uopseq -> [20] - ; valseq -> [22] - ; idxseq -> [24] -; toolsrc/parse.pla: 0235: -; toolsrc/parse.pla: 0236: deref = r_val - !BYTE $58,$1A,$02 ; ENTER 26,2 -; toolsrc/parse.pla: 0237: optos = opsp -; toolsrc/parse.pla: 0238: type = 0 -; toolsrc/parse.pla: 0239: value = 0 -; toolsrc/parse.pla: 0240: cfnparms = 0 -; toolsrc/parse.pla: 0241: cfnvals = 1 -; toolsrc/parse.pla: 0242: stackdepth = 1 -; toolsrc/parse.pla: 0243: uopseq = NULL -; toolsrc/parse.pla: 0244: valseq = NULL -; toolsrc/parse.pla: 0245: idxseq = NULL -; toolsrc/parse.pla: 0246: // -; toolsrc/parse.pla: 0247: // Parse pre-ops -; toolsrc/parse.pla: 0248: // -; toolsrc/parse.pla: 0249: operation = TRUE -; toolsrc/parse.pla: 0250: repeat - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$08 ; SLW [8] - !BYTE $6A ; LAW _D041+0 -_F912 !WORD _D041+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $00 ; CN 0 - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $02 ; CN 1 - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $76,$14 ; SLW [20] - !BYTE $00 ; CN 0 - !BYTE $76,$16 ; SLW [22] - !BYTE $00 ; CN 0 - !BYTE $76,$18 ; SLW [24] - !BYTE $20 ; MINUS ONE - !BYTE $74,$07 ; SLB [7] -_B571 -; toolsrc/parse.pla: 0251: when scan - !BYTE $54 ; CALL _C076 -_F913 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B574-* -; toolsrc/parse.pla: 0252: is NEG_TKN -_B575 -; toolsrc/parse.pla: 0253: is COMP_TKN -_B576 -; toolsrc/parse.pla: 0254: is LOGIC_NOT_TKN -_B577 -; toolsrc/parse.pla: 0255: uopseq = gen_uop(uopseq, token); -; toolsrc/parse.pla: 0256: is ADD_TKN - !BYTE $66,$14 ; LLW [20] - !BYTE $68 ; LAB _D099+0 -_F914 !WORD _D099+0 - !BYTE $54 ; CALL _C066 -_F915 !WORD _C066 - !BYTE $76,$14 ; SLW [20] -_B578 -; toolsrc/parse.pla: 0257: if not r_val; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B579 - !WORD _B579-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F916 !WORD _C002 -_B579 -_B580 -; toolsrc/parse.pla: 0258: break - !BYTE $50 ; BRNCH _B573 - !WORD _B573-* -; toolsrc/parse.pla: 0259: is BPTR_TKN -_B581 -; toolsrc/parse.pla: 0260: is WPTR_TKN -_B582 -; toolsrc/parse.pla: 0261: if type & BPTR_TYPE; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B583 - !WORD _B583-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F917 !WORD _C002 -_B583 -_B584 -; toolsrc/parse.pla: 0262: type = token == BPTR_TKN ?? BPTR_TYPE :: WPTR_TYPE -; toolsrc/parse.pla: 0263: deref++ - !BYTE $68 ; LAB _D099+0 -_F918 !WORD _D099+0 - !BYTE $2A,$DE ; CB 222 - !BYTE $24 ; BRNE _B585 - !WORD _B585-* - !BYTE $2A,$20 ; CB 32 - !BYTE $50 ; BRNCH _B586 - !WORD _B586-* -_B585 - !BYTE $2A,$40 ; CB 64 -_B586 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0264: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B573 - !WORD _B573-* -; toolsrc/parse.pla: 0265: is AT_TKN -_B587 -; toolsrc/parse.pla: 0266: if not deref; exit_err(ERR_INVAL|ERR_SYNTAX); fin - !BYTE $66,$08 ; LLW [8] - !BYTE $4E ; BRTRU _B588 - !WORD _B588-* - !BYTE $2C,$04,$80 ; CW 32772 - !BYTE $54 ; CALL _C002 -_F919 !WORD _C002 -_B588 -_B589 -; toolsrc/parse.pla: 0267: deref-- - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0268: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B573 - !WORD _B573-* -; toolsrc/parse.pla: 0269: otherwise -_B574 - !BYTE $07 ; CASEBLOCK - !WORD $00A1 - !WORD _B577-* - !WORD $00AA - !WORD _B582-* - !WORD $00AB - !WORD _B578-* - !WORD $00AD - !WORD _B575-* - !WORD $00C0 - !WORD _B587-* - !WORD $00DE - !WORD _B581-* - !WORD $00FE - !WORD _B576-* -; toolsrc/parse.pla: 0270: operation = FALSE -; toolsrc/parse.pla: 0271: wend - !BYTE $00 ; CN 0 - !BYTE $74,$07 ; SLB [7] -_B573 -; toolsrc/parse.pla: 0272: until not operation -_B572 - !BYTE $64,$07 ; LLB [7] - !BYTE $4E ; BRTRU _B571 - !WORD _B571-* -_B570 -; toolsrc/parse.pla: 0273: // -; toolsrc/parse.pla: 0274: // Determine terminal type -; toolsrc/parse.pla: 0275: // -; toolsrc/parse.pla: 0276: when token - !BYTE $68 ; LAB _D099+0 -_F920 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B591-* -; toolsrc/parse.pla: 0277: is ID_TKN -_B592 -; toolsrc/parse.pla: 0278: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0279: if not idptr; return codeseq, 0; fin - !BYTE $6A ; LAW _D102+0 -_F921 !WORD _D102+0 - !BYTE $68 ; LAB _D101+0 -_F922 !WORD _D101+0 - !BYTE $54 ; CALL _C044 -_F923 !WORD _C044 - !BYTE $6E,$0E ; DLW [14] - !BYTE $4E ; BRTRU _B593 - !WORD _B593-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -_B593 -_B594 -; toolsrc/parse.pla: 0280: if not idptr=>idtype; return codeseq, 0; fin // DEBUG - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B595 - !WORD _B595-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -_B595 -_B596 -; toolsrc/parse.pla: 0281: type = type | idptr=>idtype -; toolsrc/parse.pla: 0282: value = idptr=>idval -; toolsrc/parse.pla: 0283: if type & CONST_TYPE -; toolsrc/parse.pla: 0284: valseq = gen_const(NULL, value) -; toolsrc/parse.pla: 0285: deref-- - !BYTE $66,$0A ; LLW [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $96 ; OR - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$0E ; LLW [14] - !BYTE $62 ; LW - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B597 - !WORD _B597-* - !BYTE $00 ; CN 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C060 -_F924 !WORD _C060 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0286: else - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B598 - !WORD _B598-* -_B597 -; toolsrc/parse.pla: 0287: valseq = type & LOCAL_TYPE ?? gen_oplcl(NULL, LADDR_CODE, value) :: gen_opglbl(NULL, GADDR_CODE, value, 0) -; toolsrc/parse.pla: 0288: if type & FUNC_TYPE -; toolsrc/parse.pla: 0289: cfnparms = idptr->funcparms -; toolsrc/parse.pla: 0290: cfnvals = idptr->funcvals -; toolsrc/parse.pla: 0291: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B599 - !WORD _B599-* - !BYTE $00 ; CN 0 - !BYTE $2A,$28 ; CB 40 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C062 -_F925 !WORD _C062 - !BYTE $50 ; BRNCH _B600 - !WORD _B600-* -_B599 - !BYTE $00 ; CN 0 - !BYTE $2A,$26 ; CB 38 - !BYTE $66,$10 ; LLW [16] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C063 -_F926 !WORD _C063 -_B600 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B601 - !WORD _B601-* - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $74,$04 ; SLB [4] - !BYTE $66,$0E ; LLW [14] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $74,$05 ; SLB [5] -_B601 -_B602 -; toolsrc/parse.pla: 0292: fin -_B598 -; toolsrc/parse.pla: 0293: break - !BYTE $50 ; BRNCH _B590 - !WORD _B590-* -; toolsrc/parse.pla: 0294: is INT_TKN -_B603 -; toolsrc/parse.pla: 0295: is CHR_TKN -_B604 -; toolsrc/parse.pla: 0296: value = constval -; toolsrc/parse.pla: 0297: valseq = gen_const(NULL, value) -; toolsrc/parse.pla: 0298: deref-- - !BYTE $6A ; LAW _D104+0 -_F927 !WORD _D104+0 - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C060 -_F928 !WORD _C060 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0299: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B590 - !WORD _B590-* -; toolsrc/parse.pla: 0300: is STR_TKN -_B605 -; toolsrc/parse.pla: 0301: codeseq = gen_str(codeseq, constval) -; toolsrc/parse.pla: 0302: scan -; toolsrc/parse.pla: 0303: return codeseq, stackdepth // Special case return - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D104+0 -_F929 !WORD _D104+0 - !BYTE $54 ; CALL _C061 -_F930 !WORD _C061 - !BYTE $76,$00 ; SLW [0] - !BYTE $54 ; CALL _C076 -_F931 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0304: break - !BYTE $50 ; BRNCH _B590 - !WORD _B590-* -; toolsrc/parse.pla: 0305: is OPEN_PAREN_TKN -_B606 -; toolsrc/parse.pla: 0306: valseq, stackdepth = parse_expr(NULL) -; toolsrc/parse.pla: 0307: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _P004 -_F932 !WORD _P004 - !BYTE $74,$06 ; SLB [6] - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D099+0 -_F933 !WORD _D099+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B607 - !WORD _B607-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F934 !WORD _C002 -_B607 -_B608 -; toolsrc/parse.pla: 0308: deref-- - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0309: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B590 - !WORD _B590-* -; toolsrc/parse.pla: 0310: is DROP_TKN -_B609 -; toolsrc/parse.pla: 0311: if r_val; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B610 - !WORD _B610-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F935 !WORD _C002 -_B610 -_B611 -; toolsrc/parse.pla: 0312: codeseq = gen_op(codeseq, DROP_CODE) -; toolsrc/parse.pla: 0313: scan -; toolsrc/parse.pla: 0314: return codeseq, 0 // Special case return - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F936 !WORD _C059 - !BYTE $76,$00 ; SLW [0] - !BYTE $54 ; CALL _C076 -_F937 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0315: is LAMBDA_TKN -_B612 -; toolsrc/parse.pla: 0316: if not r_val; return codeseq, 0; fin // Lambdas can't be LVALUES - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B613 - !WORD _B613-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -_B613 -_B614 -; toolsrc/parse.pla: 0317: value = parse_lambda -; toolsrc/parse.pla: 0318: valseq = gen_opglbl(NULL, GADDR_CODE, value, 0) -; toolsrc/parse.pla: 0319: deref-- - !BYTE $54 ; CALL _P005 -_F938 !WORD _P005 - !BYTE $76,$10 ; SLW [16] - !BYTE $00 ; CN 0 - !BYTE $2A,$26 ; CB 38 - !BYTE $66,$10 ; LLW [16] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C063 -_F939 !WORD _C063 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0320: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B590 - !WORD _B590-* -; toolsrc/parse.pla: 0321: otherwise -_B591 - !BYTE $07 ; CASEBLOCK - !WORD $00A6 - !WORD _B612-* - !WORD $00A8 - !WORD _B606-* - !WORD $00BB - !WORD _B609-* - !WORD $00C3 - !WORD _B604-* - !WORD $00C9 - !WORD _B603-* - !WORD $00D3 - !WORD _B605-* - !WORD $00D6 - !WORD _B592-* -; toolsrc/parse.pla: 0322: if uopseq; release_seq(uopseq); fin - !BYTE $66,$14 ; LLW [20] - !BYTE $4C ; BRFLS _B615 - !WORD _B615-* - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C007 -_F940 !WORD _C007 -_B615 -_B616 -; toolsrc/parse.pla: 0323: if codeseq; release_seq(codeseq); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B617 - !WORD _B617-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C007 -_F941 !WORD _C007 -_B617 -_B618 -; toolsrc/parse.pla: 0324: return NULL, 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0325: wend -_B590 -; toolsrc/parse.pla: 0326: // -; toolsrc/parse.pla: 0327: // Parse post-ops -; toolsrc/parse.pla: 0328: // -; toolsrc/parse.pla: 0329: operation = TRUE -; toolsrc/parse.pla: 0330: repeat - !BYTE $20 ; MINUS ONE - !BYTE $74,$07 ; SLB [7] -_B620 -; toolsrc/parse.pla: 0331: when scan - !BYTE $54 ; CALL _C076 -_F942 !WORD _C076 - !BYTE $52 ; SEL - !WORD _B623-* -; toolsrc/parse.pla: 0332: is OPEN_PAREN_TKN -_B624 -; toolsrc/parse.pla: 0333: // -; toolsrc/parse.pla: 0334: // Function call - parameters generate before call address -; toolsrc/parse.pla: 0335: // -; toolsrc/parse.pla: 0336: idxseq, value = parse_list -; toolsrc/parse.pla: 0337: valseq = cat_seq(idxseq, valseq) -; toolsrc/parse.pla: 0338: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $54 ; CALL _C091 -_F943 !WORD _C091 - !BYTE $76,$10 ; SLW [16] - !BYTE $6E,$18 ; DLW [24] - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C008 -_F944 !WORD _C008 - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D099+0 -_F945 !WORD _D099+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B625 - !WORD _B625-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F946 !WORD _C002 -_B625 -_B626 -; toolsrc/parse.pla: 0339: if type & FUNC_TYPE // Can't check parm count on function pointers -; toolsrc/parse.pla: 0340: if cfnparms <> value; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B627 - !WORD _B627-* - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$10 ; LLW [16] - !BYTE $22 ; BREQ _B629 - !WORD _B629-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F947 !WORD _C002 -_B629 -_B630 -; toolsrc/parse.pla: 0341: else - !BYTE $50 ; BRNCH _B628 - !WORD _B628-* -_B627 -; toolsrc/parse.pla: 0342: if scan == POUND_TKN // Set function pointer return vals count - can't do this to regular function call -; toolsrc/parse.pla: 0343: if not parse_const(@value); exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $54 ; CALL _C076 -_F948 !WORD _C076 - !BYTE $2A,$A3 ; CB 163 - !BYTE $24 ; BRNE _B631 - !WORD _B631-* - !BYTE $28,$10 ; LLA [16] - !BYTE $54 ; CALL _C090 -_F949 !WORD _C090 - !BYTE $4E ; BRTRU _B633 - !WORD _B633-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F950 !WORD _C002 -_B633 -_B634 -; toolsrc/parse.pla: 0344: cfnvals = value -; toolsrc/parse.pla: 0345: else - !BYTE $66,$10 ; LLW [16] - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B632 - !WORD _B632-* -_B631 -; toolsrc/parse.pla: 0346: rewind(tknptr) -; toolsrc/parse.pla: 0347: fin - !BYTE $6A ; LAW _D102+0 -_F951 !WORD _D102+0 - !BYTE $54 ; CALL _C077 -_F952 !WORD _C077 -_B632 -; toolsrc/parse.pla: 0348: if type & WORD_TYPE -; toolsrc/parse.pla: 0349: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0350: elsif type & BYTE_TYPE - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B635 - !WORD _B635-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F953 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B636 - !WORD _B636-* -_B635 -; toolsrc/parse.pla: 0351: exit_err(ERR_INVAL|ERR_CODE) -; toolsrc/parse.pla: 0352: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B637 - !WORD _B637-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F954 !WORD _C002 - !BYTE $50 ; BRNCH _B636 - !WORD _B636-* -_B637 -; toolsrc/parse.pla: 0353: deref++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0354: fin - !BYTE $76,$08 ; SLW [8] -_B636 -; toolsrc/parse.pla: 0355: fin -_B628 -; toolsrc/parse.pla: 0356: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0357: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0358: cfnparms = 0 -; toolsrc/parse.pla: 0359: cfnvals = 1 -; toolsrc/parse.pla: 0360: type = type & PTR_TYPE -; toolsrc/parse.pla: 0361: deref-- - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F955 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$60 ; ANDI 96 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0362: break - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B622 - !WORD _B622-* -; toolsrc/parse.pla: 0363: is OPEN_BRACKET_TKN -_B638 -; toolsrc/parse.pla: 0364: // -; toolsrc/parse.pla: 0365: // Array of arrays -; toolsrc/parse.pla: 0366: // -; toolsrc/parse.pla: 0367: if type & FUNC_TYPE // Function address dereference -; toolsrc/parse.pla: 0368: cfnparms = 0 -; toolsrc/parse.pla: 0369: cfnvals = 1 -; toolsrc/parse.pla: 0370: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B639 - !WORD _B639-* - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] -_B639 -_B640 -; toolsrc/parse.pla: 0371: repeat -_B642 -; toolsrc/parse.pla: 0372: valseq, drop = parse_expr(valseq) -; toolsrc/parse.pla: 0373: if token <> COMMA_TKN; break; fin - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _P004 -_F956 !WORD _P004 - !BYTE $30 ; DROP - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D099+0 -_F957 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B644 - !WORD _B644-* - !BYTE $50 ; BRNCH _B641 - !WORD _B641-* -_B644 -_B645 -; toolsrc/parse.pla: 0374: valseq = gen_op(valseq, INDEXW_CODE) -; toolsrc/parse.pla: 0375: valseq = gen_op(valseq, LW_CODE) // Multi-dimenstion arrays are array pointers to arrays -; toolsrc/parse.pla: 0376: until FALSE - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$9E ; CB 158 - !BYTE $54 ; CALL _C059 -_F958 !WORD _C059 - !BYTE $6E,$16 ; DLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F959 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B643 - !BYTE $50 ; BRNCH _B642 - !WORD _B642-* -_B641 -; toolsrc/parse.pla: 0377: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D099+0 -_F960 !WORD _D099+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B646 - !WORD _B646-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F961 !WORD _C002 -_B646 -_B647 -; toolsrc/parse.pla: 0378: if type & WORD_TYPE -; toolsrc/parse.pla: 0379: valseq = gen_op(valseq, INDEXW_CODE) -; toolsrc/parse.pla: 0380: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B648 - !WORD _B648-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$9E ; CB 158 - !BYTE $54 ; CALL _C059 -_F962 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B649 - !WORD _B649-* -_B648 -; toolsrc/parse.pla: 0381: valseq = gen_op(valseq, INDEXB_CODE) -; toolsrc/parse.pla: 0382: if not (type & BYTE_TYPE) -; toolsrc/parse.pla: 0383: type = (type & PTR_TYPE) | BYTE_TYPE -; toolsrc/parse.pla: 0384: deref++ - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$82 ; CB 130 - !BYTE $54 ; CALL _C059 -_F963 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4E ; BRTRU _B650 - !WORD _B650-* - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$60 ; ANDI 96 - !BYTE $3E,$02 ; ORI 2 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0385: fin - !BYTE $76,$08 ; SLW [8] -_B650 -_B651 -; toolsrc/parse.pla: 0386: fin -_B649 -; toolsrc/parse.pla: 0387: break - !BYTE $50 ; BRNCH _B622 - !WORD _B622-* -; toolsrc/parse.pla: 0388: is PTRB_TKN -_B652 -; toolsrc/parse.pla: 0389: is PTRW_TKN -_B653 -; toolsrc/parse.pla: 0390: // -; toolsrc/parse.pla: 0391: // Structure member pointer -; toolsrc/parse.pla: 0392: // -; toolsrc/parse.pla: 0393: if type & FUNC_TYPE // Function call dereference -; toolsrc/parse.pla: 0394: if cfnparms; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B654 - !WORD _B654-* - !BYTE $64,$04 ; LLB [4] - !BYTE $4C ; BRFLS _B656 - !WORD _B656-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F964 !WORD _C002 -_B656 -_B657 -; toolsrc/parse.pla: 0395: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0396: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0397: cfnparms = 0 -; toolsrc/parse.pla: 0398: cfnvals = 1 -; toolsrc/parse.pla: 0399: elsif type & WORD_TYPE - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F965 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B655 - !WORD _B655-* -_B654 -; toolsrc/parse.pla: 0400: valseq = gen_op(valseq, LW_CODE) // Pointer dereference -; toolsrc/parse.pla: 0401: elsif type & BYTE_TYPE - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B658 - !WORD _B658-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F966 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B655 - !WORD _B655-* -_B658 -; toolsrc/parse.pla: 0402: exit_err(ERR_INVAL|ERR_CODE) -; toolsrc/parse.pla: 0403: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B659 - !WORD _B659-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F967 !WORD _C002 - !BYTE $50 ; BRNCH _B655 - !WORD _B655-* -_B659 -; toolsrc/parse.pla: 0404: deref++ - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0405: fin - !BYTE $76,$08 ; SLW [8] -_B655 -; toolsrc/parse.pla: 0406: type = token == PTRB_TKN ?? BYTE_TYPE :: WORD_TYPE -; toolsrc/parse.pla: 0407: if not parse_const(@const_offset) -; toolsrc/parse.pla: 0408: rewind(tknptr) // Setting type override for following operations -; toolsrc/parse.pla: 0409: elsif const_offset <> 0 - !BYTE $68 ; LAB _D099+0 -_F968 !WORD _D099+0 - !BYTE $2A,$D8 ; CB 216 - !BYTE $24 ; BRNE _B660 - !WORD _B660-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B661 - !WORD _B661-* -_B660 - !BYTE $08 ; CN 4 -_B661 - !BYTE $76,$0A ; SLW [10] - !BYTE $28,$12 ; LLA [18] - !BYTE $54 ; CALL _C090 -_F969 !WORD _C090 - !BYTE $4E ; BRTRU _B662 - !WORD _B662-* - !BYTE $6A ; LAW _D102+0 -_F970 !WORD _D102+0 - !BYTE $54 ; CALL _C077 -_F971 !WORD _C077 - !BYTE $50 ; BRNCH _B663 - !WORD _B663-* -_B662 -; toolsrc/parse.pla: 0410: valseq = gen_const(valseq, const_offset) // Structure member pointer -; toolsrc/parse.pla: 0411: valseq = gen_op(valseq, ADD_CODE) -; toolsrc/parse.pla: 0412: fin - !BYTE $66,$12 ; LLW [18] - !BYTE $4C ; BRFLS _B664 - !WORD _B664-* - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C060 -_F972 !WORD _C060 - !BYTE $6E,$16 ; DLW [22] - !BYTE $2A,$82 ; CB 130 - !BYTE $54 ; CALL _C059 -_F973 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B664 -_B663 -; toolsrc/parse.pla: 0413: break - !BYTE $50 ; BRNCH _B622 - !WORD _B622-* -; toolsrc/parse.pla: 0414: is DOT_TKN -_B665 -; toolsrc/parse.pla: 0415: is COLON_TKN -_B666 -; toolsrc/parse.pla: 0416: // -; toolsrc/parse.pla: 0417: // Structure member offset -; toolsrc/parse.pla: 0418: // -; toolsrc/parse.pla: 0419: if type & FUNC_TYPE // Function address dereference -; toolsrc/parse.pla: 0420: cfnparms = 0 -; toolsrc/parse.pla: 0421: cfnvals = 1 -; toolsrc/parse.pla: 0422: elsif not (type & VAR_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B667 - !WORD _B667-* - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $50 ; BRNCH _B668 - !WORD _B668-* -_B667 -; toolsrc/parse.pla: 0423: deref++ - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$06 ; ANDI 6 - !BYTE $4E ; BRTRU _B669 - !WORD _B669-* - !BYTE $66,$08 ; LLW [8] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0424: fin - !BYTE $76,$08 ; SLW [8] -_B669 -_B668 -; toolsrc/parse.pla: 0425: type = token == DOT_TKN ?? BYTE_TYPE :: WORD_TYPE -; toolsrc/parse.pla: 0426: if not parse_const(@const_offset) -; toolsrc/parse.pla: 0427: rewind(tknptr) // Setting type override for following operations -; toolsrc/parse.pla: 0428: elsif const_offset <> 0 - !BYTE $68 ; LAB _D099+0 -_F974 !WORD _D099+0 - !BYTE $2A,$AE ; CB 174 - !BYTE $24 ; BRNE _B670 - !WORD _B670-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B671 - !WORD _B671-* -_B670 - !BYTE $08 ; CN 4 -_B671 - !BYTE $76,$0A ; SLW [10] - !BYTE $28,$12 ; LLA [18] - !BYTE $54 ; CALL _C090 -_F975 !WORD _C090 - !BYTE $4E ; BRTRU _B672 - !WORD _B672-* - !BYTE $6A ; LAW _D102+0 -_F976 !WORD _D102+0 - !BYTE $54 ; CALL _C077 -_F977 !WORD _C077 - !BYTE $50 ; BRNCH _B673 - !WORD _B673-* -_B672 -; toolsrc/parse.pla: 0429: valseq = gen_const(valseq, const_offset) // Structure member offset -; toolsrc/parse.pla: 0430: valseq = gen_op(valseq, ADD_CODE) -; toolsrc/parse.pla: 0431: fin - !BYTE $66,$12 ; LLW [18] - !BYTE $4C ; BRFLS _B674 - !WORD _B674-* - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C060 -_F978 !WORD _C060 - !BYTE $6E,$16 ; DLW [22] - !BYTE $2A,$82 ; CB 130 - !BYTE $54 ; CALL _C059 -_F979 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B674 -_B673 -; toolsrc/parse.pla: 0432: break - !BYTE $50 ; BRNCH _B622 - !WORD _B622-* -; toolsrc/parse.pla: 0433: otherwise -_B623 - !BYTE $06 ; CASEBLOCK - !WORD $00A8 - !WORD _B624-* - !WORD $00AE - !WORD _B665-* - !WORD $00BA - !WORD _B666-* - !WORD $00D7 - !WORD _B653-* - !WORD $00D8 - !WORD _B652-* - !WORD $00DB - !WORD _B638-* -; toolsrc/parse.pla: 0434: operation = FALSE -; toolsrc/parse.pla: 0435: wend - !BYTE $00 ; CN 0 - !BYTE $74,$07 ; SLB [7] -_B622 -; toolsrc/parse.pla: 0436: until not operation -_B621 - !BYTE $64,$07 ; LLB [7] - !BYTE $4E ; BRTRU _B620 - !WORD _B620-* -_B619 -; toolsrc/parse.pla: 0437: // -; toolsrc/parse.pla: 0438: //Probably parsing RVALUE as LVALUE -; toolsrc/parse.pla: 0439: // -; toolsrc/parse.pla: 0440: if deref < 0 -; toolsrc/parse.pla: 0441: release_seq(valseq) -; toolsrc/parse.pla: 0442: release_seq(uopseq) -; toolsrc/parse.pla: 0443: return codeseq, 0 - !BYTE $66,$08 ; LLW [8] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B675 - !WORD _B675-* - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C007 -_F980 !WORD _C007 - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C007 -_F981 !WORD _C007 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0444: fin -_B675 -_B676 -; toolsrc/parse.pla: 0445: // -; toolsrc/parse.pla: 0446: // Resolve outstanding dereference pointer loads -; toolsrc/parse.pla: 0447: // -; toolsrc/parse.pla: 0448: while deref > r_val - !BYTE $50 ; BRNCH _B679 - !WORD _B679-* -_B677 -; toolsrc/parse.pla: 0449: if type & FUNC_TYPE -; toolsrc/parse.pla: 0450: if cfnparms; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B680 - !WORD _B680-* - !BYTE $64,$04 ; LLB [4] - !BYTE $4C ; BRFLS _B682 - !WORD _B682-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F982 !WORD _C002 -_B682 -_B683 -; toolsrc/parse.pla: 0451: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0452: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0453: cfnparms = 0 -; toolsrc/parse.pla: 0454: cfnvals = 1 -; toolsrc/parse.pla: 0455: type = type & ~FUNC_TYPE; -; toolsrc/parse.pla: 0456: else - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F983 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $00 ; CN 0 - !BYTE $74,$04 ; SLB [4] - !BYTE $02 ; CN 1 - !BYTE $74,$05 ; SLB [5] - !BYTE $66,$0A ; LLW [10] - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B681 - !WORD _B681-* -_B680 -; toolsrc/parse.pla: 0457: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0458: fin - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F984 !WORD _C059 - !BYTE $76,$16 ; SLW [22] -_B681 -; toolsrc/parse.pla: 0459: deref-- - !BYTE $66,$08 ; LLW [8] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0460: loop - !BYTE $76,$08 ; SLW [8] -_B679 - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$02 ; LLW [2] - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B677 - !WORD _B677-* -_B678 -; toolsrc/parse.pla: 0461: if deref -; toolsrc/parse.pla: 0462: if type & FUNC_TYPE -; toolsrc/parse.pla: 0463: if cfnparms; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $66,$08 ; LLW [8] - !BYTE $4C ; BRFLS _B684 - !WORD _B684-* - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B686 - !WORD _B686-* - !BYTE $64,$04 ; LLB [4] - !BYTE $4C ; BRFLS _B688 - !WORD _B688-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F985 !WORD _C002 -_B688 -_B689 -; toolsrc/parse.pla: 0464: valseq = gen_op(valseq, ICAL_CODE) -; toolsrc/parse.pla: 0465: stackdepth = stackdepth + cfnvals - 1 -; toolsrc/parse.pla: 0466: type = type & ~FUNC_TYPE -; toolsrc/parse.pla: 0467: elsif type & (BPTR_TYPE) // Prefer the pointer type. - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$56 ; CB 86 - !BYTE $54 ; CALL _C059 -_F986 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $64,$06 ; LLB [6] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $8E ; DECR - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$0A ; LLW [10] - !BYTE $5E,$F7 ; CFFB -9 - !BYTE $94 ; AND - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B687 - !WORD _B687-* -_B686 -; toolsrc/parse.pla: 0468: valseq = gen_op(valseq, LB_CODE) -; toolsrc/parse.pla: 0469: elsif type & (WPTR_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B690 - !WORD _B690-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$60 ; CB 96 - !BYTE $54 ; CALL _C059 -_F987 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B687 - !WORD _B687-* -_B690 -; toolsrc/parse.pla: 0470: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0471: elsif type & (BYTE_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B691 - !WORD _B691-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F988 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B687 - !WORD _B687-* -_B691 -; toolsrc/parse.pla: 0472: valseq = gen_op(valseq, LB_CODE) -; toolsrc/parse.pla: 0473: elsif type & (WORD_TYPE) - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B692 - !WORD _B692-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$60 ; CB 96 - !BYTE $54 ; CALL _C059 -_F989 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B687 - !WORD _B687-* -_B692 -; toolsrc/parse.pla: 0474: valseq = gen_op(valseq, LW_CODE) -; toolsrc/parse.pla: 0475: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B693 - !WORD _B693-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$62 ; CB 98 - !BYTE $54 ; CALL _C059 -_F990 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B687 - !WORD _B687-* -_B693 -; toolsrc/parse.pla: 0476: exit_err(ERR_INVAL|ERR_CODE) -; toolsrc/parse.pla: 0477: fin - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F991 !WORD _C002 -_B687 -; toolsrc/parse.pla: 0478: fin -_B684 -_B685 -; toolsrc/parse.pla: 0479: // -; toolsrc/parse.pla: 0480: // Output pre-operations -; toolsrc/parse.pla: 0481: // -; toolsrc/parse.pla: 0482: valseq = cat_seq(valseq, uopseq) -; toolsrc/parse.pla: 0483: // -; toolsrc/parse.pla: 0484: // Wrap up LVALUE store -; toolsrc/parse.pla: 0485: // -; toolsrc/parse.pla: 0486: if not r_val -; toolsrc/parse.pla: 0487: if type & (BYTE_TYPE | BPTR_TYPE) -; toolsrc/parse.pla: 0488: valseq = gen_op(valseq, SB_CODE) -; toolsrc/parse.pla: 0489: elsif type & (WORD_TYPE | WPTR_TYPE) - !BYTE $66,$16 ; LLW [22] - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C008 -_F992 !WORD _C008 - !BYTE $76,$16 ; SLW [22] - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B694 - !WORD _B694-* - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$22 ; ANDI 34 - !BYTE $4C ; BRFLS _B696 - !WORD _B696-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$70 ; CB 112 - !BYTE $54 ; CALL _C059 -_F993 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B697 - !WORD _B697-* -_B696 -; toolsrc/parse.pla: 0490: valseq = gen_op(valseq, SW_CODE) -; toolsrc/parse.pla: 0491: else - !BYTE $66,$0A ; LLW [10] - !BYTE $3C,$44 ; ANDI 68 - !BYTE $4C ; BRFLS _B698 - !WORD _B698-* - !BYTE $66,$16 ; LLW [22] - !BYTE $2A,$72 ; CB 114 - !BYTE $54 ; CALL _C059 -_F994 !WORD _C059 - !BYTE $76,$16 ; SLW [22] - !BYTE $50 ; BRNCH _B697 - !WORD _B697-* -_B698 -; toolsrc/parse.pla: 0492: release_seq(valseq) -; toolsrc/parse.pla: 0493: return codeseq, 0 // Function or const cannot be LVALUE, must be RVALUE - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C007 -_F995 !WORD _C007 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0494: fin -_B697 -; toolsrc/parse.pla: 0495: stackdepth-- - !BYTE $64,$06 ; LLB [6] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0496: fin - !BYTE $74,$06 ; SLB [6] -_B694 -_B695 -; toolsrc/parse.pla: 0497: return cat_seq(codeseq, valseq), stackdepth - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C008 -_F996 !WORD _C008 - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$1A ; LEAVE 26 -; toolsrc/parse.pla: 0498: end -; toolsrc/parse.pla: 0499: def parse_subexpr(codeseq)#2 - ; codeseq -> [0] -_C093 ; parse_subexpr() -; toolsrc/parse.pla: 0500: byte stackdepth, matchdepth, stkdepth1, prevmatch, matchop, i - ; stackdepth -> [2] - ; matchdepth -> [3] - ; stkdepth1 -> [4] - ; prevmatch -> [5] - ; matchop -> [6] - ; i -> [7] -; toolsrc/parse.pla: 0501: word optos - ; optos -> [8] -; toolsrc/parse.pla: 0502: word tag_else, tag_endop - ; tag_else -> [10] - ; tag_endop -> [12] -; toolsrc/parse.pla: 0503: -; toolsrc/parse.pla: 0504: stackdepth = 0 - !BYTE $58,$0E,$01 ; ENTER 14,1 -; toolsrc/parse.pla: 0505: matchop = 0 -; toolsrc/parse.pla: 0506: optos = opsp -; toolsrc/parse.pla: 0507: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $6A ; LAW _D041+0 -_F997 !WORD _D041+0 - !BYTE $76,$08 ; SLW [8] -_B700 -; toolsrc/parse.pla: 0508: prevmatch = matchop -; toolsrc/parse.pla: 0509: matchop = 0 -; toolsrc/parse.pla: 0510: codeseq, matchdepth = parse_value(codeseq, RVALUE) -; toolsrc/parse.pla: 0511: if matchdepth -; toolsrc/parse.pla: 0512: stackdepth = stackdepth + matchdepth -; toolsrc/parse.pla: 0513: matchop = 1 -; toolsrc/parse.pla: 0514: for i = 0 to bops_tblsz - !BYTE $64,$06 ; LLB [6] - !BYTE $74,$05 ; SLB [5] - !BYTE $00 ; CN 0 - !BYTE $74,$06 ; SLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C092 -_F998 !WORD _C092 - !BYTE $74,$03 ; SLB [3] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$03 ; LLB [3] - !BYTE $4C ; BRFLS _B702 - !WORD _B702-* - !BYTE $64,$02 ; LLB [2] - !BYTE $B0,$03 ; ADDLB [3] - !BYTE $74,$02 ; SLB [2] - !BYTE $02 ; CN 1 - !BYTE $74,$06 ; SLB [6] - !BYTE $2A,$11 ; CB 17 - !BYTE $00 ; CN 0 -_B705 - !BYTE $6C,$07 ; DLB [7] -; toolsrc/parse.pla: 0515: if token == bops_tbl[i] -; toolsrc/parse.pla: 0516: matchop = 2 -; toolsrc/parse.pla: 0517: while bops_prec[i] >= tos_op_prec(optos) - !BYTE $68 ; LAB _D099+0 -_F999 !WORD _D099+0 - !BYTE $26 ; LA _D037+0 -_F1000 !WORD _D037+0 - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $24 ; BRNE _B707 - !WORD _B707-* - !BYTE $04 ; CN 2 - !BYTE $74,$06 ; SLB [6] - !BYTE $50 ; BRNCH _B711 - !WORD _B711-* -_B709 -; toolsrc/parse.pla: 0518: codeseq = gen_bop(codeseq, pop_op) -; toolsrc/parse.pla: 0519: stackdepth-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C081 -_F1001 !WORD _C081 - !BYTE $54 ; CALL _C067 -_F1002 !WORD _C067 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0520: loop - !BYTE $74,$02 ; SLB [2] -_B711 - !BYTE $26 ; LA _D038+0 -_F1003 !WORD _D038+0 - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _C083 -_F1004 !WORD _C083 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B709 - !WORD _B709-* -_B710 -; toolsrc/parse.pla: 0521: push_op(token, bops_prec[i]) -; toolsrc/parse.pla: 0522: break - !BYTE $68 ; LAB _D099+0 -_F1005 !WORD _D099+0 - !BYTE $26 ; LA _D038+0 -_F1006 !WORD _D038+0 - !BYTE $B0,$07 ; ADDLB [7] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C080 -_F1007 !WORD _C080 - !BYTE $50 ; BRNCH _B704 - !WORD _B704-* -; toolsrc/parse.pla: 0523: fin -_B707 -_B708 -; toolsrc/parse.pla: 0524: next -_B706 - !BYTE $A4 ; INCBRLE _B705 - !WORD _B705-* -_B704 - !BYTE $74,$07 ; SLB [7] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 0525: fin -_B702 -_B703 -; toolsrc/parse.pla: 0526: until matchop <> 2 -_B701 - !BYTE $64,$06 ; LLB [6] - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B700 - !WORD _B700-* -_B699 -; toolsrc/parse.pla: 0527: if matchop == 0 and prevmatch == 2; exit_err(ERR_SYNTAX); fin - !BYTE $64,$06 ; LLB [6] - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B712 - !WORD _B712-* - !BYTE $64,$05 ; LLB [5] - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ -_B712 - !BYTE $4C ; BRFLS _B713 - !WORD _B713-* - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $54 ; CALL _C002 -_F1008 !WORD _C002 -_B713 -_B714 -; toolsrc/parse.pla: 0528: while optos < opsp - !BYTE $50 ; BRNCH _B717 - !WORD _B717-* -_B715 -; toolsrc/parse.pla: 0529: codeseq = gen_bop(codeseq, pop_op) -; toolsrc/parse.pla: 0530: stackdepth-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C081 -_F1009 !WORD _C081 - !BYTE $54 ; CALL _C067 -_F1010 !WORD _C067 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0531: loop - !BYTE $74,$02 ; SLB [2] -_B717 - !BYTE $66,$08 ; LLW [8] - !BYTE $6A ; LAW _D041+0 -_F1011 !WORD _D041+0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B715 - !WORD _B715-* -_B716 -; toolsrc/parse.pla: 0532: if token == LOGIC_AND_TKN -; toolsrc/parse.pla: 0533: if stackdepth <> 1; exit_err(ERR_OVER|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D099+0 -_F1012 !WORD _D099+0 - !BYTE $2A,$CE ; CB 206 - !BYTE $24 ; BRNE _B718 - !WORD _B718-* - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B720 - !WORD _B720-* - !BYTE $2C,$10,$80 ; CW 32784 - !BYTE $54 ; CALL _C002 -_F1013 !WORD _C002 -_B720 -_B721 -; toolsrc/parse.pla: 0534: tag_endop = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0535: codeseq = gen_oprel(codeseq, BRAND_CODE, tag_endop) -; toolsrc/parse.pla: 0536: codeseq, stkdepth1 = parse_subexpr(codeseq) -; toolsrc/parse.pla: 0537: if stkdepth1 <> stackdepth; exit_err(ERR_INVAL|ERR_CODE); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1014 !WORD _C004 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$AC ; CB 172 - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C064 -_F1015 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C093 -_F1016 !WORD _C093 - !BYTE $74,$04 ; SLB [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$02 ; LLB [2] - !BYTE $22 ; BREQ _B722 - !WORD _B722-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F1017 !WORD _C002 -_B722 -_B723 -; toolsrc/parse.pla: 0538: codeseq = gen_ctag(codeseq, tag_endop) -; toolsrc/parse.pla: 0539: elsif token == LOGIC_OR_TKN - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C065 -_F1018 !WORD _C065 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B719 - !WORD _B719-* -_B718 -; toolsrc/parse.pla: 0540: if stackdepth <> 1; exit_err(ERR_OVER|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D099+0 -_F1019 !WORD _D099+0 - !BYTE $2A,$CF ; CB 207 - !BYTE $24 ; BRNE _B724 - !WORD _B724-* - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B725 - !WORD _B725-* - !BYTE $2C,$10,$80 ; CW 32784 - !BYTE $54 ; CALL _C002 -_F1020 !WORD _C002 -_B725 -_B726 -; toolsrc/parse.pla: 0541: tag_endop = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0542: codeseq = gen_oprel(codeseq, BROR_CODE, tag_endop) -; toolsrc/parse.pla: 0543: codeseq, stkdepth1 = parse_subexpr(codeseq) -; toolsrc/parse.pla: 0544: if stkdepth1 <> stackdepth; exit_err(ERR_INVAL|ERR_CODE); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1021 !WORD _C004 - !BYTE $76,$0C ; SLW [12] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$AE ; CB 174 - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C064 -_F1022 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C093 -_F1023 !WORD _C093 - !BYTE $74,$04 ; SLB [4] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$04 ; LLB [4] - !BYTE $64,$02 ; LLB [2] - !BYTE $22 ; BREQ _B727 - !WORD _B727-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F1024 !WORD _C002 -_B727 -_B728 -; toolsrc/parse.pla: 0545: codeseq = gen_ctag(codeseq, tag_endop) -; toolsrc/parse.pla: 0546: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0C ; LLW [12] - !BYTE $54 ; CALL _C065 -_F1025 !WORD _C065 - !BYTE $76,$00 ; SLW [0] -_B724 -_B719 -; toolsrc/parse.pla: 0547: return codeseq, stackdepth - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$0E ; LEAVE 14 -; toolsrc/parse.pla: 0548: end -; toolsrc/parse.pla: 0549: def parse_expr(codeseq)#2 - ; codeseq -> [0] -_P004 ; parse_expr(codeseq)#2() -_C094 ; parse_expr() -; toolsrc/parse.pla: 0550: byte stackdepth, stkdepth1 - ; stackdepth -> [2] - ; stkdepth1 -> [3] -; toolsrc/parse.pla: 0551: word tag_else, tag_endop - ; tag_else -> [4] - ; tag_endop -> [6] -; toolsrc/parse.pla: 0552: -; toolsrc/parse.pla: 0553: codeseq, stackdepth = parse_subexpr(codeseq) - !BYTE $58,$08,$01 ; ENTER 8,1 -; toolsrc/parse.pla: 0554: if token == TERNARY_TKN -; toolsrc/parse.pla: 0555: if stackdepth <> 1; exit_err(ERR_OVER|ERR_SYNTAX); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C093 -_F1026 !WORD _C093 - !BYTE $74,$02 ; SLB [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D099+0 -_F1027 !WORD _D099+0 - !BYTE $2A,$BF ; CB 191 - !BYTE $24 ; BRNE _B729 - !WORD _B729-* - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $22 ; BREQ _B731 - !WORD _B731-* - !BYTE $2C,$10,$80 ; CW 32784 - !BYTE $54 ; CALL _C002 -_F1028 !WORD _C002 -_B731 -_B732 -; toolsrc/parse.pla: 0556: tag_else = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0557: tag_endop = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0558: codeseq = gen_oprel(codeseq, BRFALSE_CODE, tag_else) -; toolsrc/parse.pla: 0559: codeseq, stkdepth1 = parse_expr(codeseq) -; toolsrc/parse.pla: 0560: if token <> TRIELSE_TKN; exit_err(ERR_MISS|ERR_SYNTAX); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1029 !WORD _C004 - !BYTE $76,$04 ; SLW [4] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1030 !WORD _C004 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C064 -_F1031 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C094 -_F1032 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D099+0 -_F1033 !WORD _D099+0 - !BYTE $2A,$DF ; CB 223 - !BYTE $22 ; BREQ _B733 - !WORD _B733-* - !BYTE $2C,$08,$80 ; CW 32776 - !BYTE $54 ; CALL _C002 -_F1034 !WORD _C002 -_B733 -_B734 -; toolsrc/parse.pla: 0561: codeseq = gen_oprel(codeseq, BRNCH_CODE, tag_endop) -; toolsrc/parse.pla: 0562: codeseq = gen_ctag(codeseq, tag_else) -; toolsrc/parse.pla: 0563: codeseq, stackdepth = parse_expr(codeseq) -; toolsrc/parse.pla: 0564: if stkdepth1 <> stackdepth; exit_err(ERR_INVAL|ERR_CODE); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$50 ; CB 80 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C064 -_F1035 !WORD _C064 - !BYTE $6E,$00 ; DLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C065 -_F1036 !WORD _C065 - !BYTE $6E,$00 ; DLW [0] - !BYTE $54 ; CALL _C094 -_F1037 !WORD _C094 - !BYTE $74,$02 ; SLB [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$03 ; LLB [3] - !BYTE $64,$02 ; LLB [2] - !BYTE $22 ; BREQ _B735 - !WORD _B735-* - !BYTE $2C,$04,$01 ; CW 260 - !BYTE $54 ; CALL _C002 -_F1038 !WORD _C002 -_B735 -_B736 -; toolsrc/parse.pla: 0565: codeseq = gen_ctag(codeseq, tag_endop) -; toolsrc/parse.pla: 0566: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C065 -_F1039 !WORD _C065 - !BYTE $76,$00 ; SLW [0] -_B729 -_B730 -; toolsrc/parse.pla: 0567: return codeseq, stackdepth - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/parse.pla: 0568: end -; toolsrc/parse.pla: 0569: def parse_set(codeseq) - ; codeseq -> [0] -_C095 ; parse_set() -; toolsrc/parse.pla: 0570: word setptr, rseq, setseq[16] - ; setptr -> [2] - ; rseq -> [4] - ; setseq -> [6] -; toolsrc/parse.pla: 0571: byte lparms, rparms, i, lambda_set - ; lparms -> [38] - ; rparms -> [39] - ; i -> [40] - ; lambda_set -> [41] -; toolsrc/parse.pla: 0572: -; toolsrc/parse.pla: 0573: lparms = 0 - !BYTE $58,$2A,$01 ; ENTER 42,1 -; toolsrc/parse.pla: 0574: rparms = 0 -; toolsrc/parse.pla: 0575: lambda_set = lambda_cnt -; toolsrc/parse.pla: 0576: setptr = tknptr -; toolsrc/parse.pla: 0577: repeat - !BYTE $00 ; CN 0 - !BYTE $74,$26 ; SLB [38] - !BYTE $00 ; CN 0 - !BYTE $74,$27 ; SLB [39] - !BYTE $68 ; LAB _D115+0 -_F1040 !WORD _D115+0 - !BYTE $74,$29 ; SLB [41] - !BYTE $6A ; LAW _D102+0 -_F1041 !WORD _D102+0 - !BYTE $76,$02 ; SLW [2] -_B738 -; toolsrc/parse.pla: 0578: setseq[lparms], drop = parse_value(NULL, LVALUE) -; toolsrc/parse.pla: 0579: if not setseq[lparms]; break; fin - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C092 -_F1042 !WORD _C092 - !BYTE $30 ; DROP - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $72 ; SW - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B740 - !WORD _B740-* - !BYTE $50 ; BRNCH _B737 - !WORD _B737-* -_B740 -_B741 -; toolsrc/parse.pla: 0580: lparms++ - !BYTE $64,$26 ; LLB [38] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0581: until token <> COMMA_TKN - !BYTE $74,$26 ; SLB [38] -_B739 - !BYTE $68 ; LAB _D099+0 -_F1043 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B738 - !WORD _B738-* -_B737 -; toolsrc/parse.pla: 0582: if not lparms or token <> SET_TKN -; toolsrc/parse.pla: 0583: // -; toolsrc/parse.pla: 0584: // Not a set list - free everything up -; toolsrc/parse.pla: 0585: // -; toolsrc/parse.pla: 0586: rewind(setptr) -; toolsrc/parse.pla: 0587: while lparms - !BYTE $64,$26 ; LLB [38] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B742 - !WORD _B742-* - !BYTE $68 ; LAB _D099+0 -_F1044 !WORD _D099+0 - !BYTE $2A,$BD ; CB 189 - !BYTE $42 ; ISNE -_B742 - !BYTE $4C ; BRFLS _B743 - !WORD _B743-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C077 -_F1045 !WORD _C077 - !BYTE $50 ; BRNCH _B747 - !WORD _B747-* -_B745 -; toolsrc/parse.pla: 0588: lparms-- - !BYTE $64,$26 ; LLB [38] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0589: release_seq(setseq[lparms]) -; toolsrc/parse.pla: 0590: loop - !BYTE $74,$26 ; SLB [38] - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C007 -_F1046 !WORD _C007 -_B747 - !BYTE $64,$26 ; LLB [38] - !BYTE $4E ; BRTRU _B745 - !WORD _B745-* -_B746 -; toolsrc/parse.pla: 0591: while lambda_cnt > lambda_set - !BYTE $50 ; BRNCH _B750 - !WORD _B750-* -_B748 -; toolsrc/parse.pla: 0592: lambda_cnt-- - !BYTE $68 ; LAB _D115+0 -_F1047 !WORD _D115+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0593: lambda_num-- - !BYTE $78 ; SAB _D115+0 -_F1048 !WORD _D115+0 - !BYTE $68 ; LAB _D116+0 -_F1049 !WORD _D116+0 - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0594: release_seq(lambda_seq[lambda_cnt]) -; toolsrc/parse.pla: 0595: loop - !BYTE $78 ; SAB _D116+0 -_F1050 !WORD _D116+0 - !BYTE $26 ; LA _D118+0 -_F1051 !WORD _D118+0 - !BYTE $BC ; IDXAB _D115+0 -_F1052 !WORD _D115+0 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C007 -_F1053 !WORD _C007 -_B750 - !BYTE $68 ; LAB _D115+0 -_F1054 !WORD _D115+0 - !BYTE $64,$29 ; LLB [41] - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B748 - !WORD _B748-* -_B749 -; toolsrc/parse.pla: 0596: return NULL - !BYTE $00 ; CN 0 - !BYTE $5A,$2A ; LEAVE 42 -; toolsrc/parse.pla: 0597: fin -_B743 -_B744 -; toolsrc/parse.pla: 0598: rseq, rparms = parse_list -; toolsrc/parse.pla: 0599: if lparms > rparms; exit_err(ERR_MISS|ERR_CODE|ERR_FRAME); fin - !BYTE $54 ; CALL _C091 -_F1055 !WORD _C091 - !BYTE $74,$27 ; SLB [39] - !BYTE $76,$04 ; SLW [4] - !BYTE $64,$26 ; LLB [38] - !BYTE $64,$27 ; LLB [39] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B751 - !WORD _B751-* - !BYTE $2C,$08,$21 ; CW 8456 - !BYTE $54 ; CALL _C002 -_F1056 !WORD _C002 -_B751 -_B752 -; toolsrc/parse.pla: 0600: codeseq = cat_seq(codeseq, rseq) -; toolsrc/parse.pla: 0601: if lparms < rparms -; toolsrc/parse.pla: 0602: parse_warn("Silently dropping extra set values") - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C008 -_F1057 !WORD _C008 - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$26 ; LLB [38] - !BYTE $64,$27 ; LLB [39] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B753 - !WORD _B753-* - !BYTE $2E ; CS - !BYTE $22 - !BYTE $53,$69,$6C,$65,$6E,$74,$6C,$79 - !BYTE $20,$64,$72,$6F,$70,$70,$69,$6E - !BYTE $67,$20,$65,$78,$74,$72,$61,$20 - !BYTE $73,$65,$74,$20,$76,$61,$6C,$75 - !BYTE $65,$73 - !BYTE $54 ; CALL _C003 -_F1058 !WORD _C003 -; toolsrc/parse.pla: 0603: for i = rparms - lparms downto 1 - !BYTE $02 ; CN 1 - !BYTE $64,$27 ; LLB [39] - !BYTE $64,$26 ; LLB [38] - !BYTE $84 ; SUB - !BYTE $A2 ; BRLT _B755 - !WORD _B755-* -_B756 - !BYTE $6C,$28 ; DLB [40] -; toolsrc/parse.pla: 0604: codeseq = gen_op(codeseq, DROP_CODE) -; toolsrc/parse.pla: 0605: next - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1059 !WORD _C059 - !BYTE $76,$00 ; SLW [0] -_B757 - !BYTE $A8 ; DECBRGE _B756 - !WORD _B756-* -_B755 - !BYTE $74,$28 ; SLB [40] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 0606: fin -_B753 -_B754 -; toolsrc/parse.pla: 0607: while lparms - !BYTE $50 ; BRNCH _B760 - !WORD _B760-* -_B758 -; toolsrc/parse.pla: 0608: lparms-- - !BYTE $64,$26 ; LLB [38] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0609: codeseq = cat_seq(codeseq, setseq[lparms]) -; toolsrc/parse.pla: 0610: loop - !BYTE $74,$26 ; SLB [38] - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$06 ; LLA [6] - !BYTE $B8,$26 ; IDXLB [38] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C008 -_F1060 !WORD _C008 - !BYTE $76,$00 ; SLW [0] -_B760 - !BYTE $64,$26 ; LLB [38] - !BYTE $4E ; BRTRU _B758 - !WORD _B758-* -_B759 -; toolsrc/parse.pla: 0611: return codeseq - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$2A ; LEAVE 42 -; toolsrc/parse.pla: 0612: end -; toolsrc/parse.pla: 0613: def parse_stmnt -_C096 ; parse_stmnt() -; toolsrc/parse.pla: 0614: byte type, elem_type, elem_size, cfnvals - ; type -> [0] - ; elem_type -> [1] - ; elem_size -> [2] - ; cfnvals -> [3] -; toolsrc/parse.pla: 0615: word seq, fromseq, toseq, tag_prevbrk, tag_prevcnt, tag_else, tag_endif, tag_while, tag_wend - ; seq -> [4] - ; fromseq -> [6] - ; toseq -> [8] - ; tag_prevbrk -> [10] - ; tag_prevcnt -> [12] - ; tag_else -> [14] - ; tag_endif -> [16] - ; tag_while -> [18] - ; tag_wend -> [20] -; toolsrc/parse.pla: 0616: word tag_repeat, tag_for, tag_choice, tag_of, idptr, addr, stepdir - ; tag_repeat -> [22] - ; tag_for -> [24] - ; tag_choice -> [26] - ; tag_of -> [28] - ; idptr -> [30] - ; addr -> [32] - ; stepdir -> [34] -; toolsrc/parse.pla: 0617: word case_const, case_type, casecnt, caseval, casetyp, casetag, i - ; case_const -> [36] - ; case_type -> [38] - ; casecnt -> [40] - ; caseval -> [42] - ; casetyp -> [44] - ; casetag -> [46] - ; i -> [48] -; toolsrc/parse.pla: 0618: -; toolsrc/parse.pla: 0619: if token <> END_TKN and token <> DONE_TKN and token <> OF_TKN and token <> DEFAULT_TKN - !BYTE $58,$32,$00 ; ENTER 50,0 -; toolsrc/parse.pla: 0620: prevstmnt = token -; toolsrc/parse.pla: 0621: fin - !BYTE $68 ; LAB _D099+0 -_F1061 !WORD _D099+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B761 - !WORD _B761-* - !BYTE $68 ; LAB _D099+0 -_F1062 !WORD _D099+0 - !BYTE $2A,$98 ; CB 152 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B762 - !WORD _B762-* - !BYTE $68 ; LAB _D099+0 -_F1063 !WORD _D099+0 - !BYTE $2A,$8B ; CB 139 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B763 - !WORD _B763-* - !BYTE $68 ; LAB _D099+0 -_F1064 !WORD _D099+0 - !BYTE $2A,$8C ; CB 140 - !BYTE $42 ; ISNE -_B763 -_B762 -_B761 - !BYTE $4C ; BRFLS _B764 - !WORD _B764-* - !BYTE $68 ; LAB _D099+0 -_F1065 !WORD _D099+0 - !BYTE $78 ; SAB _D111+0 -_F1066 !WORD _D111+0 -_B764 -_B765 -; toolsrc/parse.pla: 0622: when token - !BYTE $68 ; LAB _D099+0 -_F1067 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B767-* -; toolsrc/parse.pla: 0623: is IF_TKN -_B768 -; toolsrc/parse.pla: 0624: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0625: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1068 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B769 - !WORD _B769-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1069 !WORD _C002 -_B769 -_B770 -; toolsrc/parse.pla: 0626: if cfnvals > 1 -; toolsrc/parse.pla: 0627: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B771 - !WORD _B771-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1070 !WORD _C003 -; toolsrc/parse.pla: 0628: while cfnvals > 1; cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B775 - !WORD _B775-* -_B773 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1071 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B775 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B773 - !WORD _B773-* -_B774 -; toolsrc/parse.pla: 0629: fin -_B771 -_B772 -; toolsrc/parse.pla: 0630: tag_else = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0631: tag_endif = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0632: seq = gen_oprel(seq, BRFALSE_CODE, tag_else) -; toolsrc/parse.pla: 0633: emit_seq(seq) -; toolsrc/parse.pla: 0634: repeat - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1072 !WORD _C004 - !BYTE $76,$0E ; SLW [14] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1073 !WORD _C004 - !BYTE $76,$10 ; SLW [16] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C064 -_F1074 !WORD _C064 - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1075 !WORD _C041 -_B777 -; toolsrc/parse.pla: 0635: while parse_stmnt - !BYTE $50 ; BRNCH _B781 - !WORD _B781-* -_B779 -; toolsrc/parse.pla: 0636: nextln -; toolsrc/parse.pla: 0637: loop - !BYTE $54 ; CALL _C079 -_F1076 !WORD _C079 - !BYTE $30 ; DROP -_B781 - !BYTE $54 ; CALL _C096 -_F1077 !WORD _C096 - !BYTE $4E ; BRTRU _B779 - !WORD _B779-* -_B780 -; toolsrc/parse.pla: 0638: if token <> ELSEIF_TKN -; toolsrc/parse.pla: 0639: break - !BYTE $68 ; LAB _D099+0 -_F1078 !WORD _D099+0 - !BYTE $2A,$84 ; CB 132 - !BYTE $22 ; BREQ _B782 - !WORD _B782-* - !BYTE $50 ; BRNCH _B776 - !WORD _B776-* -; toolsrc/parse.pla: 0640: fin -_B782 -_B783 -; toolsrc/parse.pla: 0641: emit_branch(tag_endif) -; toolsrc/parse.pla: 0642: emit_tag(tag_else) -; toolsrc/parse.pla: 0643: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0644: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C028 -_F1079 !WORD _C028 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C039 -_F1080 !WORD _C039 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1081 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B784 - !WORD _B784-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1082 !WORD _C002 -_B784 -_B785 -; toolsrc/parse.pla: 0645: if cfnvals > 1 -; toolsrc/parse.pla: 0646: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B786 - !WORD _B786-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1083 !WORD _C003 -; toolsrc/parse.pla: 0647: while cfnvals > 1; cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B790 - !WORD _B790-* -_B788 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1084 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B790 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B788 - !WORD _B788-* -_B789 -; toolsrc/parse.pla: 0648: fin -_B786 -_B787 -; toolsrc/parse.pla: 0649: tag_else = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0650: seq = gen_oprel(seq, BRFALSE_CODE, tag_else) -; toolsrc/parse.pla: 0651: emit_seq(seq) -; toolsrc/parse.pla: 0652: until FALSE - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1085 !WORD _C004 - !BYTE $76,$0E ; SLW [14] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C064 -_F1086 !WORD _C064 - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1087 !WORD _C041 -_B778 - !BYTE $50 ; BRNCH _B777 - !WORD _B777-* -_B776 -; toolsrc/parse.pla: 0653: if token == ELSE_TKN -; toolsrc/parse.pla: 0654: emit_branch(tag_endif) -; toolsrc/parse.pla: 0655: emit_tag(tag_else) -; toolsrc/parse.pla: 0656: scan -; toolsrc/parse.pla: 0657: while parse_stmnt - !BYTE $68 ; LAB _D099+0 -_F1088 !WORD _D099+0 - !BYTE $2A,$85 ; CB 133 - !BYTE $24 ; BRNE _B791 - !WORD _B791-* - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C028 -_F1089 !WORD _C028 - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C039 -_F1090 !WORD _C039 - !BYTE $54 ; CALL _C076 -_F1091 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B795 - !WORD _B795-* -_B793 -; toolsrc/parse.pla: 0658: nextln -; toolsrc/parse.pla: 0659: loop - !BYTE $54 ; CALL _C079 -_F1092 !WORD _C079 - !BYTE $30 ; DROP -_B795 - !BYTE $54 ; CALL _C096 -_F1093 !WORD _C096 - !BYTE $4E ; BRTRU _B793 - !WORD _B793-* -_B794 -; toolsrc/parse.pla: 0660: emit_tag(tag_endif) -; toolsrc/parse.pla: 0661: else - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C039 -_F1094 !WORD _C039 - !BYTE $50 ; BRNCH _B792 - !WORD _B792-* -_B791 -; toolsrc/parse.pla: 0662: emit_tag(tag_else) -; toolsrc/parse.pla: 0663: emit_tag(tag_endif) -; toolsrc/parse.pla: 0664: fin - !BYTE $66,$0E ; LLW [14] - !BYTE $54 ; CALL _C039 -_F1095 !WORD _C039 - !BYTE $66,$10 ; LLW [16] - !BYTE $54 ; CALL _C039 -_F1096 !WORD _C039 -_B792 -; toolsrc/parse.pla: 0665: if token <> FIN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1097 !WORD _D099+0 - !BYTE $2A,$86 ; CB 134 - !BYTE $22 ; BREQ _B796 - !WORD _B796-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1098 !WORD _C002 -_B796 -_B797 -; toolsrc/parse.pla: 0666: break - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0667: is WHILE_TKN -_B798 -; toolsrc/parse.pla: 0668: tag_while = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0669: tag_wend = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0670: tag_prevcnt = cont_tag -; toolsrc/parse.pla: 0671: cont_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0672: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0673: break_tag = tag_wend -; toolsrc/parse.pla: 0674: emit_branch(cont_tag) -; toolsrc/parse.pla: 0675: emit_tag(tag_while) -; toolsrc/parse.pla: 0676: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0677: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1099 !WORD _C004 - !BYTE $76,$12 ; SLW [18] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1100 !WORD _C004 - !BYTE $76,$14 ; SLW [20] - !BYTE $6A ; LAW _D114+0 -_F1101 !WORD _D114+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1102 !WORD _C004 - !BYTE $7A ; SAW _D114+0 -_F1103 !WORD _D114+0 - !BYTE $6A ; LAW _D113+0 -_F1104 !WORD _D113+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$14 ; LLW [20] - !BYTE $7A ; SAW _D113+0 -_F1105 !WORD _D113+0 - !BYTE $6A ; LAW _D114+0 -_F1106 !WORD _D114+0 - !BYTE $54 ; CALL _C028 -_F1107 !WORD _C028 - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C039 -_F1108 !WORD _C039 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1109 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B799 - !WORD _B799-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1110 !WORD _C002 -_B799 -_B800 -; toolsrc/parse.pla: 0678: if cfnvals > 1 -; toolsrc/parse.pla: 0679: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B801 - !WORD _B801-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1111 !WORD _C003 -; toolsrc/parse.pla: 0680: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B805 - !WORD _B805-* -_B803 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1112 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B805 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B803 - !WORD _B803-* -_B804 -; toolsrc/parse.pla: 0681: fin -_B801 -_B802 -; toolsrc/parse.pla: 0682: seq = gen_oprel(seq, BRTRUE_CODE, tag_while) -; toolsrc/parse.pla: 0683: while parse_stmnt - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4E ; CB 78 - !BYTE $66,$12 ; LLW [18] - !BYTE $54 ; CALL _C064 -_F1113 !WORD _C064 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B808 - !WORD _B808-* -_B806 -; toolsrc/parse.pla: 0684: nextln -; toolsrc/parse.pla: 0685: loop - !BYTE $54 ; CALL _C079 -_F1114 !WORD _C079 - !BYTE $30 ; DROP -_B808 - !BYTE $54 ; CALL _C096 -_F1115 !WORD _C096 - !BYTE $4E ; BRTRU _B806 - !WORD _B806-* -_B807 -; toolsrc/parse.pla: 0686: if token <> LOOP_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1116 !WORD _D099+0 - !BYTE $2A,$89 ; CB 137 - !BYTE $22 ; BREQ _B809 - !WORD _B809-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1117 !WORD _C002 -_B809 -_B810 -; toolsrc/parse.pla: 0687: emit_tag(cont_tag) -; toolsrc/parse.pla: 0688: emit_seq(seq) -; toolsrc/parse.pla: 0689: emit_tag(tag_wend) -; toolsrc/parse.pla: 0690: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0691: cont_tag = tag_prevcnt -; toolsrc/parse.pla: 0692: break - !BYTE $6A ; LAW _D114+0 -_F1118 !WORD _D114+0 - !BYTE $54 ; CALL _C039 -_F1119 !WORD _C039 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1120 !WORD _C041 - !BYTE $66,$14 ; LLW [20] - !BYTE $54 ; CALL _C039 -_F1121 !WORD _C039 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D113+0 -_F1122 !WORD _D113+0 - !BYTE $66,$0C ; LLW [12] - !BYTE $7A ; SAW _D114+0 -_F1123 !WORD _D114+0 - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0693: is REPEAT_TKN -_B811 -; toolsrc/parse.pla: 0694: tag_repeat = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0695: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0696: break_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0697: tag_prevcnt = cont_tag -; toolsrc/parse.pla: 0698: cont_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0699: emit_tag(tag_repeat) -; toolsrc/parse.pla: 0700: scan -; toolsrc/parse.pla: 0701: while parse_stmnt - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1124 !WORD _C004 - !BYTE $76,$16 ; SLW [22] - !BYTE $6A ; LAW _D113+0 -_F1125 !WORD _D113+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1126 !WORD _C004 - !BYTE $7A ; SAW _D113+0 -_F1127 !WORD _D113+0 - !BYTE $6A ; LAW _D114+0 -_F1128 !WORD _D114+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1129 !WORD _C004 - !BYTE $7A ; SAW _D114+0 -_F1130 !WORD _D114+0 - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C039 -_F1131 !WORD _C039 - !BYTE $54 ; CALL _C076 -_F1132 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B814 - !WORD _B814-* -_B812 -; toolsrc/parse.pla: 0702: nextln -; toolsrc/parse.pla: 0703: loop - !BYTE $54 ; CALL _C079 -_F1133 !WORD _C079 - !BYTE $30 ; DROP -_B814 - !BYTE $54 ; CALL _C096 -_F1134 !WORD _C096 - !BYTE $4E ; BRTRU _B812 - !WORD _B812-* -_B813 -; toolsrc/parse.pla: 0704: if token <> UNTIL_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1135 !WORD _D099+0 - !BYTE $2A,$94 ; CB 148 - !BYTE $22 ; BREQ _B815 - !WORD _B815-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1136 !WORD _C002 -_B815 -_B816 -; toolsrc/parse.pla: 0705: emit_tag(cont_tag) -; toolsrc/parse.pla: 0706: cont_tag = tag_prevcnt -; toolsrc/parse.pla: 0707: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0708: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $6A ; LAW _D114+0 -_F1137 !WORD _D114+0 - !BYTE $54 ; CALL _C039 -_F1138 !WORD _C039 - !BYTE $66,$0C ; LLW [12] - !BYTE $7A ; SAW _D114+0 -_F1139 !WORD _D114+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1140 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B817 - !WORD _B817-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1141 !WORD _C002 -_B817 -_B818 -; toolsrc/parse.pla: 0709: if cfnvals > 1 -; toolsrc/parse.pla: 0710: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B819 - !WORD _B819-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1142 !WORD _C003 -; toolsrc/parse.pla: 0711: while cfnvals > 1; cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B823 - !WORD _B823-* -_B821 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1143 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B823 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B821 - !WORD _B821-* -_B822 -; toolsrc/parse.pla: 0712: fin -_B819 -_B820 -; toolsrc/parse.pla: 0713: seq = gen_oprel(seq, BRFALSE_CODE, tag_repeat) -; toolsrc/parse.pla: 0714: emit_seq(seq) -; toolsrc/parse.pla: 0715: emit_tag(break_tag) -; toolsrc/parse.pla: 0716: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0717: break - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$16 ; LLW [22] - !BYTE $54 ; CALL _C064 -_F1144 !WORD _C064 - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1145 !WORD _C041 - !BYTE $6A ; LAW _D113+0 -_F1146 !WORD _D113+0 - !BYTE $54 ; CALL _C039 -_F1147 !WORD _C039 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D113+0 -_F1148 !WORD _D113+0 - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0718: is FOR_TKN -_B824 -; toolsrc/parse.pla: 0719: stack_loop = stack_loop + 2 -; toolsrc/parse.pla: 0720: tag_for = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0721: tag_prevcnt = cont_tag -; toolsrc/parse.pla: 0722: cont_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0723: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0724: break_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0725: if scan <> ID_TKN; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $68 ; LAB _D110+0 -_F1149 !WORD _D110+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $78 ; SAB _D110+0 -_F1150 !WORD _D110+0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1151 !WORD _C004 - !BYTE $76,$18 ; SLW [24] - !BYTE $6A ; LAW _D114+0 -_F1152 !WORD _D114+0 - !BYTE $76,$0C ; SLW [12] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1153 !WORD _C004 - !BYTE $7A ; SAW _D114+0 -_F1154 !WORD _D114+0 - !BYTE $6A ; LAW _D113+0 -_F1155 !WORD _D113+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1156 !WORD _C004 - !BYTE $7A ; SAW _D113+0 -_F1157 !WORD _D113+0 - !BYTE $54 ; CALL _C076 -_F1158 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B825 - !WORD _B825-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1159 !WORD _C002 -_B825 -_B826 -; toolsrc/parse.pla: 0726: idptr = lookup_id(tknptr, tknlen) -; toolsrc/parse.pla: 0727: if idptr -; toolsrc/parse.pla: 0728: type = idptr=>idtype -; toolsrc/parse.pla: 0729: addr = idptr=>idval -; toolsrc/parse.pla: 0730: else - !BYTE $6A ; LAW _D102+0 -_F1160 !WORD _D102+0 - !BYTE $68 ; LAB _D101+0 -_F1161 !WORD _D101+0 - !BYTE $54 ; CALL _C044 -_F1162 !WORD _C044 - !BYTE $6E,$1E ; DLW [30] - !BYTE $4C ; BRFLS _B827 - !WORD _B827-* - !BYTE $66,$1E ; LLW [30] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $74,$00 ; SLB [0] - !BYTE $66,$1E ; LLW [30] - !BYTE $62 ; LW - !BYTE $76,$20 ; SLW [32] - !BYTE $50 ; BRNCH _B828 - !WORD _B828-* -_B827 -; toolsrc/parse.pla: 0731: exit_err(ERR_INVAL|ERR_ID) -; toolsrc/parse.pla: 0732: fin - !BYTE $2C,$04,$02 ; CW 516 - !BYTE $54 ; CALL _C002 -_F1163 !WORD _C002 -_B828 -; toolsrc/parse.pla: 0733: if scan <> SET_TKN; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $54 ; CALL _C076 -_F1164 !WORD _C076 - !BYTE $2A,$BD ; CB 189 - !BYTE $22 ; BREQ _B829 - !WORD _B829-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1165 !WORD _C002 -_B829 -_B830 -; toolsrc/parse.pla: 0734: fromseq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0735: if !fromseq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1166 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$06 ; DLW [6] - !BYTE $4E ; BRTRU _B831 - !WORD _B831-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1167 !WORD _C002 -_B831 -_B832 -; toolsrc/parse.pla: 0736: if cfnvals > 1 -; toolsrc/parse.pla: 0737: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B833 - !WORD _B833-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1168 !WORD _C003 -; toolsrc/parse.pla: 0738: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B837 - !WORD _B837-* -_B835 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1169 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B837 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B835 - !WORD _B835-* -_B836 -; toolsrc/parse.pla: 0739: fin -_B833 -_B834 -; toolsrc/parse.pla: 0740: if token == TO_TKN -; toolsrc/parse.pla: 0741: stepdir = 1 -; toolsrc/parse.pla: 0742: elsif token == DOWNTO_TKN - !BYTE $68 ; LAB _D099+0 -_F1170 !WORD _D099+0 - !BYTE $2A,$8F ; CB 143 - !BYTE $24 ; BRNE _B838 - !WORD _B838-* - !BYTE $02 ; CN 1 - !BYTE $76,$22 ; SLW [34] - !BYTE $50 ; BRNCH _B839 - !WORD _B839-* -_B838 -; toolsrc/parse.pla: 0743: stepdir = -1 -; toolsrc/parse.pla: 0744: else - !BYTE $68 ; LAB _D099+0 -_F1171 !WORD _D099+0 - !BYTE $2A,$90 ; CB 144 - !BYTE $24 ; BRNE _B840 - !WORD _B840-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$22 ; SLW [34] - !BYTE $50 ; BRNCH _B839 - !WORD _B839-* -_B840 -; toolsrc/parse.pla: 0745: exit_err(ERR_INVAL|ERR_STATE) -; toolsrc/parse.pla: 0746: fin - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1172 !WORD _C002 -_B839 -; toolsrc/parse.pla: 0747: toseq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0748: if !toseq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1173 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$08 ; DLW [8] - !BYTE $4E ; BRTRU _B841 - !WORD _B841-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1174 !WORD _C002 -_B841 -_B842 -; toolsrc/parse.pla: 0749: if cfnvals > 1 -; toolsrc/parse.pla: 0750: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B843 - !WORD _B843-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1175 !WORD _C003 -; toolsrc/parse.pla: 0751: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B847 - !WORD _B847-* -_B845 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1176 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B847 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B845 - !WORD _B845-* -_B846 -; toolsrc/parse.pla: 0752: fin -_B843 -_B844 -; toolsrc/parse.pla: 0753: if token == STEP_TKN -; toolsrc/parse.pla: 0754: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0755: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1177 !WORD _D099+0 - !BYTE $2A,$91 ; CB 145 - !BYTE $24 ; BRNE _B848 - !WORD _B848-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1178 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B850 - !WORD _B850-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1179 !WORD _C002 -_B850 -_B851 -; toolsrc/parse.pla: 0756: if cfnvals > 1 -; toolsrc/parse.pla: 0757: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B852 - !WORD _B852-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1180 !WORD _C003 -; toolsrc/parse.pla: 0758: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B856 - !WORD _B856-* -_B854 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1181 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B856 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B854 - !WORD _B854-* -_B855 -; toolsrc/parse.pla: 0759: fin -_B852 -_B853 -; toolsrc/parse.pla: 0760: else - !BYTE $50 ; BRNCH _B849 - !WORD _B849-* -_B848 -; toolsrc/parse.pla: 0761: seq = NULL -; toolsrc/parse.pla: 0762: fin - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] -_B849 -; toolsrc/parse.pla: 0763: emit_seq(gen_oprel(cat_seq(toseq, fromseq), stepdir > 0 ?? BRGT_CODE :: BRLT_CODE, break_tag)) -; toolsrc/parse.pla: 0764: emit_tag(tag_for) -; toolsrc/parse.pla: 0765: if type & LOCAL_TYPE -; toolsrc/parse.pla: 0766: if type & BYTE_TYPE; emit_dlb(addr); else; emit_dlw(addr); fin - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _C008 -_F1182 !WORD _C008 - !BYTE $66,$22 ; LLW [34] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B859 - !WORD _B859-* - !BYTE $2A,$A0 ; CB 160 - !BYTE $50 ; BRNCH _B860 - !WORD _B860-* -_B859 - !BYTE $2A,$A2 ; CB 162 -_B860 - !BYTE $6A ; LAW _D113+0 -_F1183 !WORD _D113+0 - !BYTE $54 ; CALL _C064 -_F1184 !WORD _C064 - !BYTE $54 ; CALL _C041 -_F1185 !WORD _C041 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C039 -_F1186 !WORD _C039 - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B861 - !WORD _B861-* - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B863 - !WORD _B863-* - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C022 -_F1187 !WORD _C022 - !BYTE $50 ; BRNCH _B864 - !WORD _B864-* -_B863 - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C023 -_F1188 !WORD _C023 -_B864 -; toolsrc/parse.pla: 0767: else - !BYTE $50 ; BRNCH _B862 - !WORD _B862-* -_B861 -; toolsrc/parse.pla: 0768: if type & BYTE_TYPE; emit_dab(addr, 0); else; emit_daw(addr, 0); fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B865 - !WORD _B865-* - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C024 -_F1189 !WORD _C024 - !BYTE $50 ; BRNCH _B866 - !WORD _B866-* -_B865 - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C025 -_F1190 !WORD _C025 -_B866 -; toolsrc/parse.pla: 0769: fin -_B862 -; toolsrc/parse.pla: 0770: while parse_stmnt - !BYTE $50 ; BRNCH _B869 - !WORD _B869-* -_B867 -; toolsrc/parse.pla: 0771: nextln -; toolsrc/parse.pla: 0772: loop - !BYTE $54 ; CALL _C079 -_F1191 !WORD _C079 - !BYTE $30 ; DROP -_B869 - !BYTE $54 ; CALL _C096 -_F1192 !WORD _C096 - !BYTE $4E ; BRTRU _B867 - !WORD _B867-* -_B868 -; toolsrc/parse.pla: 0773: if token <> NEXT_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1193 !WORD _D099+0 - !BYTE $2A,$92 ; CB 146 - !BYTE $22 ; BREQ _B870 - !WORD _B870-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1194 !WORD _C002 -_B870 -_B871 -; toolsrc/parse.pla: 0774: emit_tag(cont_tag) -; toolsrc/parse.pla: 0775: cont_tag = tag_prevcnt -; toolsrc/parse.pla: 0776: if stepdir > 0 -; toolsrc/parse.pla: 0777: if seq -; toolsrc/parse.pla: 0778: emit_seq(seq) -; toolsrc/parse.pla: 0779: emit_addbrle(tag_for) -; toolsrc/parse.pla: 0780: else - !BYTE $6A ; LAW _D114+0 -_F1195 !WORD _D114+0 - !BYTE $54 ; CALL _C039 -_F1196 !WORD _C039 - !BYTE $66,$0C ; LLW [12] - !BYTE $7A ; SAW _D114+0 -_F1197 !WORD _D114+0 - !BYTE $66,$22 ; LLW [34] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B872 - !WORD _B872-* - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B874 - !WORD _B874-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1198 !WORD _C041 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C032 -_F1199 !WORD _C032 - !BYTE $50 ; BRNCH _B875 - !WORD _B875-* -_B874 -; toolsrc/parse.pla: 0781: emit_incbrle(tag_for) -; toolsrc/parse.pla: 0782: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C031 -_F1200 !WORD _C031 -_B875 -; toolsrc/parse.pla: 0783: else - !BYTE $50 ; BRNCH _B873 - !WORD _B873-* -_B872 -; toolsrc/parse.pla: 0784: if seq -; toolsrc/parse.pla: 0785: emit_seq(seq) -; toolsrc/parse.pla: 0786: emit_subbrge(tag_for) -; toolsrc/parse.pla: 0787: else - !BYTE $66,$04 ; LLW [4] - !BYTE $4C ; BRFLS _B876 - !WORD _B876-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1201 !WORD _C041 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C034 -_F1202 !WORD _C034 - !BYTE $50 ; BRNCH _B877 - !WORD _B877-* -_B876 -; toolsrc/parse.pla: 0788: emit_decbrge(tag_for) -; toolsrc/parse.pla: 0789: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C033 -_F1203 !WORD _C033 -_B877 -; toolsrc/parse.pla: 0790: fin -_B873 -; toolsrc/parse.pla: 0791: emit_tag(break_tag) -; toolsrc/parse.pla: 0792: if type & LOCAL_TYPE -; toolsrc/parse.pla: 0793: if type & BYTE_TYPE; emit_slb(addr); else; emit_slw(addr); fin - !BYTE $6A ; LAW _D113+0 -_F1204 !WORD _D113+0 - !BYTE $54 ; CALL _C039 -_F1205 !WORD _C039 - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B878 - !WORD _B878-* - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B880 - !WORD _B880-* - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C018 -_F1206 !WORD _C018 - !BYTE $50 ; BRNCH _B881 - !WORD _B881-* -_B880 - !BYTE $66,$20 ; LLW [32] - !BYTE $54 ; CALL _C019 -_F1207 !WORD _C019 -_B881 -; toolsrc/parse.pla: 0794: else - !BYTE $50 ; BRNCH _B879 - !WORD _B879-* -_B878 -; toolsrc/parse.pla: 0795: if type & BYTE_TYPE; emit_sab(addr, 0); else; emit_saw(addr, 0); fin - !BYTE $64,$00 ; LLB [0] - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B882 - !WORD _B882-* - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C020 -_F1208 !WORD _C020 - !BYTE $50 ; BRNCH _B883 - !WORD _B883-* -_B882 - !BYTE $66,$20 ; LLW [32] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C021 -_F1209 !WORD _C021 -_B883 -; toolsrc/parse.pla: 0796: fin -_B879 -; toolsrc/parse.pla: 0797: emit_code(DROP_CODE) -; toolsrc/parse.pla: 0798: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0799: stack_loop = stack_loop - 2 -; toolsrc/parse.pla: 0800: break - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C017 -_F1210 !WORD _C017 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D113+0 -_F1211 !WORD _D113+0 - !BYTE $68 ; LAB _D110+0 -_F1212 !WORD _D110+0 - !BYTE $3A,$02 ; SUBI 2 - !BYTE $78 ; SAB _D110+0 -_F1213 !WORD _D110+0 - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0801: is CASE_TKN -_B884 -; toolsrc/parse.pla: 0802: tag_prevbrk = break_tag -; toolsrc/parse.pla: 0803: break_tag = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0804: tag_choice = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0805: caseval = heapalloc(CASENUM*2) -; toolsrc/parse.pla: 0806: casetyp = heapalloc(CASENUM*2) -; toolsrc/parse.pla: 0807: casetag = heapalloc(CASENUM*2) -; toolsrc/parse.pla: 0808: casecnt = 0 -; toolsrc/parse.pla: 0809: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0810: if !seq; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $6A ; LAW _D113+0 -_F1214 !WORD _D113+0 - !BYTE $76,$0A ; SLW [10] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1215 !WORD _C004 - !BYTE $7A ; SAW _D113+0 -_F1216 !WORD _D113+0 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1217 !WORD _C004 - !BYTE $76,$1A ; SLW [26] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X014 -_F1218 !WORD 0 - !BYTE $76,$2A ; SLW [42] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X014 -_F1219 !WORD 0 - !BYTE $76,$2C ; SLW [44] - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X014 -_F1220 !WORD 0 - !BYTE $76,$2E ; SLW [46] - !BYTE $00 ; CN 0 - !BYTE $76,$28 ; SLW [40] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1221 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B885 - !WORD _B885-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1222 !WORD _C002 -_B885 -_B886 -; toolsrc/parse.pla: 0811: if cfnvals > 1 -; toolsrc/parse.pla: 0812: parse_warn("Expression value overflow") - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B887 - !WORD _B887-* - !BYTE $2E ; CS - !BYTE $19 - !BYTE $45,$78,$70,$72,$65,$73,$73,$69 - !BYTE $6F,$6E,$20,$76,$61,$6C,$75,$65 - !BYTE $20,$6F,$76,$65,$72,$66,$6C,$6F - !BYTE $77 - !BYTE $54 ; CALL _C003 -_F1223 !WORD _C003 -; toolsrc/parse.pla: 0813: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $50 ; BRNCH _B891 - !WORD _B891-* -_B889 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1224 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B891 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B889 - !WORD _B889-* -_B890 -; toolsrc/parse.pla: 0814: fin -_B887 -_B888 -; toolsrc/parse.pla: 0815: emit_seq(seq) -; toolsrc/parse.pla: 0816: emit_select(tag_choice) -; toolsrc/parse.pla: 0817: nextln -; toolsrc/parse.pla: 0818: while token <> ENDCASE_TKN - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1225 !WORD _C041 - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C026 -_F1226 !WORD _C026 - !BYTE $54 ; CALL _C079 -_F1227 !WORD _C079 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B894 - !WORD _B894-* -_B892 -; toolsrc/parse.pla: 0819: when token - !BYTE $68 ; LAB _D099+0 -_F1228 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B896-* -; toolsrc/parse.pla: 0820: is OF_TKN -_B897 -; toolsrc/parse.pla: 0821: if casecnt == CASENUM; exit_err(ERR_OVER|ERR_TABLE); fin - !BYTE $66,$28 ; LLW [40] - !BYTE $2A,$40 ; CB 64 - !BYTE $24 ; BRNE _B898 - !WORD _B898-* - !BYTE $2C,$10,$40 ; CW 16400 - !BYTE $54 ; CALL _C002 -_F1229 !WORD _C002 -_B898 -_B899 -; toolsrc/parse.pla: 0822: case_const, drop, case_type = parse_constexpr -; toolsrc/parse.pla: 0823: tag_of = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0824: i = casecnt -; toolsrc/parse.pla: 0825: while i > 0 and caseval=>[i-1] > case_const - !BYTE $54 ; CALL _C089 -_F1230 !WORD _C089 - !BYTE $76,$26 ; SLW [38] - !BYTE $30 ; DROP - !BYTE $76,$24 ; SLW [36] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1231 !WORD _C004 - !BYTE $76,$1C ; SLW [28] - !BYTE $66,$28 ; LLW [40] - !BYTE $76,$30 ; SLW [48] - !BYTE $50 ; BRNCH _B902 - !WORD _B902-* -_B900 -; toolsrc/parse.pla: 0826: // -; toolsrc/parse.pla: 0827: // Move larger case consts up -; toolsrc/parse.pla: 0828: // -; toolsrc/parse.pla: 0829: caseval=>[i] = caseval=>[i-1] -; toolsrc/parse.pla: 0830: casetyp=>[i] = casetyp=>[i-1] -; toolsrc/parse.pla: 0831: casetag=>[i] = casetag=>[i-1] -; toolsrc/parse.pla: 0832: i-- - !BYTE $66,$2A ; LLW [42] - !BYTE $66,$30 ; LLW [48] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$2A ; LLW [42] - !BYTE $BA,$30 ; IDXLW [48] - !BYTE $72 ; SW - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$30 ; LLW [48] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$2C ; LLW [44] - !BYTE $BA,$30 ; IDXLW [48] - !BYTE $72 ; SW - !BYTE $66,$2E ; LLW [46] - !BYTE $66,$30 ; LLW [48] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$2E ; LLW [46] - !BYTE $BA,$30 ; IDXLW [48] - !BYTE $72 ; SW - !BYTE $66,$30 ; LLW [48] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0833: loop - !BYTE $76,$30 ; SLW [48] -_B902 - !BYTE $66,$30 ; LLW [48] - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B903 - !WORD _B903-* - !BYTE $66,$2A ; LLW [42] - !BYTE $66,$30 ; LLW [48] - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $66,$24 ; LLW [36] - !BYTE $44 ; ISGT -_B903 - !BYTE $4E ; BRTRU _B900 - !WORD _B900-* -_B901 -; toolsrc/parse.pla: 0834: if i < casecnt and caseval=>[i] == case_const; exit_err(ERR_DUP|ERR_STATE); fin - !BYTE $66,$30 ; LLW [48] - !BYTE $66,$28 ; LLW [40] - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B904 - !WORD _B904-* - !BYTE $66,$2A ; LLW [42] - !BYTE $BA,$30 ; IDXLW [48] - !BYTE $62 ; LW - !BYTE $66,$24 ; LLW [36] - !BYTE $40 ; ISEQ -_B904 - !BYTE $4C ; BRFLS _B905 - !WORD _B905-* - !BYTE $2C,$01,$10 ; CW 4097 - !BYTE $54 ; CALL _C002 -_F1232 !WORD _C002 -_B905 -_B906 -; toolsrc/parse.pla: 0835: caseval=>[i] = case_const -; toolsrc/parse.pla: 0836: casetyp=>[i] = case_type -; toolsrc/parse.pla: 0837: casetag=>[i] = tag_of -; toolsrc/parse.pla: 0838: casecnt++ - !BYTE $66,$24 ; LLW [36] - !BYTE $66,$2A ; LLW [42] - !BYTE $BA,$30 ; IDXLW [48] - !BYTE $72 ; SW - !BYTE $66,$26 ; LLW [38] - !BYTE $66,$2C ; LLW [44] - !BYTE $BA,$30 ; IDXLW [48] - !BYTE $72 ; SW - !BYTE $66,$1C ; LLW [28] - !BYTE $66,$2E ; LLW [46] - !BYTE $BA,$30 ; IDXLW [48] - !BYTE $72 ; SW - !BYTE $66,$28 ; LLW [40] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0839: emit_tag(tag_of) -; toolsrc/parse.pla: 0840: while parse_stmnt - !BYTE $76,$28 ; SLW [40] - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _C039 -_F1233 !WORD _C039 - !BYTE $50 ; BRNCH _B909 - !WORD _B909-* -_B907 -; toolsrc/parse.pla: 0841: nextln -; toolsrc/parse.pla: 0842: loop - !BYTE $54 ; CALL _C079 -_F1234 !WORD _C079 - !BYTE $30 ; DROP -_B909 - !BYTE $54 ; CALL _C096 -_F1235 !WORD _C096 - !BYTE $4E ; BRTRU _B907 - !WORD _B907-* -_B908 -; toolsrc/parse.pla: 0843: break - !BYTE $50 ; BRNCH _B895 - !WORD _B895-* -; toolsrc/parse.pla: 0844: is DEFAULT_TKN -_B910 -; toolsrc/parse.pla: 0845: tag_of = 0 -; toolsrc/parse.pla: 0846: if prevstmnt <> BREAK_TKN // Branch around caseblock if falling through -; toolsrc/parse.pla: 0847: tag_of = new_tag(RELATIVE_FIXUP) -; toolsrc/parse.pla: 0848: emit_branch(tag_of) -; toolsrc/parse.pla: 0849: fin - !BYTE $00 ; CN 0 - !BYTE $76,$1C ; SLW [28] - !BYTE $68 ; LAB _D111+0 -_F1236 !WORD _D111+0 - !BYTE $2A,$9A ; CB 154 - !BYTE $22 ; BREQ _B911 - !WORD _B911-* - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C004 -_F1237 !WORD _C004 - !BYTE $6E,$1C ; DLW [28] - !BYTE $54 ; CALL _C028 -_F1238 !WORD _C028 -_B911 -_B912 -; toolsrc/parse.pla: 0850: emit_tag(tag_choice) -; toolsrc/parse.pla: 0851: emit_caseblock(casecnt, caseval, casetyp, casetag) -; toolsrc/parse.pla: 0852: tag_choice = 0 -; toolsrc/parse.pla: 0853: if tag_of -; toolsrc/parse.pla: 0854: emit_tag(tag_of) -; toolsrc/parse.pla: 0855: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C039 -_F1239 !WORD _C039 - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$2A ; LLW [42] - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$2E ; LLW [46] - !BYTE $54 ; CALL _C027 -_F1240 !WORD _C027 - !BYTE $00 ; CN 0 - !BYTE $76,$1A ; SLW [26] - !BYTE $66,$1C ; LLW [28] - !BYTE $4C ; BRFLS _B913 - !WORD _B913-* - !BYTE $66,$1C ; LLW [28] - !BYTE $54 ; CALL _C039 -_F1241 !WORD _C039 -_B913 -_B914 -; toolsrc/parse.pla: 0856: scan -; toolsrc/parse.pla: 0857: while parse_stmnt - !BYTE $54 ; CALL _C076 -_F1242 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B917 - !WORD _B917-* -_B915 -; toolsrc/parse.pla: 0858: nextln -; toolsrc/parse.pla: 0859: loop - !BYTE $54 ; CALL _C079 -_F1243 !WORD _C079 - !BYTE $30 ; DROP -_B917 - !BYTE $54 ; CALL _C096 -_F1244 !WORD _C096 - !BYTE $4E ; BRTRU _B915 - !WORD _B915-* -_B916 -; toolsrc/parse.pla: 0860: if token <> ENDCASE_TKN; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1245 !WORD _D099+0 - !BYTE $2A,$8D ; CB 141 - !BYTE $22 ; BREQ _B918 - !WORD _B918-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1246 !WORD _C002 -_B918 -_B919 -; toolsrc/parse.pla: 0861: break - !BYTE $50 ; BRNCH _B895 - !WORD _B895-* -; toolsrc/parse.pla: 0862: is EOL_TKN -_B920 -; toolsrc/parse.pla: 0863: nextln -; toolsrc/parse.pla: 0864: break - !BYTE $54 ; CALL _C079 -_F1247 !WORD _C079 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B895 - !WORD _B895-* -; toolsrc/parse.pla: 0865: otherwise -_B896 - !BYTE $03 ; CASEBLOCK - !WORD $0002 - !WORD _B920-* - !WORD $008B - !WORD _B897-* - !WORD $008C - !WORD _B910-* -; toolsrc/parse.pla: 0866: exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE) -; toolsrc/parse.pla: 0867: wend - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1248 !WORD _C002 -_B895 -; toolsrc/parse.pla: 0868: loop -_B894 - !BYTE $68 ; LAB _D099+0 -_F1249 !WORD _D099+0 - !BYTE $2A,$8D ; CB 141 - !BYTE $24 ; BRNE _B892 - !WORD _B892-* -_B893 -; toolsrc/parse.pla: 0869: if tag_choice -; toolsrc/parse.pla: 0870: emit_branch(break_tag) -; toolsrc/parse.pla: 0871: emit_tag(tag_choice) -; toolsrc/parse.pla: 0872: emit_caseblock(casecnt, caseval, casetyp, casetag) -; toolsrc/parse.pla: 0873: fin - !BYTE $66,$1A ; LLW [26] - !BYTE $4C ; BRFLS _B921 - !WORD _B921-* - !BYTE $6A ; LAW _D113+0 -_F1250 !WORD _D113+0 - !BYTE $54 ; CALL _C028 -_F1251 !WORD _C028 - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C039 -_F1252 !WORD _C039 - !BYTE $66,$28 ; LLW [40] - !BYTE $66,$2A ; LLW [42] - !BYTE $66,$2C ; LLW [44] - !BYTE $66,$2E ; LLW [46] - !BYTE $54 ; CALL _C027 -_F1253 !WORD _C027 -_B921 -_B922 -; toolsrc/parse.pla: 0874: heaprelease(caseval) -; toolsrc/parse.pla: 0875: emit_tag(break_tag) -; toolsrc/parse.pla: 0876: break_tag = tag_prevbrk -; toolsrc/parse.pla: 0877: break - !BYTE $66,$2A ; LLW [42] - !BYTE $54 ; CALL _X015 -_F1254 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D113+0 -_F1255 !WORD _D113+0 - !BYTE $54 ; CALL _C039 -_F1256 !WORD _C039 - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D113+0 -_F1257 !WORD _D113+0 - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0878: is BREAK_TKN -_B923 -; toolsrc/parse.pla: 0879: if break_tag -; toolsrc/parse.pla: 0880: emit_branch(break_tag) -; toolsrc/parse.pla: 0881: else - !BYTE $6A ; LAW _D113+0 -_F1258 !WORD _D113+0 - !BYTE $4C ; BRFLS _B924 - !WORD _B924-* - !BYTE $6A ; LAW _D113+0 -_F1259 !WORD _D113+0 - !BYTE $54 ; CALL _C028 -_F1260 !WORD _C028 - !BYTE $50 ; BRNCH _B925 - !WORD _B925-* -_B924 -; toolsrc/parse.pla: 0882: exit_err(ERR_INVAL|ERR_STATE) -; toolsrc/parse.pla: 0883: fin - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1261 !WORD _C002 -_B925 -; toolsrc/parse.pla: 0884: break - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0885: is CONT_TKN -_B926 -; toolsrc/parse.pla: 0886: if cont_tag -; toolsrc/parse.pla: 0887: emit_branch(cont_tag) -; toolsrc/parse.pla: 0888: else - !BYTE $6A ; LAW _D114+0 -_F1262 !WORD _D114+0 - !BYTE $4C ; BRFLS _B927 - !WORD _B927-* - !BYTE $6A ; LAW _D114+0 -_F1263 !WORD _D114+0 - !BYTE $54 ; CALL _C028 -_F1264 !WORD _C028 - !BYTE $50 ; BRNCH _B928 - !WORD _B928-* -_B927 -; toolsrc/parse.pla: 0889: exit_err(ERR_INVAL|ERR_STATE) -; toolsrc/parse.pla: 0890: fin - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1265 !WORD _C002 -_B928 -; toolsrc/parse.pla: 0891: break - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0892: is RETURN_TKN -_B929 -; toolsrc/parse.pla: 0893: i = stack_loop -; toolsrc/parse.pla: 0894: while i >= 2 - !BYTE $68 ; LAB _D110+0 -_F1266 !WORD _D110+0 - !BYTE $76,$30 ; SLW [48] - !BYTE $50 ; BRNCH _B932 - !WORD _B932-* -_B930 -; toolsrc/parse.pla: 0895: emit_code(DROP2_CODE) -; toolsrc/parse.pla: 0896: i = i - 2 -; toolsrc/parse.pla: 0897: loop - !BYTE $2A,$32 ; CB 50 - !BYTE $54 ; CALL _C017 -_F1267 !WORD _C017 - !BYTE $66,$30 ; LLW [48] - !BYTE $3A,$02 ; SUBI 2 - !BYTE $76,$30 ; SLW [48] -_B932 - !BYTE $66,$30 ; LLW [48] - !BYTE $04 ; CN 2 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B930 - !WORD _B930-* -_B931 -; toolsrc/parse.pla: 0898: if i -; toolsrc/parse.pla: 0899: emit_code(DROP_CODE) -; toolsrc/parse.pla: 0900: fin - !BYTE $66,$30 ; LLW [48] - !BYTE $4C ; BRFLS _B933 - !WORD _B933-* - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C017 -_F1268 !WORD _C017 -_B933 -_B934 -; toolsrc/parse.pla: 0901: if infunc -; toolsrc/parse.pla: 0902: seq, cfnvals = parse_list -; toolsrc/parse.pla: 0903: emit_seq(seq) -; toolsrc/parse.pla: 0904: if cfnvals > infuncvals -; toolsrc/parse.pla: 0905: exit_err(ERR_OVER|ERR_CLOSE|ERR_STATE) -; toolsrc/parse.pla: 0906: elsif cfnvals < infuncvals - !BYTE $68 ; LAB _D108+0 -_F1269 !WORD _D108+0 - !BYTE $4C ; BRFLS _B935 - !WORD _B935-* - !BYTE $54 ; CALL _C091 -_F1270 !WORD _C091 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1271 !WORD _C041 - !BYTE $64,$03 ; LLB [3] - !BYTE $6A ; LAW _D112+0 -_F1272 !WORD _D112+0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B937 - !WORD _B937-* - !BYTE $2C,$30,$10 ; CW 4144 - !BYTE $54 ; CALL _C002 -_F1273 !WORD _C002 - !BYTE $50 ; BRNCH _B938 - !WORD _B938-* -_B937 -; toolsrc/parse.pla: 0907: parse_warn("Too few return values") - !BYTE $64,$03 ; LLB [3] - !BYTE $6A ; LAW _D112+0 -_F1274 !WORD _D112+0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B939 - !WORD _B939-* - !BYTE $2E ; CS - !BYTE $15 - !BYTE $54,$6F,$6F,$20,$66,$65,$77,$20 - !BYTE $72,$65,$74,$75,$72,$6E,$20,$76 - !BYTE $61,$6C,$75,$65,$73 - !BYTE $54 ; CALL _C003 -_F1275 !WORD _C003 -; toolsrc/parse.pla: 0908: while cfnvals < infuncvals - !BYTE $50 ; BRNCH _B942 - !WORD _B942-* -_B940 -; toolsrc/parse.pla: 0909: cfnvals++ - !BYTE $64,$03 ; LLB [3] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 0910: emit_const(0) -; toolsrc/parse.pla: 0911: loop - !BYTE $74,$03 ; SLB [3] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1276 !WORD _C016 -_B942 - !BYTE $64,$03 ; LLB [3] - !BYTE $6A ; LAW _D112+0 -_F1277 !WORD _D112+0 - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B940 - !WORD _B940-* -_B941 -; toolsrc/parse.pla: 0912: fin -_B939 -_B938 -; toolsrc/parse.pla: 0913: emit_leave -; toolsrc/parse.pla: 0914: else - !BYTE $54 ; CALL _C037 -_F1278 !WORD _C037 - !BYTE $50 ; BRNCH _B936 - !WORD _B936-* -_B935 -; toolsrc/parse.pla: 0915: seq, cfnvals = parse_expr(NULL) -; toolsrc/parse.pla: 0916: if not seq -; toolsrc/parse.pla: 0917: emit_const(0) -; toolsrc/parse.pla: 0918: else - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1279 !WORD _C094 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B943 - !WORD _B943-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1280 !WORD _C016 - !BYTE $50 ; BRNCH _B944 - !WORD _B944-* -_B943 -; toolsrc/parse.pla: 0919: if cfnvals > 1 -; toolsrc/parse.pla: 0920: exit_err(ERR_OVER|ERR_CLOSE|ERR_STATE) -; toolsrc/parse.pla: 0921: while cfnvals > 1;cfnvals--; seq = gen_op(seq, DROP_CODE); loop - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B945 - !WORD _B945-* - !BYTE $2C,$30,$10 ; CW 4144 - !BYTE $54 ; CALL _C002 -_F1281 !WORD _C002 - !BYTE $50 ; BRNCH _B949 - !WORD _B949-* -_B947 - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR - !BYTE $74,$03 ; SLB [3] - !BYTE $66,$04 ; LLW [4] - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1282 !WORD _C059 - !BYTE $76,$04 ; SLW [4] -_B949 - !BYTE $64,$03 ; LLB [3] - !BYTE $02 ; CN 1 - !BYTE $44 ; ISGT - !BYTE $4E ; BRTRU _B947 - !WORD _B947-* -_B948 -; toolsrc/parse.pla: 0922: fin -_B945 -_B946 -; toolsrc/parse.pla: 0923: emit_seq(seq) -; toolsrc/parse.pla: 0924: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1283 !WORD _C041 -_B944 -; toolsrc/parse.pla: 0925: emit_code(RET_CODE) -; toolsrc/parse.pla: 0926: fin - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C017 -_F1284 !WORD _C017 -_B936 -; toolsrc/parse.pla: 0927: break - !BYTE $50 ; BRNCH _B766 - !WORD _B766-* -; toolsrc/parse.pla: 0928: is EOL_TKN -_B950 -; toolsrc/parse.pla: 0929: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$32 ; LEAVE 50 -; toolsrc/parse.pla: 0930: is ELSE_TKN -_B951 -; toolsrc/parse.pla: 0931: is ELSEIF_TKN -_B952 -; toolsrc/parse.pla: 0932: is FIN_TKN -_B953 -; toolsrc/parse.pla: 0933: is LOOP_TKN -_B954 -; toolsrc/parse.pla: 0934: is UNTIL_TKN -_B955 -; toolsrc/parse.pla: 0935: is NEXT_TKN -_B956 -; toolsrc/parse.pla: 0936: is OF_TKN -_B957 -; toolsrc/parse.pla: 0937: is DEFAULT_TKN -_B958 -; toolsrc/parse.pla: 0938: is ENDCASE_TKN -_B959 -; toolsrc/parse.pla: 0939: is END_TKN -_B960 -; toolsrc/parse.pla: 0940: is DONE_TKN -_B961 -; toolsrc/parse.pla: 0941: is DEF_TKN -_B962 -; toolsrc/parse.pla: 0942: is EOF_TKN -_B963 -; toolsrc/parse.pla: 0943: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$32 ; LEAVE 50 -; toolsrc/parse.pla: 0944: otherwise - !BYTE $50 ; BRNCH _B964 - !WORD _B964-* -_B767 - !BYTE $16 ; CASEBLOCK - !WORD $0001 - !WORD _B963-* - !WORD $0002 - !WORD _B950-* - !WORD $0083 - !WORD _B768-* - !WORD $0084 - !WORD _B952-* - !WORD $0085 - !WORD _B951-* - !WORD $0086 - !WORD _B953-* - !WORD $0087 - !WORD _B960-* - !WORD $0088 - !WORD _B798-* - !WORD $0089 - !WORD _B954-* - !WORD $008A - !WORD _B884-* - !WORD $008B - !WORD _B957-* - !WORD $008C - !WORD _B958-* - !WORD $008D - !WORD _B959-* - !WORD $008E - !WORD _B824-* - !WORD $0092 - !WORD _B956-* - !WORD $0093 - !WORD _B811-* - !WORD $0094 - !WORD _B955-* - !WORD $0095 - !WORD _B962-* - !WORD $0098 - !WORD _B961-* - !WORD $0099 - !WORD _B929-* - !WORD $009A - !WORD _B923-* - !WORD $009B - !WORD _B926-* -_B964 -; toolsrc/parse.pla: 0945: rewind(tknptr) -; toolsrc/parse.pla: 0946: seq = parse_set(NULL) -; toolsrc/parse.pla: 0947: if seq -; toolsrc/parse.pla: 0948: emit_seq(seq) -; toolsrc/parse.pla: 0949: else - !BYTE $6A ; LAW _D102+0 -_F1285 !WORD _D102+0 - !BYTE $54 ; CALL _C077 -_F1286 !WORD _C077 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C095 -_F1287 !WORD _C095 - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B965 - !WORD _B965-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1288 !WORD _C041 - !BYTE $50 ; BRNCH _B966 - !WORD _B966-* -_B965 -; toolsrc/parse.pla: 0950: idptr = tknptr -; toolsrc/parse.pla: 0951: seq, cfnvals = parse_value(NULL, RVALUE) -; toolsrc/parse.pla: 0952: if seq -; toolsrc/parse.pla: 0953: if token == INC_TKN or token == DEC_TKN -; toolsrc/parse.pla: 0954: emit_seq(seq) -; toolsrc/parse.pla: 0955: emit_code(token == INC_TKN ?? INC_CODE :: DEC_CODE) -; toolsrc/parse.pla: 0956: rewind(idptr) -; toolsrc/parse.pla: 0957: seq, drop = parse_value(NULL, LVALUE) -; toolsrc/parse.pla: 0958: emit_seq(seq) -; toolsrc/parse.pla: 0959: else - !BYTE $6A ; LAW _D102+0 -_F1289 !WORD _D102+0 - !BYTE $76,$1E ; SLW [30] - !BYTE $00 ; CN 0 - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C092 -_F1290 !WORD _C092 - !BYTE $74,$03 ; SLB [3] - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B967 - !WORD _B967-* - !BYTE $68 ; LAB _D099+0 -_F1291 !WORD _D099+0 - !BYTE $2A,$C1 ; CB 193 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B969 - !WORD _B969-* - !BYTE $68 ; LAB _D099+0 -_F1292 !WORD _D099+0 - !BYTE $2A,$C4 ; CB 196 - !BYTE $40 ; ISEQ -_B969 - !BYTE $4C ; BRFLS _B970 - !WORD _B970-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1293 !WORD _C041 - !BYTE $68 ; LAB _D099+0 -_F1294 !WORD _D099+0 - !BYTE $2A,$C1 ; CB 193 - !BYTE $24 ; BRNE _B974 - !WORD _B974-* - !BYTE $2A,$8C ; CB 140 - !BYTE $50 ; BRNCH _B975 - !WORD _B975-* -_B974 - !BYTE $2A,$8E ; CB 142 -_B975 - !BYTE $54 ; CALL _C017 -_F1295 !WORD _C017 - !BYTE $66,$1E ; LLW [30] - !BYTE $54 ; CALL _C077 -_F1296 !WORD _C077 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C092 -_F1297 !WORD _C092 - !BYTE $30 ; DROP - !BYTE $6E,$04 ; DLW [4] - !BYTE $54 ; CALL _C041 -_F1298 !WORD _C041 - !BYTE $50 ; BRNCH _B971 - !WORD _B971-* -_B970 -; toolsrc/parse.pla: 0960: while cfnvals - !BYTE $50 ; BRNCH _B978 - !WORD _B978-* -_B976 -; toolsrc/parse.pla: 0961: seq = cat_seq(seq, gen_op(NULL, DROP_CODE)) -; toolsrc/parse.pla: 0962: cfnvals-- - !BYTE $66,$04 ; LLW [4] - !BYTE $00 ; CN 0 - !BYTE $2A,$30 ; CB 48 - !BYTE $54 ; CALL _C059 -_F1299 !WORD _C059 - !BYTE $54 ; CALL _C008 -_F1300 !WORD _C008 - !BYTE $76,$04 ; SLW [4] - !BYTE $64,$03 ; LLB [3] - !BYTE $8E ; DECR -; toolsrc/parse.pla: 0963: loop - !BYTE $74,$03 ; SLB [3] -_B978 - !BYTE $64,$03 ; LLB [3] - !BYTE $4E ; BRTRU _B976 - !WORD _B976-* -_B977 -; toolsrc/parse.pla: 0964: emit_seq(seq) -; toolsrc/parse.pla: 0965: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C041 -_F1301 !WORD _C041 -_B971 -; toolsrc/parse.pla: 0966: else - !BYTE $50 ; BRNCH _B968 - !WORD _B968-* -_B967 -; toolsrc/parse.pla: 0967: exit_err(ERR_SYNTAX) -; toolsrc/parse.pla: 0968: fin - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $54 ; CALL _C002 -_F1302 !WORD _C002 -_B968 -; toolsrc/parse.pla: 0969: fin -_B966 -; toolsrc/parse.pla: 0970: wend -_B766 -; toolsrc/parse.pla: 0971: return scan == EOL_TKN - !BYTE $54 ; CALL _C076 -_F1303 !WORD _C076 - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ - !BYTE $5A,$32 ; LEAVE 50 -; toolsrc/parse.pla: 0972: end -; toolsrc/parse.pla: 0973: def parse_var(type, basesize, ignore_var)#0 - ; type -> [0] - ; basesize -> [2] - ; ignore_var -> [4] -_C097 ; parse_var() -; toolsrc/parse.pla: 0974: byte consttype, constsize, idlen - ; consttype -> [6] - ; constsize -> [7] - ; idlen -> [8] -; toolsrc/parse.pla: 0975: word idptr, constval, arraysize, size - ; idptr -> [9] - ; constval -> [11] - ; arraysize -> [13] - ; size -> [15] -; toolsrc/parse.pla: 0976: -; toolsrc/parse.pla: 0977: idlen = 0 - !BYTE $58,$11,$03 ; ENTER 17,3 -; toolsrc/parse.pla: 0978: size = 1 -; toolsrc/parse.pla: 0979: if scan == ID_TKN -; toolsrc/parse.pla: 0980: idptr = tknptr -; toolsrc/parse.pla: 0981: idlen = tknlen -; toolsrc/parse.pla: 0982: if scan == OPEN_BRACKET_TKN -; toolsrc/parse.pla: 0983: size, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 0984: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $00 ; CN 0 - !BYTE $74,$08 ; SLB [8] - !BYTE $02 ; CN 1 - !BYTE $76,$0F ; SLW [15] - !BYTE $54 ; CALL _C076 -_F1304 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B979 - !WORD _B979-* - !BYTE $6A ; LAW _D102+0 -_F1305 !WORD _D102+0 - !BYTE $76,$09 ; SLW [9] - !BYTE $68 ; LAB _D101+0 -_F1306 !WORD _D101+0 - !BYTE $74,$08 ; SLB [8] - !BYTE $54 ; CALL _C076 -_F1307 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B981 - !WORD _B981-* - !BYTE $54 ; CALL _C089 -_F1308 !WORD _C089 - !BYTE $74,$06 ; SLB [6] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$0F ; SLW [15] - !BYTE $68 ; LAB _D099+0 -_F1309 !WORD _D099+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B983 - !WORD _B983-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1310 !WORD _C002 -_B983 -_B984 -; toolsrc/parse.pla: 0985: scan -; toolsrc/parse.pla: 0986: fin - !BYTE $54 ; CALL _C076 -_F1311 !WORD _C076 - !BYTE $30 ; DROP -_B981 -_B982 -; toolsrc/parse.pla: 0987: fin -_B979 -_B980 -; toolsrc/parse.pla: 0988: size = size * basesize -; toolsrc/parse.pla: 0989: if token == SET_TKN -; toolsrc/parse.pla: 0990: if type & (EXTERN_TYPE|LOCAL_TYPE); exit_err(ERR_INVAL|ERR_LOCAL|ERR_INIT); fin - !BYTE $66,$0F ; LLW [15] - !BYTE $66,$02 ; LLW [2] - !BYTE $86 ; MUL - !BYTE $76,$0F ; SLW [15] - !BYTE $68 ; LAB _D099+0 -_F1312 !WORD _D099+0 - !BYTE $2A,$BD ; CB 189 - !BYTE $24 ; BRNE _B985 - !WORD _B985-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B987 - !WORD _B987-* - !BYTE $2C,$44,$08 ; CW 2116 - !BYTE $54 ; CALL _C002 -_F1313 !WORD _C002 -_B987 -_B988 -; toolsrc/parse.pla: 0991: if idlen -; toolsrc/parse.pla: 0992: new_iddata(idptr, idlen, type, 0) -; toolsrc/parse.pla: 0993: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $4C ; BRFLS _B989 - !WORD _B989-* - !BYTE $66,$09 ; LLW [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C046 -_F1314 !WORD _C046 -_B989 -_B990 -; toolsrc/parse.pla: 0994: constval, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 0995: arraysize = emit_data(type, consttype, constval, constsize) -; toolsrc/parse.pla: 0996: while token == COMMA_TKN - !BYTE $54 ; CALL _C089 -_F1315 !WORD _C089 - !BYTE $74,$06 ; SLB [6] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _C014 -_F1316 !WORD _C014 - !BYTE $76,$0D ; SLW [13] - !BYTE $50 ; BRNCH _B993 - !WORD _B993-* -_B991 -; toolsrc/parse.pla: 0997: constval, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 0998: arraysize = arraysize + emit_data(type, consttype, constval, constsize) -; toolsrc/parse.pla: 0999: loop - !BYTE $54 ; CALL _C089 -_F1317 !WORD _C089 - !BYTE $74,$06 ; SLB [6] - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$0B ; SLW [11] - !BYTE $66,$0D ; LLW [13] - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$07 ; LLB [7] - !BYTE $54 ; CALL _C014 -_F1318 !WORD _C014 - !BYTE $82 ; ADD - !BYTE $76,$0D ; SLW [13] -_B993 - !BYTE $68 ; LAB _D099+0 -_F1319 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B991 - !WORD _B991-* -_B992 -; toolsrc/parse.pla: 1000: size_iddata(PTR_TYPE, size, arraysize) -; toolsrc/parse.pla: 1001: elsif not ignore_var - !BYTE $2A,$60 ; CB 96 - !BYTE $66,$0F ; LLW [15] - !BYTE $66,$0D ; LLW [13] - !BYTE $54 ; CALL _C047 -_F1320 !WORD _C047 - !BYTE $50 ; BRNCH _B986 - !WORD _B986-* -_B985 -; toolsrc/parse.pla: 1002: if idlen -; toolsrc/parse.pla: 1003: if infunc -; toolsrc/parse.pla: 1004: new_idlocal(idptr, idlen, type, size) -; toolsrc/parse.pla: 1005: else - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B994 - !WORD _B994-* - !BYTE $64,$08 ; LLB [8] - !BYTE $4C ; BRFLS _B995 - !WORD _B995-* - !BYTE $68 ; LAB _D108+0 -_F1321 !WORD _D108+0 - !BYTE $4C ; BRFLS _B997 - !WORD _B997-* - !BYTE $66,$09 ; LLW [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0F ; LLW [15] - !BYTE $54 ; CALL _C053 -_F1322 !WORD _C053 - !BYTE $50 ; BRNCH _B998 - !WORD _B998-* -_B997 -; toolsrc/parse.pla: 1006: new_iddata(idptr, idlen, type, size) -; toolsrc/parse.pla: 1007: fin - !BYTE $66,$09 ; LLW [9] - !BYTE $64,$08 ; LLB [8] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0F ; LLW [15] - !BYTE $54 ; CALL _C046 -_F1323 !WORD _C046 -_B998 -; toolsrc/parse.pla: 1008: elsif not type & EXTERN_TYPE - !BYTE $50 ; BRNCH _B996 - !WORD _B996-* -_B995 -; toolsrc/parse.pla: 1009: if type & LOCAL_TYPE -; toolsrc/parse.pla: 1010: framesize = framesize + size -; toolsrc/parse.pla: 1011: else - !BYTE $66,$00 ; LLW [0] - !BYTE $80 ; NOT - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B999 - !WORD _B999-* - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B1000 - !WORD _B1000-* - !BYTE $6A ; LAW _D070+0 -_F1324 !WORD _D070+0 - !BYTE $B2,$0F ; ADDLW [15] - !BYTE $7A ; SAW _D070+0 -_F1325 !WORD _D070+0 - !BYTE $50 ; BRNCH _B1001 - !WORD _B1001-* -_B1000 -; toolsrc/parse.pla: 1012: size_iddata(type, size, 0) -; toolsrc/parse.pla: 1013: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$0F ; LLW [15] - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C047 -_F1326 !WORD _C047 -_B1001 -; toolsrc/parse.pla: 1014: fin -_B999 -_B996 -; toolsrc/parse.pla: 1015: fin -_B994 -_B986 -; toolsrc/parse.pla: 1016: end - !BYTE $5A,$11 ; LEAVE 17 -; toolsrc/parse.pla: 1017: def parse_struc#0 -_C098 ; parse_struc() -; toolsrc/parse.pla: 1018: byte strucid[16] - ; strucid -> [0] -; toolsrc/parse.pla: 1019: byte idlen, struclen, constsize, consttype - ; idlen -> [16] - ; struclen -> [17] - ; constsize -> [18] - ; consttype -> [19] -; toolsrc/parse.pla: 1020: word type, basesize, size, offset, idstr - ; type -> [20] - ; basesize -> [22] - ; size -> [24] - ; offset -> [26] - ; idstr -> [28] -; toolsrc/parse.pla: 1021: -; toolsrc/parse.pla: 1022: struclen = 0 - !BYTE $58,$1E,$00 ; ENTER 30,0 -; toolsrc/parse.pla: 1023: if scan == ID_TKN -; toolsrc/parse.pla: 1024: struclen = tknlen -; toolsrc/parse.pla: 1025: if struclen > 16 -; toolsrc/parse.pla: 1026: struclen = 16 -; toolsrc/parse.pla: 1027: fin - !BYTE $00 ; CN 0 - !BYTE $74,$11 ; SLB [17] - !BYTE $54 ; CALL _C076 -_F1327 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1002 - !WORD _B1002-* - !BYTE $68 ; LAB _D101+0 -_F1328 !WORD _D101+0 - !BYTE $6C,$11 ; DLB [17] - !BYTE $2A,$10 ; CB 16 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B1004 - !WORD _B1004-* - !BYTE $2A,$10 ; CB 16 - !BYTE $74,$11 ; SLB [17] -_B1004 -_B1005 -; toolsrc/parse.pla: 1028: for idlen = 0 to struclen - !BYTE $64,$11 ; LLB [17] - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B1006 - !WORD _B1006-* -_B1007 - !BYTE $6C,$10 ; DLB [16] -; toolsrc/parse.pla: 1029: strucid[idlen] = ^(tknptr + idlen) -; toolsrc/parse.pla: 1030: next - !BYTE $6A ; LAW _D102+0 -_F1329 !WORD _D102+0 - !BYTE $B0,$10 ; ADDLB [16] - !BYTE $60 ; LB - !BYTE $28,$00 ; LLA [0] - !BYTE $B0,$10 ; ADDLB [16] - !BYTE $70 ; SB -_B1008 - !BYTE $A4 ; INCBRLE _B1007 - !WORD _B1007-* -_B1006 - !BYTE $74,$10 ; SLB [16] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1031: scan -; toolsrc/parse.pla: 1032: fin - !BYTE $54 ; CALL _C076 -_F1330 !WORD _C076 - !BYTE $30 ; DROP -_B1002 -_B1003 -; toolsrc/parse.pla: 1033: offset = 0 -; toolsrc/parse.pla: 1034: while nextln == BYTE_TKN or token == WORD_TKN or token == EOL_TKN - !BYTE $00 ; CN 0 - !BYTE $76,$1A ; SLW [26] - !BYTE $50 ; BRNCH _B1011 - !WORD _B1011-* -_B1009 -; toolsrc/parse.pla: 1035: if token <> EOL_TKN -; toolsrc/parse.pla: 1036: basesize = 1 -; toolsrc/parse.pla: 1037: type = token == BYTE_TKN ?? BYTE_TYPE :: WORD_TYPE -; toolsrc/parse.pla: 1038: if scan == OPEN_BRACKET_TKN -; toolsrc/parse.pla: 1039: basesize, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 1040: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D099+0 -_F1331 !WORD _D099+0 - !BYTE $04 ; CN 2 - !BYTE $22 ; BREQ _B1014 - !WORD _B1014-* - !BYTE $02 ; CN 1 - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D099+0 -_F1332 !WORD _D099+0 - !BYTE $2A,$81 ; CB 129 - !BYTE $24 ; BRNE _B1016 - !WORD _B1016-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B1017 - !WORD _B1017-* -_B1016 - !BYTE $08 ; CN 4 -_B1017 - !BYTE $76,$14 ; SLW [20] - !BYTE $54 ; CALL _C076 -_F1333 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B1018 - !WORD _B1018-* - !BYTE $54 ; CALL _C089 -_F1334 !WORD _C089 - !BYTE $74,$13 ; SLB [19] - !BYTE $74,$12 ; SLB [18] - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D099+0 -_F1335 !WORD _D099+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B1020 - !WORD _B1020-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1336 !WORD _C002 -_B1020 -_B1021 -; toolsrc/parse.pla: 1041: scan -; toolsrc/parse.pla: 1042: fin - !BYTE $54 ; CALL _C076 -_F1337 !WORD _C076 - !BYTE $30 ; DROP -_B1018 -_B1019 -; toolsrc/parse.pla: 1043: repeat -_B1023 -; toolsrc/parse.pla: 1044: size = 1 -; toolsrc/parse.pla: 1045: idlen = 0 -; toolsrc/parse.pla: 1046: if token == ID_TKN -; toolsrc/parse.pla: 1047: idstr = tknptr -; toolsrc/parse.pla: 1048: idlen = tknlen -; toolsrc/parse.pla: 1049: if scan == OPEN_BRACKET_TKN -; toolsrc/parse.pla: 1050: size, constsize, consttype = parse_constexpr -; toolsrc/parse.pla: 1051: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $02 ; CN 1 - !BYTE $76,$18 ; SLW [24] - !BYTE $00 ; CN 0 - !BYTE $74,$10 ; SLB [16] - !BYTE $68 ; LAB _D099+0 -_F1338 !WORD _D099+0 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1025 - !WORD _B1025-* - !BYTE $6A ; LAW _D102+0 -_F1339 !WORD _D102+0 - !BYTE $76,$1C ; SLW [28] - !BYTE $68 ; LAB _D101+0 -_F1340 !WORD _D101+0 - !BYTE $74,$10 ; SLB [16] - !BYTE $54 ; CALL _C076 -_F1341 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B1027 - !WORD _B1027-* - !BYTE $54 ; CALL _C089 -_F1342 !WORD _C089 - !BYTE $74,$13 ; SLB [19] - !BYTE $74,$12 ; SLB [18] - !BYTE $76,$18 ; SLW [24] - !BYTE $68 ; LAB _D099+0 -_F1343 !WORD _D099+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B1029 - !WORD _B1029-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1344 !WORD _C002 -_B1029 -_B1030 -; toolsrc/parse.pla: 1052: scan -; toolsrc/parse.pla: 1053: fin - !BYTE $54 ; CALL _C076 -_F1345 !WORD _C076 - !BYTE $30 ; DROP -_B1027 -_B1028 -; toolsrc/parse.pla: 1054: fin -_B1025 -_B1026 -; toolsrc/parse.pla: 1055: size = size * basesize -; toolsrc/parse.pla: 1056: if type & WORD_TYPE -; toolsrc/parse.pla: 1057: size = size * 2 -; toolsrc/parse.pla: 1058: fin - !BYTE $66,$18 ; LLW [24] - !BYTE $66,$16 ; LLW [22] - !BYTE $86 ; MUL - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$14 ; LLW [20] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B1031 - !WORD _B1031-* - !BYTE $66,$18 ; LLW [24] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$18 ; SLW [24] -_B1031 -_B1032 -; toolsrc/parse.pla: 1059: if idlen -; toolsrc/parse.pla: 1060: new_idconst(idstr, idlen, offset) -; toolsrc/parse.pla: 1061: fin - !BYTE $64,$10 ; LLB [16] - !BYTE $4C ; BRFLS _B1033 - !WORD _B1033-* - !BYTE $66,$1C ; LLW [28] - !BYTE $64,$10 ; LLB [16] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C049 -_F1346 !WORD _C049 -_B1033 -_B1034 -; toolsrc/parse.pla: 1062: offset = offset + size -; toolsrc/parse.pla: 1063: until token <> COMMA_TKN - !BYTE $66,$1A ; LLW [26] - !BYTE $B2,$18 ; ADDLW [24] - !BYTE $76,$1A ; SLW [26] -_B1024 - !BYTE $68 ; LAB _D099+0 -_F1347 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1023 - !WORD _B1023-* -_B1022 -; toolsrc/parse.pla: 1064: fin -_B1014 -_B1015 -; toolsrc/parse.pla: 1065: loop -_B1011 - !BYTE $54 ; CALL _C079 -_F1348 !WORD _C079 - !BYTE $2A,$81 ; CB 129 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B1012 - !WORD _B1012-* - !BYTE $68 ; LAB _D099+0 -_F1349 !WORD _D099+0 - !BYTE $2A,$82 ; CB 130 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B1013 - !WORD _B1013-* - !BYTE $68 ; LAB _D099+0 -_F1350 !WORD _D099+0 - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ -_B1013 -_B1012 - !BYTE $4E ; BRTRU _B1009 - !WORD _B1009-* -_B1010 -; toolsrc/parse.pla: 1066: if struclen -; toolsrc/parse.pla: 1067: new_idconst(@strucid, struclen, offset) -; toolsrc/parse.pla: 1068: fin - !BYTE $64,$11 ; LLB [17] - !BYTE $4C ; BRFLS _B1035 - !WORD _B1035-* - !BYTE $28,$00 ; LLA [0] - !BYTE $64,$11 ; LLB [17] - !BYTE $66,$1A ; LLW [26] - !BYTE $54 ; CALL _C049 -_F1351 !WORD _C049 -_B1035 -_B1036 -; toolsrc/parse.pla: 1069: if token <> END_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1352 !WORD _D099+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $22 ; BREQ _B1037 - !WORD _B1037-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1353 !WORD _C002 -_B1037 -_B1038 -; toolsrc/parse.pla: 1070: scan -; toolsrc/parse.pla: 1071: end - !BYTE $54 ; CALL _C076 -_F1354 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $5A,$1E ; LEAVE 30 -; toolsrc/parse.pla: 1072: def parse_vars(type, ignore_vars) - ; type -> [0] - ; ignore_vars -> [2] -_C099 ; parse_vars() -; toolsrc/parse.pla: 1073: byte idlen, cfnparms, cfnvals - ; idlen -> [4] - ; cfnparms -> [5] - ; cfnvals -> [6] -; toolsrc/parse.pla: 1074: word size, value, idptr - ; size -> [7] - ; value -> [9] - ; idptr -> [11] -; toolsrc/parse.pla: 1075: -; toolsrc/parse.pla: 1076: when token - !BYTE $58,$0D,$02 ; ENTER 13,2 - !BYTE $68 ; LAB _D099+0 -_F1355 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B1040-* -; toolsrc/parse.pla: 1077: is SYSFLAGS_TKN -_B1041 -; toolsrc/parse.pla: 1078: if type & (EXTERN_TYPE | LOCAL_TYPE); exit_err(ERR_INVAL|ERR_GLOBAL|ERR_INIT); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1042 - !WORD _B1042-* - !BYTE $2C,$84,$08 ; CW 2180 - !BYTE $54 ; CALL _C002 -_F1356 !WORD _C002 -_B1042 -_B1043 -; toolsrc/parse.pla: 1079: modsysflags, drop, drop = parse_constexpr -; toolsrc/parse.pla: 1080: break - !BYTE $54 ; CALL _C089 -_F1357 !WORD _C089 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $7A ; SAW _D077+0 -_F1358 !WORD _D077+0 - !BYTE $50 ; BRNCH _B1039 - !WORD _B1039-* -; toolsrc/parse.pla: 1081: is CONST_TKN -_B1044 -; toolsrc/parse.pla: 1082: if type & LOCAL_TYPE; exit_err(ERR_INVAL|ERR_GLOBAL|ERR_INIT); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B1045 - !WORD _B1045-* - !BYTE $2C,$84,$08 ; CW 2180 - !BYTE $54 ; CALL _C002 -_F1359 !WORD _C002 -_B1045 -_B1046 -; toolsrc/parse.pla: 1083: if scan <> ID_TKN; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $54 ; CALL _C076 -_F1360 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B1047 - !WORD _B1047-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1361 !WORD _C002 -_B1047 -_B1048 -; toolsrc/parse.pla: 1084: idptr = tknptr -; toolsrc/parse.pla: 1085: idlen = tknlen -; toolsrc/parse.pla: 1086: if scan <> SET_TKN; exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $6A ; LAW _D102+0 -_F1362 !WORD _D102+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $68 ; LAB _D101+0 -_F1363 !WORD _D101+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $54 ; CALL _C076 -_F1364 !WORD _C076 - !BYTE $2A,$BD ; CB 189 - !BYTE $22 ; BREQ _B1049 - !WORD _B1049-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1365 !WORD _C002 -_B1049 -_B1050 -; toolsrc/parse.pla: 1087: value, size, type = parse_constexpr -; toolsrc/parse.pla: 1088: new_idconst(idptr, idlen, value) -; toolsrc/parse.pla: 1089: break - !BYTE $54 ; CALL _C089 -_F1366 !WORD _C089 - !BYTE $76,$00 ; SLW [0] - !BYTE $76,$07 ; SLW [7] - !BYTE $76,$09 ; SLW [9] - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$09 ; LLW [9] - !BYTE $54 ; CALL _C049 -_F1367 !WORD _C049 - !BYTE $50 ; BRNCH _B1039 - !WORD _B1039-* -; toolsrc/parse.pla: 1090: is STRUC_TKN -_B1051 -; toolsrc/parse.pla: 1091: parse_struc -; toolsrc/parse.pla: 1092: break - !BYTE $54 ; CALL _C098 -_F1368 !WORD _C098 - !BYTE $50 ; BRNCH _B1039 - !WORD _B1039-* -; toolsrc/parse.pla: 1093: is EXPORT_TKN -_B1052 -; toolsrc/parse.pla: 1094: if type & (EXTERN_TYPE|LOCAL_TYPE); exit_err(ERR_INVAL|ERR_LOCAL|ERR_SYNTAX); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$10,$04 ; CW 1040 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1053 - !WORD _B1053-* - !BYTE $2C,$44,$80 ; CW 32836 - !BYTE $54 ; CALL _C002 -_F1369 !WORD _C002 -_B1053 -_B1054 -; toolsrc/parse.pla: 1095: type = EXPORT_TYPE -; toolsrc/parse.pla: 1096: idptr = tknptr -; toolsrc/parse.pla: 1097: if scan <> BYTE_TKN and token <> WORD_TKN // This could be an exported definition -; toolsrc/parse.pla: 1098: rewind(idptr) -; toolsrc/parse.pla: 1099: scan -; toolsrc/parse.pla: 1100: return FALSE - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D102+0 -_F1370 !WORD _D102+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $54 ; CALL _C076 -_F1371 !WORD _C076 - !BYTE $2A,$81 ; CB 129 - !BYTE $42 ; ISNE - !BYTE $AC ; BRAND _B1055 - !WORD _B1055-* - !BYTE $68 ; LAB _D099+0 -_F1372 !WORD _D099+0 - !BYTE $2A,$82 ; CB 130 - !BYTE $42 ; ISNE -_B1055 - !BYTE $4C ; BRFLS _B1056 - !WORD _B1056-* - !BYTE $66,$0B ; LLW [11] - !BYTE $54 ; CALL _C077 -_F1373 !WORD _C077 - !BYTE $54 ; CALL _C076 -_F1374 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/parse.pla: 1101: fin -_B1056 -_B1057 -; toolsrc/parse.pla: 1102: // Fall through to BYTE or WORD declaration -; toolsrc/parse.pla: 1103: is BYTE_TKN -_B1058 -; toolsrc/parse.pla: 1104: is WORD_TKN -_B1059 -; toolsrc/parse.pla: 1105: type = type | (token == BYTE_TKN ?? BYTE_TYPE :: WORD_TYPE) -; toolsrc/parse.pla: 1106: size = 1 -; toolsrc/parse.pla: 1107: if scan == OPEN_BRACKET_TKN // Get basesize for data elements -; toolsrc/parse.pla: 1108: size, drop, drop = parse_constexpr -; toolsrc/parse.pla: 1109: if token <> CLOSE_BRACKET_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $68 ; LAB _D099+0 -_F1375 !WORD _D099+0 - !BYTE $2A,$81 ; CB 129 - !BYTE $24 ; BRNE _B1060 - !WORD _B1060-* - !BYTE $04 ; CN 2 - !BYTE $50 ; BRNCH _B1061 - !WORD _B1061-* -_B1060 - !BYTE $08 ; CN 4 -_B1061 - !BYTE $96 ; OR - !BYTE $76,$00 ; SLW [0] - !BYTE $02 ; CN 1 - !BYTE $76,$07 ; SLW [7] - !BYTE $54 ; CALL _C076 -_F1376 !WORD _C076 - !BYTE $2A,$DB ; CB 219 - !BYTE $24 ; BRNE _B1062 - !WORD _B1062-* - !BYTE $54 ; CALL _C089 -_F1377 !WORD _C089 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $76,$07 ; SLW [7] - !BYTE $68 ; LAB _D099+0 -_F1378 !WORD _D099+0 - !BYTE $2A,$DD ; CB 221 - !BYTE $22 ; BREQ _B1064 - !WORD _B1064-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1379 !WORD _C002 -_B1064 -_B1065 -; toolsrc/parse.pla: 1110: else - !BYTE $50 ; BRNCH _B1063 - !WORD _B1063-* -_B1062 -; toolsrc/parse.pla: 1111: rewind(tknptr) -; toolsrc/parse.pla: 1112: fin - !BYTE $6A ; LAW _D102+0 -_F1380 !WORD _D102+0 - !BYTE $54 ; CALL _C077 -_F1381 !WORD _C077 -_B1063 -; toolsrc/parse.pla: 1113: if type & WORD_TYPE; size = size * 2; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B1066 - !WORD _B1066-* - !BYTE $66,$07 ; LLW [7] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$07 ; SLW [7] -_B1066 -_B1067 -; toolsrc/parse.pla: 1114: repeat; parse_var(type, size, ignore_vars); until token <> COMMA_TKN -_B1069 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$07 ; LLW [7] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C097 -_F1382 !WORD _C097 -_B1070 - !BYTE $68 ; LAB _D099+0 -_F1383 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1069 - !WORD _B1069-* -_B1068 -; toolsrc/parse.pla: 1115: break - !BYTE $50 ; BRNCH _B1039 - !WORD _B1039-* -; toolsrc/parse.pla: 1116: is PREDEF_TKN -_B1071 -; toolsrc/parse.pla: 1117: repeat -_B1073 -; toolsrc/parse.pla: 1118: if scan == ID_TKN -; toolsrc/parse.pla: 1119: type = type | PREDEF_TYPE -; toolsrc/parse.pla: 1120: idptr = tknptr -; toolsrc/parse.pla: 1121: idlen = tknlen -; toolsrc/parse.pla: 1122: cfnparms = 0 -; toolsrc/parse.pla: 1123: cfnvals = 1 // Default to one return value for compatibility -; toolsrc/parse.pla: 1124: if scan == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1125: repeat - !BYTE $54 ; CALL _C076 -_F1384 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1075 - !WORD _B1075-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $96 ; OR - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D102+0 -_F1385 !WORD _D102+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $68 ; LAB _D101+0 -_F1386 !WORD _D101+0 - !BYTE $74,$04 ; SLB [4] - !BYTE $00 ; CN 0 - !BYTE $74,$05 ; SLB [5] - !BYTE $02 ; CN 1 - !BYTE $74,$06 ; SLB [6] - !BYTE $54 ; CALL _C076 -_F1387 !WORD _C076 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1077 - !WORD _B1077-* -_B1080 -; toolsrc/parse.pla: 1126: if scan == ID_TKN -; toolsrc/parse.pla: 1127: cfnparms++ - !BYTE $54 ; CALL _C076 -_F1388 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1082 - !WORD _B1082-* - !BYTE $64,$05 ; LLB [5] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1128: scan -; toolsrc/parse.pla: 1129: fin - !BYTE $74,$05 ; SLB [5] - !BYTE $54 ; CALL _C076 -_F1389 !WORD _C076 - !BYTE $30 ; DROP -_B1082 -_B1083 -; toolsrc/parse.pla: 1130: until token <> COMMA_TKN -_B1081 - !BYTE $68 ; LAB _D099+0 -_F1390 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1080 - !WORD _B1080-* -_B1079 -; toolsrc/parse.pla: 1131: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D099+0 -_F1391 !WORD _D099+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1084 - !WORD _B1084-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1392 !WORD _C002 -_B1084 -_B1085 -; toolsrc/parse.pla: 1132: scan -; toolsrc/parse.pla: 1133: fin - !BYTE $54 ; CALL _C076 -_F1393 !WORD _C076 - !BYTE $30 ; DROP -_B1077 -_B1078 -; toolsrc/parse.pla: 1134: if token == POUND_TKN -; toolsrc/parse.pla: 1135: if not parse_const(@cfnvals); exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $68 ; LAB _D099+0 -_F1394 !WORD _D099+0 - !BYTE $2A,$A3 ; CB 163 - !BYTE $24 ; BRNE _B1086 - !WORD _B1086-* - !BYTE $28,$06 ; LLA [6] - !BYTE $54 ; CALL _C090 -_F1395 !WORD _C090 - !BYTE $4E ; BRTRU _B1088 - !WORD _B1088-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1396 !WORD _C002 -_B1088 -_B1089 -; toolsrc/parse.pla: 1136: scan -; toolsrc/parse.pla: 1137: fin - !BYTE $54 ; CALL _C076 -_F1397 !WORD _C076 - !BYTE $30 ; DROP -_B1086 -_B1087 -; toolsrc/parse.pla: 1138: new_idfunc(idptr, idlen, type, new_tag(type & EXTERN_TYPE ?? EXTERN_FIXUP|WORD_FIXUP :: WORD_FIXUP), cfnparms, cfnvals) -; toolsrc/parse.pla: 1139: else - !BYTE $66,$0B ; LLW [11] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1092 - !WORD _B1092-* - !BYTE $2A,$90 ; CB 144 - !BYTE $50 ; BRNCH _B1093 - !WORD _B1093-* -_B1092 - !BYTE $2A,$80 ; CB 128 -_B1093 - !BYTE $54 ; CALL _C004 -_F1398 !WORD _C004 - !BYTE $64,$05 ; LLB [5] - !BYTE $64,$06 ; LLB [6] - !BYTE $54 ; CALL _C050 -_F1399 !WORD _C050 - !BYTE $50 ; BRNCH _B1076 - !WORD _B1076-* -_B1075 -; toolsrc/parse.pla: 1140: exit_err(ERR_MISS|ERR_ID) -; toolsrc/parse.pla: 1141: fin - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1400 !WORD _C002 -_B1076 -; toolsrc/parse.pla: 1142: until token <> COMMA_TKN -_B1074 - !BYTE $68 ; LAB _D099+0 -_F1401 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1073 - !WORD _B1073-* -_B1072 -; toolsrc/parse.pla: 1143: break - !BYTE $50 ; BRNCH _B1039 - !WORD _B1039-* -; toolsrc/parse.pla: 1144: is IMPORT_TKN -_B1094 -; toolsrc/parse.pla: 1145: if codeptr <> codebuff or type <> GLOBAL_TYPE; exit_err(ERR_INVAL|ERR_INIT); fin - !BYTE $6A ; LAW _D075+0 -_F1402 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F1403 !WORD _D074+0 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B1095 - !WORD _B1095-* - !BYTE $66,$00 ; LLW [0] -_B1095 - !BYTE $4C ; BRFLS _B1096 - !WORD _B1096-* - !BYTE $2C,$04,$08 ; CW 2052 - !BYTE $54 ; CALL _C002 -_F1404 !WORD _C002 -_B1096 -_B1097 -; toolsrc/parse.pla: 1146: parse_mods -; toolsrc/parse.pla: 1147: break - !BYTE $54 ; CALL _P001 -_F1405 !WORD _P001 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1039 - !WORD _B1039-* -; toolsrc/parse.pla: 1148: is EOL_TKN -_B1098 -; toolsrc/parse.pla: 1149: break - !BYTE $50 ; BRNCH _B1039 - !WORD _B1039-* -; toolsrc/parse.pla: 1150: otherwise -_B1040 - !BYTE $09 ; CASEBLOCK - !WORD $0002 - !WORD _B1098-* - !WORD $0080 - !WORD _B1044-* - !WORD $0081 - !WORD _B1058-* - !WORD $0082 - !WORD _B1059-* - !WORD $0096 - !WORD _B1051-* - !WORD $0097 - !WORD _B1041-* - !WORD $009C - !WORD _B1071-* - !WORD $009D - !WORD _B1094-* - !WORD $009E - !WORD _B1052-* -; toolsrc/parse.pla: 1151: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/parse.pla: 1152: wend -_B1039 -; toolsrc/parse.pla: 1153: return TRUE - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0D ; LEAVE 13 -; toolsrc/parse.pla: 1154: end -; toolsrc/parse.pla: 1155: def parse_mods -_P001 ; parse_mods() -_C100 ; parse_mods() -; toolsrc/parse.pla: 1156: byte i, ignore_emit - ; i -> [0] - ; ignore_emit -> [1] -; toolsrc/parse.pla: 1157: -; toolsrc/parse.pla: 1158: if token == IMPORT_TKN - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/parse.pla: 1159: if scan <> ID_TKN; exit_err(ERR_MISS|ERR_ID); fin - !BYTE $68 ; LAB _D099+0 -_F1406 !WORD _D099+0 - !BYTE $2A,$9D ; CB 157 - !BYTE $24 ; BRNE _B1099 - !WORD _B1099-* - !BYTE $54 ; CALL _C076 -_F1407 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B1101 - !WORD _B1101-* - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1408 !WORD _C002 -_B1101 -_B1102 -; toolsrc/parse.pla: 1160: if tknlen == modfile -; toolsrc/parse.pla: 1161: ignore_emit = TRUE -; toolsrc/parse.pla: 1162: for i = 1 to tknlen - !BYTE $68 ; LAB _D101+0 -_F1409 !WORD _D101+0 - !BYTE $68 ; LAB _D093+0 -_F1410 !WORD _D093+0 - !BYTE $24 ; BRNE _B1103 - !WORD _B1103-* - !BYTE $20 ; MINUS ONE - !BYTE $74,$01 ; SLB [1] - !BYTE $68 ; LAB _D101+0 -_F1411 !WORD _D101+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B1105 - !WORD _B1105-* -_B1106 - !BYTE $6C,$00 ; DLB [0] -; toolsrc/parse.pla: 1163: if toupper(tknptr->[i - 1]) <> modfile[i]; ignore_emit = FALSE; break; fin - !BYTE $6A ; LAW _D102+0 -_F1412 !WORD _D102+0 - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1413 !WORD 0 - !BYTE $26 ; LA _D093+0 -_F1414 !WORD _D093+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B1108 - !WORD _B1108-* - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $50 ; BRNCH _B1105 - !WORD _B1105-* -_B1108 -_B1109 -; toolsrc/parse.pla: 1164: next -_B1107 - !BYTE $A4 ; INCBRLE _B1106 - !WORD _B1106-* -_B1105 - !BYTE $74,$00 ; SLB [0] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1165: else - !BYTE $50 ; BRNCH _B1104 - !WORD _B1104-* -_B1103 -; toolsrc/parse.pla: 1166: ignore_emit = FALSE -; toolsrc/parse.pla: 1167: fin - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] -_B1104 -; toolsrc/parse.pla: 1168: if not ignore_emit -; toolsrc/parse.pla: 1169: new_moddep(tknptr, tknlen) -; toolsrc/parse.pla: 1170: fin - !BYTE $64,$01 ; LLB [1] - !BYTE $4E ; BRTRU _B1110 - !WORD _B1110-* - !BYTE $6A ; LAW _D102+0 -_F1415 !WORD _D102+0 - !BYTE $68 ; LAB _D101+0 -_F1416 !WORD _D101+0 - !BYTE $54 ; CALL _C057 -_F1417 !WORD _C057 -_B1110 -_B1111 -; toolsrc/parse.pla: 1171: scan -; toolsrc/parse.pla: 1172: while parse_vars(EXTERN_TYPE, ignore_emit); nextln; loop - !BYTE $54 ; CALL _C076 -_F1418 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1114 - !WORD _B1114-* -_B1112 - !BYTE $54 ; CALL _C079 -_F1419 !WORD _C079 - !BYTE $30 ; DROP -_B1114 - !BYTE $2C,$00,$04 ; CW 1024 - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C099 -_F1420 !WORD _C099 - !BYTE $4E ; BRTRU _B1112 - !WORD _B1112-* -_B1113 -; toolsrc/parse.pla: 1173: if token <> END_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $68 ; LAB _D099+0 -_F1421 !WORD _D099+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $22 ; BREQ _B1115 - !WORD _B1115-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1422 !WORD _C002 -_B1115 -_B1116 -; toolsrc/parse.pla: 1174: scan -; toolsrc/parse.pla: 1175: fin - !BYTE $54 ; CALL _C076 -_F1423 !WORD _C076 - !BYTE $30 ; DROP -_B1099 -_B1100 -; toolsrc/parse.pla: 1176: return token == EOL_TKN - !BYTE $68 ; LAB _D099+0 -_F1424 !WORD _D099+0 - !BYTE $04 ; CN 2 - !BYTE $40 ; ISEQ - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/parse.pla: 1177: end -; toolsrc/parse.pla: 1178: def parse_lambda -_P005 ; parse_lambda() -_C101 ; parse_lambda() -; toolsrc/parse.pla: 1179: word func_tag - ; func_tag -> [0] -; toolsrc/parse.pla: 1180: byte cfnparms - ; cfnparms -> [2] -; toolsrc/parse.pla: 1181: byte lambda_id[4] - ; lambda_id -> [3] -; toolsrc/parse.pla: 1182: -; toolsrc/parse.pla: 1183: if not infunc; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $58,$07,$00 ; ENTER 7,0 - !BYTE $68 ; LAB _D108+0 -_F1425 !WORD _D108+0 - !BYTE $4E ; BRTRU _B1117 - !WORD _B1117-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1426 !WORD _C002 -_B1117 -_B1118 -; toolsrc/parse.pla: 1184: if inlambda; puts("Nested lambdas!\n"); exit_err(0); fin - !BYTE $68 ; LAB _D109+0 -_F1427 !WORD _D109+0 - !BYTE $4C ; BRFLS _B1119 - !WORD _B1119-* - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4E,$65,$73,$74,$65,$64,$20,$6C - !BYTE $61,$6D,$62,$64,$61,$73,$21,$0D - !BYTE $54 ; CALL _X004 -_F1428 !WORD 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C002 -_F1429 !WORD _C002 -_B1119 -_B1120 -; toolsrc/parse.pla: 1185: // -; toolsrc/parse.pla: 1186: // Parse parameters and return value count -; toolsrc/parse.pla: 1187: // -; toolsrc/parse.pla: 1188: save_idlocal -; toolsrc/parse.pla: 1189: init_idlocal -; toolsrc/parse.pla: 1190: cfnparms = 0 -; toolsrc/parse.pla: 1191: inlambda = TRUE -; toolsrc/parse.pla: 1192: if scan == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1193: repeat - !BYTE $54 ; CALL _C055 -_F1430 !WORD _C055 - !BYTE $54 ; CALL _C054 -_F1431 !WORD _C054 - !BYTE $00 ; CN 0 - !BYTE $74,$02 ; SLB [2] - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _D109+0 -_F1432 !WORD _D109+0 - !BYTE $54 ; CALL _C076 -_F1433 !WORD _C076 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1121 - !WORD _B1121-* -_B1124 -; toolsrc/parse.pla: 1194: if scan == ID_TKN -; toolsrc/parse.pla: 1195: cfnparms++ - !BYTE $54 ; CALL _C076 -_F1434 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1126 - !WORD _B1126-* - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1196: new_idlocal(tknptr, tknlen, WORD_TYPE, 2) -; toolsrc/parse.pla: 1197: scan -; toolsrc/parse.pla: 1198: fin - !BYTE $74,$02 ; SLB [2] - !BYTE $6A ; LAW _D102+0 -_F1435 !WORD _D102+0 - !BYTE $68 ; LAB _D101+0 -_F1436 !WORD _D101+0 - !BYTE $08 ; CN 4 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C053 -_F1437 !WORD _C053 - !BYTE $54 ; CALL _C076 -_F1438 !WORD _C076 - !BYTE $30 ; DROP -_B1126 -_B1127 -; toolsrc/parse.pla: 1199: until token <> COMMA_TKN -_B1125 - !BYTE $68 ; LAB _D099+0 -_F1439 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1124 - !WORD _B1124-* -_B1123 -; toolsrc/parse.pla: 1200: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D099+0 -_F1440 !WORD _D099+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1128 - !WORD _B1128-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1441 !WORD _C002 -_B1128 -_B1129 -; toolsrc/parse.pla: 1201: else - !BYTE $50 ; BRNCH _B1122 - !WORD _B1122-* -_B1121 -; toolsrc/parse.pla: 1202: exit_err(ERR_MISS|ERR_ID) -; toolsrc/parse.pla: 1203: fin - !BYTE $2C,$08,$02 ; CW 520 - !BYTE $54 ; CALL _C002 -_F1442 !WORD _C002 -_B1122 -; toolsrc/parse.pla: 1204: if lookahead == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1205: scan -; toolsrc/parse.pla: 1206: lambda_seq[lambda_cnt], drop = parse_list -; toolsrc/parse.pla: 1207: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $54 ; CALL _C078 -_F1443 !WORD _C078 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1130 - !WORD _B1130-* - !BYTE $54 ; CALL _C076 -_F1444 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C091 -_F1445 !WORD _C091 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D118+0 -_F1446 !WORD _D118+0 - !BYTE $BC ; IDXAB _D115+0 -_F1447 !WORD _D115+0 - !BYTE $72 ; SW - !BYTE $68 ; LAB _D099+0 -_F1448 !WORD _D099+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1132 - !WORD _B1132-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1449 !WORD _C002 -_B1132 -_B1133 -; toolsrc/parse.pla: 1208: else - !BYTE $50 ; BRNCH _B1131 - !WORD _B1131-* -_B1130 -; toolsrc/parse.pla: 1209: lambda_seq[lambda_cnt], drop = parse_expr(NULL) -; toolsrc/parse.pla: 1210: rewind(tknptr) -; toolsrc/parse.pla: 1211: fin - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C094 -_F1450 !WORD _C094 - !BYTE $30 ; DROP - !BYTE $26 ; LA _D118+0 -_F1451 !WORD _D118+0 - !BYTE $BC ; IDXAB _D115+0 -_F1452 !WORD _D115+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D102+0 -_F1453 !WORD _D102+0 - !BYTE $54 ; CALL _C077 -_F1454 !WORD _C077 -_B1131 -; toolsrc/parse.pla: 1212: // -; toolsrc/parse.pla: 1213: // Build an anonymous ID string for the Lambda function -; toolsrc/parse.pla: 1214: // -; toolsrc/parse.pla: 1215: lambda_id:0 = 3 | ('&' << 8) -; toolsrc/parse.pla: 1216: lambda_id.2 = ((lambda_num >> 3) & $07) + '0' -; toolsrc/parse.pla: 1217: lambda_id.3 = (lambda_num & $07) + '0' -; toolsrc/parse.pla: 1218: lambda_num++ - !BYTE $2C,$03,$26 ; CW 9731 - !BYTE $76,$03 ; SLW [3] - !BYTE $68 ; LAB _D116+0 -_F1455 !WORD _D116+0 - !BYTE $06 ; CN 3 - !BYTE $9C ; SHR - !BYTE $3C,$07 ; ANDI 7 - !BYTE $38,$30 ; ADDI 48 - !BYTE $74,$05 ; SLB [5] - !BYTE $68 ; LAB _D116+0 -_F1456 !WORD _D116+0 - !BYTE $3C,$07 ; ANDI 7 - !BYTE $38,$30 ; ADDI 48 - !BYTE $74,$06 ; SLB [6] - !BYTE $68 ; LAB _D116+0 -_F1457 !WORD _D116+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1219: if lookup_idglobal(@lambda_id.1, 3) -; toolsrc/parse.pla: 1220: // -; toolsrc/parse.pla: 1221: // Lambda ID already exists (from failed scanning for '=') -; toolsrc/parse.pla: 1222: // -; toolsrc/parse.pla: 1223: func_tag = lambda_tag[lambda_cnt] -; toolsrc/parse.pla: 1224: set_idfunc(@lambda_id.1, 3, func_tag, cfnparms, 1) // Override any predef type & tag -; toolsrc/parse.pla: 1225: else - !BYTE $78 ; SAB _D116+0 -_F1458 !WORD _D116+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $06 ; CN 3 - !BYTE $54 ; CALL _C045 -_F1459 !WORD _C045 - !BYTE $4C ; BRFLS _B1134 - !WORD _B1134-* - !BYTE $26 ; LA _D119+0 -_F1460 !WORD _D119+0 - !BYTE $BC ; IDXAB _D115+0 -_F1461 !WORD _D115+0 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $28,$04 ; LLA [4] - !BYTE $06 ; CN 3 - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C051 -_F1462 !WORD _C051 - !BYTE $50 ; BRNCH _B1135 - !WORD _B1135-* -_B1134 -; toolsrc/parse.pla: 1226: // -; toolsrc/parse.pla: 1227: // Creat new Lambda ID -; toolsrc/parse.pla: 1228: // -; toolsrc/parse.pla: 1229: func_tag = new_tag(WORD_FIXUP) -; toolsrc/parse.pla: 1230: lambda_tag[lambda_cnt] = func_tag -; toolsrc/parse.pla: 1231: lambda_cparms[lambda_cnt] = cfnparms -; toolsrc/parse.pla: 1232: new_idfunc(@lambda_id.1, 3, FUNC_TYPE, func_tag, cfnparms, 1) -; toolsrc/parse.pla: 1233: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F1463 !WORD _C004 - !BYTE $6E,$00 ; DLW [0] - !BYTE $26 ; LA _D119+0 -_F1464 !WORD _D119+0 - !BYTE $BC ; IDXAB _D115+0 -_F1465 !WORD _D115+0 - !BYTE $72 ; SW - !BYTE $64,$02 ; LLB [2] - !BYTE $26 ; LA _D117+0 -_F1466 !WORD _D117+0 - !BYTE $B4 ; ADDAB _D115+0 -_F1467 !WORD _D115+0 - !BYTE $70 ; SB - !BYTE $28,$04 ; LLA [4] - !BYTE $06 ; CN 3 - !BYTE $10 ; CN 8 - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _C050 -_F1468 !WORD _C050 -_B1135 -; toolsrc/parse.pla: 1234: lambda_cnt++ - !BYTE $68 ; LAB _D115+0 -_F1469 !WORD _D115+0 - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1235: if lambda_cnt >= LAMBDANUM; parse_warn("Lambda function overflow"); fin - !BYTE $7C ; DAB _D115+0 -_F1470 !WORD _D115+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B1136 - !WORD _B1136-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $4C,$61,$6D,$62,$64,$61,$20,$66 - !BYTE $75,$6E,$63,$74,$69,$6F,$6E,$20 - !BYTE $6F,$76,$65,$72,$66,$6C,$6F,$77 - !BYTE $54 ; CALL _C003 -_F1471 !WORD _C003 -_B1136 -_B1137 -; toolsrc/parse.pla: 1236: inlambda = FALSE -; toolsrc/parse.pla: 1237: restore_idlocal -; toolsrc/parse.pla: 1238: return func_tag - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D109+0 -_F1472 !WORD _D109+0 - !BYTE $54 ; CALL _C056 -_F1473 !WORD _C056 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/parse.pla: 1239: end -; toolsrc/parse.pla: 1240: def parse_defs -_C102 ; parse_defs() -; toolsrc/parse.pla: 1241: byte idlen, cfnparms, cfnvals, defstr[17] - ; idlen -> [0] - ; cfnparms -> [1] - ; cfnvals -> [2] - ; defstr -> [3] -; toolsrc/parse.pla: 1242: word type, idstr, func_tag, idptr, defcodeptr - ; type -> [20] - ; idstr -> [22] - ; func_tag -> [24] - ; idptr -> [26] - ; defcodeptr -> [28] -; toolsrc/parse.pla: 1243: type = FUNC_TYPE - !BYTE $58,$1E,$00 ; ENTER 30,0 -; toolsrc/parse.pla: 1244: when token - !BYTE $10 ; CN 8 - !BYTE $76,$14 ; SLW [20] - !BYTE $68 ; LAB _D099+0 -_F1474 !WORD _D099+0 - !BYTE $52 ; SEL - !WORD _B1139-* -; toolsrc/parse.pla: 1245: is CONST_TKN -_B1140 -; toolsrc/parse.pla: 1246: is STRUC_TKN -_B1141 -; toolsrc/parse.pla: 1247: return parse_vars(GLOBAL_TYPE, FALSE) - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C099 -_F1475 !WORD _C099 - !BYTE $5A,$1E ; LEAVE 30 -; toolsrc/parse.pla: 1248: is EXPORT_TKN -_B1142 -; toolsrc/parse.pla: 1249: if scan <> DEF_TKN; exit_err(ERR_INVAL|ERR_STATE); fin - !BYTE $54 ; CALL _C076 -_F1476 !WORD _C076 - !BYTE $2A,$95 ; CB 149 - !BYTE $22 ; BREQ _B1143 - !WORD _B1143-* - !BYTE $2C,$04,$10 ; CW 4100 - !BYTE $54 ; CALL _C002 -_F1477 !WORD _C002 -_B1143 -_B1144 -; toolsrc/parse.pla: 1250: type = type | EXPORT_TYPE -; toolsrc/parse.pla: 1251: is DEF_TKN - !BYTE $66,$14 ; LLW [20] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $96 ; OR - !BYTE $76,$14 ; SLW [20] -_B1145 -; toolsrc/parse.pla: 1252: if scan <> ID_TKN; exit_err(ERR_INVAL|ERR_ID); fin - !BYTE $54 ; CALL _C076 -_F1478 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $22 ; BREQ _B1146 - !WORD _B1146-* - !BYTE $2C,$04,$02 ; CW 516 - !BYTE $54 ; CALL _C002 -_F1479 !WORD _C002 -_B1146 -_B1147 -; toolsrc/parse.pla: 1253: lambda_cnt = 0 -; toolsrc/parse.pla: 1254: cfnparms = 0 -; toolsrc/parse.pla: 1255: infuncvals = 1 -; toolsrc/parse.pla: 1256: infunc = TRUE -; toolsrc/parse.pla: 1257: idstr = tknptr -; toolsrc/parse.pla: 1258: idlen = tknlen -; toolsrc/parse.pla: 1259: init_idlocal -; toolsrc/parse.pla: 1260: if scan == OPEN_PAREN_TKN -; toolsrc/parse.pla: 1261: repeat - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D115+0 -_F1480 !WORD _D115+0 - !BYTE $00 ; CN 0 - !BYTE $74,$01 ; SLB [1] - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D112+0 -_F1481 !WORD _D112+0 - !BYTE $20 ; MINUS ONE - !BYTE $78 ; SAB _D108+0 -_F1482 !WORD _D108+0 - !BYTE $6A ; LAW _D102+0 -_F1483 !WORD _D102+0 - !BYTE $76,$16 ; SLW [22] - !BYTE $68 ; LAB _D101+0 -_F1484 !WORD _D101+0 - !BYTE $74,$00 ; SLB [0] - !BYTE $54 ; CALL _C054 -_F1485 !WORD _C054 - !BYTE $54 ; CALL _C076 -_F1486 !WORD _C076 - !BYTE $2A,$A8 ; CB 168 - !BYTE $24 ; BRNE _B1148 - !WORD _B1148-* -_B1151 -; toolsrc/parse.pla: 1262: if scan == ID_TKN -; toolsrc/parse.pla: 1263: cfnparms++ - !BYTE $54 ; CALL _C076 -_F1487 !WORD _C076 - !BYTE $2A,$D6 ; CB 214 - !BYTE $24 ; BRNE _B1153 - !WORD _B1153-* - !BYTE $64,$01 ; LLB [1] - !BYTE $8C ; INCR -; toolsrc/parse.pla: 1264: new_idlocal(tknptr, tknlen, WORD_TYPE, 2) -; toolsrc/parse.pla: 1265: scan -; toolsrc/parse.pla: 1266: fin - !BYTE $74,$01 ; SLB [1] - !BYTE $6A ; LAW _D102+0 -_F1488 !WORD _D102+0 - !BYTE $68 ; LAB _D101+0 -_F1489 !WORD _D101+0 - !BYTE $08 ; CN 4 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _C053 -_F1490 !WORD _C053 - !BYTE $54 ; CALL _C076 -_F1491 !WORD _C076 - !BYTE $30 ; DROP -_B1153 -_B1154 -; toolsrc/parse.pla: 1267: until token <> COMMA_TKN -_B1152 - !BYTE $68 ; LAB _D099+0 -_F1492 !WORD _D099+0 - !BYTE $2A,$AC ; CB 172 - !BYTE $22 ; BREQ _B1151 - !WORD _B1151-* -_B1150 -; toolsrc/parse.pla: 1268: if token <> CLOSE_PAREN_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_SYNTAX); fin - !BYTE $68 ; LAB _D099+0 -_F1493 !WORD _D099+0 - !BYTE $2A,$A9 ; CB 169 - !BYTE $22 ; BREQ _B1155 - !WORD _B1155-* - !BYTE $2C,$28,$80 ; CW 32808 - !BYTE $54 ; CALL _C002 -_F1494 !WORD _C002 -_B1155 -_B1156 -; toolsrc/parse.pla: 1269: scan -; toolsrc/parse.pla: 1270: fin - !BYTE $54 ; CALL _C076 -_F1495 !WORD _C076 - !BYTE $30 ; DROP -_B1148 -_B1149 -; toolsrc/parse.pla: 1271: if token == POUND_TKN -; toolsrc/parse.pla: 1272: if not parse_const(@infuncvals); exit_err(ERR_INVAL|ERR_CONST); fin - !BYTE $68 ; LAB _D099+0 -_F1496 !WORD _D099+0 - !BYTE $2A,$A3 ; CB 163 - !BYTE $24 ; BRNE _B1157 - !WORD _B1157-* - !BYTE $26 ; LA _D112+0 -_F1497 !WORD _D112+0 - !BYTE $54 ; CALL _C090 -_F1498 !WORD _C090 - !BYTE $4E ; BRTRU _B1159 - !WORD _B1159-* - !BYTE $2C,$04,$04 ; CW 1028 - !BYTE $54 ; CALL _C002 -_F1499 !WORD _C002 -_B1159 -_B1160 -; toolsrc/parse.pla: 1273: scan -; toolsrc/parse.pla: 1274: fin - !BYTE $54 ; CALL _C076 -_F1500 !WORD _C076 - !BYTE $30 ; DROP -_B1157 -_B1158 -; toolsrc/parse.pla: 1275: idptr = lookup_idglobal(idstr, idlen) -; toolsrc/parse.pla: 1276: if idptr -; toolsrc/parse.pla: 1277: if not idptr=>idtype & PREDEF_TYPE; exit_err(ERR_DUP|ERR_ID); fin - !BYTE $66,$16 ; LLW [22] - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _C045 -_F1501 !WORD _C045 - !BYTE $6E,$1A ; DLW [26] - !BYTE $4C ; BRFLS _B1161 - !WORD _B1161-* - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $80 ; NOT - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B1163 - !WORD _B1163-* - !BYTE $2C,$01,$02 ; CW 513 - !BYTE $54 ; CALL _C002 -_F1502 !WORD _C002 -_B1163 -_B1164 -; toolsrc/parse.pla: 1278: if idptr->funcparms <> cfnparms or idptr->funcvals <> infuncvals; exit_err(ERR_DUP|ERR_CODE|ERR_ID); fin - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$04 ; ADDI 4 - !BYTE $60 ; LB - !BYTE $64,$01 ; LLB [1] - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B1165 - !WORD _B1165-* - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$05 ; ADDI 5 - !BYTE $60 ; LB - !BYTE $6A ; LAW _D112+0 -_F1503 !WORD _D112+0 - !BYTE $42 ; ISNE -_B1165 - !BYTE $4C ; BRFLS _B1166 - !WORD _B1166-* - !BYTE $2C,$01,$03 ; CW 769 - !BYTE $54 ; CALL _C002 -_F1504 !WORD _C002 -_B1166 -_B1167 -; toolsrc/parse.pla: 1279: func_tag = idptr=>idval -; toolsrc/parse.pla: 1280: idptr=>idtype = idptr=>idtype | type -; toolsrc/parse.pla: 1281: else - !BYTE $66,$1A ; LLW [26] - !BYTE $62 ; LW - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $66,$14 ; LLW [20] - !BYTE $96 ; OR - !BYTE $66,$1A ; LLW [26] - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B1162 - !WORD _B1162-* -_B1161 -; toolsrc/parse.pla: 1282: func_tag = new_tag(WORD_FIXUP) -; toolsrc/parse.pla: 1283: new_idfunc(idstr, idlen, type, func_tag, cfnparms, infuncvals) -; toolsrc/parse.pla: 1284: fin - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _C004 -_F1505 !WORD _C004 - !BYTE $76,$18 ; SLW [24] - !BYTE $66,$16 ; LLW [22] - !BYTE $64,$00 ; LLB [0] - !BYTE $66,$14 ; LLW [20] - !BYTE $66,$18 ; LLW [24] - !BYTE $64,$01 ; LLB [1] - !BYTE $6A ; LAW _D112+0 -_F1506 !WORD _D112+0 - !BYTE $54 ; CALL _C050 -_F1507 !WORD _C050 -_B1162 -; toolsrc/parse.pla: 1285: // -; toolsrc/parse.pla: 1286: // Print def name -; toolsrc/parse.pla: 1287: // -; toolsrc/parse.pla: 1288: nametostr(idstr, idlen > 16 ?? 16 :: idlen, @defstr); puts(@defstr); putc(':') -; toolsrc/parse.pla: 1289: defcodeptr = codeptr -; toolsrc/parse.pla: 1290: emit_tag(func_tag) -; toolsrc/parse.pla: 1291: new_dfd(func_tag) -; toolsrc/parse.pla: 1292: while parse_vars(LOCAL_TYPE, FALSE); nextln; loop - !BYTE $66,$16 ; LLW [22] - !BYTE $64,$00 ; LLB [0] - !BYTE $2A,$10 ; CB 16 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B1170 - !WORD _B1170-* - !BYTE $2A,$10 ; CB 16 - !BYTE $50 ; BRNCH _B1171 - !WORD _B1171-* -_B1170 - !BYTE $64,$00 ; LLB [0] -_B1171 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C000 -_F1508 !WORD _C000 - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _X004 -_F1509 !WORD 0 - !BYTE $2A,$3A ; CB 58 - !BYTE $54 ; CALL _X002 -_F1510 !WORD 0 - !BYTE $6A ; LAW _D075+0 -_F1511 !WORD _D075+0 - !BYTE $76,$1C ; SLW [28] - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C039 -_F1512 !WORD _C039 - !BYTE $66,$18 ; LLW [24] - !BYTE $54 ; CALL _C058 -_F1513 !WORD _C058 - !BYTE $50 ; BRNCH _B1174 - !WORD _B1174-* -_B1172 - !BYTE $54 ; CALL _C079 -_F1514 !WORD _C079 - !BYTE $30 ; DROP -_B1174 - !BYTE $2A,$10 ; CB 16 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C099 -_F1515 !WORD _C099 - !BYTE $4E ; BRTRU _B1172 - !WORD _B1172-* -_B1173 -; toolsrc/parse.pla: 1293: emit_enter(cfnparms) -; toolsrc/parse.pla: 1294: prevstmnt = 0 -; toolsrc/parse.pla: 1295: while parse_stmnt; nextln; loop - !BYTE $64,$01 ; LLB [1] - !BYTE $54 ; CALL _C038 -_F1516 !WORD _C038 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D111+0 -_F1517 !WORD _D111+0 - !BYTE $50 ; BRNCH _B1177 - !WORD _B1177-* -_B1175 - !BYTE $54 ; CALL _C079 -_F1518 !WORD _C079 - !BYTE $30 ; DROP -_B1177 - !BYTE $54 ; CALL _C096 -_F1519 !WORD _C096 - !BYTE $4E ; BRTRU _B1175 - !WORD _B1175-* -_B1176 -; toolsrc/parse.pla: 1296: infunc = FALSE -; toolsrc/parse.pla: 1297: if token <> END_TKN; exit_err(ERR_MISS|ERR_CLOSE|ERR_STATE); fin - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D108+0 -_F1520 !WORD _D108+0 - !BYTE $68 ; LAB _D099+0 -_F1521 !WORD _D099+0 - !BYTE $2A,$87 ; CB 135 - !BYTE $22 ; BREQ _B1178 - !WORD _B1178-* - !BYTE $2C,$28,$10 ; CW 4136 - !BYTE $54 ; CALL _C002 -_F1522 !WORD _C002 -_B1178 -_B1179 -; toolsrc/parse.pla: 1298: scan -; toolsrc/parse.pla: 1299: if prevstmnt <> RETURN_TKN -; toolsrc/parse.pla: 1300: if infuncvals; parse_warn("No return values"); fin - !BYTE $54 ; CALL _C076 -_F1523 !WORD _C076 - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D111+0 -_F1524 !WORD _D111+0 - !BYTE $2A,$99 ; CB 153 - !BYTE $22 ; BREQ _B1180 - !WORD _B1180-* - !BYTE $6A ; LAW _D112+0 -_F1525 !WORD _D112+0 - !BYTE $4C ; BRFLS _B1182 - !WORD _B1182-* - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4E,$6F,$20,$72,$65,$74,$75,$72 - !BYTE $6E,$20,$76,$61,$6C,$75,$65,$73 - !BYTE $54 ; CALL _C003 -_F1526 !WORD _C003 -_B1182 -_B1183 -; toolsrc/parse.pla: 1301: for cfnvals = infuncvals - 1 downto 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D112+0 -_F1527 !WORD _D112+0 - !BYTE $8E ; DECR - !BYTE $A2 ; BRLT _B1184 - !WORD _B1184-* -_B1185 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/parse.pla: 1302: emit_const(0) -; toolsrc/parse.pla: 1303: next - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1528 !WORD _C016 -_B1186 - !BYTE $A8 ; DECBRGE _B1185 - !WORD _B1185-* -_B1184 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1304: emit_leave -; toolsrc/parse.pla: 1305: fin - !BYTE $54 ; CALL _C037 -_F1529 !WORD _C037 -_B1180 -_B1181 -; toolsrc/parse.pla: 1306: for cfnvals = 0 to lambda_cnt-1 - !BYTE $68 ; LAB _D115+0 -_F1530 !WORD _D115+0 - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B1187 - !WORD _B1187-* -_B1188 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/parse.pla: 1307: emit_lambdafunc(lambda_tag[cfnvals], lambda_cparms[cfnvals], lambda_seq[cfnvals]) -; toolsrc/parse.pla: 1308: new_dfd(lambda_tag[cfnvals]) -; toolsrc/parse.pla: 1309: next - !BYTE $26 ; LA _D119+0 -_F1531 !WORD _D119+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $26 ; LA _D117+0 -_F1532 !WORD _D117+0 - !BYTE $B0,$02 ; ADDLB [2] - !BYTE $60 ; LB - !BYTE $26 ; LA _D118+0 -_F1533 !WORD _D118+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C042 -_F1534 !WORD _C042 - !BYTE $26 ; LA _D119+0 -_F1535 !WORD _D119+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _C058 -_F1536 !WORD _C058 -_B1189 - !BYTE $A4 ; INCBRLE _B1188 - !WORD _B1188-* -_B1187 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/parse.pla: 1310: puti(codeptr - defcodeptr); puts(@bytesln) -; toolsrc/parse.pla: 1311: -; toolsrc/parse.pla: 1312: wend - !BYTE $6A ; LAW _D075+0 -_F1537 !WORD _D075+0 - !BYTE $66,$1C ; LLW [28] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1538 !WORD 0 - !BYTE $26 ; LA _D123+0 -_F1539 !WORD _D123+0 - !BYTE $54 ; CALL _X004 -_F1540 !WORD 0 - !BYTE $50 ; BRNCH _B1138 - !WORD _B1138-* -_B1139 - !BYTE $04 ; CASEBLOCK - !WORD $0080 - !WORD _B1140-* - !WORD $0095 - !WORD _B1145-* - !WORD $0096 - !WORD _B1141-* - !WORD $009E - !WORD _B1142-* -_B1138 -; toolsrc/parse.pla: 1313: return token == EOL_TKN ?? TRUE :: FALSE - !BYTE $68 ; LAB _D099+0 -_F1541 !WORD _D099+0 - !BYTE $04 ; CN 2 - !BYTE $24 ; BRNE _B1190 - !WORD _B1190-* - !BYTE $20 ; MINUS ONE - !BYTE $50 ; BRNCH _B1191 - !WORD _B1191-* -_B1190 - !BYTE $00 ; CN 0 -_B1191 - !BYTE $5A,$1E ; LEAVE 30 -; toolsrc/parse.pla: 1314: end -; toolsrc/parse.pla: 1315: def parse_module#0 -_C103 ; parse_module() -; toolsrc/parse.pla: 1316: init_idglobal -; toolsrc/parse.pla: 1317: init_idlocal -; toolsrc/parse.pla: 1318: puts("Data+Code buffer size = $"); puth(codebufsz); putln; putln - !BYTE $54 ; CALL _C052 -_F1542 !WORD _C052 - !BYTE $54 ; CALL _C054 -_F1543 !WORD _C054 - !BYTE $2E ; CS - !BYTE $19 - !BYTE $44,$61,$74,$61,$2B,$43,$6F,$64 - !BYTE $65,$20,$62,$75,$66,$66,$65,$72 - !BYTE $20,$73,$69,$7A,$65,$20,$3D,$20 - !BYTE $24 - !BYTE $54 ; CALL _X004 -_F1544 !WORD 0 -; toolsrc/parse.pla: 1319: puts(@modfile); putln -; toolsrc/parse.pla: 1320: if nextln -; toolsrc/parse.pla: 1321: // -; toolsrc/parse.pla: 1322: // Compile module -; toolsrc/parse.pla: 1323: // -; toolsrc/parse.pla: 1324: puts("DATA:"); - !BYTE $6A ; LAW _D068+0 -_F1545 !WORD _D068+0 - !BYTE $54 ; CALL _X009 -_F1546 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1547 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1548 !WORD 0 - !BYTE $26 ; LA _D093+0 -_F1549 !WORD _D093+0 - !BYTE $54 ; CALL _X004 -_F1550 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1551 !WORD 0 - !BYTE $54 ; CALL _C079 -_F1552 !WORD _C079 - !BYTE $4C ; BRFLS _B1192 - !WORD _B1192-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $44,$41,$54,$41,$3A - !BYTE $54 ; CALL _X004 -_F1553 !WORD 0 -; toolsrc/parse.pla: 1325: while parse_mods; nextln; loop - !BYTE $50 ; BRNCH _B1196 - !WORD _B1196-* -_B1194 - !BYTE $54 ; CALL _C079 -_F1554 !WORD _C079 - !BYTE $30 ; DROP -_B1196 - !BYTE $54 ; CALL _C100 -_F1555 !WORD _C100 - !BYTE $4E ; BRTRU _B1194 - !WORD _B1194-* -_B1195 -; toolsrc/parse.pla: 1326: while parse_vars(GLOBAL_TYPE, FALSE); nextln; loop - !BYTE $50 ; BRNCH _B1199 - !WORD _B1199-* -_B1197 - !BYTE $54 ; CALL _C079 -_F1556 !WORD _C079 - !BYTE $30 ; DROP -_B1199 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C099 -_F1557 !WORD _C099 - !BYTE $4E ; BRTRU _B1197 - !WORD _B1197-* -_B1198 -; toolsrc/parse.pla: 1327: emit_codeseg -; toolsrc/parse.pla: 1328: puti(codeptr - codebuff); puts(@bytesln) -; toolsrc/parse.pla: 1329: while parse_defs; nextln; loop - !BYTE $54 ; CALL _C015 -_F1558 !WORD _C015 - !BYTE $6A ; LAW _D075+0 -_F1559 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F1560 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1561 !WORD 0 - !BYTE $26 ; LA _D123+0 -_F1562 !WORD _D123+0 - !BYTE $54 ; CALL _X004 -_F1563 !WORD 0 - !BYTE $50 ; BRNCH _B1202 - !WORD _B1202-* -_B1200 - !BYTE $54 ; CALL _C079 -_F1564 !WORD _C079 - !BYTE $30 ; DROP -_B1202 - !BYTE $54 ; CALL _C102 -_F1565 !WORD _C102 - !BYTE $4E ; BRTRU _B1200 - !WORD _B1200-* -_B1201 -; toolsrc/parse.pla: 1330: puts("INIT:"); - !BYTE $2E ; CS - !BYTE $05 - !BYTE $49,$4E,$49,$54,$3A - !BYTE $54 ; CALL _X004 -_F1566 !WORD 0 -; toolsrc/parse.pla: 1331: entrypoint = codeptr -; toolsrc/parse.pla: 1332: prevstmnt = 0 -; toolsrc/parse.pla: 1333: init_idlocal -; toolsrc/parse.pla: 1334: emit_enter(0) -; toolsrc/parse.pla: 1335: if token <> DONE_TKN -; toolsrc/parse.pla: 1336: while parse_stmnt; nextln; loop - !BYTE $6A ; LAW _D075+0 -_F1567 !WORD _D075+0 - !BYTE $7A ; SAW _D076+0 -_F1568 !WORD _D076+0 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D111+0 -_F1569 !WORD _D111+0 - !BYTE $54 ; CALL _C054 -_F1570 !WORD _C054 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C038 -_F1571 !WORD _C038 - !BYTE $68 ; LAB _D099+0 -_F1572 !WORD _D099+0 - !BYTE $2A,$98 ; CB 152 - !BYTE $22 ; BREQ _B1203 - !WORD _B1203-* - !BYTE $50 ; BRNCH _B1207 - !WORD _B1207-* -_B1205 - !BYTE $54 ; CALL _C079 -_F1573 !WORD _C079 - !BYTE $30 ; DROP -_B1207 - !BYTE $54 ; CALL _C096 -_F1574 !WORD _C096 - !BYTE $4E ; BRTRU _B1205 - !WORD _B1205-* -_B1206 -; toolsrc/parse.pla: 1337: fin -_B1203 -_B1204 -; toolsrc/parse.pla: 1338: if prevstmnt <> RETURN_TKN -; toolsrc/parse.pla: 1339: emit_const(0) -; toolsrc/parse.pla: 1340: emit_leave -; toolsrc/parse.pla: 1341: fin - !BYTE $68 ; LAB _D111+0 -_F1575 !WORD _D111+0 - !BYTE $2A,$99 ; CB 153 - !BYTE $22 ; BREQ _B1208 - !WORD _B1208-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C016 -_F1576 !WORD _C016 - !BYTE $54 ; CALL _C037 -_F1577 !WORD _C037 -_B1208 -_B1209 -; toolsrc/parse.pla: 1342: puti(codeptr - entrypoint); puts(@bytesln) -; toolsrc/parse.pla: 1343: puts("\nTotal bytes compiled: "); puti(codeptr - codebuff); putln - !BYTE $6A ; LAW _D075+0 -_F1578 !WORD _D075+0 - !BYTE $6A ; LAW _D076+0 -_F1579 !WORD _D076+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1580 !WORD 0 - !BYTE $26 ; LA _D123+0 -_F1581 !WORD _D123+0 - !BYTE $54 ; CALL _X004 -_F1582 !WORD 0 - !BYTE $2E ; CS - !BYTE $17 - !BYTE $0D,$54,$6F,$74,$61,$6C,$20,$62 - !BYTE $79,$74,$65,$73,$20,$63,$6F,$6D - !BYTE $70,$69,$6C,$65,$64,$3A,$20 - !BYTE $54 ; CALL _X004 -_F1583 !WORD 0 -; toolsrc/parse.pla: 1344: if token <> DONE_TKN; parse_warn("Missing DONE\n"); fin - !BYTE $6A ; LAW _D075+0 -_F1584 !WORD _D075+0 - !BYTE $6A ; LAW _D074+0 -_F1585 !WORD _D074+0 - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X005 -_F1586 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1587 !WORD 0 - !BYTE $68 ; LAB _D099+0 -_F1588 !WORD _D099+0 - !BYTE $2A,$98 ; CB 152 - !BYTE $22 ; BREQ _B1210 - !WORD _B1210-* - !BYTE $2E ; CS - !BYTE $0D - !BYTE $4D,$69,$73,$73,$69,$6E,$67,$20 - !BYTE $44,$4F,$4E,$45,$0D - !BYTE $54 ; CALL _C003 -_F1589 !WORD _C003 -_B1210 -_B1211 -; toolsrc/parse.pla: 1345: //dumpsym(idglobal_tbl, globals) -; toolsrc/parse.pla: 1346: fin -_B1192 -_B1193 -; toolsrc/parse.pla: 1347: end - !BYTE $5C ; RET -; toolsrc/plasm.pla: 0510: -; toolsrc/plasm.pla: 0511: // -; toolsrc/plasm.pla: 0512: // Look at command line arguments and compile module -; toolsrc/plasm.pla: 0513: // -; toolsrc/plasm.pla: 0514: puts("PLASMA Compiler v2.20\n") -_INIT - !BYTE $2E ; CS - !BYTE $16 - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$43 - !BYTE $6F,$6D,$70,$69,$6C,$65,$72,$20 - !BYTE $76,$32,$2E,$32,$30,$0D - !BYTE $54 ; CALL _X004 -_F1590 !WORD 0 -; toolsrc/plasm.pla: 0515: -; toolsrc/plasm.pla: 0516: arg = argNext(argFirst) -; toolsrc/plasm.pla: 0517: if ^arg and ^(arg + 1) == '-' -; toolsrc/plasm.pla: 0518: opt = arg + 2 -; toolsrc/plasm.pla: 0519: while TRUE - !BYTE $54 ; CALL _X029 -_F1591 !WORD 0 - !BYTE $54 ; CALL _X030 -_F1592 !WORD 0 - !BYTE $7A ; SAW _D124+0 -_F1593 !WORD _D124+0 - !BYTE $6A ; LAW _D124+0 -_F1594 !WORD _D124+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B1212 - !WORD _B1212-* - !BYTE $6A ; LAW _D124+0 -_F1595 !WORD _D124+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ -_B1212 - !BYTE $4C ; BRFLS _B1213 - !WORD _B1213-* - !BYTE $6A ; LAW _D124+0 -_F1596 !WORD _D124+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D125+0 -_F1597 !WORD _D125+0 - !BYTE $50 ; BRNCH _B1217 - !WORD _B1217-* -_B1215 -; toolsrc/plasm.pla: 0520: if toupper(^opt) == 'O' -; toolsrc/plasm.pla: 0521: // -; toolsrc/plasm.pla: 0522: // Load optimizer module here -; toolsrc/plasm.pla: 0523: // -; toolsrc/plasm.pla: 0524: if cmdsys:modexec("CODEOPT") >= 0 - !BYTE $6A ; LAW _D125+0 -_F1598 !WORD _D125+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1599 !WORD 0 - !BYTE $2A,$4F ; CB 79 - !BYTE $24 ; BRNE _B1218 - !WORD _B1218-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $43,$4F,$44,$45,$4F,$50,$54 - !BYTE $6A ; LAW _X000+6 -_F1600 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B1220 - !WORD _B1220-* -; toolsrc/plasm.pla: 0525: outflags = outflags | OPTIMIZE -; toolsrc/plasm.pla: 0526: fin - !BYTE $68 ; LAB _D086+0 -_F1601 !WORD _D086+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D086+0 -_F1602 !WORD _D086+0 -_B1220 -_B1221 -; toolsrc/plasm.pla: 0527: if not (outflags & OPTIMIZE) -; toolsrc/plasm.pla: 0528: puts("\nOptimizer disabled\n") - !BYTE $68 ; LAB _D086+0 -_F1603 !WORD _D086+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4E ; BRTRU _B1222 - !WORD _B1222-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $0D,$4F,$70,$74,$69,$6D,$69,$7A - !BYTE $65,$72,$20,$64,$69,$73,$61,$62 - !BYTE $6C,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F1604 !WORD 0 -; toolsrc/plasm.pla: 0529: fin -_B1222 -_B1223 -; toolsrc/plasm.pla: 0530: opt++ - !BYTE $6A ; LAW _D125+0 -_F1605 !WORD _D125+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0531: if ^opt == '2' -; toolsrc/plasm.pla: 0532: outflags = outflags | OPTIMIZE2 -; toolsrc/plasm.pla: 0533: opt++ - !BYTE $7A ; SAW _D125+0 -_F1606 !WORD _D125+0 - !BYTE $6A ; LAW _D125+0 -_F1607 !WORD _D125+0 - !BYTE $60 ; LB - !BYTE $2A,$32 ; CB 50 - !BYTE $24 ; BRNE _B1224 - !WORD _B1224-* - !BYTE $68 ; LAB _D086+0 -_F1608 !WORD _D086+0 - !BYTE $3E,$02 ; ORI 2 - !BYTE $78 ; SAB _D086+0 -_F1609 !WORD _D086+0 - !BYTE $6A ; LAW _D125+0 -_F1610 !WORD _D125+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0534: fin - !BYTE $7A ; SAW _D125+0 -_F1611 !WORD _D125+0 -_B1224 -_B1225 -; toolsrc/plasm.pla: 0535: elsif toupper(^opt) == 'N' - !BYTE $50 ; BRNCH _B1219 - !WORD _B1219-* -_B1218 -; toolsrc/plasm.pla: 0536: outflags = outflags | NO_COMBINE -; toolsrc/plasm.pla: 0537: opt++ - !BYTE $6A ; LAW _D125+0 -_F1612 !WORD _D125+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1613 !WORD 0 - !BYTE $2A,$4E ; CB 78 - !BYTE $24 ; BRNE _B1226 - !WORD _B1226-* - !BYTE $68 ; LAB _D086+0 -_F1614 !WORD _D086+0 - !BYTE $3E,$04 ; ORI 4 - !BYTE $78 ; SAB _D086+0 -_F1615 !WORD _D086+0 - !BYTE $6A ; LAW _D125+0 -_F1616 !WORD _D125+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0538: elsif toupper(^opt) == 'W' - !BYTE $7A ; SAW _D125+0 -_F1617 !WORD _D125+0 - !BYTE $50 ; BRNCH _B1219 - !WORD _B1219-* -_B1226 -; toolsrc/plasm.pla: 0539: outflags = outflags | WARNINGS -; toolsrc/plasm.pla: 0540: opt++ - !BYTE $6A ; LAW _D125+0 -_F1618 !WORD _D125+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1619 !WORD 0 - !BYTE $2A,$57 ; CB 87 - !BYTE $24 ; BRNE _B1227 - !WORD _B1227-* - !BYTE $68 ; LAB _D086+0 -_F1620 !WORD _D086+0 - !BYTE $3E,$08 ; ORI 8 - !BYTE $78 ; SAB _D086+0 -_F1621 !WORD _D086+0 - !BYTE $6A ; LAW _D125+0 -_F1622 !WORD _D125+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0541: else - !BYTE $7A ; SAW _D125+0 -_F1623 !WORD _D125+0 - !BYTE $50 ; BRNCH _B1219 - !WORD _B1219-* -_B1227 -; toolsrc/plasm.pla: 0542: break - !BYTE $50 ; BRNCH _B1216 - !WORD _B1216-* -; toolsrc/plasm.pla: 0543: fin -_B1219 -; toolsrc/plasm.pla: 0544: loop -_B1217 - !BYTE $50 ; BRNCH _B1215 - !WORD _B1215-* -_B1216 -; toolsrc/plasm.pla: 0545: arg = argNext(arg) -; toolsrc/plasm.pla: 0546: fin - !BYTE $6A ; LAW _D124+0 -_F1624 !WORD _D124+0 - !BYTE $54 ; CALL _X030 -_F1625 !WORD 0 - !BYTE $7A ; SAW _D124+0 -_F1626 !WORD _D124+0 -_B1213 -_B1214 -; toolsrc/plasm.pla: 0547: if ^arg -; toolsrc/plasm.pla: 0548: strcpy(@srcfile, arg) -; toolsrc/plasm.pla: 0549: arg = argNext(arg) -; toolsrc/plasm.pla: 0550: if ^arg -; toolsrc/plasm.pla: 0551: strcpy(@relfile, arg) -; toolsrc/plasm.pla: 0552: else - !BYTE $6A ; LAW _D124+0 -_F1627 !WORD _D124+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B1228 - !WORD _B1228-* - !BYTE $26 ; LA _D090+0 -_F1628 !WORD _D090+0 - !BYTE $6A ; LAW _D124+0 -_F1629 !WORD _D124+0 - !BYTE $54 ; CALL _X019 -_F1630 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D124+0 -_F1631 !WORD _D124+0 - !BYTE $54 ; CALL _X030 -_F1632 !WORD 0 - !BYTE $7A ; SAW _D124+0 -_F1633 !WORD _D124+0 - !BYTE $6A ; LAW _D124+0 -_F1634 !WORD _D124+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B1230 - !WORD _B1230-* - !BYTE $26 ; LA _D092+0 -_F1635 !WORD _D092+0 - !BYTE $6A ; LAW _D124+0 -_F1636 !WORD _D124+0 - !BYTE $54 ; CALL _X019 -_F1637 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1231 - !WORD _B1231-* -_B1230 -; toolsrc/plasm.pla: 0553: strcpy(@relfile, @srcfile) -; toolsrc/plasm.pla: 0554: // -; toolsrc/plasm.pla: 0555: // Strip trailing extension -; toolsrc/plasm.pla: 0556: // -; toolsrc/plasm.pla: 0557: while relfile and relfile[relfile] <> '.' - !BYTE $26 ; LA _D092+0 -_F1638 !WORD _D092+0 - !BYTE $26 ; LA _D090+0 -_F1639 !WORD _D090+0 - !BYTE $54 ; CALL _X019 -_F1640 !WORD 0 - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1234 - !WORD _B1234-* -_B1232 -; toolsrc/plasm.pla: 0558: relfile-- - !BYTE $68 ; LAB _D092+0 -_F1641 !WORD _D092+0 - !BYTE $8E ; DECR -; toolsrc/plasm.pla: 0559: loop - !BYTE $78 ; SAB _D092+0 -_F1642 !WORD _D092+0 -_B1234 - !BYTE $68 ; LAB _D092+0 -_F1643 !WORD _D092+0 - !BYTE $AC ; BRAND _B1235 - !WORD _B1235-* - !BYTE $26 ; LA _D092+0 -_F1644 !WORD _D092+0 - !BYTE $B4 ; ADDAB _D092+0 -_F1645 !WORD _D092+0 - !BYTE $60 ; LB - !BYTE $2A,$2E ; CB 46 - !BYTE $42 ; ISNE -_B1235 - !BYTE $4E ; BRTRU _B1232 - !WORD _B1232-* -_B1233 -; toolsrc/plasm.pla: 0560: if relfile; relfile--; fin // Strip '.' - !BYTE $68 ; LAB _D092+0 -_F1646 !WORD _D092+0 - !BYTE $4C ; BRFLS _B1236 - !WORD _B1236-* - !BYTE $68 ; LAB _D092+0 -_F1647 !WORD _D092+0 - !BYTE $8E ; DECR - !BYTE $78 ; SAB _D092+0 -_F1648 !WORD _D092+0 -_B1236 -_B1237 -; toolsrc/plasm.pla: 0561: if not relfile -; toolsrc/plasm.pla: 0562: // -; toolsrc/plasm.pla: 0563: // Copy default name over -; toolsrc/plasm.pla: 0564: // -; toolsrc/plasm.pla: 0565: strcpy(@relfile, "A.OUT") - !BYTE $68 ; LAB _D092+0 -_F1649 !WORD _D092+0 - !BYTE $4E ; BRTRU _B1238 - !WORD _B1238-* - !BYTE $26 ; LA _D092+0 -_F1650 !WORD _D092+0 - !BYTE $2E ; CS - !BYTE $05 - !BYTE $41,$2E,$4F,$55,$54 - !BYTE $54 ; CALL _X019 -_F1651 !WORD 0 - !BYTE $30 ; DROP -; toolsrc/plasm.pla: 0566: fin -_B1238 -_B1239 -; toolsrc/plasm.pla: 0567: modfile = 0 -; toolsrc/plasm.pla: 0568: for srcref = 1 to relfile - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D093+0 -_F1652 !WORD _D093+0 - !BYTE $68 ; LAB _D092+0 -_F1653 !WORD _D092+0 - !BYTE $02 ; CN 1 - !BYTE $A0 ; BRGT _B1240 - !WORD _B1240-* -_B1241 - !BYTE $7C ; DAB _D088+0 -_F1654 !WORD _D088+0 -; toolsrc/plasm.pla: 0569: if relfile[srcref] == '/' -; toolsrc/plasm.pla: 0570: modfile = 0 -; toolsrc/plasm.pla: 0571: else - !BYTE $26 ; LA _D092+0 -_F1655 !WORD _D092+0 - !BYTE $B4 ; ADDAB _D088+0 -_F1656 !WORD _D088+0 - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B1243 - !WORD _B1243-* - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D093+0 -_F1657 !WORD _D093+0 - !BYTE $50 ; BRNCH _B1244 - !WORD _B1244-* -_B1243 -; toolsrc/plasm.pla: 0572: modfile++ - !BYTE $68 ; LAB _D093+0 -_F1658 !WORD _D093+0 - !BYTE $8C ; INCR -; toolsrc/plasm.pla: 0573: modfile[modfile] = toupper(relfile[srcref]) -; toolsrc/plasm.pla: 0574: fin - !BYTE $78 ; SAB _D093+0 -_F1659 !WORD _D093+0 - !BYTE $26 ; LA _D092+0 -_F1660 !WORD _D092+0 - !BYTE $B4 ; ADDAB _D088+0 -_F1661 !WORD _D088+0 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1662 !WORD 0 - !BYTE $26 ; LA _D093+0 -_F1663 !WORD _D093+0 - !BYTE $B4 ; ADDAB _D093+0 -_F1664 !WORD _D093+0 - !BYTE $70 ; SB -_B1244 -; toolsrc/plasm.pla: 0575: next -_B1242 - !BYTE $A4 ; INCBRLE _B1241 - !WORD _B1241-* -_B1240 - !BYTE $78 ; SAB _D088+0 -_F1665 !WORD _D088+0 - !BYTE $30 ; DROP -; toolsrc/plasm.pla: 0576: fin -_B1231 -; toolsrc/plasm.pla: 0577: fin -_B1228 -_B1229 -; toolsrc/plasm.pla: 0578: if srcfile and relfile -; toolsrc/plasm.pla: 0579: fileio:iobufalloc(2) // Reserve two I/O buffers -; toolsrc/plasm.pla: 0580: srcref = fileio:open(@srcfile) -; toolsrc/plasm.pla: 0581: if srcref -; toolsrc/plasm.pla: 0582: fileio:newline(srcref, $7F, $0D) -; toolsrc/plasm.pla: 0583: refnum = srcref -; toolsrc/plasm.pla: 0584: parsefile = @srcfile -; toolsrc/plasm.pla: 0585: strconstbuff = heapalloc(80) -; toolsrc/plasm.pla: 0586: if isult(heapavail, $6000); inbuff_len = MAX_INPUT_LEN/2; fin - !BYTE $68 ; LAB _D090+0 -_F1666 !WORD _D090+0 - !BYTE $AC ; BRAND _B1245 - !WORD _B1245-* - !BYTE $68 ; LAB _D092+0 -_F1667 !WORD _D092+0 -_B1245 - !BYTE $4C ; BRFLS _B1246 - !WORD _B1246-* - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X031+12 -_F1668 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D090+0 -_F1669 !WORD _D090+0 - !BYTE $6A ; LAW _X031+14 -_F1670 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D088+0 -_F1671 !WORD _D088+0 - !BYTE $4C ; BRFLS _B1248 - !WORD _B1248-* - !BYTE $68 ; LAB _D088+0 -_F1672 !WORD _D088+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F1673 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D088+0 -_F1674 !WORD _D088+0 - !BYTE $78 ; SAB _D087+0 -_F1675 !WORD _D087+0 - !BYTE $26 ; LA _D090+0 -_F1676 !WORD _D090+0 - !BYTE $7A ; SAW _D094+0 -_F1677 !WORD _D094+0 - !BYTE $2A,$50 ; CB 80 - !BYTE $54 ; CALL _X014 -_F1678 !WORD 0 - !BYTE $7A ; SAW _D106+0 -_F1679 !WORD _D106+0 - !BYTE $54 ; CALL _X016 -_F1680 !WORD 0 - !BYTE $2C,$00,$60 ; CW 24576 - !BYTE $54 ; CALL _X026 -_F1681 !WORD 0 - !BYTE $4C ; BRFLS _B1250 - !WORD _B1250-* - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $7A ; SAW _D097+0 -_F1682 !WORD _D097+0 -_B1250 -_B1251 -; toolsrc/plasm.pla: 0587: inbuff = heapalloc(inbuff_len) -; toolsrc/plasm.pla: 0588: scanptr = inbuff -; toolsrc/plasm.pla: 0589: ^inbuff = NULL -; toolsrc/plasm.pla: 0590: exit = heapalloc(t_except) -; toolsrc/plasm.pla: 0591: if not except(exit) -; toolsrc/plasm.pla: 0592: // puts("Available mem size = $"); puth(heapavail); putln -; toolsrc/plasm.pla: 0593: // -; toolsrc/plasm.pla: 0594: // Parse source code module -; toolsrc/plasm.pla: 0595: // -; toolsrc/plasm.pla: 0596: parse_module -; toolsrc/plasm.pla: 0597: fileio:close(srcref) -; toolsrc/plasm.pla: 0598: // -; toolsrc/plasm.pla: 0599: // Write REL file -; toolsrc/plasm.pla: 0600: // -; toolsrc/plasm.pla: 0601: fileio:destroy(@relfile) -; toolsrc/plasm.pla: 0602: fileio:create(@relfile, $FE, $1000) // full access, REL file -; toolsrc/plasm.pla: 0603: srcref = fileio:open(@relfile) -; toolsrc/plasm.pla: 0604: if srcref -; toolsrc/plasm.pla: 0605: writemodule(srcref) -; toolsrc/plasm.pla: 0606: fileio:close(srcref) -; toolsrc/plasm.pla: 0607: else - !BYTE $6A ; LAW _D097+0 -_F1683 !WORD _D097+0 - !BYTE $54 ; CALL _X014 -_F1684 !WORD 0 - !BYTE $7E ; DAW _D096+0 -_F1685 !WORD _D096+0 - !BYTE $7A ; SAW _D098+0 -_F1686 !WORD _D098+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D096+0 -_F1687 !WORD _D096+0 - !BYTE $70 ; SB - !BYTE $2C,$60,$01 ; CW 352 - !BYTE $54 ; CALL _X014 -_F1688 !WORD 0 - !BYTE $7E ; DAW _D126+0 -_F1689 !WORD _D126+0 - !BYTE $54 ; CALL _X034 -_F1690 !WORD 0 - !BYTE $4E ; BRTRU _B1252 - !WORD _B1252-* - !BYTE $54 ; CALL _C103 -_F1691 !WORD _C103 - !BYTE $68 ; LAB _D088+0 -_F1692 !WORD _D088+0 - !BYTE $6A ; LAW _X031+16 -_F1693 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D092+0 -_F1694 !WORD _D092+0 - !BYTE $6A ; LAW _X031+24 -_F1695 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D092+0 -_F1696 !WORD _D092+0 - !BYTE $2A,$FE ; CB 254 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $6A ; LAW _X031+22 -_F1697 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D092+0 -_F1698 !WORD _D092+0 - !BYTE $6A ; LAW _X031+14 -_F1699 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D088+0 -_F1700 !WORD _D088+0 - !BYTE $4C ; BRFLS _B1254 - !WORD _B1254-* - !BYTE $68 ; LAB _D088+0 -_F1701 !WORD _D088+0 - !BYTE $54 ; CALL _C074 -_F1702 !WORD _C074 - !BYTE $68 ; LAB _D088+0 -_F1703 !WORD _D088+0 - !BYTE $6A ; LAW _X031+16 -_F1704 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B1255 - !WORD _B1255-* -_B1254 -; toolsrc/plasm.pla: 0608: puts("\nError opening: "); puts(@relfile); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$6F - !BYTE $70,$65,$6E,$69,$6E,$67,$3A,$20 - !BYTE $54 ; CALL _X004 -_F1705 !WORD 0 -; toolsrc/plasm.pla: 0609: fin - !BYTE $26 ; LA _D092+0 -_F1706 !WORD _D092+0 - !BYTE $54 ; CALL _X004 -_F1707 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1708 !WORD 0 -_B1255 -; toolsrc/plasm.pla: 0610: fin -_B1252 -_B1253 -; toolsrc/plasm.pla: 0611: else - !BYTE $50 ; BRNCH _B1249 - !WORD _B1249-* -_B1248 -; toolsrc/plasm.pla: 0612: puts("\nError opening: "); puts(@srcfile); putln - !BYTE $2E ; CS - !BYTE $10 - !BYTE $0D,$45,$72,$72,$6F,$72,$20,$6F - !BYTE $70,$65,$6E,$69,$6E,$67,$3A,$20 - !BYTE $54 ; CALL _X004 -_F1709 !WORD 0 -; toolsrc/plasm.pla: 0613: fin - !BYTE $26 ; LA _D090+0 -_F1710 !WORD _D090+0 - !BYTE $54 ; CALL _X004 -_F1711 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1712 !WORD 0 -_B1249 -; toolsrc/plasm.pla: 0614: else - !BYTE $50 ; BRNCH _B1247 - !WORD _B1247-* -_B1246 -; toolsrc/plasm.pla: 0615: puts("Usage:+PLASM [-[W][O[2]][N]] [out]\n") - !BYTE $2E ; CS - !BYTE $29 - !BYTE $55,$73,$61,$67,$65,$3A,$2B,$50 - !BYTE $4C,$41,$53,$4D,$20,$5B,$2D,$5B - !BYTE $57,$5D,$5B,$4F,$5B,$32,$5D,$5D - !BYTE $5B,$4E,$5D,$5D,$20,$3C,$73,$72 - !BYTE $63,$3E,$20,$5B,$6F,$75,$74,$5D - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F1713 !WORD 0 -; toolsrc/plasm.pla: 0616: fin -_B1247 -; toolsrc/plasm.pla: 0617: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 105 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C050 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C051 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C052 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C053 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C054 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C055 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C056 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C057 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C058 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C059 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C060 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C061 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C062 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C063 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C064 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C065 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C066 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C067 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C068 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C069 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C070 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C071 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C072 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C073 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C074 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C075 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C076 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C077 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C078 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C079 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C080 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C081 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C082 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C083 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C084 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C085 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C086 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C087 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C088 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C089 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C090 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C091 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C092 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C093 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C094 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C095 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C096 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C097 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C098 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C099 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C100 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C101 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C102 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C103 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F378-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F379-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F380-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F381-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F382-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F383-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F384-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F385-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F386-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F387-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F388-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F389-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F390-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F391-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F392-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F393-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F394-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F395-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F396-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F397-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F398-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F399-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F406-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F407-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F408-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F409-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F410-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F411-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F414-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F415-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F417-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F420-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F421-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F423-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F424-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F425-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F426-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F427-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F428-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F434-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F435-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F436-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F437-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F438-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F439-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F440-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F441-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F442-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F443-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F444-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F445-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F446-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F447-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F448-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F449-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F450-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F451-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F452-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F453-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F454-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F455-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F456-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F457-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F458-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F459-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F460-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F461-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F463-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F464-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F465-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F466-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F467-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F469-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F470-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F472-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F473-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F474-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F475-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F476-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F477-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F478-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F479-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F480-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F481-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F482-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F483-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F484-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F485-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F486-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F487-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F488-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F489-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F490-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F491-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F492-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F493-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F494-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F495-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F496-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F497-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F498-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F499-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F500-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F501-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F502-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F503-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F504-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F505-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F506-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F507-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F508-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F509-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F510-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F511-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F512-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F513-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F514-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F515-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F516-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F517-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F518-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F519-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F520-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F521-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F522-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F523-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F524-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F525-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F526-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F527-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F528-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F529-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F530-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F531-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F532-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F533-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F534-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F535-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F536-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F537-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F538-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F539-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F540-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F541-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F542-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F543-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F544-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F545-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F546-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F547-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F548-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F549-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F550-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F551-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F552-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F553-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F554-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F555-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F556-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F557-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F558-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F559-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F560-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F561-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F562-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F563-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F564-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F565-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F566-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F567-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F568-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F569-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F570-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F571-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F572-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F573-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F574-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F575-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F576-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F577-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F578-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F579-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F580-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F581-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F582-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F583-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F584-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F585-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F586-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F587-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F588-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F589-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F590-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F591-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F592-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F593-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F594-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F595-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F596-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F597-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F598-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F599-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F600-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F601-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F602-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F603-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F604-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F605-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F606-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F607-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F608-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F609-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F610-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F611-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F612-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F613-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F614-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F615-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F616-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F617-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F618-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F619-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F620-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F621-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F622-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F623-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F624-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F625-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F626-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F627-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F628-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F629-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F630-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F631-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F632-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F633-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F634-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F635-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F636-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F637-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F638-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F639-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F640-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F641-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F643-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F644-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F645-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F646-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F647-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F648-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F649-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F650-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F651-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F652-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F653-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F654-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F655-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F656-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F657-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F658-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F659-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F660-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F661-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F662-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F663-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F664-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F665-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F666-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F667-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F668-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F669-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F670-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F671-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F672-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F673-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F674-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F675-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F676-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F677-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F678-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F679-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F680-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F681-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F682-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F683-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F684-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F685-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F686-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F687-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F688-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F689-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F690-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F691-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F692-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F693-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F694-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F695-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F696-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F697-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F698-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F699-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F700-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F701-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F702-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F703-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F704-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F705-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F706-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F707-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F708-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F709-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F710-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F711-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F712-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F713-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F714-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F715-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F716-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F717-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F718-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F719-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F720-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F721-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F722-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F723-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F724-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F725-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F726-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F727-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F728-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F729-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F730-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F731-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F732-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F733-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F734-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F735-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F736-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F737-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F738-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F739-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F740-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F741-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F742-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F743-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F744-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F745-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F746-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F747-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F748-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F749-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F750-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F751-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F752-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F753-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F754-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F755-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F756-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F757-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F758-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F759-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F760-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F761-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F762-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F763-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F764-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F765-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F766-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F767-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F768-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F769-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F770-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F771-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F772-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F773-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F774-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F775-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F776-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F777-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F778-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F779-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F780-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F781-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F782-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F783-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F784-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F785-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F786-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F787-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F788-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F789-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F790-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F791-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F792-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F793-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F794-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F795-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F796-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F797-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F798-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F799-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F800-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F801-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F802-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F803-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F804-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F805-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F806-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F807-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F808-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F809-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F810-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F811-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F812-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F813-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F814-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F815-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F816-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F817-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F818-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F819-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F820-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F821-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F822-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F823-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F824-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F825-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F826-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F827-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F828-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F829-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F830-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F831-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F832-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F833-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F834-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F835-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F836-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F837-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F838-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F839-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F840-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F841-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F842-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F843-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F844-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F845-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F846-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F847-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F848-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F849-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F850-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F851-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F852-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F853-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F854-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F855-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F856-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F857-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F858-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F859-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F860-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F861-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F862-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F863-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F864-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F865-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F866-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F867-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F868-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F869-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F870-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F871-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F872-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F873-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F874-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F875-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F876-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F877-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F878-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F879-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F880-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F881-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F882-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F883-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F884-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F885-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F886-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F887-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F888-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F889-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F890-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F891-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F892-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F893-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F894-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F895-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F896-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F897-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F898-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F899-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F900-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F901-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F902-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F903-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F904-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F905-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F906-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F907-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F908-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F909-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F910-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F911-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F912-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F913-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F914-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F915-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F916-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F917-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F918-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F919-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F920-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F921-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F922-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F923-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F924-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F925-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F926-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F927-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F928-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F929-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F930-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F931-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F932-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F933-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F934-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F935-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F936-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F937-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F938-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F939-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F940-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F941-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F942-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F943-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F944-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F945-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F946-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F947-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F948-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F949-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F950-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F951-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F952-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F953-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F954-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F955-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F956-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F957-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F958-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F959-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F960-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F961-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F962-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F963-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F964-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F965-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F966-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F967-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F968-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F969-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F970-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F971-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F972-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F973-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F974-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F975-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F976-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F977-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F978-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F979-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F980-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F981-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F982-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F983-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F984-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F985-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F986-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F987-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F988-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F989-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F990-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F991-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F992-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F993-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F994-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F995-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F996-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F997-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F998-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F999-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1205-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1206-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1208-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1217-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1218-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1219-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1220-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1222-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1223-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1253-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1254-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1277-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1278-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1279-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1280-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1281-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1283-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1284-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1285-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1290-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1298-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1299-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1300-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1308-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1313-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1314-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1339-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1340-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1344-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1345-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1347-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1348-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1349-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1350-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1351-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1352-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1353-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1354-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1358-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1360-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1361-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1363-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1364-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1366-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1367-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1368-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1369-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1370-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1371-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1372-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1373-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1374-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1375-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1376-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1377-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1378-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1379-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1380-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1381-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1382-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1383-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1384-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1385-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1386-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1387-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1388-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1389-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1390-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1391-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1392-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1393-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1394-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1395-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1396-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1397-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1398-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1399-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1400-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1401-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1402-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1403-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1404-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1405-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1406-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1407-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1408-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1409-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1410-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1411-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1412-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1413-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1414-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1415-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1416-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1417-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1418-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1420-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1421-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1422-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1423-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1424-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1425-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1426-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1427-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1428-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1429-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1430-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1432-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1433-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1434-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1435-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1436-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1437-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1438-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1439-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1440-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1441-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1442-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1443-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1444-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1445-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1446-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1447-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1448-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1449-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1450-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1451-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1452-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1453-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1454-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1455-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1456-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1457-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1458-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1459-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1460-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1461-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1463-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1464-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1465-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1466-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1467-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1469-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1470-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1472-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1473-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1474-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1475-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1476-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1477-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1478-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1479-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1480-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1481-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1482-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1483-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1484-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1485-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1486-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1487-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1488-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1489-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1490-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1491-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1492-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1493-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1494-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1495-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1496-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1497-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1498-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1499-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1500-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1501-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1502-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1503-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1504-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1505-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1506-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1507-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1508-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1509-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1510-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1511-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1512-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1513-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1514-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1515-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1516-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1517-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1518-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1519-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1520-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1521-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1522-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1523-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1524-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1525-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1526-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1527-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1528-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1529-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1530-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1531-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1532-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1533-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1534-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1535-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1536-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1537-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1538-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1539-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1540-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1541-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1542-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1543-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1544-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1545-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1546-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1547-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1548-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1549-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1550-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1551-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1552-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1553-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1554-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1555-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1556-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1557-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1558-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1559-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1560-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1561-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1562-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1563-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1564-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1565-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1566-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1567-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1568-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1569-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1570-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1571-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1572-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1573-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1574-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1575-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1576-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1577-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1578-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1579-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1580-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1581-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1582-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1583-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1584-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1585-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1586-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1587-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1588-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1589-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1590-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1591-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1592-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1593-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1594-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1595-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1596-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1597-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1598-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1599-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1600-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1601-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1602-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1603-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1604-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1605-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1606-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1607-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1608-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1609-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1610-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1611-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1612-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1613-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1614-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1615-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1616-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1617-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1618-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1619-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1620-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1621-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1622-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1623-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1624-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1625-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1626-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1627-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1628-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1629-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1630-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1631-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1632-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1633-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1634-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1635-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1636-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1637-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1638-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1639-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1640-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1641-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1643-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1644-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1645-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1646-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1647-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1648-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1649-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1650-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1651-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1652-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1653-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1654-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1655-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1656-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1657-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1658-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1659-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1660-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1661-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1662-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1663-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1664-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1665-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1666-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1667-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1668-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1669-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1670-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1671-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1672-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1673-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1674-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1675-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1676-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1677-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1678-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1679-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1680-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1681-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1682-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1683-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1684-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1685-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1686-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1687-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1688-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1689-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1690-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1691-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1692-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1693-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1694-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1695-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1696-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1697-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1698-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1699-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1700-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1701-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1702-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1703-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1704-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1705-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1706-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1707-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1708-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1709-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1710-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1711-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1712-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1713-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ISUGT - !BYTE $C9,$D3,$D5,$C7,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 24 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: FREEOP_LST - !BYTE $C6,$D2,$C5,$C5,$CF,$D0,$DF,$CC,$D3,$54 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D084 - ; DCI STRING: OPTIMIZE_SEQ - !BYTE $CF,$D0,$D4,$C9,$CD,$C9,$DA,$C5,$DF,$D3,$C5,$51 - !BYTE $08 ; ENTRY SYMBOL FLAG - !WORD _D085 - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/plforth.a b/src/toolsrc/plforth.a deleted file mode 100644 index 251c9d0..0000000 --- a/src/toolsrc/plforth.a +++ /dev/null @@ -1,12902 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; toolsrc/plforth.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; toolsrc/plforth.pla: 0001: -; toolsrc/plforth.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; toolsrc/plforth.pla: 0002: -; toolsrc/plforth.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; toolsrc/plforth.pla: 0003: -; toolsrc/plforth.pla: 0004: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X033 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; toolsrc/plforth.pla: 0004: -; toolsrc/plforth.pla: 0005: include "inc/longjmp.plh" -; inc/longjmp.plh: 0001: import longjmp - ; DCI STRING: LONGJMP - !BYTE $CC,$CF,$CE,$C7,$CA,$CD,$50 - ; LONGJMP -> X034 -; inc/longjmp.plh: 0002: const t_except = $0160 - ; t_except = 352 -; inc/longjmp.plh: 0003: predef except(env), throw(env, retval) - ; EXCEPT -> X035 - ; THROW -> X036 -; inc/longjmp.plh: 0004: end -; toolsrc/plforth.pla: 0005: -; toolsrc/plforth.pla: 0006: sysflags restxt1|resxtxt1 // Reserve 80 column text pages - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0005 ; SYSTEM FLAGS -; toolsrc/plforth.pla: 0007: // -; toolsrc/plforth.pla: 0008: // Internal variables -; toolsrc/plforth.pla: 0009: // -; toolsrc/plforth.pla: 0010: const JSR = $20 // 6502 JSR opcode needed for VM entry - ; JSR = 32 -; toolsrc/plforth.pla: 0011: const RTS = $60 // 6502 RTS opcode - ; RTS = 96 -; toolsrc/plforth.pla: 0012: const JMP = $4C // 6502 JMP opcode - ; JMP = 76 -; toolsrc/plforth.pla: 0013: const SRCREFS = 2 - ; SRCREFS = 2 -; toolsrc/plforth.pla: 0014: const INBUF_SIZE = 128 - ; INBUF_SIZE = 128 -; toolsrc/plforth.pla: 0015: word latest, infunc, inptr, IIP, W -_D037 !FILL 2 ; latest, infunc, inptr, IIP, W -_D038 !FILL 2 ; infunc, inptr, IIP, W -_D039 !FILL 2 ; inptr, IIP, W -_D040 !FILL 2 ; IIP, W -_D041 !FILL 2 ; W -; toolsrc/plforth.pla: 0016: word vmvect, startheap, arg -_D042 !FILL 2 ; vmvect, startheap, arg -_D043 !FILL 2 ; startheap, arg -_D044 !FILL 2 ; arg -; toolsrc/plforth.pla: 0017: byte srclevel = 0 -_D045 ; srclevel = 0 - !BYTE $00 -; toolsrc/plforth.pla: 0018: // -; toolsrc/plforth.pla: 0019: // Internal buffers -; toolsrc/plforth.pla: 0020: // -; toolsrc/plforth.pla: 0021: word strbuf, inbuf -_D046 !FILL 2 ; strbuf, inbuf -_D047 !FILL 2 ; inbuf -; toolsrc/plforth.pla: 0022: res[t_except] exitforth -_D048 !FILL 352 ; exitforth -; toolsrc/plforth.pla: 0023: // -; toolsrc/plforth.pla: 0024: // Input references, pointers, and saved values -; toolsrc/plforth.pla: 0025: // -; toolsrc/plforth.pla: 0026: byte nullstr = 0 -_D049 ; nullstr = 0 - !BYTE $00 -; toolsrc/plforth.pla: 0027: word keyinbuf = @nullstr // Point somewhere benign for starters (updated in keyin) -_D050 ; keyinbuf = @nullstr // Point somewhere benign for starters (updated in keyin) -_F000 !WORD _D049 -; toolsrc/plforth.pla: 0028: word inbufptr = @nullstr -_D051 ; inbufptr = @nullstr -_F001 !WORD _D049 -; toolsrc/plforth.pla: 0029: byte inref[SRCREFS] -_D052 !FILL 2 ; inref[SRCREFS] -; toolsrc/plforth.pla: 0030: word previnptr[SRCREFS] -_D053 !FILL 4 ; previnptr[SRCREFS] -; toolsrc/plforth.pla: 0031: // -; toolsrc/plforth.pla: 0032: // RSTACK -; toolsrc/plforth.pla: 0033: // -; toolsrc/plforth.pla: 0034: const RSTK_SIZE = 16 - ; RSTK_SIZE = 16 -; toolsrc/plforth.pla: 0035: byte RSP = RSTK_SIZE -_D054 ; RSP = RSTK_SIZE - !BYTE $10 -; toolsrc/plforth.pla: 0036: word RSTACK[RSTK_SIZE] -_D055 !FILL 32 ; RSTACK[RSTK_SIZE] -; toolsrc/plforth.pla: 0037: // -; toolsrc/plforth.pla: 0038: // Vocabulary hash table -; toolsrc/plforth.pla: 0039: // -; toolsrc/plforth.pla: 0040: const HASH_SIZE = 64 // Must be power of two! - ; HASH_SIZE = 64 -; toolsrc/plforth.pla: 0041: const HASH_MASK = HASH_SIZE-1 - ; HASH_MASK = 63 -; toolsrc/plforth.pla: 0042: word hashtbl[HASH_SIZE] -_D056 !FILL 128 ; hashtbl[HASH_SIZE] -; toolsrc/plforth.pla: 0043: // -; toolsrc/plforth.pla: 0044: // State flags -; toolsrc/plforth.pla: 0045: // -; toolsrc/plforth.pla: 0046: const exit_flag = $01 - ; exit_flag = 1 -; toolsrc/plforth.pla: 0047: const trace_flag = $02 - ; trace_flag = 2 -; toolsrc/plforth.pla: 0048: const step_flag = $04 - ; step_flag = 4 -; toolsrc/plforth.pla: 0049: const comp_itc_flag = $10 - ; comp_itc_flag = 16 -; toolsrc/plforth.pla: 0050: const comp_pbc_flag = $20 - ; comp_pbc_flag = 32 -; toolsrc/plforth.pla: 0051: const comp_flag = comp_itc_flag | comp_pbc_flag - ; comp_flag = 48 -; toolsrc/plforth.pla: 0052: // -; toolsrc/plforth.pla: 0053: // Mode and state -; toolsrc/plforth.pla: 0054: // -; toolsrc/plforth.pla: 0055: byte comp_mode = comp_pbc_flag -_D057 ; comp_mode = comp_pbc_flag - !BYTE $20 -; toolsrc/plforth.pla: 0056: byte state = 0 -_D058 ; state = 0 - !BYTE $00 -; toolsrc/plforth.pla: 0057: word brkentry = 0 -_D059 ; brkentry = 0 - !WORD $0000 -; toolsrc/plforth.pla: 0058: word brkcfa = 0 -_D060 ; brkcfa = 0 - !WORD $0000 -; toolsrc/plforth.pla: 0059: byte brk = 0 -_D061 ; brk = 0 - !BYTE $00 -; toolsrc/plforth.pla: 0060: // -; toolsrc/plforth.pla: 0061: // FORTH dictionary layout -; toolsrc/plforth.pla: 0062: // -; toolsrc/plforth.pla: 0063: // bytes usage -; toolsrc/plforth.pla: 0064: // ----- ----- -; toolsrc/plforth.pla: 0065: // [1] name length -; toolsrc/plforth.pla: 0066: // [1..255] name -; toolsrc/plforth.pla: 0067: // [1] FFA (flag field address) -; toolsrc/plforth.pla: 0068: // [2] LFA (link field address) -; toolsrc/plforth.pla: 0069: // [2] HFA (hash field address) -; toolsrc/plforth.pla: 0070: // [2] CFA (code field address) -; toolsrc/plforth.pla: 0071: // [2..] PFA (param field address) -; toolsrc/plforth.pla: 0072: // -; toolsrc/plforth.pla: 0073: // Mask and flags for dictionary entries -; toolsrc/plforth.pla: 0074: // -; toolsrc/plforth.pla: 0075: const inline_flag = $01 - ; inline_flag = 1 -; toolsrc/plforth.pla: 0076: const inlinew_flag = $02 - ; inlinew_flag = 2 -; toolsrc/plforth.pla: 0077: const param_flag = $04 - ; param_flag = 4 -; toolsrc/plforth.pla: 0078: const showcr_flag = $08 // Help pretty print SHOW - ; showcr_flag = 8 -; toolsrc/plforth.pla: 0079: const itc_flag = $10 - ; itc_flag = 16 -; toolsrc/plforth.pla: 0080: const imm_flag = $20 - ; imm_flag = 32 -; toolsrc/plforth.pla: 0081: const componly_flag = $40 - ; componly_flag = 64 -; toolsrc/plforth.pla: 0082: const interponly_flag = $80 - ; interponly_flag = 128 -; toolsrc/plforth.pla: 0083: // -; toolsrc/plforth.pla: 0084: // Predefine instrinsics -; toolsrc/plforth.pla: 0085: // -; toolsrc/plforth.pla: 0086: predef _swap_(a,b)#2, _ifdup_(a)#1, _over_(a,b)#3, _rot_(a,b,c)#3, _dup2_(a,b)#4 -; toolsrc/plforth.pla: 0087: predef _abs_(a)#1, _max_(a,b)#1, _min_(a,b)#1, _wplusset_(a,b)#0 -; toolsrc/plforth.pla: 0088: predef _ffa_(a)#1, _lfa_(a)#1, _hfa_(a)#1, _cfa_(a)#1, _pfa_(a)#1, _allot_(a)#0 -; toolsrc/plforth.pla: 0089: predef _branch_#0, _0branch_(a)#0, _if_#0, _else_#0, _then_#0 -; toolsrc/plforth.pla: 0090: predef _begin_#0, _again_#0, _until_#0, _while_#0, _repeat_#0 -; toolsrc/plforth.pla: 0091: predef _case_#0, _of_#0, _endof_#0, _endcase_#0 -; toolsrc/plforth.pla: 0092: predef _dodo_(a,b)#0, _do_#0, _doloop_#0, _doplusloop_(a)#0, _plusloop_#0, _loop_#0 -; toolsrc/plforth.pla: 0093: predef _unloop_#0, _leave_#0, _j_#1, _defer_#0, _is_(a)#0, _noname_#0 -; toolsrc/plforth.pla: 0094: predef _create_#0, _itcdoes_(a)#0, _does_#0, _compoff_#0, _compon_#0, _state_#1 -; toolsrc/plforth.pla: 0095: predef _postpone_#0, _dictaddw_(a)#0, _dictaddb_(a)#0, _colon_#0, _semi_#0 -; toolsrc/plforth.pla: 0096: predef _componly_#0, _interponly_#0, _immediate_#0, _exit_#0, _pad_#1, _trailing_(a,b)#2 -; toolsrc/plforth.pla: 0097: predef _tors_(a)#0, _fromrs_#1, _toprs_#1, _lookup_#1, _latest_#1, _recurse_#0 -; toolsrc/plforth.pla: 0098: predef _cmove_(a,b,c)#0, _move_(a,b,c)#0, _fill_(a,b,c)#0, _plasma_(a)#0 -; toolsrc/plforth.pla: 0099: predef _compare_(a,b,c,d)#1, _var_(a)#0, _const_(a)#0, _lit_#1, _slit_#1, _find_(a)#2 -; toolsrc/plforth.pla: 0100: predef _tick_#0, _forget_#0, _keypressed_#1, _key_#1, _prat_(a)#0 -; toolsrc/plforth.pla: 0101: predef _blank_#0, _char_#0, _str_#0, _prstr_#0, _prpstr_#0 -; toolsrc/plforth.pla: 0102: predef _prval_(a)#0, _prbyte_(a)#0, _prhex_(a)#0, _prbin_(a)#0, _prbinw_(a)#0 -; toolsrc/plforth.pla: 0103: predef _accept_(a,b)#1, _type_(a,b)#0 -; toolsrc/plforth.pla: 0104: predef _words_#0, _tron_#0, _troff_#0, _stepon_#0, _stepoff_#0 -; toolsrc/plforth.pla: 0105: predef _itc_#0, _pbc_#0, _comment_#0, _src_(a)#0, _srcstr_#0, _endsrc_#0, _ifendsrc_(a)#0 -; toolsrc/plforth.pla: 0106: predef _brk_#0, _brkon_#0, _brkoff_#0, _word_(a)#1, _count_(a)#2 -; toolsrc/plforth.pla: 0107: predef _space_#0, _spaces_(a)#0, _see_#0, _prstack_#0, _prrstack_#0 -; toolsrc/plforth.pla: 0108: predef _cont_#0, _restart_#0, _bye_#0, _quit_#0 -; toolsrc/plforth.pla: 0109: predef _abort_(a)#0, _doabortstr_(a,b)#0, _abortstr_#0 -; toolsrc/plforth.pla: 0110: predef _compword_(dentry)#0, _compliteral_(a)#0, _execword_(dentry)#0, _isnum_(a,b)#2 -; toolsrc/plforth.pla: 0111: predef _interpret_#0 -; toolsrc/plforth.pla: 0112: // -; toolsrc/plforth.pla: 0113: // Forth Vocabulary -; toolsrc/plforth.pla: 0114: // -; toolsrc/plforth.pla: 0115: // DROP -; toolsrc/plforth.pla: 0116: char d_drop = "DROP", inline_flag | showcr_flag; word = 0, 0, 0, $30 -_D187 ; d_drop = "DROP", inline_flag | showcr_flag; word = 0, 0, 0, $30 - !BYTE $04 - !BYTE $44,$52,$4F,$50 - !BYTE $09 - !WORD $0000 - !WORD $0000 - !WORD $0000 - !WORD $0030 -; toolsrc/plforth.pla: 0117: // DROP2 -; toolsrc/plforth.pla: 0118: char d_drop2 = "DROP2", inlinew_flag | showcr_flag; word = @d_drop, 0, 0, $3030 -_D188 ; d_drop2 = "DROP2", inlinew_flag | showcr_flag; word = @d_drop, 0, 0, $3030 - !BYTE $05 - !BYTE $44,$52,$4F,$50,$32 - !BYTE $0A -_F002 !WORD _D187 - !WORD $0000 - !WORD $0000 - !WORD $3030 -; toolsrc/plforth.pla: 0119: // SWAP -; toolsrc/plforth.pla: 0120: char d_swap = "SWAP", 0; word = @d_drop2, 0, @_swap_ -_D189 ; d_swap = "SWAP", 0; word = @d_drop2, 0, @_swap_ - !BYTE $04 - !BYTE $53,$57,$41,$50 - !BYTE $00 -_F003 !WORD _D188 - !WORD $0000 -_F004 !WORD _P000 -; toolsrc/plforth.pla: 0121: // DUP -; toolsrc/plforth.pla: 0122: char d_dup = "DUP", inline_flag; word = @d_swap, 0, 0, $34 -_D190 ; d_dup = "DUP", inline_flag; word = @d_swap, 0, 0, $34 - !BYTE $03 - !BYTE $44,$55,$50 - !BYTE $01 -_F005 !WORD _D189 - !WORD $0000 - !WORD $0000 - !WORD $0034 -; toolsrc/plforth.pla: 0123: // DUP2 -; toolsrc/plforth.pla: 0124: char d_dup2 = "DUP2", 0; word = @d_dup, 0, @_dup2_ -_D191 ; d_dup2 = "DUP2", 0; word = @d_dup, 0, @_dup2_ - !BYTE $04 - !BYTE $44,$55,$50,$32 - !BYTE $00 -_F006 !WORD _D190 - !WORD $0000 -_F007 !WORD _P004 -; toolsrc/plforth.pla: 0125: // ?DUP -; toolsrc/plforth.pla: 0126: char d_ifdup = "?DUP", 0; word = @d_dup2, 0, @_ifdup_ -_D192 ; d_ifdup = "?DUP", 0; word = @d_dup2, 0, @_ifdup_ - !BYTE $04 - !BYTE $3F,$44,$55,$50 - !BYTE $00 -_F008 !WORD _D191 - !WORD $0000 -_F009 !WORD _P001 -; toolsrc/plforth.pla: 0127: // OVER -; toolsrc/plforth.pla: 0128: char d_over = "OVER", 0; word = @d_ifdup, 0, @_over_ -_D193 ; d_over = "OVER", 0; word = @d_ifdup, 0, @_over_ - !BYTE $04 - !BYTE $4F,$56,$45,$52 - !BYTE $00 -_F010 !WORD _D192 - !WORD $0000 -_F011 !WORD _P002 -; toolsrc/plforth.pla: 0129: // ROT -; toolsrc/plforth.pla: 0130: char d_rot = "ROT", 0; word = @d_over, 0, @_rot_ -_D194 ; d_rot = "ROT", 0; word = @d_over, 0, @_rot_ - !BYTE $03 - !BYTE $52,$4F,$54 - !BYTE $00 -_F012 !WORD _D193 - !WORD $0000 -_F013 !WORD _P003 -; toolsrc/plforth.pla: 0131: // ADD -; toolsrc/plforth.pla: 0132: char d_add = "+", inline_flag; word = @d_rot, 0, 0, $82 -_D195 ; d_add = "+", inline_flag; word = @d_rot, 0, 0, $82 - !BYTE $01 - !BYTE $2B - !BYTE $01 -_F014 !WORD _D194 - !WORD $0000 - !WORD $0000 - !WORD $0082 -; toolsrc/plforth.pla: 0133: // ONE PLUS -; toolsrc/plforth.pla: 0134: char d_inc = "1+", inline_flag; word = @d_add, 0, 0, $8C -_D196 ; d_inc = "1+", inline_flag; word = @d_add, 0, 0, $8C - !BYTE $02 - !BYTE $31,$2B - !BYTE $01 -_F015 !WORD _D195 - !WORD $0000 - !WORD $0000 - !WORD $008C -; toolsrc/plforth.pla: 0135: // TWO PLUS -; toolsrc/plforth.pla: 0136: char d_inc2 = "2+", inlinew_flag; word = @d_inc, 0, 0, $8C8C -_D197 ; d_inc2 = "2+", inlinew_flag; word = @d_inc, 0, 0, $8C8C - !BYTE $02 - !BYTE $32,$2B - !BYTE $02 -_F016 !WORD _D196 - !WORD $0000 - !WORD $0000 - !WORD $8C8C -; toolsrc/plforth.pla: 0137: // ONE MINUS -; toolsrc/plforth.pla: 0138: char d_dec = "1-", inline_flag; word = @d_inc2, 0, 0, $8E -_D198 ; d_dec = "1-", inline_flag; word = @d_inc2, 0, 0, $8E - !BYTE $02 - !BYTE $31,$2D - !BYTE $01 -_F017 !WORD _D197 - !WORD $0000 - !WORD $0000 - !WORD $008E -; toolsrc/plforth.pla: 0139: // TWO MINUS -; toolsrc/plforth.pla: 0140: char d_dec2 = "2-", inlinew_flag; word = @d_dec, 0, 0, $8E8E -_D199 ; d_dec2 = "2-", inlinew_flag; word = @d_dec, 0, 0, $8E8E - !BYTE $02 - !BYTE $32,$2D - !BYTE $02 -_F018 !WORD _D198 - !WORD $0000 - !WORD $0000 - !WORD $8E8E -; toolsrc/plforth.pla: 0141: // SUB -; toolsrc/plforth.pla: 0142: char d_sub = "-", inline_flag; word = @d_dec2, 0, 0, $84 -_D200 ; d_sub = "-", inline_flag; word = @d_dec2, 0, 0, $84 - !BYTE $01 - !BYTE $2D - !BYTE $01 -_F019 !WORD _D199 - !WORD $0000 - !WORD $0000 - !WORD $0084 -; toolsrc/plforth.pla: 0143: // MUL -; toolsrc/plforth.pla: 0144: char d_mul = "*", inline_flag; word = @d_sub, 0, 0, $86 -_D201 ; d_mul = "*", inline_flag; word = @d_sub, 0, 0, $86 - !BYTE $01 - !BYTE $2A - !BYTE $01 -_F020 !WORD _D200 - !WORD $0000 - !WORD $0000 - !WORD $0086 -; toolsrc/plforth.pla: 0145: // DIV -; toolsrc/plforth.pla: 0146: char d_div = "/", inline_flag; word = @d_mul, 0, 0, $88 -_D202 ; d_div = "/", inline_flag; word = @d_mul, 0, 0, $88 - !BYTE $01 - !BYTE $2F - !BYTE $01 -_F021 !WORD _D201 - !WORD $0000 - !WORD $0000 - !WORD $0088 -; toolsrc/plforth.pla: 0147: // DIVMOD -; toolsrc/plforth.pla: 0148: char d_divmod = "/MOD", inline_flag; word = @d_div, 0, 0, $36 -_D203 ; d_divmod = "/MOD", inline_flag; word = @d_div, 0, 0, $36 - !BYTE $04 - !BYTE $2F,$4D,$4F,$44 - !BYTE $01 -_F022 !WORD _D202 - !WORD $0000 - !WORD $0000 - !WORD $0036 -; toolsrc/plforth.pla: 0149: // MOD -; toolsrc/plforth.pla: 0150: char d_mod = "MOD", inline_flag; word = @d_divmod, 0, 0, $8A -_D204 ; d_mod = "MOD", inline_flag; word = @d_divmod, 0, 0, $8A - !BYTE $03 - !BYTE $4D,$4F,$44 - !BYTE $01 -_F023 !WORD _D203 - !WORD $0000 - !WORD $0000 - !WORD $008A -; toolsrc/plforth.pla: 0151: // NEG -; toolsrc/plforth.pla: 0152: char d_neg = "NEGATE", inline_flag; word = @d_mod, 0, 0, $90 -_D205 ; d_neg = "NEGATE", inline_flag; word = @d_mod, 0, 0, $90 - !BYTE $06 - !BYTE $4E,$45,$47,$41,$54,$45 - !BYTE $01 -_F024 !WORD _D204 - !WORD $0000 - !WORD $0000 - !WORD $0090 -; toolsrc/plforth.pla: 0153: // AND -; toolsrc/plforth.pla: 0154: char d_and = "AND", inline_flag; word = @d_neg, 0, 0, $94 -_D206 ; d_and = "AND", inline_flag; word = @d_neg, 0, 0, $94 - !BYTE $03 - !BYTE $41,$4E,$44 - !BYTE $01 -_F025 !WORD _D205 - !WORD $0000 - !WORD $0000 - !WORD $0094 -; toolsrc/plforth.pla: 0155: // OR -; toolsrc/plforth.pla: 0156: char d_or = "OR", inline_flag; word = @d_and, 0, 0, $96 -_D207 ; d_or = "OR", inline_flag; word = @d_and, 0, 0, $96 - !BYTE $02 - !BYTE $4F,$52 - !BYTE $01 -_F026 !WORD _D206 - !WORD $0000 - !WORD $0000 - !WORD $0096 -; toolsrc/plforth.pla: 0157: // XOR -; toolsrc/plforth.pla: 0158: char d_xor = "XOR", inline_flag; word = @d_or, 0, 0, $98 -_D208 ; d_xor = "XOR", inline_flag; word = @d_or, 0, 0, $98 - !BYTE $03 - !BYTE $58,$4F,$52 - !BYTE $01 -_F027 !WORD _D207 - !WORD $0000 - !WORD $0000 - !WORD $0098 -; toolsrc/plforth.pla: 0159: // COMPLEMENT -; toolsrc/plforth.pla: 0160: char d_complement = "COMPLEMENT", inline_flag; word = @d_xor, 0, 0, $92 -_D209 ; d_complement = "COMPLEMENT", inline_flag; word = @d_xor, 0, 0, $92 - !BYTE $0A - !BYTE $43,$4F,$4D,$50,$4C,$45,$4D,$45 - !BYTE $4E,$54 - !BYTE $01 -_F028 !WORD _D208 - !WORD $0000 - !WORD $0000 - !WORD $0092 -; toolsrc/plforth.pla: 0161: // NOT -; toolsrc/plforth.pla: 0162: char d_not = "NOT", inline_flag; word = @d_complement, 0, 0, $80 -_D210 ; d_not = "NOT", inline_flag; word = @d_complement, 0, 0, $80 - !BYTE $03 - !BYTE $4E,$4F,$54 - !BYTE $01 -_F029 !WORD _D209 - !WORD $0000 - !WORD $0000 - !WORD $0080 -; toolsrc/plforth.pla: 0163: // LEFT SHIFT -; toolsrc/plforth.pla: 0164: char d_lshift = "LSHIFT", inline_flag; word = @d_not, 0, 0, $9A -_D211 ; d_lshift = "LSHIFT", inline_flag; word = @d_not, 0, 0, $9A - !BYTE $06 - !BYTE $4C,$53,$48,$49,$46,$54 - !BYTE $01 -_F030 !WORD _D210 - !WORD $0000 - !WORD $0000 - !WORD $009A -; toolsrc/plforth.pla: 0165: // RIGHT SHIFT -; toolsrc/plforth.pla: 0166: char d_rshift = "RSHIFT", inline_flag; word = @d_lshift, 0, 0, $9C -_D212 ; d_rshift = "RSHIFT", inline_flag; word = @d_lshift, 0, 0, $9C - !BYTE $06 - !BYTE $52,$53,$48,$49,$46,$54 - !BYTE $01 -_F031 !WORD _D211 - !WORD $0000 - !WORD $0000 - !WORD $009C -; toolsrc/plforth.pla: 0167: // EQUALS -; toolsrc/plforth.pla: 0168: char d_eq = "=", inline_flag; word = @d_rshift, 0, 0, $40 -_D213 ; d_eq = "=", inline_flag; word = @d_rshift, 0, 0, $40 - !BYTE $01 - !BYTE $3D - !BYTE $01 -_F032 !WORD _D212 - !WORD $0000 - !WORD $0000 - !WORD $0040 -; toolsrc/plforth.pla: 0169: // NOT EQUALS -; toolsrc/plforth.pla: 0170: char d_ne = "<>", inline_flag; word = @d_eq, 0, 0, $42 -_D214 ; d_ne = "<>", inline_flag; word = @d_eq, 0, 0, $42 - !BYTE $02 - !BYTE $3C,$3E - !BYTE $01 -_F033 !WORD _D213 - !WORD $0000 - !WORD $0000 - !WORD $0042 -; toolsrc/plforth.pla: 0171: // GREATER THAN -; toolsrc/plforth.pla: 0172: char d_gt = ">", inline_flag; word = @d_ne, 0, 0, $44 -_D215 ; d_gt = ">", inline_flag; word = @d_ne, 0, 0, $44 - !BYTE $01 - !BYTE $3E - !BYTE $01 -_F034 !WORD _D214 - !WORD $0000 - !WORD $0000 - !WORD $0044 -; toolsrc/plforth.pla: 0173: // LESS THAN -; toolsrc/plforth.pla: 0174: char d_lt = "<", inline_flag; word = @d_gt, 0, 0, $46 -_D216 ; d_lt = "<", inline_flag; word = @d_gt, 0, 0, $46 - !BYTE $01 - !BYTE $3C - !BYTE $01 -_F035 !WORD _D215 - !WORD $0000 - !WORD $0000 - !WORD $0046 -; toolsrc/plforth.pla: 0175: // UNSIGNED GREATER THAN -; toolsrc/plforth.pla: 0176: char d_ugt = "U>", 0; word = @d_lt, 0, @isugt -_D217 ; d_ugt = "U>", 0; word = @d_lt, 0, @isugt - !BYTE $02 - !BYTE $55,$3E - !BYTE $00 -_F036 !WORD _D216 - !WORD $0000 -_F037 !WORD 0 ; _X024 -; toolsrc/plforth.pla: 0177: // UNSIGNED LESS THAN -; toolsrc/plforth.pla: 0178: char d_ult = "U<", 0; word = @d_ugt, 0, @isult -_D218 ; d_ult = "U<", 0; word = @d_ugt, 0, @isult - !BYTE $02 - !BYTE $55,$3C - !BYTE $00 -_F038 !WORD _D217 - !WORD $0000 -_F039 !WORD 0 ; _X026 -; toolsrc/plforth.pla: 0179: // LESS THAN ZERO -; toolsrc/plforth.pla: 0180: char d_0lt = "0<", inlinew_flag; word = @d_ult, 0, 0, $4600 // ZERO ISLT -_D219 ; d_0lt = "0<", inlinew_flag; word = @d_ult, 0, 0, $4600 // ZERO ISLT - !BYTE $02 - !BYTE $30,$3C - !BYTE $02 -_F040 !WORD _D218 - !WORD $0000 - !WORD $0000 - !WORD $4600 -; toolsrc/plforth.pla: 0181: // GREATER THAN ZERO -; toolsrc/plforth.pla: 0182: char d_0gt = "0>", inlinew_flag; word = @d_0lt, 0, 0, $4400 // ZERO ISGT -_D220 ; d_0gt = "0>", inlinew_flag; word = @d_0lt, 0, 0, $4400 // ZERO ISGT - !BYTE $02 - !BYTE $30,$3E - !BYTE $02 -_F041 !WORD _D219 - !WORD $0000 - !WORD $0000 - !WORD $4400 -; toolsrc/plforth.pla: 0183: // EQUALS ZERO -; toolsrc/plforth.pla: 0184: char d_0eq = "0=", inlinew_flag; word = @d_0gt, 0, 0, $4000 // ZERO ISEQ -_D221 ; d_0eq = "0=", inlinew_flag; word = @d_0gt, 0, 0, $4000 // ZERO ISEQ - !BYTE $02 - !BYTE $30,$3D - !BYTE $02 -_F042 !WORD _D220 - !WORD $0000 - !WORD $0000 - !WORD $4000 -; toolsrc/plforth.pla: 0185: // NOT EQUAL ZERO -; toolsrc/plforth.pla: 0186: char d_0ne = "0<>", inlinew_flag; word = @d_0eq, 0, 0, $4200 // ZERO ISNE -_D222 ; d_0ne = "0<>", inlinew_flag; word = @d_0eq, 0, 0, $4200 // ZERO ISNE - !BYTE $03 - !BYTE $30,$3C,$3E - !BYTE $02 -_F043 !WORD _D221 - !WORD $0000 - !WORD $0000 - !WORD $4200 -; toolsrc/plforth.pla: 0187: // ABS -; toolsrc/plforth.pla: 0188: char d_abs = "ABS", 0; word = @d_0ne, 0, @_abs_ -_D223 ; d_abs = "ABS", 0; word = @d_0ne, 0, @_abs_ - !BYTE $03 - !BYTE $41,$42,$53 - !BYTE $00 -_F044 !WORD _D222 - !WORD $0000 -_F045 !WORD _P005 -; toolsrc/plforth.pla: 0189: // MIN -; toolsrc/plforth.pla: 0190: char d_min = "MIN", 0; word = @d_abs, 0, @_min_ -_D224 ; d_min = "MIN", 0; word = @d_abs, 0, @_min_ - !BYTE $03 - !BYTE $4D,$49,$4E - !BYTE $00 -_F046 !WORD _D223 - !WORD $0000 -_F047 !WORD _P007 -; toolsrc/plforth.pla: 0191: // MAX -; toolsrc/plforth.pla: 0192: char d_max = "MAX", 0; word = @d_min, 0, @_max_ -_D225 ; d_max = "MAX", 0; word = @d_min, 0, @_max_ - !BYTE $03 - !BYTE $4D,$41,$58 - !BYTE $00 -_F048 !WORD _D224 - !WORD $0000 -_F049 !WORD _P006 -; toolsrc/plforth.pla: 0193: // CHAR PUT -; toolsrc/plforth.pla: 0194: char d_cset = "C!", inline_flag | showcr_flag; word = @d_max, 0, 0, $70 -_D226 ; d_cset = "C!", inline_flag | showcr_flag; word = @d_max, 0, 0, $70 - !BYTE $02 - !BYTE $43,$21 - !BYTE $09 -_F050 !WORD _D225 - !WORD $0000 - !WORD $0000 - !WORD $0070 -; toolsrc/plforth.pla: 0195: // WORD PUT -; toolsrc/plforth.pla: 0196: char d_wset = "!", inline_flag | showcr_flag; word = @d_cset, 0, 0, $72 -_D227 ; d_wset = "!", inline_flag | showcr_flag; word = @d_cset, 0, 0, $72 - !BYTE $01 - !BYTE $21 - !BYTE $09 -_F051 !WORD _D226 - !WORD $0000 - !WORD $0000 - !WORD $0072 -; toolsrc/plforth.pla: 0197: // WORD PLUS PUT -; toolsrc/plforth.pla: 0198: char d_wplusset = "+!", showcr_flag; word = @d_wset, 0, @_wplusset_ -_D228 ; d_wplusset = "+!", showcr_flag; word = @d_wset, 0, @_wplusset_ - !BYTE $02 - !BYTE $2B,$21 - !BYTE $08 -_F052 !WORD _D227 - !WORD $0000 -_F053 !WORD _P008 -; toolsrc/plforth.pla: 0199: // CHAR GET -; toolsrc/plforth.pla: 0200: char d_cget = "C@", inline_flag; word = @d_wplusset, 0, 0, $60 -_D229 ; d_cget = "C@", inline_flag; word = @d_wplusset, 0, 0, $60 - !BYTE $02 - !BYTE $43,$40 - !BYTE $01 -_F054 !WORD _D228 - !WORD $0000 - !WORD $0000 - !WORD $0060 -; toolsrc/plforth.pla: 0201: // WORD GET -; toolsrc/plforth.pla: 0202: char d_wget = "@", inline_flag; word = @d_cget, 0, 0, $62 -_D230 ; d_wget = "@", inline_flag; word = @d_cget, 0, 0, $62 - !BYTE $01 - !BYTE $40 - !BYTE $01 -_F055 !WORD _D229 - !WORD $0000 - !WORD $0000 - !WORD $0062 -; toolsrc/plforth.pla: 0203: // EXECUTE -; toolsrc/plforth.pla: 0204: char d_execute = "EXECUTE", showcr_flag; word = @d_wget, 0, @_execword_ -_D231 ; d_execute = "EXECUTE", showcr_flag; word = @d_wget, 0, @_execword_ - !BYTE $07 - !BYTE $45,$58,$45,$43,$55,$54,$45 - !BYTE $08 -_F056 !WORD _D230 - !WORD $0000 -_F057 !WORD _P122 -; toolsrc/plforth.pla: 0205: // TO RSTACK -; toolsrc/plforth.pla: 0206: char d_torstk = ">R", showcr_flag; word = @d_execute, 0, @_tors_ -_D232 ; d_torstk = ">R", showcr_flag; word = @d_execute, 0, @_tors_ - !BYTE $02 - !BYTE $3E,$52 - !BYTE $08 -_F058 !WORD _D231 - !WORD $0000 -_F059 !WORD _P058 -; toolsrc/plforth.pla: 0207: // FROM RSTACK -; toolsrc/plforth.pla: 0208: char d_fromrstk = "R>", 0; word = @d_torstk, 0, @_fromrs_ -_D233 ; d_fromrstk = "R>", 0; word = @d_torstk, 0, @_fromrs_ - !BYTE $02 - !BYTE $52,$3E - !BYTE $00 -_F060 !WORD _D232 - !WORD $0000 -_F061 !WORD _P059 -; toolsrc/plforth.pla: 0209: // TOP OF RSTACK -; toolsrc/plforth.pla: 0210: char d_toprstk = "R@", 0; word = @d_fromrstk, 0, @_toprs_ -_D234 ; d_toprstk = "R@", 0; word = @d_fromrstk, 0, @_toprs_ - !BYTE $02 - !BYTE $52,$40 - !BYTE $00 -_F062 !WORD _D233 - !WORD $0000 -_F063 !WORD _P060 -; toolsrc/plforth.pla: 0211: // PLASMA SYMBOL LOOKUP -; toolsrc/plforth.pla: 0212: char d_lookup = "LOOKUP", 0; word = @d_toprstk, 0, @_lookup_ -_D235 ; d_lookup = "LOOKUP", 0; word = @d_toprstk, 0, @_lookup_ - !BYTE $06 - !BYTE $4C,$4F,$4F,$4B,$55,$50 - !BYTE $00 -_F064 !WORD _D234 - !WORD $0000 -_F065 !WORD _P061 -; toolsrc/plforth.pla: 0213: // PLASMA LINKEAGE -; toolsrc/plforth.pla: 0214: char d_plasma = "PLASMA", interponly_flag; word = @d_lookup, 0, @_plasma_ -_D236 ; d_plasma = "PLASMA", interponly_flag; word = @d_lookup, 0, @_plasma_ - !BYTE $06 - !BYTE $50,$4C,$41,$53,$4D,$41 - !BYTE $80 -_F066 !WORD _D235 - !WORD $0000 -_F067 !WORD _P067 -; toolsrc/plforth.pla: 0215: // VARIABLE -; toolsrc/plforth.pla: 0216: char d_var = "VARIABLE", interponly_flag; word = @d_plasma, 0, @_var_ -_D237 ; d_var = "VARIABLE", interponly_flag; word = @d_plasma, 0, @_var_ - !BYTE $08 - !BYTE $56,$41,$52,$49,$41,$42,$4C,$45 - !BYTE $80 -_F068 !WORD _D236 - !WORD $0000 -_F069 !WORD _P069 -; toolsrc/plforth.pla: 0217: // CONSTANT -; toolsrc/plforth.pla: 0218: char d_const = "CONSTANT", interponly_flag; word = @d_var, 0, @_const_ -_D238 ; d_const = "CONSTANT", interponly_flag; word = @d_var, 0, @_const_ - !BYTE $08 - !BYTE $43,$4F,$4E,$53,$54,$41,$4E,$54 - !BYTE $80 -_F070 !WORD _D237 - !WORD $0000 -_F071 !WORD _P070 -; toolsrc/plforth.pla: 0219: // CMOVE -; toolsrc/plforth.pla: 0220: char d_cmove = "CMOVE", showcr_flag; word = @d_const, 0, @_cmove_ -_D239 ; d_cmove = "CMOVE", showcr_flag; word = @d_const, 0, @_cmove_ - !BYTE $05 - !BYTE $43,$4D,$4F,$56,$45 - !BYTE $08 -_F072 !WORD _D238 - !WORD $0000 -_F073 !WORD _P064 -; toolsrc/plforth.pla: 0221: // MOVE -; toolsrc/plforth.pla: 0222: char d_move = "MOVE", showcr_flag; word = @d_cmove, 0, @_move_ -_D240 ; d_move = "MOVE", showcr_flag; word = @d_cmove, 0, @_move_ - !BYTE $04 - !BYTE $4D,$4F,$56,$45 - !BYTE $08 -_F074 !WORD _D239 - !WORD $0000 -_F075 !WORD _P065 -; toolsrc/plforth.pla: 0223: // FILL -; toolsrc/plforth.pla: 0224: char d_fill = "FILL", showcr_flag; word = @d_cmove, 0, @_fill_ -_D241 ; d_fill = "FILL", showcr_flag; word = @d_cmove, 0, @_fill_ - !BYTE $04 - !BYTE $46,$49,$4C,$4C - !BYTE $08 -_F076 !WORD _D239 - !WORD $0000 -_F077 !WORD _P066 -; toolsrc/plforth.pla: 0225: // LATEST -; toolsrc/plforth.pla: 0226: char d_latest = "LATEST", 0; word = @d_fill, 0, @_latest_ -_D242 ; d_latest = "LATEST", 0; word = @d_fill, 0, @_latest_ - !BYTE $06 - !BYTE $4C,$41,$54,$45,$53,$54 - !BYTE $00 -_F078 !WORD _D241 - !WORD $0000 -_F079 !WORD _P062 -; toolsrc/plforth.pla: 0227: // HERE -; toolsrc/plforth.pla: 0228: char d_here = "HERE", 0; word = @d_latest, 0, @heapmark -_D243 ; d_here = "HERE", 0; word = @d_latest, 0, @heapmark - !BYTE $04 - !BYTE $48,$45,$52,$45 - !BYTE $00 -_F080 !WORD _D242 - !WORD $0000 -_F081 !WORD 0 ; _X012 -; toolsrc/plforth.pla: 0229: // PAD -; toolsrc/plforth.pla: 0230: char d_pad = "PAD", 0; word = @d_here, 0, @_pad_ -_D244 ; d_pad = "PAD", 0; word = @d_here, 0, @_pad_ - !BYTE $03 - !BYTE $50,$41,$44 - !BYTE $00 -_F082 !WORD _D243 - !WORD $0000 -_F083 !WORD _P056 -; toolsrc/plforth.pla: 0231: // ALLOT -; toolsrc/plforth.pla: 0232: char d_allot = "ALLOT", showcr_flag; word = @d_pad, 0, @_allot_ -_D245 ; d_allot = "ALLOT", showcr_flag; word = @d_pad, 0, @_allot_ - !BYTE $05 - !BYTE $41,$4C,$4C,$4F,$54 - !BYTE $08 -_F084 !WORD _D244 - !WORD $0000 -_F085 !WORD _P014 -; toolsrc/plforth.pla: 0233: // BRANCH ( not in vocabulary ) -; toolsrc/plforth.pla: 0234: char d_branch = "(BRANCH)", param_flag | inline_flag | showcr_flag; word = 0, 0, @_branch_, $C4 -_D246 ; d_branch = "(BRANCH)", param_flag | inline_flag | showcr_flag; word = 0, 0, @_branch_, $C4 - !BYTE $08 - !BYTE $28,$42,$52,$41,$4E,$43,$48,$29 - !BYTE $0D - !WORD $0000 - !WORD $0000 -_F086 !WORD _P015 - !WORD $00C4 -; toolsrc/plforth.pla: 0235: // BRANCH IF 0 ( not in vocabulary ) -; toolsrc/plforth.pla: 0236: char d_0branch = "(0BRANCH)", param_flag | inline_flag | showcr_flag; word = 0, 0, @_0branch_, $C2 -_D247 ; d_0branch = "(0BRANCH)", param_flag | inline_flag | showcr_flag; word = 0, 0, @_0branch_, $C2 - !BYTE $09 - !BYTE $28,$30,$42,$52,$41,$4E,$43,$48 - !BYTE $29 - !BYTE $0D - !WORD $0000 - !WORD $0000 -_F087 !WORD _P016 - !WORD $00C2 -; toolsrc/plforth.pla: 0237: // RECURSE -; toolsrc/plforth.pla: 0238: char d_recurse = "RECURSE", imm_flag | componly_flag; word = @d_allot, 0, @_recurse_ -_D248 ; d_recurse = "RECURSE", imm_flag | componly_flag; word = @d_allot, 0, @_recurse_ - !BYTE $07 - !BYTE $52,$45,$43,$55,$52,$53,$45 - !BYTE $60 -_F088 !WORD _D245 - !WORD $0000 -_F089 !WORD _P063 -; toolsrc/plforth.pla: 0239: // IF -; toolsrc/plforth.pla: 0240: char d_if = "IF", imm_flag | componly_flag; word = @d_recurse, 0, @_if_ -_D249 ; d_if = "IF", imm_flag | componly_flag; word = @d_recurse, 0, @_if_ - !BYTE $02 - !BYTE $49,$46 - !BYTE $60 -_F090 !WORD _D248 - !WORD $0000 -_F091 !WORD _P017 -; toolsrc/plforth.pla: 0241: // ELSE -; toolsrc/plforth.pla: 0242: char d_else = "ELSE", imm_flag | componly_flag; word = @d_if, 0, @_else_ -_D250 ; d_else = "ELSE", imm_flag | componly_flag; word = @d_if, 0, @_else_ - !BYTE $04 - !BYTE $45,$4C,$53,$45 - !BYTE $60 -_F092 !WORD _D249 - !WORD $0000 -_F093 !WORD _P018 -; toolsrc/plforth.pla: 0243: // THEN -; toolsrc/plforth.pla: 0244: char d_then = "THEN", imm_flag | componly_flag; word = @d_else, 0, @_then_ -_D251 ; d_then = "THEN", imm_flag | componly_flag; word = @d_else, 0, @_then_ - !BYTE $04 - !BYTE $54,$48,$45,$4E - !BYTE $60 -_F094 !WORD _D250 - !WORD $0000 -_F095 !WORD _P019 -; toolsrc/plforth.pla: 0245: // CASE -; toolsrc/plforth.pla: 0246: char d_case = "CASE", imm_flag | componly_flag; word = @d_then, 0, @_case_ -_D252 ; d_case = "CASE", imm_flag | componly_flag; word = @d_then, 0, @_case_ - !BYTE $04 - !BYTE $43,$41,$53,$45 - !BYTE $60 -_F096 !WORD _D251 - !WORD $0000 -_F097 !WORD _P025 -; toolsrc/plforth.pla: 0247: // OF -; toolsrc/plforth.pla: 0248: char d_of = "OF", imm_flag | componly_flag; word = @d_case, 0, @_of_ -_D253 ; d_of = "OF", imm_flag | componly_flag; word = @d_case, 0, @_of_ - !BYTE $02 - !BYTE $4F,$46 - !BYTE $60 -_F098 !WORD _D252 - !WORD $0000 -_F099 !WORD _P026 -; toolsrc/plforth.pla: 0249: // ENDOF -; toolsrc/plforth.pla: 0250: char d_endof = "ENDOF", imm_flag | componly_flag; word = @d_of, 0, @_endof_ -_D254 ; d_endof = "ENDOF", imm_flag | componly_flag; word = @d_of, 0, @_endof_ - !BYTE $05 - !BYTE $45,$4E,$44,$4F,$46 - !BYTE $60 -_F100 !WORD _D253 - !WORD $0000 -_F101 !WORD _P027 -; toolsrc/plforth.pla: 0251: // ENDCASE -; toolsrc/plforth.pla: 0252: char d_endcase = "ENDCASE", imm_flag | componly_flag; word = @d_endof, 0, @_endcase_ -_D255 ; d_endcase = "ENDCASE", imm_flag | componly_flag; word = @d_endof, 0, @_endcase_ - !BYTE $07 - !BYTE $45,$4E,$44,$43,$41,$53,$45 - !BYTE $60 -_F102 !WORD _D254 - !WORD $0000 -_F103 !WORD _P028 -; toolsrc/plforth.pla: 0253: // COMPILED DO ( not in vocabulary ) -; toolsrc/plforth.pla: 0254: char d_dodo = "(DO)", showcr_flag; word = 0, 0, @_dodo_ -_D256 ; d_dodo = "(DO)", showcr_flag; word = 0, 0, @_dodo_ - !BYTE $04 - !BYTE $28,$44,$4F,$29 - !BYTE $08 - !WORD $0000 - !WORD $0000 -_F104 !WORD _P029 -; toolsrc/plforth.pla: 0255: // DO -; toolsrc/plforth.pla: 0256: char d_do = "DO", imm_flag | componly_flag; word = @d_endcase, 0, @_do_ -_D257 ; d_do = "DO", imm_flag | componly_flag; word = @d_endcase, 0, @_do_ - !BYTE $02 - !BYTE $44,$4F - !BYTE $60 -_F105 !WORD _D255 - !WORD $0000 -_F106 !WORD _P030 -; toolsrc/plforth.pla: 0257: // LEAVE -; toolsrc/plforth.pla: 0258: char d_leave = "LEAVE", componly_flag | showcr_flag; word = @d_do, 0, @_leave_ -_D258 ; d_leave = "LEAVE", componly_flag | showcr_flag; word = @d_do, 0, @_leave_ - !BYTE $05 - !BYTE $4C,$45,$41,$56,$45 - !BYTE $48 -_F107 !WORD _D257 - !WORD $0000 -_F108 !WORD _P036 -; toolsrc/plforth.pla: 0259: // UNLOOP -; toolsrc/plforth.pla: 0260: char d_unloop = "UNLOOP", componly_flag; word = @d_leave, 0, @_unloop_ -_D259 ; d_unloop = "UNLOOP", componly_flag; word = @d_leave, 0, @_unloop_ - !BYTE $06 - !BYTE $55,$4E,$4C,$4F,$4F,$50 - !BYTE $40 -_F109 !WORD _D258 - !WORD $0000 -_F110 !WORD _P035 -; toolsrc/plforth.pla: 0261: // COMPILED LOOP ( not in vocabulary ) -; toolsrc/plforth.pla: 0262: char d_doloop = "(DOLOOP)", param_flag | showcr_flag; word = 0, 0, @_doloop_ -_D260 ; d_doloop = "(DOLOOP)", param_flag | showcr_flag; word = 0, 0, @_doloop_ - !BYTE $08 - !BYTE $28,$44,$4F,$4C,$4F,$4F,$50,$29 - !BYTE $0C - !WORD $0000 - !WORD $0000 -_F111 !WORD _P031 -; toolsrc/plforth.pla: 0263: // LOOP -; toolsrc/plforth.pla: 0264: char d_loop = "LOOP", imm_flag | componly_flag; word = @d_unloop, 0, @_loop_ -_D261 ; d_loop = "LOOP", imm_flag | componly_flag; word = @d_unloop, 0, @_loop_ - !BYTE $04 - !BYTE $4C,$4F,$4F,$50 - !BYTE $60 -_F112 !WORD _D259 - !WORD $0000 -_F113 !WORD _P034 -; toolsrc/plforth.pla: 0265: // COMPILED LOOP+ ( not in vocabulary ) -; toolsrc/plforth.pla: 0266: char d_doplusloop = "(+DOLOOP)", param_flag | showcr_flag; word = 0, 0, @_doplusloop_ -_D262 ; d_doplusloop = "(+DOLOOP)", param_flag | showcr_flag; word = 0, 0, @_doplusloop_ - !BYTE $09 - !BYTE $28,$2B,$44,$4F,$4C,$4F,$4F,$50 - !BYTE $29 - !BYTE $0C - !WORD $0000 - !WORD $0000 -_F114 !WORD _P032 -; toolsrc/plforth.pla: 0267: // LOOP -; toolsrc/plforth.pla: 0268: char d_plusloop = "+LOOP", imm_flag | componly_flag; word = @d_loop, 0, @_plusloop_ -_D263 ; d_plusloop = "+LOOP", imm_flag | componly_flag; word = @d_loop, 0, @_plusloop_ - !BYTE $05 - !BYTE $2B,$4C,$4F,$4F,$50 - !BYTE $60 -_F115 !WORD _D261 - !WORD $0000 -_F116 !WORD _P033 -; toolsrc/plforth.pla: 0269: // I -; toolsrc/plforth.pla: 0270: char d_i = "I", componly_flag; word = @d_plusloop, 0, @_toprs_ -_D264 ; d_i = "I", componly_flag; word = @d_plusloop, 0, @_toprs_ - !BYTE $01 - !BYTE $49 - !BYTE $40 -_F117 !WORD _D263 - !WORD $0000 -_F118 !WORD _P060 -; toolsrc/plforth.pla: 0271: // J -; toolsrc/plforth.pla: 0272: char d_j = "J", componly_flag; word = @d_i, 0, @_j_ -_D265 ; d_j = "J", componly_flag; word = @d_i, 0, @_j_ - !BYTE $01 - !BYTE $4A - !BYTE $40 -_F119 !WORD _D264 - !WORD $0000 -_F120 !WORD _P037 -; toolsrc/plforth.pla: 0273: // BEGIN -; toolsrc/plforth.pla: 0274: char d_begin = "BEGIN", imm_flag | componly_flag; word = @d_j, 0, @_begin_ -_D266 ; d_begin = "BEGIN", imm_flag | componly_flag; word = @d_j, 0, @_begin_ - !BYTE $05 - !BYTE $42,$45,$47,$49,$4E - !BYTE $60 -_F121 !WORD _D265 - !WORD $0000 -_F122 !WORD _P020 -; toolsrc/plforth.pla: 0275: // AGAIN -; toolsrc/plforth.pla: 0276: char d_again = "AGAIN", imm_flag | componly_flag; word = @d_begin, 0, @_again_ -_D267 ; d_again = "AGAIN", imm_flag | componly_flag; word = @d_begin, 0, @_again_ - !BYTE $05 - !BYTE $41,$47,$41,$49,$4E - !BYTE $60 -_F123 !WORD _D266 - !WORD $0000 -_F124 !WORD _P021 -; toolsrc/plforth.pla: 0277: // UNTIL -; toolsrc/plforth.pla: 0278: char d_until = "UNTIL", imm_flag | componly_flag; word = @d_again, 0, @_until_ -_D268 ; d_until = "UNTIL", imm_flag | componly_flag; word = @d_again, 0, @_until_ - !BYTE $05 - !BYTE $55,$4E,$54,$49,$4C - !BYTE $60 -_F125 !WORD _D267 - !WORD $0000 -_F126 !WORD _P022 -; toolsrc/plforth.pla: 0279: // WHILE -; toolsrc/plforth.pla: 0280: char d_while = "WHILE", imm_flag | componly_flag; word = @d_until, 0, @_while_ -_D269 ; d_while = "WHILE", imm_flag | componly_flag; word = @d_until, 0, @_while_ - !BYTE $05 - !BYTE $57,$48,$49,$4C,$45 - !BYTE $60 -_F127 !WORD _D268 - !WORD $0000 -_F128 !WORD _P023 -; toolsrc/plforth.pla: 0281: // REPEAT -; toolsrc/plforth.pla: 0282: char d_repeat = "REPEAT", imm_flag | componly_flag; word = @d_while, 0, @_repeat_ -_D270 ; d_repeat = "REPEAT", imm_flag | componly_flag; word = @d_while, 0, @_repeat_ - !BYTE $06 - !BYTE $52,$45,$50,$45,$41,$54 - !BYTE $60 -_F129 !WORD _D269 - !WORD $0000 -_F130 !WORD _P024 -; toolsrc/plforth.pla: 0283: // FORGET -; toolsrc/plforth.pla: 0284: char d_forget = "FORGET", interponly_flag; word = @d_repeat, 0, @_forget_ -_D271 ; d_forget = "FORGET", interponly_flag; word = @d_repeat, 0, @_forget_ - !BYTE $06 - !BYTE $46,$4F,$52,$47,$45,$54 - !BYTE $80 -_F131 !WORD _D270 - !WORD $0000 -_F132 !WORD _P075 -; toolsrc/plforth.pla: 0285: // CREATE -; toolsrc/plforth.pla: 0286: char d_create = "CREATE", showcr_flag; word = @d_forget, 0, @_create_ -_D272 ; d_create = "CREATE", showcr_flag; word = @d_forget, 0, @_create_ - !BYTE $06 - !BYTE $43,$52,$45,$41,$54,$45 - !BYTE $08 -_F133 !WORD _D271 - !WORD $0000 -_F134 !WORD _P041 -; toolsrc/plforth.pla: 0287: // RECREATE/DOES COMPILE TIME ( not in vocabulary ) -; toolsrc/plforth.pla: 0288: char d_createdoes = "(CREATEDOES)", showcr_flag; word = 0, 0, @_itcdoes_ -_D273 ; d_createdoes = "(CREATEDOES)", showcr_flag; word = 0, 0, @_itcdoes_ - !BYTE $0C - !BYTE $28,$43,$52,$45,$41,$54,$45,$44 - !BYTE $4F,$45,$53,$29 - !BYTE $08 - !WORD $0000 - !WORD $0000 -_F135 !WORD _P042 -; toolsrc/plforth.pla: 0289: // DOES -; toolsrc/plforth.pla: 0290: char d_does = "DOES>", imm_flag | componly_flag; word = @d_create, 0, @_does_ -_D274 ; d_does = "DOES>", imm_flag | componly_flag; word = @d_create, 0, @_does_ - !BYTE $05 - !BYTE $44,$4F,$45,$53,$3E - !BYTE $60 -_F136 !WORD _D272 - !WORD $0000 -_F137 !WORD _P043 -; toolsrc/plforth.pla: 0291: // COMMA -; toolsrc/plforth.pla: 0292: char d_comma = ",", showcr_flag; word = @d_does, 0, @_dictaddw_ -_D275 ; d_comma = ",", showcr_flag; word = @d_does, 0, @_dictaddw_ - !BYTE $01 - !BYTE $2C - !BYTE $08 -_F138 !WORD _D274 - !WORD $0000 -_F139 !WORD _P048 -; toolsrc/plforth.pla: 0293: // CHAR COMMA -; toolsrc/plforth.pla: 0294: char d_commab = "C,", showcr_flag; word = @d_comma, 0, @_dictaddb_ -_D276 ; d_commab = "C,", showcr_flag; word = @d_comma, 0, @_dictaddb_ - !BYTE $02 - !BYTE $43,$2C - !BYTE $08 -_F140 !WORD _D275 - !WORD $0000 -_F141 !WORD _P049 -; toolsrc/plforth.pla: 0295: // STATE -; toolsrc/plforth.pla: 0296: char d_state = "STATE", 0; word = @d_commab, 0, @_state_ -_D277 ; d_state = "STATE", 0; word = @d_commab, 0, @_state_ - !BYTE $05 - !BYTE $53,$54,$41,$54,$45 - !BYTE $00 -_F142 !WORD _D276 - !WORD $0000 -_F143 !WORD _P046 -; toolsrc/plforth.pla: 0297: // COLON -; toolsrc/plforth.pla: 0298: char d_colon = ":", interponly_flag; word = @d_state, 0, @_colon_ -_D278 ; d_colon = ":", interponly_flag; word = @d_state, 0, @_colon_ - !BYTE $01 - !BYTE $3A - !BYTE $80 -_F144 !WORD _D277 - !WORD $0000 -_F145 !WORD _P050 -; toolsrc/plforth.pla: 0299: // NONAME -; toolsrc/plforth.pla: 0300: char d_noname = ":NONAME", interponly_flag; word = @d_colon, 0, @_noname_ -_D279 ; d_noname = ":NONAME", interponly_flag; word = @d_colon, 0, @_noname_ - !BYTE $07 - !BYTE $3A,$4E,$4F,$4E,$41,$4D,$45 - !BYTE $80 -_F146 !WORD _D278 - !WORD $0000 -_F147 !WORD _P040 -; toolsrc/plforth.pla: 0301: // DEFER -; toolsrc/plforth.pla: 0302: char d_defer = "DEFER", interponly_flag; word = @d_noname, 0, @_defer_ -_D280 ; d_defer = "DEFER", interponly_flag; word = @d_noname, 0, @_defer_ - !BYTE $05 - !BYTE $44,$45,$46,$45,$52 - !BYTE $80 -_F148 !WORD _D279 - !WORD $0000 -_F149 !WORD _P038 -; toolsrc/plforth.pla: 0303: // IS -; toolsrc/plforth.pla: 0304: char d_is = "IS", interponly_flag; word = @d_defer, 0, @_is_ -_D281 ; d_is = "IS", interponly_flag; word = @d_defer, 0, @_is_ - !BYTE $02 - !BYTE $49,$53 - !BYTE $80 -_F150 !WORD _D280 - !WORD $0000 -_F151 !WORD _P039 -; toolsrc/plforth.pla: 0305: // COMP OFF -; toolsrc/plforth.pla: 0306: char d_compoff = "[", imm_flag | componly_flag; word = @d_is, 0, @_compoff_ -_D282 ; d_compoff = "[", imm_flag | componly_flag; word = @d_is, 0, @_compoff_ - !BYTE $01 - !BYTE $5B - !BYTE $60 -_F152 !WORD _D281 - !WORD $0000 -_F153 !WORD _P044 -; toolsrc/plforth.pla: 0307: // COMP ON -; toolsrc/plforth.pla: 0308: char d_compon = "]", interponly_flag; word = @d_compoff, 0, @_compon_ -_D283 ; d_compon = "]", interponly_flag; word = @d_compoff, 0, @_compon_ - !BYTE $01 - !BYTE $5D - !BYTE $80 -_F154 !WORD _D282 - !WORD $0000 -_F155 !WORD _P045 -; toolsrc/plforth.pla: 0309: // COMPILE WORD ON STACK -; toolsrc/plforth.pla: 0310: char d_compword = "COMPILE,", componly_flag; word = @d_compon, 0, @_compword_ -_D284 ; d_compword = "COMPILE,", componly_flag; word = @d_compon, 0, @_compword_ - !BYTE $08 - !BYTE $43,$4F,$4D,$50,$49,$4C,$45,$2C - !BYTE $40 -_F156 !WORD _D283 - !WORD $0000 -_F157 !WORD _P120 -; toolsrc/plforth.pla: 0311: // POSTPONE (COMPILE) NEXT WORD -; toolsrc/plforth.pla: 0312: char d_postpone = "POSTPONE", imm_flag | componly_flag; word = @d_compword, 0, @_postpone_ -_D285 ; d_postpone = "POSTPONE", imm_flag | componly_flag; word = @d_compword, 0, @_postpone_ - !BYTE $08 - !BYTE $50,$4F,$53,$54,$50,$4F,$4E,$45 - !BYTE $60 -_F158 !WORD _D284 - !WORD $0000 -_F159 !WORD _P047 -; toolsrc/plforth.pla: 0313: // COMPILE ONLY -; toolsrc/plforth.pla: 0314: char d_componly = "COMPONLY", imm_flag; word = @d_postpone, 0, @_componly_ -_D286 ; d_componly = "COMPONLY", imm_flag; word = @d_postpone, 0, @_componly_ - !BYTE $08 - !BYTE $43,$4F,$4D,$50,$4F,$4E,$4C,$59 - !BYTE $20 -_F160 !WORD _D285 - !WORD $0000 -_F161 !WORD _P052 -; toolsrc/plforth.pla: 0315: // INTERPRET ONLY -; toolsrc/plforth.pla: 0316: char d_interponly = "INTERPONLY", imm_flag; word = @d_componly, 0, @_interponly_ -_D287 ; d_interponly = "INTERPONLY", imm_flag; word = @d_componly, 0, @_interponly_ - !BYTE $0A - !BYTE $49,$4E,$54,$45,$52,$50,$4F,$4E - !BYTE $4C,$59 - !BYTE $20 -_F162 !WORD _D286 - !WORD $0000 -_F163 !WORD _P053 -; toolsrc/plforth.pla: 0317: // IMMEDIATE -; toolsrc/plforth.pla: 0318: char d_immediate = "IMMEDIATE", imm_flag; word = @d_interponly, 0, @_immediate_ -_D288 ; d_immediate = "IMMEDIATE", imm_flag; word = @d_interponly, 0, @_immediate_ - !BYTE $09 - !BYTE $49,$4D,$4D,$45,$44,$49,$41,$54 - !BYTE $45 - !BYTE $20 -_F164 !WORD _D287 - !WORD $0000 -_F165 !WORD _P054 -; toolsrc/plforth.pla: 0319: // EXIT -; toolsrc/plforth.pla: 0320: char d_exit = "EXIT", imm_flag | componly_flag; word = @d_immediate, 0, @_exit_ -_D289 ; d_exit = "EXIT", imm_flag | componly_flag; word = @d_immediate, 0, @_exit_ - !BYTE $04 - !BYTE $45,$58,$49,$54 - !BYTE $60 -_F166 !WORD _D288 - !WORD $0000 -_F167 !WORD _P055 -; toolsrc/plforth.pla: 0321: // SEMI -; toolsrc/plforth.pla: 0322: char d_semi = ";", imm_flag | componly_flag; word = @d_exit, 0, @_semi_ -_D290 ; d_semi = ";", imm_flag | componly_flag; word = @d_exit, 0, @_semi_ - !BYTE $01 - !BYTE $3B - !BYTE $60 -_F168 !WORD _D289 - !WORD $0000 -_F169 !WORD _P051 -; toolsrc/plforth.pla: 0323: // COUNT -; toolsrc/plforth.pla: 0324: char d_count = "COUNT", 0; word = @d_semi, 0, @_count_ -_D291 ; d_count = "COUNT", 0; word = @d_semi, 0, @_count_ - !BYTE $05 - !BYTE $43,$4F,$55,$4E,$54 - !BYTE $00 -_F170 !WORD _D290 - !WORD $0000 -_F171 !WORD _P107 -; toolsrc/plforth.pla: 0325: // FIND -; toolsrc/plforth.pla: 0326: char d_find = "FIND", 0; word = @d_count, 0, @_find_ -_D292 ; d_find = "FIND", 0; word = @d_count, 0, @_find_ - !BYTE $04 - !BYTE $46,$49,$4E,$44 - !BYTE $00 -_F172 !WORD _D291 - !WORD $0000 -_F173 !WORD _P073 -; toolsrc/plforth.pla: 0327: // TICK -; toolsrc/plforth.pla: 0328: char d_tick = "'", imm_flag; word = @d_find, 0, @_tick_ -_D293 ; d_tick = "'", imm_flag; word = @d_find, 0, @_tick_ - !BYTE $01 - !BYTE $27 - !BYTE $20 -_F174 !WORD _D292 - !WORD $0000 -_F175 !WORD _P074 -; toolsrc/plforth.pla: 0329: // INLINE LITERAL NUMBER ( not in vocabulary ) -; toolsrc/plforth.pla: 0330: char d_lit = "LIT", param_flag; word = 0, 0, @_lit_ -_D294 ; d_lit = "LIT", param_flag; word = 0, 0, @_lit_ - !BYTE $03 - !BYTE $4C,$49,$54 - !BYTE $04 - !WORD $0000 - !WORD $0000 -_F176 !WORD _P071 -; toolsrc/plforth.pla: 0331: // COMPILED LITERAL VALUE FROM STACK -; toolsrc/plforth.pla: 0332: char d_literal = "LITERAL", imm_flag | componly_flag; word = @d_tick, 0, @_compliteral_ -_D295 ; d_literal = "LITERAL", imm_flag | componly_flag; word = @d_tick, 0, @_compliteral_ - !BYTE $07 - !BYTE $4C,$49,$54,$45,$52,$41,$4C - !BYTE $60 -_F177 !WORD _D293 - !WORD $0000 -_F178 !WORD _P121 -; toolsrc/plforth.pla: 0333: // KEY? -; toolsrc/plforth.pla: 0334: char d_keypressed = "KEY?", 0; word = @d_literal, 0, @_keypressed_ -_D296 ; d_keypressed = "KEY?", 0; word = @d_literal, 0, @_keypressed_ - !BYTE $04 - !BYTE $4B,$45,$59,$3F - !BYTE $00 -_F179 !WORD _D295 - !WORD $0000 -_F180 !WORD _P076 -; toolsrc/plforth.pla: 0335: // KEY -; toolsrc/plforth.pla: 0336: char d_key = "KEY", 0; word = @d_keypressed, 0, @_key_ -_D297 ; d_key = "KEY", 0; word = @d_keypressed, 0, @_key_ - !BYTE $03 - !BYTE $4B,$45,$59 - !BYTE $00 -_F181 !WORD _D296 - !WORD $0000 -_F182 !WORD _P077 -; toolsrc/plforth.pla: 0337: // ACCEPT -; toolsrc/plforth.pla: 0338: char d_accept = "ACCEPT", 0; word = @d_key, 0, @_accept_ -_D298 ; d_accept = "ACCEPT", 0; word = @d_key, 0, @_accept_ - !BYTE $06 - !BYTE $41,$43,$43,$45,$50,$54 - !BYTE $00 -_F183 !WORD _D297 - !WORD $0000 -_F184 !WORD _P089 -; toolsrc/plforth.pla: 0339: // WORD -; toolsrc/plforth.pla: 0340: char d_word = "WORD", 0; word = @d_accept, 0, @_word_ -_D299 ; d_word = "WORD", 0; word = @d_accept, 0, @_word_ - !BYTE $04 - !BYTE $57,$4F,$52,$44 - !BYTE $00 -_F185 !WORD _D298 - !WORD $0000 -_F186 !WORD _P106 -; toolsrc/plforth.pla: 0341: // _isnum_ -; toolsrc/plforth.pla: 0342: char d__isnum_ = "NUM?", 0; word = @d_word, 0, @_isnum_ -_D300 ; d__isnum_ = "NUM?", 0; word = @d_word, 0, @_isnum_ - !BYTE $04 - !BYTE $4E,$55,$4D,$3F - !BYTE $00 -_F187 !WORD _D299 - !WORD $0000 -_F188 !WORD _P123 -; toolsrc/plforth.pla: 0343: // -TRAILING -; toolsrc/plforth.pla: 0344: char d_trailing = "-TRAILING", 0; word = @d__isnum_, 0, @_trailing_ -_D301 ; d_trailing = "-TRAILING", 0; word = @d__isnum_, 0, @_trailing_ - !BYTE $09 - !BYTE $2D,$54,$52,$41,$49,$4C,$49,$4E - !BYTE $47 - !BYTE $00 -_F189 !WORD _D300 - !WORD $0000 -_F190 !WORD _P057 -; toolsrc/plforth.pla: 0345: // COMPARE -; toolsrc/plforth.pla: 0346: char d_compare = "COMPARE", 0; word = @d_trailing, 0, @_compare_ -_D302 ; d_compare = "COMPARE", 0; word = @d_trailing, 0, @_compare_ - !BYTE $07 - !BYTE $43,$4F,$4D,$50,$41,$52,$45 - !BYTE $00 -_F191 !WORD _D301 - !WORD $0000 -_F192 !WORD _P068 -; toolsrc/plforth.pla: 0347: // PRINT @TOS -; toolsrc/plforth.pla: 0348: char d_prat = "?", 0; word = @d_compare, 0, @_prat_ -_D303 ; d_prat = "?", 0; word = @d_compare, 0, @_prat_ - !BYTE $01 - !BYTE $3F - !BYTE $00 -_F193 !WORD _D302 - !WORD $0000 -_F194 !WORD _P078 -; toolsrc/plforth.pla: 0349: // PRINT TOS -; toolsrc/plforth.pla: 0350: char d_prtos = ".", 0; word = @d_prat, 0, @_prval_ -_D304 ; d_prtos = ".", 0; word = @d_prat, 0, @_prval_ - !BYTE $01 - !BYTE $2E - !BYTE $00 -_F195 !WORD _D303 - !WORD $0000 -_F196 !WORD _P084 -; toolsrc/plforth.pla: 0351: // PRINT TOS HEX -; toolsrc/plforth.pla: 0352: char d_prtoshex = "$.", 0; word = @d_prtos, 0, @_prhex_ -_D305 ; d_prtoshex = "$.", 0; word = @d_prtos, 0, @_prhex_ - !BYTE $02 - !BYTE $24,$2E - !BYTE $00 -_F197 !WORD _D304 - !WORD $0000 -_F198 !WORD _P086 -; toolsrc/plforth.pla: 0353: // PRINT TOS HEX BYTE -; toolsrc/plforth.pla: 0354: char d_prtosbyte = "C$.", 0; word = @d_prtoshex, 0, @_prbyte_ -_D306 ; d_prtosbyte = "C$.", 0; word = @d_prtoshex, 0, @_prbyte_ - !BYTE $03 - !BYTE $43,$24,$2E - !BYTE $00 -_F199 !WORD _D305 - !WORD $0000 -_F200 !WORD _P085 -; toolsrc/plforth.pla: 0355: // PRINT TOS BINARY -; toolsrc/plforth.pla: 0356: char d_prtosbinw = "%.", 0; word = @d_prtosbyte, 0, @_prbinw_ -_D307 ; d_prtosbinw = "%.", 0; word = @d_prtosbyte, 0, @_prbinw_ - !BYTE $02 - !BYTE $25,$2E - !BYTE $00 -_F201 !WORD _D306 - !WORD $0000 -_F202 !WORD _P088 -; toolsrc/plforth.pla: 0357: // PRINT TOS BINARY BYTE -; toolsrc/plforth.pla: 0358: char d_prtosbin = "C%.", 0; word = @d_prtosbinw, 0, @_prbin_ -_D308 ; d_prtosbin = "C%.", 0; word = @d_prtosbinw, 0, @_prbin_ - !BYTE $03 - !BYTE $43,$25,$2E - !BYTE $00 -_F203 !WORD _D307 - !WORD $0000 -_F204 !WORD _P087 -; toolsrc/plforth.pla: 0359: // EMIT -; toolsrc/plforth.pla: 0360: char d_emit = "EMIT", 0; word = @d_prtosbin, 0, @putc -_D309 ; d_emit = "EMIT", 0; word = @d_prtosbin, 0, @putc - !BYTE $04 - !BYTE $45,$4D,$49,$54 - !BYTE $00 -_F205 !WORD _D308 - !WORD $0000 -_F206 !WORD 0 ; _X002 -; toolsrc/plforth.pla: 0361: // CR -; toolsrc/plforth.pla: 0362: char d_cr = "CR", showcr_flag; word = @d_emit, 0, @putln -_D310 ; d_cr = "CR", showcr_flag; word = @d_emit, 0, @putln - !BYTE $02 - !BYTE $43,$52 - !BYTE $08 -_F207 !WORD _D309 - !WORD $0000 -_F208 !WORD 0 ; _X003 -; toolsrc/plforth.pla: 0363: // SPACE -; toolsrc/plforth.pla: 0364: char d_space = "SPACE", 0; word = @d_cr, 0, @_space_ -_D311 ; d_space = "SPACE", 0; word = @d_cr, 0, @_space_ - !BYTE $05 - !BYTE $53,$50,$41,$43,$45 - !BYTE $00 -_F209 !WORD _D310 - !WORD $0000 -_F210 !WORD _P108 -; toolsrc/plforth.pla: 0365: // SPACES -; toolsrc/plforth.pla: 0366: char d_spaces = "SPACES", 0; word = @d_space, 0, @_spaces_ -_D312 ; d_spaces = "SPACES", 0; word = @d_space, 0, @_spaces_ - !BYTE $06 - !BYTE $53,$50,$41,$43,$45,$53 - !BYTE $00 -_F211 !WORD _D311 - !WORD $0000 -_F212 !WORD _P109 -; toolsrc/plforth.pla: 0367: // TYPE -; toolsrc/plforth.pla: 0368: char d_type = "TYPE", 0; word = @d_spaces, 0, @_type_ -_D313 ; d_type = "TYPE", 0; word = @d_spaces, 0, @_type_ - !BYTE $04 - !BYTE $54,$59,$50,$45 - !BYTE $00 -_F213 !WORD _D312 - !WORD $0000 -_F214 !WORD _P090 -; toolsrc/plforth.pla: 0369: // BLANK -; toolsrc/plforth.pla: 0370: char d_blank = "BL", imm_flag; word = @d_type, 0, @_blank_ -_D314 ; d_blank = "BL", imm_flag; word = @d_type, 0, @_blank_ - !BYTE $02 - !BYTE $42,$4C - !BYTE $20 -_F215 !WORD _D313 - !WORD $0000 -_F216 !WORD _P079 -; toolsrc/plforth.pla: 0371: // CHAR -; toolsrc/plforth.pla: 0372: char d_char = "CHAR", imm_flag; word = @d_blank, 0, @_char_ -_D315 ; d_char = "CHAR", imm_flag; word = @d_blank, 0, @_char_ - !BYTE $04 - !BYTE $43,$48,$41,$52 - !BYTE $20 -_F217 !WORD _D314 - !WORD $0000 -_F218 !WORD _P080 -; toolsrc/plforth.pla: 0373: // STRING -; toolsrc/plforth.pla: 0374: char d_str = "\"", imm_flag; word = @d_char, 0, @_str_ -_D316 ; d_str = "\"", imm_flag; word = @d_char, 0, @_str_ - !BYTE $01 - !BYTE $22 - !BYTE $20 -_F219 !WORD _D315 - !WORD $0000 -_F220 !WORD _P081 -; toolsrc/plforth.pla: 0375: // LITERAL STRING ( not in vocabulary ) -; toolsrc/plforth.pla: 0376: char d_slit = "SLIT", param_flag | inline_flag; word = 0, 0, @_slit_, $2E -_D317 ; d_slit = "SLIT", param_flag | inline_flag; word = 0, 0, @_slit_, $2E - !BYTE $04 - !BYTE $53,$4C,$49,$54 - !BYTE $05 - !WORD $0000 - !WORD $0000 -_F221 !WORD _P072 - !WORD $002E -; toolsrc/plforth.pla: 0377: // PRINT STRING FROM STACK -; toolsrc/plforth.pla: 0378: char d_doprstr = "(.\")", 0; word = @d_str, 0, @puts -_D318 ; d_doprstr = "(.\")", 0; word = @d_str, 0, @puts - !BYTE $04 - !BYTE $28,$2E,$22,$29 - !BYTE $00 -_F222 !WORD _D316 - !WORD $0000 -_F223 !WORD 0 ; _X004 -; toolsrc/plforth.pla: 0379: // PRINT STRING -; toolsrc/plforth.pla: 0380: char d_prstr = ".\"", imm_flag; word = @d_doprstr, 0, @_prstr_ -_D319 ; d_prstr = ".\"", imm_flag; word = @d_doprstr, 0, @_prstr_ - !BYTE $02 - !BYTE $2E,$22 - !BYTE $20 -_F224 !WORD _D318 - !WORD $0000 -_F225 !WORD _P082 -; toolsrc/plforth.pla: 0381: // PRINT PAREN STRING -; toolsrc/plforth.pla: 0382: char d_prpstr = ".(", imm_flag; word = @d_prstr, 0, @_prpstr_ -_D320 ; d_prpstr = ".(", imm_flag; word = @d_prstr, 0, @_prpstr_ - !BYTE $02 - !BYTE $2E,$28 - !BYTE $20 -_F226 !WORD _D319 - !WORD $0000 -_F227 !WORD _P083 -; toolsrc/plforth.pla: 0383: // READ SOURCE FILE FROM STACK -; toolsrc/plforth.pla: 0384: char d_src = "SRC", showcr_flag; word = @d_prpstr, 0, @_src_ -_D321 ; d_src = "SRC", showcr_flag; word = @d_prpstr, 0, @_src_ - !BYTE $03 - !BYTE $53,$52,$43 - !BYTE $08 -_F228 !WORD _D320 - !WORD $0000 -_F229 !WORD _P099 -; toolsrc/plforth.pla: 0385: // READ SOURCE FILE FROM INPUT -; toolsrc/plforth.pla: 0386: char d_srcstr = "SRC\"", imm_flag; word = @d_src, 0, @_srcstr_ -_D322 ; d_srcstr = "SRC\"", imm_flag; word = @d_src, 0, @_srcstr_ - !BYTE $04 - !BYTE $53,$52,$43,$22 - !BYTE $20 -_F230 !WORD _D321 - !WORD $0000 -_F231 !WORD _P100 -; toolsrc/plforth.pla: 0387: // IF END SOURCE FILE -; toolsrc/plforth.pla: 0388: char d_ifendsrc = "?ENDSRC", showcr_flag; word = @d_srcstr, 0, @_ifendsrc_ -_D323 ; d_ifendsrc = "?ENDSRC", showcr_flag; word = @d_srcstr, 0, @_ifendsrc_ - !BYTE $07 - !BYTE $3F,$45,$4E,$44,$53,$52,$43 - !BYTE $08 -_F232 !WORD _D322 - !WORD $0000 -_F233 !WORD _P102 -; toolsrc/plforth.pla: 0389: // END SOURCE FILE -; toolsrc/plforth.pla: 0390: char d_endsrc = "ENDSRC", showcr_flag; word = @d_ifendsrc, 0, @_endsrc_ -_D324 ; d_endsrc = "ENDSRC", showcr_flag; word = @d_ifendsrc, 0, @_endsrc_ - !BYTE $06 - !BYTE $45,$4E,$44,$53,$52,$43 - !BYTE $08 -_F234 !WORD _D323 - !WORD $0000 -_F235 !WORD _P101 -; toolsrc/plforth.pla: 0391: // CONTINUE AFTER BRK -; toolsrc/plforth.pla: 0392: char d_cont = "CONT", interponly_flag; word = @d_endsrc, 0, @_cont_ -_D325 ; d_cont = "CONT", interponly_flag; word = @d_endsrc, 0, @_cont_ - !BYTE $04 - !BYTE $43,$4F,$4E,$54 - !BYTE $80 -_F236 !WORD _D324 - !WORD $0000 -_F237 !WORD _P113 -; toolsrc/plforth.pla: 0393: // QUIT -; toolsrc/plforth.pla: 0394: char d_quit = "QUIT", showcr_flag; word = @d_cont, 0, @_quit_ -_D326 ; d_quit = "QUIT", showcr_flag; word = @d_cont, 0, @_quit_ - !BYTE $04 - !BYTE $51,$55,$49,$54 - !BYTE $08 -_F238 !WORD _D325 - !WORD $0000 -_F239 !WORD _P116 -; toolsrc/plforth.pla: 0395: // ABORT IF <> 0 -; toolsrc/plforth.pla: 0396: char d_abort = "?ABORT", showcr_flag; word = @d_quit, 0, @_abort_ -_D327 ; d_abort = "?ABORT", showcr_flag; word = @d_quit, 0, @_abort_ - !BYTE $06 - !BYTE $3F,$41,$42,$4F,$52,$54 - !BYTE $08 -_F240 !WORD _D326 - !WORD $0000 -_F241 !WORD _P117 -; toolsrc/plforth.pla: 0397: // DOABORTSTR -; toolsrc/plforth.pla: 0398: char d_doabortstr = "(?ABORT\")", showcr_flag; word = @d_abort, 0, @_doabortstr_ -_D328 ; d_doabortstr = "(?ABORT\")", showcr_flag; word = @d_abort, 0, @_doabortstr_ - !BYTE $09 - !BYTE $28,$3F,$41,$42,$4F,$52,$54,$22 - !BYTE $29 - !BYTE $08 -_F242 !WORD _D327 - !WORD $0000 -_F243 !WORD _P118 -; toolsrc/plforth.pla: 0399: // ABORTSTR -; toolsrc/plforth.pla: 0400: char d_abortstr = "?ABORT\"", imm_flag; word = @d_doabortstr, 0, @_abortstr_ -_D329 ; d_abortstr = "?ABORT\"", imm_flag; word = @d_doabortstr, 0, @_abortstr_ - !BYTE $07 - !BYTE $3F,$41,$42,$4F,$52,$54,$22 - !BYTE $20 -_F244 !WORD _D328 - !WORD $0000 -_F245 !WORD _P119 -; toolsrc/plforth.pla: 0401: // COLD exitforth -; toolsrc/plforth.pla: 0402: char d_exitforth = "COLD", showcr_flag; word = @d_abortstr, 0, @_restart_ -_D330 ; d_exitforth = "COLD", showcr_flag; word = @d_abortstr, 0, @_restart_ - !BYTE $04 - !BYTE $43,$4F,$4C,$44 - !BYTE $08 -_F246 !WORD _D329 - !WORD $0000 -_F247 !WORD _P114 -; toolsrc/plforth.pla: 0403: // COMMENT -; toolsrc/plforth.pla: 0404: char d_comment = "(", imm_flag; word = @d_exitforth, 0, @_comment_ -_D331 ; d_comment = "(", imm_flag; word = @d_exitforth, 0, @_comment_ - !BYTE $01 - !BYTE $28 - !BYTE $20 -_F248 !WORD _D330 - !WORD $0000 -_F249 !WORD _P098 -; toolsrc/plforth.pla: 0405: // -; toolsrc/plforth.pla: 0406: // PLFORTH custom words -; toolsrc/plforth.pla: 0407: // -; toolsrc/plforth.pla: 0408: // BYE -; toolsrc/plforth.pla: 0409: char d_bye = "BYE", 0; word = @d_comment, 0, @_bye_ -_D332 ; d_bye = "BYE", 0; word = @d_comment, 0, @_bye_ - !BYTE $03 - !BYTE $42,$59,$45 - !BYTE $00 -_F250 !WORD _D331 - !WORD $0000 -_F251 !WORD _P115 -; toolsrc/plforth.pla: 0410: // SEE DEFINITION -; toolsrc/plforth.pla: 0411: char d_see = "SEE", interponly_flag; word = @d_bye, 0, @_see_ -_D333 ; d_see = "SEE", interponly_flag; word = @d_bye, 0, @_see_ - !BYTE $03 - !BYTE $53,$45,$45 - !BYTE $80 -_F252 !WORD _D332 - !WORD $0000 -_F253 !WORD _P110 -; toolsrc/plforth.pla: 0412: // PRINT STACK -; toolsrc/plforth.pla: 0413: char d_prstack = ".S", showcr_flag; word = @d_see, 0, @_prstack_ -_D334 ; d_prstack = ".S", showcr_flag; word = @d_see, 0, @_prstack_ - !BYTE $02 - !BYTE $2E,$53 - !BYTE $08 -_F254 !WORD _D333 - !WORD $0000 -_F255 !WORD _P111 -; toolsrc/plforth.pla: 0414: // PRINT RSTACK -; toolsrc/plforth.pla: 0415: char d_prrstack = ".RS", showcr_flag; word = @d_prstack, 0, @_prrstack_ -_D335 ; d_prrstack = ".RS", showcr_flag; word = @d_prstack, 0, @_prrstack_ - !BYTE $03 - !BYTE $2E,$52,$53 - !BYTE $08 -_F256 !WORD _D334 - !WORD $0000 -_F257 !WORD _P112 -; toolsrc/plforth.pla: 0416: // TRACE ON -; toolsrc/plforth.pla: 0417: char d_tron = "TRON", showcr_flag; word = @d_prrstack, 0, @_tron_ -_D336 ; d_tron = "TRON", showcr_flag; word = @d_prrstack, 0, @_tron_ - !BYTE $04 - !BYTE $54,$52,$4F,$4E - !BYTE $08 -_F258 !WORD _D335 - !WORD $0000 -_F259 !WORD _P092 -; toolsrc/plforth.pla: 0418: // TRACE OFF -; toolsrc/plforth.pla: 0419: char d_troff = "TROFF", showcr_flag; word = @d_tron, 0, @_troff_ -_D337 ; d_troff = "TROFF", showcr_flag; word = @d_tron, 0, @_troff_ - !BYTE $05 - !BYTE $54,$52,$4F,$46,$46 - !BYTE $08 -_F260 !WORD _D336 - !WORD $0000 -_F261 !WORD _P093 -; toolsrc/plforth.pla: 0420: // SINGLE STEP ON -; toolsrc/plforth.pla: 0421: char d_stepon = "STEPON", showcr_flag; word = @d_troff, 0, @_stepon_ -_D338 ; d_stepon = "STEPON", showcr_flag; word = @d_troff, 0, @_stepon_ - !BYTE $06 - !BYTE $53,$54,$45,$50,$4F,$4E - !BYTE $08 -_F262 !WORD _D337 - !WORD $0000 -_F263 !WORD _P094 -; toolsrc/plforth.pla: 0422: // SINGLE STEP OFF -; toolsrc/plforth.pla: 0423: char d_stepoff = "STEPOFF", showcr_flag; word = @d_stepon, 0, @_stepoff_ -_D339 ; d_stepoff = "STEPOFF", showcr_flag; word = @d_stepon, 0, @_stepoff_ - !BYTE $07 - !BYTE $53,$54,$45,$50,$4F,$46,$46 - !BYTE $08 -_F264 !WORD _D338 - !WORD $0000 -_F265 !WORD _P095 -; toolsrc/plforth.pla: 0424: // BREAK OUT -; toolsrc/plforth.pla: 0425: char d_brk = "BRK", showcr_flag; word = @d_stepoff, 0, @_brk_ -_D340 ; d_brk = "BRK", showcr_flag; word = @d_stepoff, 0, @_brk_ - !BYTE $03 - !BYTE $42,$52,$4B - !BYTE $08 -_F266 !WORD _D339 - !WORD $0000 -_F267 !WORD _P103 -; toolsrc/plforth.pla: 0426: // BREAK ON -; toolsrc/plforth.pla: 0427: char d_brkon = "BRKON", interponly_flag; word = @d_brk, 0, @_brkon_ -_D341 ; d_brkon = "BRKON", interponly_flag; word = @d_brk, 0, @_brkon_ - !BYTE $05 - !BYTE $42,$52,$4B,$4F,$4E - !BYTE $80 -_F268 !WORD _D340 - !WORD $0000 -_F269 !WORD _P104 -; toolsrc/plforth.pla: 0428: // BREAK OFF -; toolsrc/plforth.pla: 0429: char d_brkoff = "BRKOFF", interponly_flag; word = @d_brkon, 0, @_brkoff_ -_D342 ; d_brkoff = "BRKOFF", interponly_flag; word = @d_brkon, 0, @_brkoff_ - !BYTE $06 - !BYTE $42,$52,$4B,$4F,$46,$46 - !BYTE $80 -_F270 !WORD _D341 - !WORD $0000 -_F271 !WORD _P105 -; toolsrc/plforth.pla: 0430: // COMPILE USING ITC -; toolsrc/plforth.pla: 0431: char d_itc = "ITC", interponly_flag; word = @d_brkoff, 0, @_itc_ -_D343 ; d_itc = "ITC", interponly_flag; word = @d_brkoff, 0, @_itc_ - !BYTE $03 - !BYTE $49,$54,$43 - !BYTE $80 -_F272 !WORD _D342 - !WORD $0000 -_F273 !WORD _P096 -; toolsrc/plforth.pla: 0432: // COMPILE USING PLASMA BYTECODES -; toolsrc/plforth.pla: 0433: char d_pbc = "PBC", interponly_flag; word = @d_itc, 0, @_pbc_ -_D344 ; d_pbc = "PBC", interponly_flag; word = @d_itc, 0, @_pbc_ - !BYTE $03 - !BYTE $50,$42,$43 - !BYTE $80 -_F274 !WORD _D343 - !WORD $0000 -_F275 !WORD _P097 -; toolsrc/plforth.pla: 0434: // -; toolsrc/plforth.pla: 0435: // Start of vocabulary -; toolsrc/plforth.pla: 0436: // -; toolsrc/plforth.pla: 0437: // LIST VOCAB WORDS -; toolsrc/plforth.pla: 0438: char d_words = "WORDS", showcr_flag; word = @d_pbc, 0, @_words_ -_D345 ; d_words = "WORDS", showcr_flag; word = @d_pbc, 0, @_words_ - !BYTE $05 - !BYTE $57,$4F,$52,$44,$53 - !BYTE $08 -_F276 !WORD _D344 - !WORD $0000 -_F277 !WORD _P091 -; toolsrc/plforth.pla: 0439: // -; toolsrc/plforth.pla: 0440: // Machine code helper routines -; toolsrc/plforth.pla: 0441: // -; toolsrc/plforth.pla: 0442: asm _get_estackdepth#1 -_A000 ; _get_estackdepth() -; toolsrc/plforth.pla: 0443: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; toolsrc/plforth.pla: 0444: TXA - TXA -; toolsrc/plforth.pla: 0445: EOR #$FF - EOR #$FF -; toolsrc/plforth.pla: 0446: SEC - SEC -; toolsrc/plforth.pla: 0447: ADC #ESTKSZ/2 - ADC #ESTKSZ/2 -; toolsrc/plforth.pla: 0448: CMP #ESTKSZ/2+1 - CMP #ESTKSZ/2+1 -; toolsrc/plforth.pla: 0449: BCC + - BCC + -; toolsrc/plforth.pla: 0450: LDX #ESTKSZ/2 - LDX #ESTKSZ/2 -; toolsrc/plforth.pla: 0451: + DEX -+ DEX -; toolsrc/plforth.pla: 0452: STA ESTKL,X - STA ESTKL,X -; toolsrc/plforth.pla: 0453: LDA #$00 - LDA #$00 -; toolsrc/plforth.pla: 0454: STA ESTKH,X - STA ESTKH,X -; toolsrc/plforth.pla: 0455: RTS - RTS -; toolsrc/plforth.pla: 0456: end -; toolsrc/plforth.pla: 0457: asm _get_estack(index)#1 -_A001 ; _get_estack() -; toolsrc/plforth.pla: 0458: LDA #ESTKSZ/2 - LDA #ESTKSZ/2 -; toolsrc/plforth.pla: 0459: CLC - CLC -; toolsrc/plforth.pla: 0460: SBC ESTKL,X - SBC ESTKL,X -; toolsrc/plforth.pla: 0461: TAY - TAY -; toolsrc/plforth.pla: 0462: LDA ESTKL,Y - LDA ESTKL,Y -; toolsrc/plforth.pla: 0463: STA ESTKL,X - STA ESTKL,X -; toolsrc/plforth.pla: 0464: LDA ESTKH,Y - LDA ESTKH,Y -; toolsrc/plforth.pla: 0465: STA ESTKH,X - STA ESTKH,X -; toolsrc/plforth.pla: 0466: RTS - RTS -; toolsrc/plforth.pla: 0467: end -; toolsrc/plforth.pla: 0468: asm _reset_estack#0 -_A002 ; _reset_estack() -; toolsrc/plforth.pla: 0469: LDX #ESTKSZ/2 - LDX #ESTKSZ/2 -; toolsrc/plforth.pla: 0470: end -; toolsrc/plforth.pla: 0471: asm _push(a)#0 // Stack hack - call as _push(a)to leave a on eval stack -_A003 ; _push() -; toolsrc/plforth.pla: 0472: RTS - RTS -; toolsrc/plforth.pla: 0473: end -; toolsrc/plforth.pla: 0474: //def _ffa_(dentry)#1 -; toolsrc/plforth.pla: 0475: // return dentry + ^dentry + 1 -; toolsrc/plforth.pla: 0476: //end -; toolsrc/plforth.pla: 0477: asm _ffa_(dentry)#1 -_P009 ; _ffa_(dentry)#1() -_A004 ; _ffa_() -; toolsrc/plforth.pla: 0478: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/plforth.pla: 0479: STA ESTKH-1,X - STA ESTKH-1,X -; toolsrc/plforth.pla: 0480: LDA (ESTKH-1,X) - LDA (ESTKH-1,X) -; toolsrc/plforth.pla: 0481: SEC - SEC -; toolsrc/plforth.pla: 0482: ADC ESTKL,X - ADC ESTKL,X -; toolsrc/plforth.pla: 0483: STA ESTKL,X - STA ESTKL,X -; toolsrc/plforth.pla: 0484: BCC + - BCC + -; toolsrc/plforth.pla: 0485: INC ESTKH,X - INC ESTKH,X -; toolsrc/plforth.pla: 0486: + RTS -+ RTS -; toolsrc/plforth.pla: 0487: end -; toolsrc/plforth.pla: 0488: //def _pfa_(dentry)#1 -; toolsrc/plforth.pla: 0489: // return dentry + ^dentry + 8 -; toolsrc/plforth.pla: 0490: //end -; toolsrc/plforth.pla: 0491: asm _pfa_(dentry)#1 -_P013 ; _pfa_(dentry)#1() -_A005 ; _pfa_() -; toolsrc/plforth.pla: 0492: LDY #$08 - LDY #$08 -; toolsrc/plforth.pla: 0493: BNE + - BNE + -; toolsrc/plforth.pla: 0494: end -; toolsrc/plforth.pla: 0495: //def _hfa_(dentry)#1 -; toolsrc/plforth.pla: 0496: // return dentry + ^dentry + 4 -; toolsrc/plforth.pla: 0497: //end -; toolsrc/plforth.pla: 0498: asm _hfa_(dentry)#1 -_P011 ; _hfa_(dentry)#1() -_A006 ; _hfa_() -; toolsrc/plforth.pla: 0499: LDY #$04 - LDY #$04 -; toolsrc/plforth.pla: 0500: BNE + - BNE + -; toolsrc/plforth.pla: 0501: end -; toolsrc/plforth.pla: 0502: //def _lfa_(dentry)#1 -; toolsrc/plforth.pla: 0503: // return dentry + ^dentry + 2 -; toolsrc/plforth.pla: 0504: //end -; toolsrc/plforth.pla: 0505: asm _lfa_(dentry)#1 -_P010 ; _lfa_(dentry)#1() -_A007 ; _lfa_() -; toolsrc/plforth.pla: 0506: LDY #$02 - LDY #$02 -; toolsrc/plforth.pla: 0507: BNE + - BNE + -; toolsrc/plforth.pla: 0508: end -; toolsrc/plforth.pla: 0509: //def _cfa_(dentry)#1 -; toolsrc/plforth.pla: 0510: // return dentry + ^dentry + 6 -; toolsrc/plforth.pla: 0511: //end -; toolsrc/plforth.pla: 0512: asm _cfa_(dentry)#1 -_P012 ; _cfa_(dentry)#1() -_A008 ; _cfa_() -; toolsrc/plforth.pla: 0513: LDY #$06 - LDY #$06 -; toolsrc/plforth.pla: 0514: + LDA ESTKL,X -+ LDA ESTKL,X -; toolsrc/plforth.pla: 0515: STA ESTKH-1,X - STA ESTKH-1,X -; toolsrc/plforth.pla: 0516: TYA - TYA -; toolsrc/plforth.pla: 0517: CLC - CLC -; toolsrc/plforth.pla: 0518: ADC (ESTKH-1,X) - ADC (ESTKH-1,X) -; toolsrc/plforth.pla: 0519: ADC ESTKL,X - ADC ESTKL,X -; toolsrc/plforth.pla: 0520: STA ESTKL,X - STA ESTKL,X -; toolsrc/plforth.pla: 0521: BCC + - BCC + -; toolsrc/plforth.pla: 0522: INC ESTKH,X - INC ESTKH,X -; toolsrc/plforth.pla: 0523: CLC - CLC -; toolsrc/plforth.pla: 0524: + RTS -+ RTS -; toolsrc/plforth.pla: 0525: end -; toolsrc/plforth.pla: 0526: //def hashname(chars, len)#1 -; toolsrc/plforth.pla: 0527: // return (len ^ ((^chars << 1) ^ ^(chars + len / 2) << 2)) & HASH_MASK -; toolsrc/plforth.pla: 0528: //end -; toolsrc/plforth.pla: 0529: asm hashname(chars, len)#1 -_A009 ; hashname() -; toolsrc/plforth.pla: 0530: LDA ESTKL+1,X - LDA ESTKL+1,X -; toolsrc/plforth.pla: 0531: STA SRCL - STA SRCL -; toolsrc/plforth.pla: 0532: LDA ESTKH+1,X - LDA ESTKH+1,X -; toolsrc/plforth.pla: 0533: STA SRCH - STA SRCH -; toolsrc/plforth.pla: 0534: LDA ESTKL,X - LDA ESTKL,X -; toolsrc/plforth.pla: 0535: LSR - LSR -; toolsrc/plforth.pla: 0536: TAY - TAY -; toolsrc/plforth.pla: 0537: LDA (SRC), Y - LDA (SRC), Y -; toolsrc/plforth.pla: 0538: ASL - ASL -; toolsrc/plforth.pla: 0539: ASL - ASL -; toolsrc/plforth.pla: 0540: EOR ESTKL,X - EOR ESTKL,X -; toolsrc/plforth.pla: 0541: STA ESTKL,X - STA ESTKL,X -; toolsrc/plforth.pla: 0542: LDY #$00 - LDY #$00 -; toolsrc/plforth.pla: 0543: LDA (SRC),Y - LDA (SRC),Y -; toolsrc/plforth.pla: 0544: ASL - ASL -; toolsrc/plforth.pla: 0545: EOR ESTKL,X - EOR ESTKL,X -; toolsrc/plforth.pla: 0546: AND #63 ; HASH_MASK - AND #63 ; HASH_MASK -; toolsrc/plforth.pla: 0547: INX - INX -; toolsrc/plforth.pla: 0548: STA ESTKL,X - STA ESTKL,X -; toolsrc/plforth.pla: 0549: STY ESTKH,X - STY ESTKH,X -; toolsrc/plforth.pla: 0550: RTS - RTS -; toolsrc/plforth.pla: 0551: end -; toolsrc/plforth.pla: 0552: // -; toolsrc/plforth.pla: 0553: // Helper routines -; toolsrc/plforth.pla: 0554: // -; toolsrc/plforth.pla: 0555: def _dictaddw_(a)#0 - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS - ; a -> [0] -_P048 ; _dictaddw_(a)#0() -_C000 ; _dictaddw_() -; toolsrc/plforth.pla: 0556: *(heapalloc(2)) = a - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 0557: end - !BYTE $66,$00 ; LLW [0] - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X014 -_F278 !WORD 0 - !BYTE $72 ; SW - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0558: def _dictaddb_(a)#0 - ; a -> [0] -_P049 ; _dictaddb_(a)#0() -_C001 ; _dictaddb_() -; toolsrc/plforth.pla: 0559: ^(heapalloc(1)) = a - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 0560: end - !BYTE $66,$00 ; LLW [0] - !BYTE $02 ; CN 1 - !BYTE $54 ; CALL _X014 -_F279 !WORD 0 - !BYTE $70 ; SB - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0561: // -; toolsrc/plforth.pla: 0562: // Input routines -; toolsrc/plforth.pla: 0563: // -; toolsrc/plforth.pla: 0564: def keyin#0 -_C002 ; keyin() -; toolsrc/plforth.pla: 0565: byte i - ; i -> [0] -; toolsrc/plforth.pla: 0566: -; toolsrc/plforth.pla: 0567: repeat - !BYTE $58,$01,$00 ; ENTER 1,0 -_B002 -; toolsrc/plforth.pla: 0568: puts(brk ?? " BRK\n" :: " OK\n") - !BYTE $68 ; LAB _D061+0 -_F280 !WORD _D061+0 - !BYTE $4C ; BRFLS _B006 - !WORD _B006-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $20,$42,$52,$4B,$0D - !BYTE $50 ; BRNCH _B007 - !WORD _B007-* -_B006 - !BYTE $2E ; CS - !BYTE $04 - !BYTE $20,$4F,$4B,$0D -_B007 - !BYTE $54 ; CALL _X004 -_F281 !WORD 0 -; toolsrc/plforth.pla: 0569: memcpy(keyinbuf, gets(state & comp_flag ?? ']'|$80 :: '>'|$80), INBUF_SIZE) -; toolsrc/plforth.pla: 0570: inptr = keyinbuf // Reset inptr to beginning of buffer -; toolsrc/plforth.pla: 0571: until ^inptr - !BYTE $6A ; LAW _D050+0 -_F282 !WORD _D050+0 - !BYTE $68 ; LAB _D058+0 -_F283 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B010 - !WORD _B010-* - !BYTE $2A,$DD ; CB 221 - !BYTE $50 ; BRNCH _B011 - !WORD _B011-* -_B010 - !BYTE $2A,$BE ; CB 190 -_B011 - !BYTE $54 ; CALL _X007 -_F284 !WORD 0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X018 -_F285 !WORD 0 - !BYTE $6A ; LAW _D050+0 -_F286 !WORD _D050+0 - !BYTE $7A ; SAW _D039+0 -_F287 !WORD _D039+0 -_B003 - !BYTE $6A ; LAW _D039+0 -_F288 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B002 - !WORD _B002-* -_B001 -; toolsrc/plforth.pla: 0572: if ^inptr > INBUF_SIZE-1 -; toolsrc/plforth.pla: 0573: ^inptr = INBUF_SIZE-1 -; toolsrc/plforth.pla: 0574: fin - !BYTE $6A ; LAW _D039+0 -_F289 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $2A,$7F ; CB 127 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B012 - !WORD _B012-* - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _D039+0 -_F290 !WORD _D039+0 - !BYTE $70 ; SB -_B012 -_B013 -; toolsrc/plforth.pla: 0575: ^(inptr + ^inptr + 1) = 0 // NULL terminate -; toolsrc/plforth.pla: 0576: inptr++ - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D039+0 -_F291 !WORD _D039+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $6A ; LAW _D039+0 -_F292 !WORD _D039+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0577: end - !BYTE $7A ; SAW _D039+0 -_F293 !WORD _D039+0 - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/plforth.pla: 0578: def endsrc#1 -_C003 ; endsrc() -; toolsrc/plforth.pla: 0579: if srclevel > 0 -; toolsrc/plforth.pla: 0580: srclevel-- - !BYTE $68 ; LAB _D045+0 -_F294 !WORD _D045+0 - !BYTE $00 ; CN 0 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B014 - !WORD _B014-* - !BYTE $68 ; LAB _D045+0 -_F295 !WORD _D045+0 - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0581: fileio:close(inref[srclevel]) // EOF -; toolsrc/plforth.pla: 0582: inref[srclevel] = 0 -; toolsrc/plforth.pla: 0583: inbufptr = inbufptr - INBUF_SIZE -; toolsrc/plforth.pla: 0584: inptr = previnptr[srclevel] -; toolsrc/plforth.pla: 0585: if srclevel == 0 // - switch back to keyboard input -; toolsrc/plforth.pla: 0586: infunc = @keyin -; toolsrc/plforth.pla: 0587: //keyin -; toolsrc/plforth.pla: 0588: fin - !BYTE $78 ; SAB _D045+0 -_F296 !WORD _D045+0 - !BYTE $26 ; LA _D052+0 -_F297 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D045+0 -_F298 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $6A ; LAW _X031+16 -_F299 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $26 ; LA _D052+0 -_F300 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D045+0 -_F301 !WORD _D045+0 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D051+0 -_F302 !WORD _D051+0 - !BYTE $3A,$80 ; SUBI 128 - !BYTE $7A ; SAW _D051+0 -_F303 !WORD _D051+0 - !BYTE $26 ; LA _D053+0 -_F304 !WORD _D053+0 - !BYTE $BC ; IDXAB _D045+0 -_F305 !WORD _D045+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D039+0 -_F306 !WORD _D039+0 - !BYTE $68 ; LAB _D045+0 -_F307 !WORD _D045+0 - !BYTE $4E ; BRTRU _B016 - !WORD _B016-* - !BYTE $26 ; LA _C002+0 -_F308 !WORD _C002+0 - !BYTE $7A ; SAW _D038+0 -_F309 !WORD _D038+0 -_B016 -_B017 -; toolsrc/plforth.pla: 0589: fin -_B014 -_B015 -; toolsrc/plforth.pla: 0590: return srclevel == 0 - !BYTE $68 ; LAB _D045+0 -_F310 !WORD _D045+0 - !BYTE $80 ; NOT - !BYTE $5C ; RET -; toolsrc/plforth.pla: 0591: end -; toolsrc/plforth.pla: 0592: def filein#0 -_C004 ; filein() -; toolsrc/plforth.pla: 0593: byte len - ; len -> [0] -; toolsrc/plforth.pla: 0594: repeat - !BYTE $58,$01,$00 ; ENTER 1,0 -_B019 -; toolsrc/plforth.pla: 0595: len = fileio:read(inref[srclevel-1], inbufptr, INBUF_SIZE-1) -; toolsrc/plforth.pla: 0596: if len -; toolsrc/plforth.pla: 0597: if ^(inbufptr + len - 1) == $0D -; toolsrc/plforth.pla: 0598: len-- // Remove trailing carriage return - !BYTE $26 ; LA _D052+0 -_F311 !WORD _D052+0 - !BYTE $68 ; LAB _D045+0 -_F312 !WORD _D045+0 - !BYTE $8E ; DECR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $6A ; LAW _D051+0 -_F313 !WORD _D051+0 - !BYTE $2A,$7F ; CB 127 - !BYTE $6A ; LAW _X031+18 -_F314 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6C,$00 ; DLB [0] - !BYTE $4C ; BRFLS _B021 - !WORD _B021-* - !BYTE $6A ; LAW _D051+0 -_F315 !WORD _D051+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $1A ; CN 13 - !BYTE $24 ; BRNE _B023 - !WORD _B023-* - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0599: fin - !BYTE $74,$00 ; SLB [0] -_B023 -_B024 -; toolsrc/plforth.pla: 0600: ^(inbufptr + len) = 0 // NULL terminate -; toolsrc/plforth.pla: 0601: inptr = inbufptr -; toolsrc/plforth.pla: 0602: else - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D051+0 -_F316 !WORD _D051+0 - !BYTE $B0,$00 ; ADDLB [0] - !BYTE $70 ; SB - !BYTE $6A ; LAW _D051+0 -_F317 !WORD _D051+0 - !BYTE $7A ; SAW _D039+0 -_F318 !WORD _D039+0 - !BYTE $50 ; BRNCH _B022 - !WORD _B022-* -_B021 -; toolsrc/plforth.pla: 0603: if endsrc -; toolsrc/plforth.pla: 0604: return - !BYTE $54 ; CALL _C003 -_F319 !WORD _C003 - !BYTE $4C ; BRFLS _B025 - !WORD _B025-* - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/plforth.pla: 0605: fin -_B025 -_B026 -; toolsrc/plforth.pla: 0606: fin -_B022 -; toolsrc/plforth.pla: 0607: until len -_B020 - !BYTE $64,$00 ; LLB [0] - !BYTE $4C ; BRFLS _B019 - !WORD _B019-* -_B018 -; toolsrc/plforth.pla: 0608: end - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/plforth.pla: 0609: def nextword(delim)#2 - ; delim -> [0] -_C005 ; nextword() -; toolsrc/plforth.pla: 0610: word wordptr - ; wordptr -> [2] -; toolsrc/plforth.pla: 0611: byte len - ; len -> [4] -; toolsrc/plforth.pla: 0612: -; toolsrc/plforth.pla: 0613: repeat - !BYTE $58,$05,$01 ; ENTER 5,1 -_B028 -; toolsrc/plforth.pla: 0614: if !^inptr -; toolsrc/plforth.pla: 0615: infunc()#0 -; toolsrc/plforth.pla: 0616: fin - !BYTE $6A ; LAW _D039+0 -_F320 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B030 - !WORD _B030-* - !BYTE $6A ; LAW _D038+0 -_F321 !WORD _D038+0 - !BYTE $56 ; ICAL -_B030 -_B031 -; toolsrc/plforth.pla: 0617: while ^inptr == delim // Skip leading delimiter - !BYTE $50 ; BRNCH _B034 - !WORD _B034-* -_B032 -; toolsrc/plforth.pla: 0618: inptr++ - !BYTE $6A ; LAW _D039+0 -_F322 !WORD _D039+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0619: loop - !BYTE $7A ; SAW _D039+0 -_F323 !WORD _D039+0 -_B034 - !BYTE $6A ; LAW _D039+0 -_F324 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $22 ; BREQ _B032 - !WORD _B032-* -_B033 -; toolsrc/plforth.pla: 0620: until ^inptr -_B029 - !BYTE $6A ; LAW _D039+0 -_F325 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B028 - !WORD _B028-* -_B027 -; toolsrc/plforth.pla: 0621: wordptr = inptr -; toolsrc/plforth.pla: 0622: while ^inptr and ^inptr <> delim // Tokenize characters - !BYTE $6A ; LAW _D039+0 -_F326 !WORD _D039+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B037 - !WORD _B037-* -_B035 -; toolsrc/plforth.pla: 0623: inptr++ - !BYTE $6A ; LAW _D039+0 -_F327 !WORD _D039+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0624: loop - !BYTE $7A ; SAW _D039+0 -_F328 !WORD _D039+0 -_B037 - !BYTE $6A ; LAW _D039+0 -_F329 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B038 - !WORD _B038-* - !BYTE $6A ; LAW _D039+0 -_F330 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $66,$00 ; LLW [0] - !BYTE $42 ; ISNE -_B038 - !BYTE $4E ; BRTRU _B035 - !WORD _B035-* -_B036 -; toolsrc/plforth.pla: 0625: len = inptr - wordptr -; toolsrc/plforth.pla: 0626: if ^inptr // Skip trailing delimiter -; toolsrc/plforth.pla: 0627: inptr++ - !BYTE $6A ; LAW _D039+0 -_F331 !WORD _D039+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $84 ; SUB - !BYTE $74,$04 ; SLB [4] - !BYTE $6A ; LAW _D039+0 -_F332 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B039 - !WORD _B039-* - !BYTE $6A ; LAW _D039+0 -_F333 !WORD _D039+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0628: fin - !BYTE $7A ; SAW _D039+0 -_F334 !WORD _D039+0 -_B039 -_B040 -; toolsrc/plforth.pla: 0629: return wordptr, len - !BYTE $66,$02 ; LLW [2] - !BYTE $64,$04 ; LLB [4] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/plforth.pla: 0630: end -; toolsrc/plforth.pla: 0631: // -; toolsrc/plforth.pla: 0632: // Hash table routines -; toolsrc/plforth.pla: 0633: // -; toolsrc/plforth.pla: 0634: def addhash(dentry)#0 - ; dentry -> [0] -_C006 ; addhash() -; toolsrc/plforth.pla: 0635: byte hash - ; hash -> [2] -; toolsrc/plforth.pla: 0636: -; toolsrc/plforth.pla: 0637: hash = hashname(dentry + 1, ^dentry) - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/plforth.pla: 0638: *_hfa_(dentry) = hashtbl[hash] -; toolsrc/plforth.pla: 0639: hashtbl[hash] = dentry -; toolsrc/plforth.pla: 0640: end - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A009 -_F335 !WORD _A009 - !BYTE $74,$02 ; SLB [2] - !BYTE $26 ; LA _D056+0 -_F336 !WORD _D056+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A006 -_F337 !WORD _A006 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D056+0 -_F338 !WORD _D056+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $72 ; SW - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 0641: def buildhashtbl#0 -_C007 ; buildhashtbl() -; toolsrc/plforth.pla: 0642: word dentry - ; dentry -> [0] -; toolsrc/plforth.pla: 0643: byte hash - ; hash -> [2] -; toolsrc/plforth.pla: 0644: -; toolsrc/plforth.pla: 0645: memset(@hashtbl, 0, HASH_SIZE * 2) - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/plforth.pla: 0646: dentry = latest -; toolsrc/plforth.pla: 0647: while dentry - !BYTE $26 ; LA _D056+0 -_F339 !WORD _D056+0 - !BYTE $00 ; CN 0 - !BYTE $2A,$80 ; CB 128 - !BYTE $54 ; CALL _X017 -_F340 !WORD 0 - !BYTE $6A ; LAW _D037+0 -_F341 !WORD _D037+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B043 - !WORD _B043-* -_B041 -; toolsrc/plforth.pla: 0648: hash = hashname(dentry + 1, ^dentry) -; toolsrc/plforth.pla: 0649: *_hfa_(dentry) = hashtbl[hash] -; toolsrc/plforth.pla: 0650: hashtbl[hash] = dentry -; toolsrc/plforth.pla: 0651: dentry = *_lfa_(dentry) -; toolsrc/plforth.pla: 0652: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A009 -_F342 !WORD _A009 - !BYTE $74,$02 ; SLB [2] - !BYTE $26 ; LA _D056+0 -_F343 !WORD _D056+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $62 ; LW - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A006 -_F344 !WORD _A006 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D056+0 -_F345 !WORD _D056+0 - !BYTE $B8,$02 ; IDXLB [2] - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A007 -_F346 !WORD _A007 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] -_B043 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B041 - !WORD _B041-* -_B042 -; toolsrc/plforth.pla: 0653: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 0654: // -; toolsrc/plforth.pla: 0655: // Warm start -; toolsrc/plforth.pla: 0656: // -; toolsrc/plforth.pla: 0657: def warmstart#0 -_C008 ; warmstart() -; toolsrc/plforth.pla: 0658: _reset_estack() -; toolsrc/plforth.pla: 0659: brk = 0 -; toolsrc/plforth.pla: 0660: brkcfa = 0 -; toolsrc/plforth.pla: 0661: RSP = RSTK_SIZE -; toolsrc/plforth.pla: 0662: if state & comp_flag // Undo compilation state -; toolsrc/plforth.pla: 0663: heaprelease(latest) -; toolsrc/plforth.pla: 0664: latest = *_lfa_(latest) -; toolsrc/plforth.pla: 0665: fin - !BYTE $54 ; CALL _A002 -_F347 !WORD _A002 - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D061+0 -_F348 !WORD _D061+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D060+0 -_F349 !WORD _D060+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $78 ; SAB _D054+0 -_F350 !WORD _D054+0 - !BYTE $68 ; LAB _D058+0 -_F351 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B044 - !WORD _B044-* - !BYTE $6A ; LAW _D037+0 -_F352 !WORD _D037+0 - !BYTE $54 ; CALL _X015 -_F353 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D037+0 -_F354 !WORD _D037+0 - !BYTE $54 ; CALL _A007 -_F355 !WORD _A007 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F356 !WORD _D037+0 -_B044 -_B045 -; toolsrc/plforth.pla: 0666: state = 0 -; toolsrc/plforth.pla: 0667: while !endsrc; loop - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D058+0 -_F357 !WORD _D058+0 - !BYTE $50 ; BRNCH _B048 - !WORD _B048-* -_B046 -_B048 - !BYTE $54 ; CALL _C003 -_F358 !WORD _C003 - !BYTE $4C ; BRFLS _B046 - !WORD _B046-* -_B047 -; toolsrc/plforth.pla: 0668: infunc = @keyin -; toolsrc/plforth.pla: 0669: inptr = keyinbuf -; toolsrc/plforth.pla: 0670: ^inptr = 0 -; toolsrc/plforth.pla: 0671: end - !BYTE $26 ; LA _C002+0 -_F359 !WORD _C002+0 - !BYTE $7A ; SAW _D038+0 -_F360 !WORD _D038+0 - !BYTE $6A ; LAW _D050+0 -_F361 !WORD _D050+0 - !BYTE $7A ; SAW _D039+0 -_F362 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D039+0 -_F363 !WORD _D039+0 - !BYTE $70 ; SB - !BYTE $5C ; RET -; toolsrc/plforth.pla: 0672: // -; toolsrc/plforth.pla: 0673: // Cold start -; toolsrc/plforth.pla: 0674: // -; toolsrc/plforth.pla: 0675: def coldstart#0 -_C009 ; coldstart() -; toolsrc/plforth.pla: 0676: warmstart -; toolsrc/plforth.pla: 0677: latest = @d_words -; toolsrc/plforth.pla: 0678: heaprelease(startheap) -; toolsrc/plforth.pla: 0679: buildhashtbl -; toolsrc/plforth.pla: 0680: end - !BYTE $54 ; CALL _C008 -_F364 !WORD _C008 - !BYTE $26 ; LA _D345+0 -_F365 !WORD _D345+0 - !BYTE $7A ; SAW _D037+0 -_F366 !WORD _D037+0 - !BYTE $6A ; LAW _D043+0 -_F367 !WORD _D043+0 - !BYTE $54 ; CALL _X015 -_F368 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C007 -_F369 !WORD _C007 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 0681: // -; toolsrc/plforth.pla: 0682: // Find match in dictionary -; toolsrc/plforth.pla: 0683: // -; toolsrc/plforth.pla: 0684: def find(matchchars, matchlen)#1 - ; matchchars -> [0] - ; matchlen -> [2] -_C010 ; find() -; toolsrc/plforth.pla: 0685: word dentry - ; dentry -> [4] -; toolsrc/plforth.pla: 0686: byte i - ; i -> [6] -; toolsrc/plforth.pla: 0687: -; toolsrc/plforth.pla: 0688: for i = 0 to matchlen-1 - !BYTE $58,$07,$02 ; ENTER 7,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B049 - !WORD _B049-* -_B050 - !BYTE $6C,$06 ; DLB [6] -; toolsrc/plforth.pla: 0689: ^(matchchars + i) = toupper(^(matchchars + i)) -; toolsrc/plforth.pla: 0690: next - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F370 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $70 ; SB -_B051 - !BYTE $A4 ; INCBRLE _B050 - !WORD _B050-* -_B049 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 0691: dentry = hashtbl[hashname(matchchars, matchlen)] -; toolsrc/plforth.pla: 0692: matchchars-- - !BYTE $26 ; LA _D056+0 -_F371 !WORD _D056+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A009 -_F372 !WORD _A009 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0693: while dentry - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B054 - !WORD _B054-* -_B052 -; toolsrc/plforth.pla: 0694: if ^dentry == matchlen -; toolsrc/plforth.pla: 0695: for i = matchlen downto 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $24 ; BRNE _B055 - !WORD _B055-* - !BYTE $02 ; CN 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $A2 ; BRLT _B057 - !WORD _B057-* -_B058 - !BYTE $6C,$06 ; DLB [6] -; toolsrc/plforth.pla: 0696: if ^(matchchars + i) <> ^(dentry + i) -; toolsrc/plforth.pla: 0697: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B060 - !WORD _B060-* - !BYTE $50 ; BRNCH _B057 - !WORD _B057-* -; toolsrc/plforth.pla: 0698: fin -_B060 -_B061 -; toolsrc/plforth.pla: 0699: next -_B059 - !BYTE $A8 ; DECBRGE _B058 - !WORD _B058-* -_B057 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 0700: if i == 0 -; toolsrc/plforth.pla: 0701: return dentry - !BYTE $64,$06 ; LLB [6] - !BYTE $4E ; BRTRU _B062 - !WORD _B062-* - !BYTE $66,$04 ; LLW [4] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/plforth.pla: 0702: fin -_B062 -_B063 -; toolsrc/plforth.pla: 0703: fin -_B055 -_B056 -; toolsrc/plforth.pla: 0704: dentry = *_hfa_(dentry) -; toolsrc/plforth.pla: 0705: loop - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A006 -_F373 !WORD _A006 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B054 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B052 - !WORD _B052-* -_B053 -; toolsrc/plforth.pla: 0706: return 0 // Not found - !BYTE $00 ; CN 0 - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/plforth.pla: 0707: end -; toolsrc/plforth.pla: 0708: // -; toolsrc/plforth.pla: 0709: // Convert input into number -; toolsrc/plforth.pla: 0710: // -; toolsrc/plforth.pla: 0711: def _isnum_(numchars, numlen)#2 - ; numchars -> [0] - ; numlen -> [2] -_P123 ; _isnum_(numchars, numlen)#2() -_C011 ; _isnum_() -; toolsrc/plforth.pla: 0712: word num, sign - ; num -> [4] - ; sign -> [6] -; toolsrc/plforth.pla: 0713: byte numchar - ; numchar -> [8] -; toolsrc/plforth.pla: 0714: -; toolsrc/plforth.pla: 0715: sign = 1 - !BYTE $58,$09,$02 ; ENTER 9,2 -; toolsrc/plforth.pla: 0716: if ^numchars == '-' -; toolsrc/plforth.pla: 0717: sign = -1 -; toolsrc/plforth.pla: 0718: numchars++ - !BYTE $02 ; CN 1 - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $24 ; BRNE _B064 - !WORD _B064-* - !BYTE $20 ; MINUS ONE - !BYTE $76,$06 ; SLW [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0719: numlen-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0720: if numlen == 0 -; toolsrc/plforth.pla: 0721: return 0, 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B066 - !WORD _B066-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/plforth.pla: 0722: fin -_B066 -_B067 -; toolsrc/plforth.pla: 0723: fin -_B064 -_B065 -; toolsrc/plforth.pla: 0724: num = 0 -; toolsrc/plforth.pla: 0725: if ^numchars == '$' // Hexadecimal -; toolsrc/plforth.pla: 0726: numchars++ - !BYTE $00 ; CN 0 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$24 ; CB 36 - !BYTE $24 ; BRNE _B068 - !WORD _B068-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0727: numlen-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0728: if numlen == 0 -; toolsrc/plforth.pla: 0729: return 0, 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B070 - !WORD _B070-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/plforth.pla: 0730: fin -_B070 -_B071 -; toolsrc/plforth.pla: 0731: while numlen - !BYTE $50 ; BRNCH _B074 - !WORD _B074-* -_B072 -; toolsrc/plforth.pla: 0732: numchar = toupper(^numchars) -; toolsrc/plforth.pla: 0733: if numchar >= '0' and numchar <= '9' -; toolsrc/plforth.pla: 0734: num = num * 16 + numchar - '0' -; toolsrc/plforth.pla: 0735: elsif numchar >= 'A' and numchar <= 'F' - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F374 !WORD 0 - !BYTE $6C,$08 ; DLB [8] - !BYTE $2A,$30 ; CB 48 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B075 - !WORD _B075-* - !BYTE $64,$08 ; LLB [8] - !BYTE $2A,$39 ; CB 57 - !BYTE $4A ; ISLE -_B075 - !BYTE $4C ; BRFLS _B076 - !WORD _B076-* - !BYTE $66,$04 ; LLW [4] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B077 - !WORD _B077-* -_B076 -; toolsrc/plforth.pla: 0736: num = num * 16 + numchar - 'A' + 10 -; toolsrc/plforth.pla: 0737: else - !BYTE $64,$08 ; LLB [8] - !BYTE $2A,$41 ; CB 65 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B078 - !WORD _B078-* - !BYTE $64,$08 ; LLB [8] - !BYTE $2A,$46 ; CB 70 - !BYTE $4A ; ISLE -_B078 - !BYTE $4C ; BRFLS _B079 - !WORD _B079-* - !BYTE $66,$04 ; LLW [4] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $3A,$41 ; SUBI 65 - !BYTE $38,$0A ; ADDI 10 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B077 - !WORD _B077-* -_B079 -; toolsrc/plforth.pla: 0738: break - !BYTE $50 ; BRNCH _B073 - !WORD _B073-* -; toolsrc/plforth.pla: 0739: fin -_B077 -; toolsrc/plforth.pla: 0740: numchars++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0741: numlen-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0742: loop - !BYTE $76,$02 ; SLW [2] -_B074 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* -_B073 -; toolsrc/plforth.pla: 0743: elsif ^numchars == '%' // Binary - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B068 -; toolsrc/plforth.pla: 0744: numchars++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$25 ; CB 37 - !BYTE $24 ; BRNE _B080 - !WORD _B080-* - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0745: numlen-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0746: if numlen == 0 -; toolsrc/plforth.pla: 0747: return 0, 0 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4E ; BRTRU _B081 - !WORD _B081-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/plforth.pla: 0748: fin -_B081 -_B082 -; toolsrc/plforth.pla: 0749: while numlen - !BYTE $50 ; BRNCH _B085 - !WORD _B085-* -_B083 -; toolsrc/plforth.pla: 0750: numchar = ^numchars -; toolsrc/plforth.pla: 0751: if numchar == '0' or numchar == '1' -; toolsrc/plforth.pla: 0752: num = num * 2 + numchar - '0' -; toolsrc/plforth.pla: 0753: else - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6C,$08 ; DLB [8] - !BYTE $2A,$30 ; CB 48 - !BYTE $40 ; ISEQ - !BYTE $AE ; BROR _B086 - !WORD _B086-* - !BYTE $64,$08 ; LLB [8] - !BYTE $2A,$31 ; CB 49 - !BYTE $40 ; ISEQ -_B086 - !BYTE $4C ; BRFLS _B087 - !WORD _B087-* - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B088 - !WORD _B088-* -_B087 -; toolsrc/plforth.pla: 0754: break - !BYTE $50 ; BRNCH _B084 - !WORD _B084-* -; toolsrc/plforth.pla: 0755: fin -_B088 -; toolsrc/plforth.pla: 0756: numchars++ - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0757: numlen-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0758: loop - !BYTE $76,$02 ; SLW [2] -_B085 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B083 - !WORD _B083-* -_B084 -; toolsrc/plforth.pla: 0759: else - !BYTE $50 ; BRNCH _B069 - !WORD _B069-* -_B080 -; toolsrc/plforth.pla: 0760: while numlen - !BYTE $50 ; BRNCH _B091 - !WORD _B091-* -_B089 -; toolsrc/plforth.pla: 0761: numchar = ^numchars -; toolsrc/plforth.pla: 0762: if numchar < '0' or numchar > '9' -; toolsrc/plforth.pla: 0763: break - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6C,$08 ; DLB [8] - !BYTE $2A,$30 ; CB 48 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B092 - !WORD _B092-* - !BYTE $64,$08 ; LLB [8] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT -_B092 - !BYTE $4C ; BRFLS _B093 - !WORD _B093-* - !BYTE $50 ; BRNCH _B090 - !WORD _B090-* -; toolsrc/plforth.pla: 0764: fin -_B093 -_B094 -; toolsrc/plforth.pla: 0765: num = num * 10 + numchar - '0' -; toolsrc/plforth.pla: 0766: numchars++ - !BYTE $66,$04 ; LLW [4] - !BYTE $14 ; CN 10 - !BYTE $86 ; MUL - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $3A,$30 ; SUBI 48 - !BYTE $76,$04 ; SLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0767: numlen-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0768: loop - !BYTE $76,$02 ; SLW [2] -_B091 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B089 - !WORD _B089-* -_B090 -; toolsrc/plforth.pla: 0769: fin -_B069 -; toolsrc/plforth.pla: 0770: return num * sign, numlen == 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $86 ; MUL - !BYTE $66,$02 ; LLW [2] - !BYTE $80 ; NOT - !BYTE $5A,$09 ; LEAVE 9 -; toolsrc/plforth.pla: 0771: end -; toolsrc/plforth.pla: 0772: // -; toolsrc/plforth.pla: 0773: // Break handler -; toolsrc/plforth.pla: 0774: // -; toolsrc/plforth.pla: 0775: def showtrace(dentry)#0 - ; dentry -> [0] -_C012 ; showtrace() -; toolsrc/plforth.pla: 0776: putln; puts("( "); _prstack_; puts(") "); puts(dentry); putc(' ') - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $54 ; CALL _X003 -_F375 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $28,$20 - !BYTE $54 ; CALL _X004 -_F376 !WORD 0 - !BYTE $54 ; CALL _P111 -_F377 !WORD _P111 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $29,$20 - !BYTE $54 ; CALL _X004 -_F378 !WORD 0 -; toolsrc/plforth.pla: 0777: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F379 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F380 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0778: def brkhandle(dentry)#0 - ; dentry -> [0] -_C013 ; brkhandle() -; toolsrc/plforth.pla: 0779: word brk_infn, brk_inptr, brk_iip - ; brk_infn -> [2] - ; brk_inptr -> [4] - ; brk_iip -> [6] -; toolsrc/plforth.pla: 0780: byte brk_state - ; brk_state -> [8] -; toolsrc/plforth.pla: 0781: char brk_inbuf[INBUF_SIZE + 1] - ; brk_inbuf -> [9] -; toolsrc/plforth.pla: 0782: -; toolsrc/plforth.pla: 0783: showtrace(dentry) - !BYTE $58,$8A,$01 ; ENTER 138,1 -; toolsrc/plforth.pla: 0784: brk_iip = IIP -; toolsrc/plforth.pla: 0785: brk_infn = infunc -; toolsrc/plforth.pla: 0786: brk_inptr = inptr -; toolsrc/plforth.pla: 0787: memcpy(@brk_inbuf, keyinbuf, INBUF_SIZE + 1) -; toolsrc/plforth.pla: 0788: infunc = @keyin -; toolsrc/plforth.pla: 0789: inptr = keyinbuf -; toolsrc/plforth.pla: 0790: ^inptr = 0 -; toolsrc/plforth.pla: 0791: brk_state = state & comp_flag -; toolsrc/plforth.pla: 0792: state = state & ~comp_flag -; toolsrc/plforth.pla: 0793: brk++ - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C012 -_F381 !WORD _C012 - !BYTE $6A ; LAW _D040+0 -_F382 !WORD _D040+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $6A ; LAW _D038+0 -_F383 !WORD _D038+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D039+0 -_F384 !WORD _D039+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $28,$09 ; LLA [9] - !BYTE $6A ; LAW _D050+0 -_F385 !WORD _D050+0 - !BYTE $2A,$81 ; CB 129 - !BYTE $54 ; CALL _X018 -_F386 !WORD 0 - !BYTE $26 ; LA _C002+0 -_F387 !WORD _C002+0 - !BYTE $7A ; SAW _D038+0 -_F388 !WORD _D038+0 - !BYTE $6A ; LAW _D050+0 -_F389 !WORD _D050+0 - !BYTE $7A ; SAW _D039+0 -_F390 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D039+0 -_F391 !WORD _D039+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D058+0 -_F392 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $74,$08 ; SLB [8] - !BYTE $68 ; LAB _D058+0 -_F393 !WORD _D058+0 - !BYTE $5E,$CF ; CFFB -49 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D058+0 -_F394 !WORD _D058+0 - !BYTE $68 ; LAB _D061+0 -_F395 !WORD _D061+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0794: _interpret_ -; toolsrc/plforth.pla: 0795: brk-- - !BYTE $78 ; SAB _D061+0 -_F396 !WORD _D061+0 - !BYTE $54 ; CALL _P124 -_F397 !WORD _P124 - !BYTE $68 ; LAB _D061+0 -_F398 !WORD _D061+0 - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0796: state = brk_state | state -; toolsrc/plforth.pla: 0797: IIP = brk_iip -; toolsrc/plforth.pla: 0798: infunc = brk_infn -; toolsrc/plforth.pla: 0799: inptr = brk_inptr -; toolsrc/plforth.pla: 0800: memcpy(keyinbuf, @brk_inbuf, INBUF_SIZE + 1) -; toolsrc/plforth.pla: 0801: end - !BYTE $78 ; SAB _D061+0 -_F399 !WORD _D061+0 - !BYTE $64,$08 ; LLB [8] - !BYTE $68 ; LAB _D058+0 -_F400 !WORD _D058+0 - !BYTE $96 ; OR - !BYTE $78 ; SAB _D058+0 -_F401 !WORD _D058+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $7A ; SAW _D040+0 -_F402 !WORD _D040+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D038+0 -_F403 !WORD _D038+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D039+0 -_F404 !WORD _D039+0 - !BYTE $6A ; LAW _D050+0 -_F405 !WORD _D050+0 - !BYTE $28,$09 ; LLA [9] - !BYTE $2A,$81 ; CB 129 - !BYTE $54 ; CALL _X018 -_F406 !WORD 0 - !BYTE $5A,$8A ; LEAVE 138 -; toolsrc/plforth.pla: 0802: // -; toolsrc/plforth.pla: 0803: // Execute code in CFA -; toolsrc/plforth.pla: 0804: // -; toolsrc/plforth.pla: 0805: def _execword_(dentry)#0 - ; dentry -> [0] -_P122 ; _execword_(dentry)#0() -_C014 ; _execword_() -; toolsrc/plforth.pla: 0806: when conio:keypressed() - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $6A ; LAW _X033+0 -_F407 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $52 ; SEL - !WORD _B096-* -; toolsrc/plforth.pla: 0807: is $83 // CTRL-C -_B097 -; toolsrc/plforth.pla: 0808: conio:getkey() // Clear KB -; toolsrc/plforth.pla: 0809: brkhandle(dentry) -; toolsrc/plforth.pla: 0810: break - !BYTE $6A ; LAW _X033+2 -_F408 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F409 !WORD _C013 - !BYTE $50 ; BRNCH _B095 - !WORD _B095-* -; toolsrc/plforth.pla: 0811: is $94 // CTRL-T -_B098 -; toolsrc/plforth.pla: 0812: conio:getkey() // Clear KB -; toolsrc/plforth.pla: 0813: state = state ^ trace_flag -; toolsrc/plforth.pla: 0814: break - !BYTE $6A ; LAW _X033+2 -_F410 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D058+0 -_F411 !WORD _D058+0 - !BYTE $04 ; CN 2 - !BYTE $98 ; XOR - !BYTE $78 ; SAB _D058+0 -_F412 !WORD _D058+0 - !BYTE $50 ; BRNCH _B095 - !WORD _B095-* -; toolsrc/plforth.pla: 0815: wend - !BYTE $50 ; BRNCH _B095 - !WORD _B095-* -_B096 - !BYTE $02 ; CASEBLOCK - !WORD $0083 - !WORD _B097-* - !WORD $0094 - !WORD _B098-* -_B095 -; toolsrc/plforth.pla: 0816: if state & trace_flag -; toolsrc/plforth.pla: 0817: showtrace(dentry) -; toolsrc/plforth.pla: 0818: if state & step_flag -; toolsrc/plforth.pla: 0819: if conio:getkey() == $03 // CTRL-C -; toolsrc/plforth.pla: 0820: brkhandle(dentry) -; toolsrc/plforth.pla: 0821: fin - !BYTE $68 ; LAB _D058+0 -_F413 !WORD _D058+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B099 - !WORD _B099-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C012 -_F414 !WORD _C012 - !BYTE $68 ; LAB _D058+0 -_F415 !WORD _D058+0 - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B101 - !WORD _B101-* - !BYTE $6A ; LAW _X033+2 -_F416 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $06 ; CN 3 - !BYTE $24 ; BRNE _B103 - !WORD _B103-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C013 -_F417 !WORD _C013 -_B103 -_B104 -; toolsrc/plforth.pla: 0822: fin -_B101 -_B102 -; toolsrc/plforth.pla: 0823: fin -_B099 -_B100 -; toolsrc/plforth.pla: 0824: W = _cfa_(dentry) -; toolsrc/plforth.pla: 0825: (*W)()#0 -; toolsrc/plforth.pla: 0826: if _get_estackdepth() > 32 -; toolsrc/plforth.pla: 0827: puts("Stack over/underflow\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F418 !WORD _A008 - !BYTE $7A ; SAW _D041+0 -_F419 !WORD _D041+0 - !BYTE $6A ; LAW _D041+0 -_F420 !WORD _D041+0 - !BYTE $62 ; LW - !BYTE $56 ; ICAL - !BYTE $54 ; CALL _A000 -_F421 !WORD _A000 - !BYTE $2A,$20 ; CB 32 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B105 - !WORD _B105-* - !BYTE $2E ; CS - !BYTE $15 - !BYTE $53,$74,$61,$63,$6B,$20,$6F,$76 - !BYTE $65,$72,$2F,$75,$6E,$64,$65,$72 - !BYTE $66,$6C,$6F,$77,$0D - !BYTE $54 ; CALL _X004 -_F422 !WORD 0 -; toolsrc/plforth.pla: 0828: _quit_ -; toolsrc/plforth.pla: 0829: fin - !BYTE $54 ; CALL _P116 -_F423 !WORD _P116 -_B105 -_B106 -; toolsrc/plforth.pla: 0830: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0831: def execwords(wlist)#0 - ; wlist -> [0] -_C015 ; execwords() -; toolsrc/plforth.pla: 0832: word prevIP, dentry - ; prevIP -> [2] - ; dentry -> [4] -; toolsrc/plforth.pla: 0833: -; toolsrc/plforth.pla: 0834: prevIP = IIP - !BYTE $58,$06,$01 ; ENTER 6,1 -; toolsrc/plforth.pla: 0835: IIP = wlist -; toolsrc/plforth.pla: 0836: dentry = *IIP -; toolsrc/plforth.pla: 0837: while dentry - !BYTE $6A ; LAW _D040+0 -_F424 !WORD _D040+0 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D040+0 -_F425 !WORD _D040+0 - !BYTE $6A ; LAW _D040+0 -_F426 !WORD _D040+0 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B109 - !WORD _B109-* -_B107 -; toolsrc/plforth.pla: 0838: IIP = IIP + 2 -; toolsrc/plforth.pla: 0839: _execword_(dentry) -; toolsrc/plforth.pla: 0840: dentry = *IIP -; toolsrc/plforth.pla: 0841: loop - !BYTE $6A ; LAW _D040+0 -_F427 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D040+0 -_F428 !WORD _D040+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C014 -_F429 !WORD _C014 - !BYTE $6A ; LAW _D040+0 -_F430 !WORD _D040+0 - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] -_B109 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B107 - !WORD _B107-* -_B108 -; toolsrc/plforth.pla: 0842: IIP = prevIP -; toolsrc/plforth.pla: 0843: end - !BYTE $66,$02 ; LLW [2] - !BYTE $7A ; SAW _D040+0 -_F431 !WORD _D040+0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 0844: // -; toolsrc/plforth.pla: 0845: // Compile a word/literal into the dictionary: ITC and PBC -; toolsrc/plforth.pla: 0846: // -; toolsrc/plforth.pla: 0847: def _compword_(dentry)#0 - ; dentry -> [0] -_P120 ; _compword_(dentry)#0() -_C016 ; _compword_() -; toolsrc/plforth.pla: 0848: if ^_ffa_(dentry) & interponly_flag - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 0849: puts("INTERP only word\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F432 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B110 - !WORD _B110-* - !BYTE $2E ; CS - !BYTE $11 - !BYTE $49,$4E,$54,$45,$52,$50,$20,$6F - !BYTE $6E,$6C,$79,$20,$77,$6F,$72,$64 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F433 !WORD 0 -; toolsrc/plforth.pla: 0850: _quit_ -; toolsrc/plforth.pla: 0851: elsif state & comp_itc_flag - !BYTE $54 ; CALL _P116 -_F434 !WORD _P116 - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -_B110 -; toolsrc/plforth.pla: 0852: _dictaddw_(dentry) -; toolsrc/plforth.pla: 0853: else // comp_pbc_flag - !BYTE $68 ; LAB _D058+0 -_F435 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B112 - !WORD _B112-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F436 !WORD _C000 - !BYTE $50 ; BRNCH _B111 - !WORD _B111-* -_B112 -; toolsrc/plforth.pla: 0854: if ^_ffa_(dentry) & itc_flag // Check if calling ITC word -; toolsrc/plforth.pla: 0855: _dictaddb_($2C) // CONSTANT WORD -; toolsrc/plforth.pla: 0856: _dictaddw_(dentry) // Pointer to dictionary entry -; toolsrc/plforth.pla: 0857: _dictaddb_($54) // CALL _execword_ -; toolsrc/plforth.pla: 0858: _dictaddw_(@_execword_) -; toolsrc/plforth.pla: 0859: elsif ^_ffa_(dentry) & inline_flag // inline bytecode - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F437 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B113 - !WORD _B113-* - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C001 -_F438 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F439 !WORD _C000 - !BYTE $2A,$54 ; CB 84 - !BYTE $54 ; CALL _C001 -_F440 !WORD _C001 - !BYTE $26 ; LA _C014+0 -_F441 !WORD _C014+0 - !BYTE $54 ; CALL _C000 -_F442 !WORD _C000 - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B113 -; toolsrc/plforth.pla: 0860: _dictaddb_(^_pfa_(dentry)) -; toolsrc/plforth.pla: 0861: elsif ^_ffa_(dentry) & inlinew_flag // inline 2 bytecodes - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F443 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B115 - !WORD _B115-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A005 -_F444 !WORD _A005 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C001 -_F445 !WORD _C001 - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B115 -; toolsrc/plforth.pla: 0862: _dictaddw_(*_pfa_(dentry)) -; toolsrc/plforth.pla: 0863: else - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F446 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B116 - !WORD _B116-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A005 -_F447 !WORD _A005 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C000 -_F448 !WORD _C000 - !BYTE $50 ; BRNCH _B114 - !WORD _B114-* -_B116 -; toolsrc/plforth.pla: 0864: _dictaddb_($54) // CALL CFA directly -; toolsrc/plforth.pla: 0865: _dictaddw_(*_cfa_(dentry)) -; toolsrc/plforth.pla: 0866: fin - !BYTE $2A,$54 ; CB 84 - !BYTE $54 ; CALL _C001 -_F449 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F450 !WORD _A008 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C000 -_F451 !WORD _C000 -_B114 -; toolsrc/plforth.pla: 0867: fin -_B111 -; toolsrc/plforth.pla: 0868: if state & trace_flag -; toolsrc/plforth.pla: 0869: putc('['); puts(dentry); puts("] ") - !BYTE $68 ; LAB _D058+0 -_F452 !WORD _D058+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B117 - !WORD _B117-* - !BYTE $2A,$5B ; CB 91 - !BYTE $54 ; CALL _X002 -_F453 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F454 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $5D,$20 - !BYTE $54 ; CALL _X004 -_F455 !WORD 0 -; toolsrc/plforth.pla: 0870: fin -_B117 -_B118 -; toolsrc/plforth.pla: 0871: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0872: def _compliteral_(value)#0 - ; value -> [0] -_P121 ; _compliteral_(value)#0() -_C017 ; _compliteral_() -; toolsrc/plforth.pla: 0873: if state & comp_itc_flag - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 0874: _dictaddw_(@d_lit) -; toolsrc/plforth.pla: 0875: _dictaddw_(value) // Poke literal value into dictionary -; toolsrc/plforth.pla: 0876: else // comp_pbc_flag - !BYTE $68 ; LAB _D058+0 -_F456 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B119 - !WORD _B119-* - !BYTE $26 ; LA _D294+0 -_F457 !WORD _D294+0 - !BYTE $54 ; CALL _C000 -_F458 !WORD _C000 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F459 !WORD _C000 - !BYTE $50 ; BRNCH _B120 - !WORD _B120-* -_B119 -; toolsrc/plforth.pla: 0877: if value >= 0 and value <= 255 -; toolsrc/plforth.pla: 0878: if value <= 15 -; toolsrc/plforth.pla: 0879: _dictaddb_(value << 1) // CONSTANT NIBBLE -; toolsrc/plforth.pla: 0880: else - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B121 - !WORD _B121-* - !BYTE $66,$00 ; LLW [0] - !BYTE $2A,$FF ; CB 255 - !BYTE $4A ; ISLE -_B121 - !BYTE $4C ; BRFLS _B122 - !WORD _B122-* - !BYTE $66,$00 ; LLW [0] - !BYTE $1E ; CN 15 - !BYTE $4A ; ISLE - !BYTE $4C ; BRFLS _B124 - !WORD _B124-* - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _C001 -_F460 !WORD _C001 - !BYTE $50 ; BRNCH _B125 - !WORD _B125-* -_B124 -; toolsrc/plforth.pla: 0881: _dictaddb_($2A) // CONSTANT BYTE -; toolsrc/plforth.pla: 0882: _dictaddb_(value) // Poke literal value into dictionary -; toolsrc/plforth.pla: 0883: fin - !BYTE $2A,$2A ; CB 42 - !BYTE $54 ; CALL _C001 -_F461 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C001 -_F462 !WORD _C001 -_B125 -; toolsrc/plforth.pla: 0884: elsif value < 0 and value >= -256 - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B122 -; toolsrc/plforth.pla: 0885: if value == -1 -; toolsrc/plforth.pla: 0886: _dictaddb_($20) // CONSTANT MINUS_ONE -; toolsrc/plforth.pla: 0887: else - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B126 - !WORD _B126-* - !BYTE $66,$00 ; LLW [0] - !BYTE $5E,$00 ; CFFB -256 - !BYTE $48 ; ISGE -_B126 - !BYTE $4C ; BRFLS _B127 - !WORD _B127-* - !BYTE $66,$00 ; LLW [0] - !BYTE $20 ; MINUS ONE - !BYTE $24 ; BRNE _B128 - !WORD _B128-* - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F463 !WORD _C001 - !BYTE $50 ; BRNCH _B129 - !WORD _B129-* -_B128 -; toolsrc/plforth.pla: 0888: _dictaddb_($5E) // CONSTANT NEGATIVE BYTE -; toolsrc/plforth.pla: 0889: _dictaddb_(value) // Poke literal value into dictionary -; toolsrc/plforth.pla: 0890: fin - !BYTE $2A,$5E ; CB 94 - !BYTE $54 ; CALL _C001 -_F464 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C001 -_F465 !WORD _C001 -_B129 -; toolsrc/plforth.pla: 0891: else - !BYTE $50 ; BRNCH _B123 - !WORD _B123-* -_B127 -; toolsrc/plforth.pla: 0892: _dictaddb_($2C) // CONSTANT WORD -; toolsrc/plforth.pla: 0893: _dictaddw_(value) // Poke literal value into dictionary -; toolsrc/plforth.pla: 0894: fin - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C001 -_F466 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F467 !WORD _C000 -_B123 -; toolsrc/plforth.pla: 0895: fin -_B120 -; toolsrc/plforth.pla: 0896: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0897: def _interpret_#0 -_P124 ; _interpret_#0() -_C018 ; _interpret_() -; toolsrc/plforth.pla: 0898: word inchars, dentry, value - ; inchars -> [0] - ; dentry -> [2] - ; value -> [4] -; toolsrc/plforth.pla: 0899: byte inlen, valid - ; inlen -> [6] - ; valid -> [7] -; toolsrc/plforth.pla: 0900: -; toolsrc/plforth.pla: 0901: // -; toolsrc/plforth.pla: 0902: // Set flags on words -; toolsrc/plforth.pla: 0903: // -; toolsrc/plforth.pla: 0904: repeat - !BYTE $58,$08,$00 ; ENTER 8,0 -_B131 -; toolsrc/plforth.pla: 0905: inchars, inlen = nextword(' ') -; toolsrc/plforth.pla: 0906: dentry = find(inchars, inlen) -; toolsrc/plforth.pla: 0907: if dentry -; toolsrc/plforth.pla: 0908: if not (state & comp_flag) or (^_ffa_(dentry) & imm_flag) -; toolsrc/plforth.pla: 0909: if not (state & comp_flag) and (^_ffa_(dentry) & componly_flag) -; toolsrc/plforth.pla: 0910: puts(dentry) -; toolsrc/plforth.pla: 0911: puts(" : Compile only word\n") - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F468 !WORD _C005 - !BYTE $74,$06 ; SLB [6] - !BYTE $6E,$00 ; DLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $54 ; CALL _C010 -_F469 !WORD _C010 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B133 - !WORD _B133-* - !BYTE $68 ; LAB _D058+0 -_F470 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B135 - !WORD _B135-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F471 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 -_B135 - !BYTE $4C ; BRFLS _B136 - !WORD _B136-* - !BYTE $68 ; LAB _D058+0 -_F472 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B138 - !WORD _B138-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F473 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$40 ; ANDI 64 -_B138 - !BYTE $4C ; BRFLS _B139 - !WORD _B139-* - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F474 !WORD 0 - !BYTE $2E ; CS - !BYTE $15 - !BYTE $20,$3A,$20,$43,$6F,$6D,$70,$69 - !BYTE $6C,$65,$20,$6F,$6E,$6C,$79,$20 - !BYTE $77,$6F,$72,$64,$0D - !BYTE $54 ; CALL _X004 -_F475 !WORD 0 -; toolsrc/plforth.pla: 0912: _quit_ -; toolsrc/plforth.pla: 0913: fin - !BYTE $54 ; CALL _P116 -_F476 !WORD _P116 -_B139 -_B140 -; toolsrc/plforth.pla: 0914: _execword_(dentry) -; toolsrc/plforth.pla: 0915: else - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C014 -_F477 !WORD _C014 - !BYTE $50 ; BRNCH _B137 - !WORD _B137-* -_B136 -; toolsrc/plforth.pla: 0916: _compword_(dentry) -; toolsrc/plforth.pla: 0917: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C016 -_F478 !WORD _C016 -_B137 -; toolsrc/plforth.pla: 0918: else - !BYTE $50 ; BRNCH _B134 - !WORD _B134-* -_B133 -; toolsrc/plforth.pla: 0919: value, valid = _isnum_(inchars, inlen) -; toolsrc/plforth.pla: 0920: if valid -; toolsrc/plforth.pla: 0921: if state & comp_flag -; toolsrc/plforth.pla: 0922: _compliteral_(value) -; toolsrc/plforth.pla: 0923: else - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $54 ; CALL _C011 -_F479 !WORD _C011 - !BYTE $74,$07 ; SLB [7] - !BYTE $76,$04 ; SLW [4] - !BYTE $64,$07 ; LLB [7] - !BYTE $4C ; BRFLS _B141 - !WORD _B141-* - !BYTE $68 ; LAB _D058+0 -_F480 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B143 - !WORD _B143-* - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _C017 -_F481 !WORD _C017 - !BYTE $50 ; BRNCH _B144 - !WORD _B144-* -_B143 -; toolsrc/plforth.pla: 0924: _push(value) -; toolsrc/plforth.pla: 0925: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A003 -_F482 !WORD _A003 -_B144 -; toolsrc/plforth.pla: 0926: else - !BYTE $50 ; BRNCH _B142 - !WORD _B142-* -_B141 -; toolsrc/plforth.pla: 0927: inchars-- - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0928: ^inchars = inlen -; toolsrc/plforth.pla: 0929: puts(inchars) -; toolsrc/plforth.pla: 0930: puts(" ? No match\n") - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$06 ; LLB [6] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F483 !WORD 0 - !BYTE $2E ; CS - !BYTE $0C - !BYTE $20,$3F,$20,$4E,$6F,$20,$6D,$61 - !BYTE $74,$63,$68,$0D - !BYTE $54 ; CALL _X004 -_F484 !WORD 0 -; toolsrc/plforth.pla: 0931: if !brk; warmstart; fin - !BYTE $68 ; LAB _D061+0 -_F485 !WORD _D061+0 - !BYTE $4E ; BRTRU _B145 - !WORD _B145-* - !BYTE $54 ; CALL _C008 -_F486 !WORD _C008 -_B145 -_B146 -; toolsrc/plforth.pla: 0932: fin -_B142 -; toolsrc/plforth.pla: 0933: fin -_B134 -; toolsrc/plforth.pla: 0934: until state & exit_flag -_B132 - !BYTE $68 ; LAB _D058+0 -_F487 !WORD _D058+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B131 - !WORD _B131-* -_B130 -; toolsrc/plforth.pla: 0935: state = state & ~exit_flag -; toolsrc/plforth.pla: 0936: end - !BYTE $68 ; LAB _D058+0 -_F488 !WORD _D058+0 - !BYTE $5E,$FE ; CFFB -2 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D058+0 -_F489 !WORD _D058+0 - !BYTE $5A,$08 ; LEAVE 8 -; toolsrc/plforth.pla: 0937: // -; toolsrc/plforth.pla: 0938: // Intrinsics -; toolsrc/plforth.pla: 0939: // -; toolsrc/plforth.pla: 0940: def _swap_(a,b)#2 - ; a -> [0] - ; b -> [2] -_P000 ; _swap_(a,b)#2() -_C019 ; _swap_() -; toolsrc/plforth.pla: 0941: return b,a - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0942: end -; toolsrc/plforth.pla: 0943: def _ifdup_(a)#1 - ; a -> [0] -_P001 ; _ifdup_(a)#1() -_C020 ; _ifdup_() -; toolsrc/plforth.pla: 0944: if a; _push(a); fin - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B147 - !WORD _B147-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A003 -_F490 !WORD _A003 -_B147 -_B148 -; toolsrc/plforth.pla: 0945: return a - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0946: end -; toolsrc/plforth.pla: 0947: def _dup2_(a,b)#4 - ; a -> [0] - ; b -> [2] -_P004 ; _dup2_(a,b)#4() -_C021 ; _dup2_() -; toolsrc/plforth.pla: 0948: return a,b,a,b - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0949: end -; toolsrc/plforth.pla: 0950: def _over_(a,b)#3 - ; a -> [0] - ; b -> [2] -_P002 ; _over_(a,b)#3() -_C022 ; _over_() -; toolsrc/plforth.pla: 0951: return a,b,a - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0952: end -; toolsrc/plforth.pla: 0953: def _rot_(a,b,c)#3 - ; a -> [0] - ; b -> [2] - ; c -> [4] -_P003 ; _rot_(a,b,c)#3() -_C023 ; _rot_() -; toolsrc/plforth.pla: 0954: return b,c,a - !BYTE $58,$06,$03 ; ENTER 6,3 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 0955: end -; toolsrc/plforth.pla: 0956: def _wplusset_(a,b)#0 - ; a -> [0] - ; b -> [2] -_P008 ; _wplusset_(a,b)#0() -_C024 ; _wplusset_() -; toolsrc/plforth.pla: 0957: *b = *b + a - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/plforth.pla: 0958: end - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $72 ; SW - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0959: def _abs_(a)#1 - ; a -> [0] -_P005 ; _abs_(a)#1() -_C025 ; _abs_() -; toolsrc/plforth.pla: 0960: return a < 0 ?? -a :: a - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B149 - !WORD _B149-* - !BYTE $66,$00 ; LLW [0] - !BYTE $90 ; NEG - !BYTE $50 ; BRNCH _B150 - !WORD _B150-* -_B149 - !BYTE $66,$00 ; LLW [0] -_B150 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0961: end -; toolsrc/plforth.pla: 0962: def _min_(a,b)#1 - ; a -> [0] - ; b -> [2] -_P007 ; _min_(a,b)#1() -_C026 ; _min_() -; toolsrc/plforth.pla: 0963: return a > b ?? b :: a - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B151 - !WORD _B151-* - !BYTE $66,$02 ; LLW [2] - !BYTE $50 ; BRNCH _B152 - !WORD _B152-* -_B151 - !BYTE $66,$00 ; LLW [0] -_B152 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0964: end -; toolsrc/plforth.pla: 0965: def _max_(a,b) - ; a -> [0] - ; b -> [2] -_P006 ; _max_(a,b)() -_C027 ; _max_() -; toolsrc/plforth.pla: 0966: return a > b ?? a :: b - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B153 - !WORD _B153-* - !BYTE $66,$00 ; LLW [0] - !BYTE $50 ; BRNCH _B154 - !WORD _B154-* -_B153 - !BYTE $66,$02 ; LLW [2] -_B154 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 0967: end -; toolsrc/plforth.pla: 0968: def _tors_(a)#0 - ; a -> [0] -_P058 ; _tors_(a)#0() -_C028 ; _tors_() -; toolsrc/plforth.pla: 0969: if RSP == 0 - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 0970: puts("Return stack overflow\n") - !BYTE $68 ; LAB _D054+0 -_F491 !WORD _D054+0 - !BYTE $4E ; BRTRU _B155 - !WORD _B155-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $52,$65,$74,$75,$72,$6E,$20,$73 - !BYTE $74,$61,$63,$6B,$20,$6F,$76,$65 - !BYTE $72,$66,$6C,$6F,$77,$0D - !BYTE $54 ; CALL _X004 -_F492 !WORD 0 -; toolsrc/plforth.pla: 0971: _quit_ -; toolsrc/plforth.pla: 0972: fin - !BYTE $54 ; CALL _P116 -_F493 !WORD _P116 -_B155 -_B156 -; toolsrc/plforth.pla: 0973: RSP-- - !BYTE $68 ; LAB _D054+0 -_F494 !WORD _D054+0 - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 0974: RSTACK[RSP] = a -; toolsrc/plforth.pla: 0975: end - !BYTE $78 ; SAB _D054+0 -_F495 !WORD _D054+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D055+0 -_F496 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F497 !WORD _D054+0 - !BYTE $72 ; SW - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0976: def _fromrs_#1 -_P059 ; _fromrs_#1() -_C029 ; _fromrs_() -; toolsrc/plforth.pla: 0977: if RSP == RSTK_SIZE -; toolsrc/plforth.pla: 0978: puts("Return stack underflow\n") - !BYTE $68 ; LAB _D054+0 -_F498 !WORD _D054+0 - !BYTE $2A,$10 ; CB 16 - !BYTE $24 ; BRNE _B157 - !WORD _B157-* - !BYTE $2E ; CS - !BYTE $17 - !BYTE $52,$65,$74,$75,$72,$6E,$20,$73 - !BYTE $74,$61,$63,$6B,$20,$75,$6E,$64 - !BYTE $65,$72,$66,$6C,$6F,$77,$0D - !BYTE $54 ; CALL _X004 -_F499 !WORD 0 -; toolsrc/plforth.pla: 0979: _quit_ -; toolsrc/plforth.pla: 0980: fin - !BYTE $54 ; CALL _P116 -_F500 !WORD _P116 -_B157 -_B158 -; toolsrc/plforth.pla: 0981: RSP++ - !BYTE $68 ; LAB _D054+0 -_F501 !WORD _D054+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 0982: return RSTACK[RSP - 1] - !BYTE $78 ; SAB _D054+0 -_F502 !WORD _D054+0 - !BYTE $26 ; LA _D055+0 -_F503 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F504 !WORD _D054+0 - !BYTE $8E ; DECR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $5C ; RET -; toolsrc/plforth.pla: 0983: end -; toolsrc/plforth.pla: 0984: def _toprs_#1 -_P060 ; _toprs_#1() -_C030 ; _toprs_() -; toolsrc/plforth.pla: 0985: return RSTACK[RSP] - !BYTE $26 ; LA _D055+0 -_F505 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F506 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $5C ; RET -; toolsrc/plforth.pla: 0986: end -; toolsrc/plforth.pla: 0987: def _lit_#1 -_P071 ; _lit_#1() -_C031 ; _lit_() -; toolsrc/plforth.pla: 0988: word lit - ; lit -> [0] -; toolsrc/plforth.pla: 0989: -; toolsrc/plforth.pla: 0990: lit = *IIP - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 0991: IIP = IIP + 2 -; toolsrc/plforth.pla: 0992: return lit - !BYTE $6A ; LAW _D040+0 -_F507 !WORD _D040+0 - !BYTE $62 ; LW - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D040+0 -_F508 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D040+0 -_F509 !WORD _D040+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 0993: end -; toolsrc/plforth.pla: 0994: def _slit_#1 -_P072 ; _slit_#1() -_C032 ; _slit_() -; toolsrc/plforth.pla: 0995: word slit - ; slit -> [0] -; toolsrc/plforth.pla: 0996: -; toolsrc/plforth.pla: 0997: slit = IIP - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 0998: IIP = IIP + ^IIP + 1 -; toolsrc/plforth.pla: 0999: return slit - !BYTE $6A ; LAW _D040+0 -_F510 !WORD _D040+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $6A ; LAW _D040+0 -_F511 !WORD _D040+0 - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D040+0 -_F512 !WORD _D040+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1000: end -; toolsrc/plforth.pla: 1001: def _allot_(a)#0 - ; a -> [0] -_P014 ; _allot_(a)#0() -_C033 ; _allot_() -; toolsrc/plforth.pla: 1002: heapalloc(a) - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1003: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X014 -_F513 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1004: def _cmove_(a,b,c)#0 - ; a -> [0] - ; b -> [2] - ; c -> [4] -_P064 ; _cmove_(a,b,c)#0() -_C034 ; _cmove_() -; toolsrc/plforth.pla: 1005: memcpy(b, a, c) - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/plforth.pla: 1006: end - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X018 -_F514 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 1007: def _move_(a,b,c)#0 - ; a -> [0] - ; b -> [2] - ; c -> [4] -_P065 ; _move_(a,b,c)#0() -_C035 ; _move_() -; toolsrc/plforth.pla: 1008: memcpy(b, a, c * 2) - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/plforth.pla: 1009: end - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $54 ; CALL _X018 -_F515 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 1010: def _fill_(a,b,c)#0 - ; a -> [0] - ; b -> [2] - ; c -> [4] -_P066 ; _fill_(a,b,c)#0() -_C036 ; _fill_() -; toolsrc/plforth.pla: 1011: memset(a, c | (c << 8), b) - !BYTE $58,$06,$03 ; ENTER 6,3 -; toolsrc/plforth.pla: 1012: end - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $34 ; DUP - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $96 ; OR - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X017 -_F516 !WORD 0 - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 1013: def _pad_#1 -_P056 ; _pad_#1() -_C037 ; _pad_() -; toolsrc/plforth.pla: 1014: return heapmark + 768 // Make sure to avoid JIT heap usage - !BYTE $54 ; CALL _X012 -_F517 !WORD 0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $82 ; ADD - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1015: end -; toolsrc/plforth.pla: 1016: def _trailing_(a,b)#2 - ; a -> [0] - ; b -> [2] -_P057 ; _trailing_(a,b)#2() -_C038 ; _trailing_() -; toolsrc/plforth.pla: 1017: while b and ^(a + b - 1) == ' ' - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B161 - !WORD _B161-* -_B159 -; toolsrc/plforth.pla: 1018: b-- - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1019: loop - !BYTE $76,$02 ; SLW [2] -_B161 - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B162 - !WORD _B162-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $8E ; DECR - !BYTE $60 ; LB - !BYTE $2A,$20 ; CB 32 - !BYTE $40 ; ISEQ -_B162 - !BYTE $4E ; BRTRU _B159 - !WORD _B159-* -_B160 -; toolsrc/plforth.pla: 1020: return a, b - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1021: end -; toolsrc/plforth.pla: 1022: def _compare_(a,b,c,d)#1 - ; a -> [0] - ; b -> [2] - ; c -> [4] - ; d -> [6] -_P068 ; _compare_(a,b,c,d)#1() -_C039 ; _compare_() -; toolsrc/plforth.pla: 1023: byte i, l - ; i -> [8] - ; l -> [9] -; toolsrc/plforth.pla: 1024: -; toolsrc/plforth.pla: 1025: l = b < d ?? b :: d - !BYTE $58,$0A,$04 ; ENTER 10,4 -; toolsrc/plforth.pla: 1026: for i = 0 to l - 1 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B163 - !WORD _B163-* - !BYTE $66,$02 ; LLW [2] - !BYTE $50 ; BRNCH _B164 - !WORD _B164-* -_B163 - !BYTE $66,$06 ; LLW [6] -_B164 - !BYTE $6C,$09 ; DLB [9] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B165 - !WORD _B165-* -_B166 - !BYTE $6C,$08 ; DLB [8] -; toolsrc/plforth.pla: 1027: if ^(a + i) <> ^(c + i) -; toolsrc/plforth.pla: 1028: return ^(a + i) < ^(c + i) ?? -1 :: 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $22 ; BREQ _B168 - !WORD _B168-* - !BYTE $32 ; DROP2 - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $66,$04 ; LLW [4] - !BYTE $B0,$08 ; ADDLB [8] - !BYTE $60 ; LB - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B170 - !WORD _B170-* - !BYTE $20 ; MINUS ONE - !BYTE $50 ; BRNCH _B171 - !WORD _B171-* -_B170 - !BYTE $02 ; CN 1 -_B171 - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/plforth.pla: 1029: fin -_B168 -_B169 -; toolsrc/plforth.pla: 1030: next -_B167 - !BYTE $A4 ; INCBRLE _B166 - !WORD _B166-* -_B165 - !BYTE $74,$08 ; SLB [8] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 1031: if b < d return -1 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B172 - !WORD _B172-* - !BYTE $20 ; MINUS ONE - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/plforth.pla: 1032: elsif b > d return 1 - !BYTE $50 ; BRNCH _B173 - !WORD _B173-* -_B172 - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B174 - !WORD _B174-* - !BYTE $02 ; CN 1 - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/plforth.pla: 1033: fin -_B174 -_B173 -; toolsrc/plforth.pla: 1034: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/plforth.pla: 1035: end -; toolsrc/plforth.pla: 1036: def _latest_#1 -_P062 ; _latest_#1() -_C040 ; _latest_() -; toolsrc/plforth.pla: 1037: return latest - !BYTE $6A ; LAW _D037+0 -_F518 !WORD _D037+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1038: end -; toolsrc/plforth.pla: 1039: def newdict#0 -_C041 ; newdict() -; toolsrc/plforth.pla: 1040: word plist, namechars, namelen - ; plist -> [0] - ; namechars -> [2] - ; namelen -> [4] -; toolsrc/plforth.pla: 1041: byte i - ; i -> [6] -; toolsrc/plforth.pla: 1042: -; toolsrc/plforth.pla: 1043: namechars, namelen = nextword(' ') - !BYTE $58,$07,$00 ; ENTER 7,0 -; toolsrc/plforth.pla: 1044: plist = latest -; toolsrc/plforth.pla: 1045: latest = heapalloc(namelen + 8) -; toolsrc/plforth.pla: 1046: for i = 0 to namelen-1 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F519 !WORD _C005 - !BYTE $76,$04 ; SLW [4] - !BYTE $76,$02 ; SLW [2] - !BYTE $6A ; LAW _D037+0 -_F520 !WORD _D037+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$08 ; ADDI 8 - !BYTE $54 ; CALL _X014 -_F521 !WORD 0 - !BYTE $7A ; SAW _D037+0 -_F522 !WORD _D037+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $8E ; DECR - !BYTE $00 ; CN 0 - !BYTE $A0 ; BRGT _B175 - !WORD _B175-* -_B176 - !BYTE $6C,$06 ; DLB [6] -; toolsrc/plforth.pla: 1047: ^(latest + i + 1) = toupper(^(namechars + i)) -; toolsrc/plforth.pla: 1048: next - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F523 !WORD 0 - !BYTE $6A ; LAW _D037+0 -_F524 !WORD _D037+0 - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB -_B177 - !BYTE $A4 ; INCBRLE _B176 - !WORD _B176-* -_B175 - !BYTE $74,$06 ; SLB [6] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 1049: //memcpy(latest + 1, namechars, namelen) -; toolsrc/plforth.pla: 1050: ^latest = namelen -; toolsrc/plforth.pla: 1051: ^_ffa_(latest) = 0 -; toolsrc/plforth.pla: 1052: *_lfa_(latest) = plist -; toolsrc/plforth.pla: 1053: *_hfa_(latest) = 0 -; toolsrc/plforth.pla: 1054: *_cfa_(latest) = _pfa_(latest) -; toolsrc/plforth.pla: 1055: end - !BYTE $66,$04 ; LLW [4] - !BYTE $6A ; LAW _D037+0 -_F525 !WORD _D037+0 - !BYTE $70 ; SB - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D037+0 -_F526 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F527 !WORD _A004 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D037+0 -_F528 !WORD _D037+0 - !BYTE $54 ; CALL _A007 -_F529 !WORD _A007 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D037+0 -_F530 !WORD _D037+0 - !BYTE $54 ; CALL _A006 -_F531 !WORD _A006 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D037+0 -_F532 !WORD _D037+0 - !BYTE $54 ; CALL _A005 -_F533 !WORD _A005 - !BYTE $6A ; LAW _D037+0 -_F534 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F535 !WORD _A008 - !BYTE $72 ; SW - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/plforth.pla: 1056: def _plasma_(a)#0 - ; a -> [0] -_P067 ; _plasma_(a)#0() -_C042 ; _plasma_() -; toolsrc/plforth.pla: 1057: newdict - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1058: ^_ffa_(latest) = showcr_flag -; toolsrc/plforth.pla: 1059: *_cfa_(latest) = a // PLASMA code address -; toolsrc/plforth.pla: 1060: addhash(latest) -; toolsrc/plforth.pla: 1061: end - !BYTE $54 ; CALL _C041 -_F536 !WORD _C041 - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D037+0 -_F537 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F538 !WORD _A004 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D037+0 -_F539 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F540 !WORD _A008 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D037+0 -_F541 !WORD _D037+0 - !BYTE $54 ; CALL _C006 -_F542 !WORD _C006 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1062: def _var_(a)#0 - ; a -> [0] -_P069 ; _var_(a)#0() -_C043 ; _var_() -; toolsrc/plforth.pla: 1063: newdict - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1064: _dictaddb_(JSR); _dictaddw_(vmvect) -; toolsrc/plforth.pla: 1065: _dictaddb_($2C) // CONSTANT WORD -; toolsrc/plforth.pla: 1066: _dictaddw_(heapmark + 3) // Poiner to variable in PFA -; toolsrc/plforth.pla: 1067: _dictaddb_($5C) // RET -; toolsrc/plforth.pla: 1068: _dictaddw_(a) // Variable storage -; toolsrc/plforth.pla: 1069: addhash(latest) -; toolsrc/plforth.pla: 1070: end - !BYTE $54 ; CALL _C041 -_F543 !WORD _C041 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F544 !WORD _C001 - !BYTE $6A ; LAW _D042+0 -_F545 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F546 !WORD _C000 - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C001 -_F547 !WORD _C001 - !BYTE $54 ; CALL _X012 -_F548 !WORD 0 - !BYTE $38,$03 ; ADDI 3 - !BYTE $54 ; CALL _C000 -_F549 !WORD _C000 - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C001 -_F550 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F551 !WORD _C000 - !BYTE $6A ; LAW _D037+0 -_F552 !WORD _D037+0 - !BYTE $54 ; CALL _C006 -_F553 !WORD _C006 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1071: def _const_(a)#0 - ; a -> [0] -_P070 ; _const_(a)#0() -_C044 ; _const_() -; toolsrc/plforth.pla: 1072: newdict - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1073: _dictaddb_(JSR); _dictaddw_(vmvect) -; toolsrc/plforth.pla: 1074: _dictaddb_($2C) // CONSTANT WORD -; toolsrc/plforth.pla: 1075: _dictaddw_(a) -; toolsrc/plforth.pla: 1076: _dictaddb_($5C) // RET -; toolsrc/plforth.pla: 1077: addhash(latest) -; toolsrc/plforth.pla: 1078: end - !BYTE $54 ; CALL _C041 -_F554 !WORD _C041 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F555 !WORD _C001 - !BYTE $6A ; LAW _D042+0 -_F556 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F557 !WORD _C000 - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C001 -_F558 !WORD _C001 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C000 -_F559 !WORD _C000 - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C001 -_F560 !WORD _C001 - !BYTE $6A ; LAW _D037+0 -_F561 !WORD _D037+0 - !BYTE $54 ; CALL _C006 -_F562 !WORD _C006 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1079: def _create_#0 -_P041 ; _create_#0() -_C045 ; _create_() -; toolsrc/plforth.pla: 1080: newdict -; toolsrc/plforth.pla: 1081: _dictaddb_(JSR); _dictaddw_(vmvect) -; toolsrc/plforth.pla: 1082: _dictaddb_($2C) // CONSTANT WORD -; toolsrc/plforth.pla: 1083: _dictaddw_(heapmark + 5) // Pointer to rest of PFA -; toolsrc/plforth.pla: 1084: _dictaddb_($5C) // RET -; toolsrc/plforth.pla: 1085: _dictaddw_(0) // reserved word for DOES> -; toolsrc/plforth.pla: 1086: addhash(latest) -; toolsrc/plforth.pla: 1087: // -; toolsrc/plforth.pla: 1088: // 9 bytes after PFA, data follows... -; toolsrc/plforth.pla: 1089: // -; toolsrc/plforth.pla: 1090: end - !BYTE $54 ; CALL _C041 -_F563 !WORD _C041 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F564 !WORD _C001 - !BYTE $6A ; LAW _D042+0 -_F565 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F566 !WORD _C000 - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C001 -_F567 !WORD _C001 - !BYTE $54 ; CALL _X012 -_F568 !WORD 0 - !BYTE $38,$05 ; ADDI 5 - !BYTE $54 ; CALL _C000 -_F569 !WORD _C000 - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C001 -_F570 !WORD _C001 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F571 !WORD _C000 - !BYTE $6A ; LAW _D037+0 -_F572 !WORD _D037+0 - !BYTE $54 ; CALL _C006 -_F573 !WORD _C006 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1091: def _state_#1 -_P046 ; _state_#1() -_C046 ; _state_() -; toolsrc/plforth.pla: 1092: return state & comp_flag - !BYTE $68 ; LAB _D058+0 -_F574 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1093: end -; toolsrc/plforth.pla: 1094: def _dodoes_#0 -_C047 ; _dodoes_() -; toolsrc/plforth.pla: 1095: _push(W + 11) // Pointer to PFA storage -; toolsrc/plforth.pla: 1096: execwords(*(W + 2)) // Exec PFA ptr -; toolsrc/plforth.pla: 1097: end - !BYTE $6A ; LAW _D041+0 -_F575 !WORD _D041+0 - !BYTE $38,$0B ; ADDI 11 - !BYTE $54 ; CALL _A003 -_F576 !WORD _A003 - !BYTE $6A ; LAW _D041+0 -_F577 !WORD _D041+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C015 -_F578 !WORD _C015 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1098: def _itcdoes_(a)#0 - ; a -> [0] -_P042 ; _itcdoes_(a)#0() -_C048 ; _itcdoes_() -; toolsrc/plforth.pla: 1099: // -; toolsrc/plforth.pla: 1100: // Overwrite CREATE as ITC words -; toolsrc/plforth.pla: 1101: // -; toolsrc/plforth.pla: 1102: ^_ffa_(latest) = ^_ffa_(latest) | itc_flag - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1103: *_cfa_(latest) = @_dodoes_ -; toolsrc/plforth.pla: 1104: *_pfa_(latest) = a // Fill in DOES code address -; toolsrc/plforth.pla: 1105: end - !BYTE $6A ; LAW _D037+0 -_F579 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F580 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3E,$10 ; ORI 16 - !BYTE $6A ; LAW _D037+0 -_F581 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F582 !WORD _A004 - !BYTE $70 ; SB - !BYTE $26 ; LA _C047+0 -_F583 !WORD _C047+0 - !BYTE $6A ; LAW _D037+0 -_F584 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F585 !WORD _A008 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D037+0 -_F586 !WORD _D037+0 - !BYTE $54 ; CALL _A005 -_F587 !WORD _A005 - !BYTE $72 ; SW - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1106: def _pbcdoes_(a)#0 - ; a -> [0] -_C049 ; _pbcdoes_() -; toolsrc/plforth.pla: 1107: // -; toolsrc/plforth.pla: 1108: // Rewrite the end of CREATE -; toolsrc/plforth.pla: 1109: // -; toolsrc/plforth.pla: 1110: ^(_pfa_(latest) + 6) = $C4 // JUMP DOES> directly - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1111: *(_pfa_(latest) + 7) = a -; toolsrc/plforth.pla: 1112: end - !BYTE $2A,$C4 ; CB 196 - !BYTE $6A ; LAW _D037+0 -_F588 !WORD _D037+0 - !BYTE $54 ; CALL _A005 -_F589 !WORD _A005 - !BYTE $38,$06 ; ADDI 6 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D037+0 -_F590 !WORD _D037+0 - !BYTE $54 ; CALL _A005 -_F591 !WORD _A005 - !BYTE $38,$07 ; ADDI 7 - !BYTE $72 ; SW - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1113: def _does_#0 -_P043 ; _does_#0() -_C050 ; _does_() -; toolsrc/plforth.pla: 1114: if state & comp_itc_flag -; toolsrc/plforth.pla: 1115: _dictaddw_(@d_lit) -; toolsrc/plforth.pla: 1116: _dictaddw_(heapmark + 8) // Pointer to DOES code -; toolsrc/plforth.pla: 1117: _dictaddw_(@d_createdoes) -; toolsrc/plforth.pla: 1118: _dictaddw_(0) // Double zero for SHOW -; toolsrc/plforth.pla: 1119: _dictaddw_(0) -; toolsrc/plforth.pla: 1120: // End of -; toolsrc/plforth.pla: 1121: else // comp_pbc_flag - !BYTE $68 ; LAB _D058+0 -_F592 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B178 - !WORD _B178-* - !BYTE $26 ; LA _D294+0 -_F593 !WORD _D294+0 - !BYTE $54 ; CALL _C000 -_F594 !WORD _C000 - !BYTE $54 ; CALL _X012 -_F595 !WORD 0 - !BYTE $38,$08 ; ADDI 8 - !BYTE $54 ; CALL _C000 -_F596 !WORD _C000 - !BYTE $26 ; LA _D273+0 -_F597 !WORD _D273+0 - !BYTE $54 ; CALL _C000 -_F598 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F599 !WORD _C000 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F600 !WORD _C000 - !BYTE $50 ; BRNCH _B179 - !WORD _B179-* -_B178 -; toolsrc/plforth.pla: 1122: _dictaddb_($2C) // CONSTANT WORD -; toolsrc/plforth.pla: 1123: _dictaddw_(heapmark + 6) // Pointer to DOES code -; toolsrc/plforth.pla: 1124: _dictaddb_($54) // CALL -; toolsrc/plforth.pla: 1125: _dictaddw_(@_pbcdoes_) // Fills in code address reserved in _compbuilds_ -; toolsrc/plforth.pla: 1126: _dictaddb_($5C) // RET -; toolsrc/plforth.pla: 1127: // End of code -; toolsrc/plforth.pla: 1128: fin - !BYTE $2A,$2C ; CB 44 - !BYTE $54 ; CALL _C001 -_F601 !WORD _C001 - !BYTE $54 ; CALL _X012 -_F602 !WORD 0 - !BYTE $38,$06 ; ADDI 6 - !BYTE $54 ; CALL _C000 -_F603 !WORD _C000 - !BYTE $2A,$54 ; CB 84 - !BYTE $54 ; CALL _C001 -_F604 !WORD _C001 - !BYTE $26 ; LA _C049+0 -_F605 !WORD _C049+0 - !BYTE $54 ; CALL _C000 -_F606 !WORD _C000 - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C001 -_F607 !WORD _C001 -_B179 -; toolsrc/plforth.pla: 1129: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1130: def _dodefer_#0 -_C051 ; _dodefer_() -; toolsrc/plforth.pla: 1131: _execword_(*(W + 2)) // Exec deferred word -; toolsrc/plforth.pla: 1132: end - !BYTE $6A ; LAW _D041+0 -_F608 !WORD _D041+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C014 -_F609 !WORD _C014 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1133: def _defer_#0 -_P038 ; _defer_#0() -_C052 ; _defer_() -; toolsrc/plforth.pla: 1134: newdict -; toolsrc/plforth.pla: 1135: _dictaddb_(RTS); _dictaddw_(0) // NO-OP and space for deferred pfa -; toolsrc/plforth.pla: 1136: addhash(latest) -; toolsrc/plforth.pla: 1137: end - !BYTE $54 ; CALL _C041 -_F610 !WORD _C041 - !BYTE $2A,$60 ; CB 96 - !BYTE $54 ; CALL _C001 -_F611 !WORD _C001 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F612 !WORD _C000 - !BYTE $6A ; LAW _D037+0 -_F613 !WORD _D037+0 - !BYTE $54 ; CALL _C006 -_F614 !WORD _C006 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1138: def _is_(a)#0 - ; a -> [0] -_P039 ; _is_(a)#0() -_C053 ; _is_() -; toolsrc/plforth.pla: 1139: word dentry - ; dentry -> [2] -; toolsrc/plforth.pla: 1140: -; toolsrc/plforth.pla: 1141: dentry = find(nextword(' ')) - !BYTE $58,$04,$01 ; ENTER 4,1 -; toolsrc/plforth.pla: 1142: if dentry -; toolsrc/plforth.pla: 1143: ^_ffa_(dentry) = ^_ffa_(a) -; toolsrc/plforth.pla: 1144: if ^_ffa_(dentry) & itc_flag -; toolsrc/plforth.pla: 1145: *_cfa_(dentry) = @_dodefer_ -; toolsrc/plforth.pla: 1146: *_pfa_(dentry) = a -; toolsrc/plforth.pla: 1147: else // comp_pbc_flag - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F615 !WORD _C005 - !BYTE $54 ; CALL _C010 -_F616 !WORD _C010 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B180 - !WORD _B180-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F617 !WORD _A004 - !BYTE $60 ; LB - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F618 !WORD _A004 - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A004 -_F619 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B182 - !WORD _B182-* - !BYTE $26 ; LA _C051+0 -_F620 !WORD _C051+0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A008 -_F621 !WORD _A008 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A005 -_F622 !WORD _A005 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B183 - !WORD _B183-* -_B182 -; toolsrc/plforth.pla: 1148: *_cfa_(dentry) = _pfa_(dentry) -; toolsrc/plforth.pla: 1149: ^_pfa_(dentry) = JMP -; toolsrc/plforth.pla: 1150: *(_pfa_(dentry) + 1) = *_cfa_(a) -; toolsrc/plforth.pla: 1151: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A005 -_F623 !WORD _A005 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A008 -_F624 !WORD _A008 - !BYTE $72 ; SW - !BYTE $2A,$4C ; CB 76 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A005 -_F625 !WORD _A005 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F626 !WORD _A008 - !BYTE $62 ; LW - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _A005 -_F627 !WORD _A005 - !BYTE $8C ; INCR - !BYTE $72 ; SW -_B183 -; toolsrc/plforth.pla: 1152: else - !BYTE $50 ; BRNCH _B181 - !WORD _B181-* -_B180 -; toolsrc/plforth.pla: 1153: puts(a); puts(" Not found") - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F628 !WORD 0 - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$4E,$6F,$74,$20,$66,$6F,$75 - !BYTE $6E,$64 - !BYTE $54 ; CALL _X004 -_F629 !WORD 0 -; toolsrc/plforth.pla: 1154: _quit_ -; toolsrc/plforth.pla: 1155: fin - !BYTE $54 ; CALL _P116 -_F630 !WORD _P116 -_B181 -; toolsrc/plforth.pla: 1156: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1157: def _docolon_#0 -_C054 ; _docolon_() -; toolsrc/plforth.pla: 1158: execwords(W + 2) // Exec PFA -; toolsrc/plforth.pla: 1159: end - !BYTE $6A ; LAW _D041+0 -_F631 !WORD _D041+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C015 -_F632 !WORD _C015 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1160: def _colon_#0 -_P050 ; _colon_#0() -_C055 ; _colon_() -; toolsrc/plforth.pla: 1161: newdict -; toolsrc/plforth.pla: 1162: state = state | comp_mode -; toolsrc/plforth.pla: 1163: if state & comp_itc_flag -; toolsrc/plforth.pla: 1164: ^_ffa_(latest) = itc_flag | showcr_flag -; toolsrc/plforth.pla: 1165: *_cfa_(latest) = @_docolon_ -; toolsrc/plforth.pla: 1166: else // comp_pbc_flag - !BYTE $54 ; CALL _C041 -_F633 !WORD _C041 - !BYTE $68 ; LAB _D058+0 -_F634 !WORD _D058+0 - !BYTE $68 ; LAB _D057+0 -_F635 !WORD _D057+0 - !BYTE $96 ; OR - !BYTE $7C ; DAB _D058+0 -_F636 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B184 - !WORD _B184-* - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D037+0 -_F637 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F638 !WORD _A004 - !BYTE $70 ; SB - !BYTE $26 ; LA _C054+0 -_F639 !WORD _C054+0 - !BYTE $6A ; LAW _D037+0 -_F640 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F641 !WORD _A008 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B185 - !WORD _B185-* -_B184 -; toolsrc/plforth.pla: 1167: ^_ffa_(latest) = showcr_flag -; toolsrc/plforth.pla: 1168: _dictaddb_(JSR); _dictaddw_(vmvect) -; toolsrc/plforth.pla: 1169: fin - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D037+0 -_F642 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F643 !WORD _A004 - !BYTE $70 ; SB - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F644 !WORD _C001 - !BYTE $6A ; LAW _D042+0 -_F645 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F646 !WORD _C000 -_B185 -; toolsrc/plforth.pla: 1170: if state & trace_flag -; toolsrc/plforth.pla: 1171: puts(latest); putc(' ') -; toolsrc/plforth.pla: 1172: fin - !BYTE $68 ; LAB _D058+0 -_F647 !WORD _D058+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B186 - !WORD _B186-* - !BYTE $6A ; LAW _D037+0 -_F648 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F649 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F650 !WORD 0 -_B186 -_B187 -; toolsrc/plforth.pla: 1173: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1174: def _noname_#0 -_P040 ; _noname_#0() -_C056 ; _noname_() -; toolsrc/plforth.pla: 1175: word plist - ; plist -> [0] -; toolsrc/plforth.pla: 1176: -; toolsrc/plforth.pla: 1177: plist = latest - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1178: latest = heapalloc(8) -; toolsrc/plforth.pla: 1179: ^latest = 0 -; toolsrc/plforth.pla: 1180: *_lfa_(latest) = plist -; toolsrc/plforth.pla: 1181: *_hfa_(latest) = 0 -; toolsrc/plforth.pla: 1182: state = state | comp_mode -; toolsrc/plforth.pla: 1183: if state & comp_itc_flag -; toolsrc/plforth.pla: 1184: ^_ffa_(latest) = itc_flag | showcr_flag -; toolsrc/plforth.pla: 1185: *_cfa_(latest) = @_docolon_ -; toolsrc/plforth.pla: 1186: else // comp_pbc_flag - !BYTE $6A ; LAW _D037+0 -_F651 !WORD _D037+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $10 ; CN 8 - !BYTE $54 ; CALL _X014 -_F652 !WORD 0 - !BYTE $7A ; SAW _D037+0 -_F653 !WORD _D037+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D037+0 -_F654 !WORD _D037+0 - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D037+0 -_F655 !WORD _D037+0 - !BYTE $54 ; CALL _A007 -_F656 !WORD _A007 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D037+0 -_F657 !WORD _D037+0 - !BYTE $54 ; CALL _A006 -_F658 !WORD _A006 - !BYTE $72 ; SW - !BYTE $68 ; LAB _D058+0 -_F659 !WORD _D058+0 - !BYTE $68 ; LAB _D057+0 -_F660 !WORD _D057+0 - !BYTE $96 ; OR - !BYTE $7C ; DAB _D058+0 -_F661 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B188 - !WORD _B188-* - !BYTE $2A,$18 ; CB 24 - !BYTE $6A ; LAW _D037+0 -_F662 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F663 !WORD _A004 - !BYTE $70 ; SB - !BYTE $26 ; LA _C054+0 -_F664 !WORD _C054+0 - !BYTE $6A ; LAW _D037+0 -_F665 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F666 !WORD _A008 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B189 - !WORD _B189-* -_B188 -; toolsrc/plforth.pla: 1187: ^_ffa_(latest) = showcr_flag -; toolsrc/plforth.pla: 1188: *_cfa_(latest) = _pfa_(latest) -; toolsrc/plforth.pla: 1189: _dictaddb_(JSR); _dictaddw_(vmvect) -; toolsrc/plforth.pla: 1190: fin - !BYTE $10 ; CN 8 - !BYTE $6A ; LAW _D037+0 -_F667 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F668 !WORD _A004 - !BYTE $70 ; SB - !BYTE $6A ; LAW _D037+0 -_F669 !WORD _D037+0 - !BYTE $54 ; CALL _A005 -_F670 !WORD _A005 - !BYTE $6A ; LAW _D037+0 -_F671 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F672 !WORD _A008 - !BYTE $72 ; SW - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F673 !WORD _C001 - !BYTE $6A ; LAW _D042+0 -_F674 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F675 !WORD _C000 -_B189 -; toolsrc/plforth.pla: 1191: if state & trace_flag -; toolsrc/plforth.pla: 1192: puts(latest); putc(' ') -; toolsrc/plforth.pla: 1193: fin - !BYTE $68 ; LAB _D058+0 -_F676 !WORD _D058+0 - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B190 - !WORD _B190-* - !BYTE $6A ; LAW _D037+0 -_F677 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F678 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F679 !WORD 0 -_B190 -_B191 -; toolsrc/plforth.pla: 1194: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1195: def _exit_#0 -_P055 ; _exit_#0() -_C057 ; _exit_() -; toolsrc/plforth.pla: 1196: if state & comp_itc_flag -; toolsrc/plforth.pla: 1197: _dictaddw_(0) -; toolsrc/plforth.pla: 1198: elsif state & comp_pbc_flag - !BYTE $68 ; LAB _D058+0 -_F680 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B192 - !WORD _B192-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F681 !WORD _C000 - !BYTE $50 ; BRNCH _B193 - !WORD _B193-* -_B192 -; toolsrc/plforth.pla: 1199: _dictaddb_($5C) // RET -; toolsrc/plforth.pla: 1200: fin - !BYTE $68 ; LAB _D058+0 -_F682 !WORD _D058+0 - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B194 - !WORD _B194-* - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C001 -_F683 !WORD _C001 -_B194 -_B193 -; toolsrc/plforth.pla: 1201: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1202: def _semi_#0 -_P051 ; _semi_#0() -_C058 ; _semi_() -; toolsrc/plforth.pla: 1203: _exit_ -; toolsrc/plforth.pla: 1204: if state & comp_itc_flag // Add double zero at end of definition for SHOW -; toolsrc/plforth.pla: 1205: _dictaddw_(0) -; toolsrc/plforth.pla: 1206: fin - !BYTE $54 ; CALL _C057 -_F684 !WORD _C057 - !BYTE $68 ; LAB _D058+0 -_F685 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B195 - !WORD _B195-* - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C000 -_F686 !WORD _C000 -_B195 -_B196 -; toolsrc/plforth.pla: 1207: if ^latest -; toolsrc/plforth.pla: 1208: addhash(latest) // COLON definition -; toolsrc/plforth.pla: 1209: else - !BYTE $6A ; LAW _D037+0 -_F687 !WORD _D037+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B197 - !WORD _B197-* - !BYTE $6A ; LAW _D037+0 -_F688 !WORD _D037+0 - !BYTE $54 ; CALL _C006 -_F689 !WORD _C006 - !BYTE $50 ; BRNCH _B198 - !WORD _B198-* -_B197 -; toolsrc/plforth.pla: 1210: _push(latest) // NONAME definition -; toolsrc/plforth.pla: 1211: fin - !BYTE $6A ; LAW _D037+0 -_F690 !WORD _D037+0 - !BYTE $54 ; CALL _A003 -_F691 !WORD _A003 -_B198 -; toolsrc/plforth.pla: 1212: state = state & ~comp_flag -; toolsrc/plforth.pla: 1213: end - !BYTE $68 ; LAB _D058+0 -_F692 !WORD _D058+0 - !BYTE $5E,$CF ; CFFB -49 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D058+0 -_F693 !WORD _D058+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1214: def _postpone_#0 -_P047 ; _postpone_#0() -_C059 ; _postpone_() -; toolsrc/plforth.pla: 1215: word dentry - ; dentry -> [0] -; toolsrc/plforth.pla: 1216: -; toolsrc/plforth.pla: 1217: dentry = find(nextword(' ')) - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1218: if dentry -; toolsrc/plforth.pla: 1219: _compword_(dentry) -; toolsrc/plforth.pla: 1220: else - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F694 !WORD _C005 - !BYTE $54 ; CALL _C010 -_F695 !WORD _C010 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B199 - !WORD _B199-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C016 -_F696 !WORD _C016 - !BYTE $50 ; BRNCH _B200 - !WORD _B200-* -_B199 -; toolsrc/plforth.pla: 1221: puts("No match\n") - !BYTE $2E ; CS - !BYTE $09 - !BYTE $4E,$6F,$20,$6D,$61,$74,$63,$68 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F697 !WORD 0 -; toolsrc/plforth.pla: 1222: _quit_ -; toolsrc/plforth.pla: 1223: fin - !BYTE $54 ; CALL _P116 -_F698 !WORD _P116 -_B200 -; toolsrc/plforth.pla: 1224: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1225: def _compoff_#0 -_P044 ; _compoff_#0() -_C060 ; _compoff_() -; toolsrc/plforth.pla: 1226: state = state & ~comp_flag -; toolsrc/plforth.pla: 1227: end - !BYTE $68 ; LAB _D058+0 -_F699 !WORD _D058+0 - !BYTE $5E,$CF ; CFFB -49 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D058+0 -_F700 !WORD _D058+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1228: def _compon_#0 -_P045 ; _compon_#0() -_C061 ; _compon_() -; toolsrc/plforth.pla: 1229: state = state | comp_mode -; toolsrc/plforth.pla: 1230: end - !BYTE $68 ; LAB _D058+0 -_F701 !WORD _D058+0 - !BYTE $68 ; LAB _D057+0 -_F702 !WORD _D057+0 - !BYTE $96 ; OR - !BYTE $78 ; SAB _D058+0 -_F703 !WORD _D058+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1231: def _componly_#0 -_P052 ; _componly_#0() -_C062 ; _componly_() -; toolsrc/plforth.pla: 1232: ^_ffa_(latest) = ^_ffa_(latest) | componly_flag -; toolsrc/plforth.pla: 1233: end - !BYTE $6A ; LAW _D037+0 -_F704 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F705 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3E,$40 ; ORI 64 - !BYTE $6A ; LAW _D037+0 -_F706 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F707 !WORD _A004 - !BYTE $70 ; SB - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1234: def _interponly_#0 -_P053 ; _interponly_#0() -_C063 ; _interponly_() -; toolsrc/plforth.pla: 1235: ^_ffa_(latest) = ^_ffa_(latest) | interponly_flag -; toolsrc/plforth.pla: 1236: end - !BYTE $6A ; LAW _D037+0 -_F708 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F709 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3E,$80 ; ORI 128 - !BYTE $6A ; LAW _D037+0 -_F710 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F711 !WORD _A004 - !BYTE $70 ; SB - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1237: def _immediate_#0 -_P054 ; _immediate_#0() -_C064 ; _immediate_() -; toolsrc/plforth.pla: 1238: ^_ffa_(latest) = ^_ffa_(latest) | imm_flag -; toolsrc/plforth.pla: 1239: end - !BYTE $6A ; LAW _D037+0 -_F712 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F713 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3E,$20 ; ORI 32 - !BYTE $6A ; LAW _D037+0 -_F714 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F715 !WORD _A004 - !BYTE $70 ; SB - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1240: def _branch_#0 -_P015 ; _branch_#0() -_C065 ; _branch_() -; toolsrc/plforth.pla: 1241: IIP = *IIP -; toolsrc/plforth.pla: 1242: end - !BYTE $6A ; LAW _D040+0 -_F716 !WORD _D040+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D040+0 -_F717 !WORD _D040+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1243: def _0branch_(a)#0 - ; a -> [0] -_P016 ; _0branch_(a)#0() -_C066 ; _0branch_() -; toolsrc/plforth.pla: 1244: if a - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1245: IIP = IIP + 2 -; toolsrc/plforth.pla: 1246: else - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B201 - !WORD _B201-* - !BYTE $6A ; LAW _D040+0 -_F718 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D040+0 -_F719 !WORD _D040+0 - !BYTE $50 ; BRNCH _B202 - !WORD _B202-* -_B201 -; toolsrc/plforth.pla: 1247: IIP = *IIP -; toolsrc/plforth.pla: 1248: fin - !BYTE $6A ; LAW _D040+0 -_F720 !WORD _D040+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D040+0 -_F721 !WORD _D040+0 -_B202 -; toolsrc/plforth.pla: 1249: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1250: def _recurse_#0 -_P063 ; _recurse_#0() -_C067 ; _recurse_() -; toolsrc/plforth.pla: 1251: _compword_(latest) -; toolsrc/plforth.pla: 1252: end - !BYTE $6A ; LAW _D037+0 -_F722 !WORD _D037+0 - !BYTE $54 ; CALL _C016 -_F723 !WORD _C016 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1253: def _if_#0 -_P017 ; _if_#0() -_C068 ; _if_() -; toolsrc/plforth.pla: 1254: _compword_(@d_0branch) -; toolsrc/plforth.pla: 1255: _tors_(heapalloc(2)) // Save backfill address -; toolsrc/plforth.pla: 1256: end - !BYTE $26 ; LA _D247+0 -_F724 !WORD _D247+0 - !BYTE $54 ; CALL _C016 -_F725 !WORD _C016 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X014 -_F726 !WORD 0 - !BYTE $54 ; CALL _C028 -_F727 !WORD _C028 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1257: def _else_#0 -_P018 ; _else_#0() -_C069 ; _else_() -; toolsrc/plforth.pla: 1258: word backref - ; backref -> [0] -; toolsrc/plforth.pla: 1259: -; toolsrc/plforth.pla: 1260: backref = _fromrs_ - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1261: _compword_(@d_branch) -; toolsrc/plforth.pla: 1262: _tors_(heapalloc(2)) -; toolsrc/plforth.pla: 1263: *backref = heapmark -; toolsrc/plforth.pla: 1264: end - !BYTE $54 ; CALL _C029 -_F728 !WORD _C029 - !BYTE $76,$00 ; SLW [0] - !BYTE $26 ; LA _D246+0 -_F729 !WORD _D246+0 - !BYTE $54 ; CALL _C016 -_F730 !WORD _C016 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X014 -_F731 !WORD 0 - !BYTE $54 ; CALL _C028 -_F732 !WORD _C028 - !BYTE $54 ; CALL _X012 -_F733 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1265: def _then_#0 -_P019 ; _then_#0() -_C070 ; _then_() -; toolsrc/plforth.pla: 1266: *_fromrs_ = heapmark -; toolsrc/plforth.pla: 1267: end - !BYTE $54 ; CALL _X012 -_F734 !WORD 0 - !BYTE $54 ; CALL _C029 -_F735 !WORD _C029 - !BYTE $72 ; SW - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1268: def _case_#0 -_P025 ; _case_#0() -_C071 ; _case_() -; toolsrc/plforth.pla: 1269: _compword_(@d_dup) -; toolsrc/plforth.pla: 1270: _tors_(0) // Linked address list -; toolsrc/plforth.pla: 1271: end - !BYTE $26 ; LA _D190+0 -_F736 !WORD _D190+0 - !BYTE $54 ; CALL _C016 -_F737 !WORD _C016 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C028 -_F738 !WORD _C028 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1272: def _of_#0 -_P026 ; _of_#0() -_C072 ; _of_() -; toolsrc/plforth.pla: 1273: if state & comp_itc_flag -; toolsrc/plforth.pla: 1274: _dictaddw_(@d_eq) -; toolsrc/plforth.pla: 1275: _dictaddw_(@d_0branch) -; toolsrc/plforth.pla: 1276: else // comp_pbc_flag - !BYTE $68 ; LAB _D058+0 -_F739 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B203 - !WORD _B203-* - !BYTE $26 ; LA _D213+0 -_F740 !WORD _D213+0 - !BYTE $54 ; CALL _C000 -_F741 !WORD _C000 - !BYTE $26 ; LA _D247+0 -_F742 !WORD _D247+0 - !BYTE $54 ; CALL _C000 -_F743 !WORD _C000 - !BYTE $50 ; BRNCH _B204 - !WORD _B204-* -_B203 -; toolsrc/plforth.pla: 1277: _dictaddb_($24) // BRNE -; toolsrc/plforth.pla: 1278: fin - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _C001 -_F744 !WORD _C001 -_B204 -; toolsrc/plforth.pla: 1279: _tors_(heapalloc(2)) // Save backfill address -; toolsrc/plforth.pla: 1280: end - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X014 -_F745 !WORD 0 - !BYTE $54 ; CALL _C028 -_F746 !WORD _C028 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1281: def _endof_#0 -_P027 ; _endof_#0() -_C073 ; _endof_() -; toolsrc/plforth.pla: 1282: word backref, link - ; backref -> [0] - ; link -> [2] -; toolsrc/plforth.pla: 1283: -; toolsrc/plforth.pla: 1284: backref = _fromrs_ - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/plforth.pla: 1285: link = _fromrs_ -; toolsrc/plforth.pla: 1286: _compword_(@d_branch) -; toolsrc/plforth.pla: 1287: _tors_(heapmark) -; toolsrc/plforth.pla: 1288: _dictaddw_(link) -; toolsrc/plforth.pla: 1289: if state & comp_itc_flag -; toolsrc/plforth.pla: 1290: *backref = heapmark -; toolsrc/plforth.pla: 1291: else // comp_pbc_flag - !BYTE $54 ; CALL _C029 -_F747 !WORD _C029 - !BYTE $76,$00 ; SLW [0] - !BYTE $54 ; CALL _C029 -_F748 !WORD _C029 - !BYTE $76,$02 ; SLW [2] - !BYTE $26 ; LA _D246+0 -_F749 !WORD _D246+0 - !BYTE $54 ; CALL _C016 -_F750 !WORD _C016 - !BYTE $54 ; CALL _X012 -_F751 !WORD 0 - !BYTE $54 ; CALL _C028 -_F752 !WORD _C028 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _C000 -_F753 !WORD _C000 - !BYTE $68 ; LAB _D058+0 -_F754 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B205 - !WORD _B205-* - !BYTE $54 ; CALL _X012 -_F755 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B206 - !WORD _B206-* -_B205 -; toolsrc/plforth.pla: 1292: *backref = heapmark - backref // Relative branch -; toolsrc/plforth.pla: 1293: fin - !BYTE $54 ; CALL _X012 -_F756 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $84 ; SUB - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW -_B206 -; toolsrc/plforth.pla: 1294: _compword_(@d_dup) -; toolsrc/plforth.pla: 1295: end - !BYTE $26 ; LA _D190+0 -_F757 !WORD _D190+0 - !BYTE $54 ; CALL _C016 -_F758 !WORD _C016 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1296: def _endcase_#0 -_P028 ; _endcase_#0() -_C074 ; _endcase_() -; toolsrc/plforth.pla: 1297: word backref, link - ; backref -> [0] - ; link -> [2] -; toolsrc/plforth.pla: 1298: -; toolsrc/plforth.pla: 1299: _compword_(@d_drop) - !BYTE $58,$04,$00 ; ENTER 4,0 -; toolsrc/plforth.pla: 1300: backref = _fromrs_ -; toolsrc/plforth.pla: 1301: while backref - !BYTE $26 ; LA _D187+0 -_F759 !WORD _D187+0 - !BYTE $54 ; CALL _C016 -_F760 !WORD _C016 - !BYTE $54 ; CALL _C029 -_F761 !WORD _C029 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B209 - !WORD _B209-* -_B207 -; toolsrc/plforth.pla: 1302: link = *backref -; toolsrc/plforth.pla: 1303: *backref = heapmark -; toolsrc/plforth.pla: 1304: backref = link -; toolsrc/plforth.pla: 1305: loop - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $54 ; CALL _X012 -_F762 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $76,$00 ; SLW [0] -_B209 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B207 - !WORD _B207-* -_B208 -; toolsrc/plforth.pla: 1306: _compword_(@d_drop) -; toolsrc/plforth.pla: 1307: end - !BYTE $26 ; LA _D187+0 -_F763 !WORD _D187+0 - !BYTE $54 ; CALL _C016 -_F764 !WORD _C016 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1308: def _dodo_(a,b)#0 - ; a -> [0] - ; b -> [2] -_P029 ; _dodo_(a,b)#0() -_C075 ; _dodo_() -; toolsrc/plforth.pla: 1309: if RSP < 2 - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/plforth.pla: 1310: puts("Return stack overflow\n") - !BYTE $68 ; LAB _D054+0 -_F765 !WORD _D054+0 - !BYTE $04 ; CN 2 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B210 - !WORD _B210-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $52,$65,$74,$75,$72,$6E,$20,$73 - !BYTE $74,$61,$63,$6B,$20,$6F,$76,$65 - !BYTE $72,$66,$6C,$6F,$77,$0D - !BYTE $54 ; CALL _X004 -_F766 !WORD 0 -; toolsrc/plforth.pla: 1311: _quit_ -; toolsrc/plforth.pla: 1312: fin - !BYTE $54 ; CALL _P116 -_F767 !WORD _P116 -_B210 -_B211 -; toolsrc/plforth.pla: 1313: RSP = RSP - 2 -; toolsrc/plforth.pla: 1314: RSTACK[RSP + 1] = a -; toolsrc/plforth.pla: 1315: RSTACK[RSP] = b -; toolsrc/plforth.pla: 1316: end - !BYTE $68 ; LAB _D054+0 -_F768 !WORD _D054+0 - !BYTE $3A,$02 ; SUBI 2 - !BYTE $78 ; SAB _D054+0 -_F769 !WORD _D054+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $26 ; LA _D055+0 -_F770 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F771 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $72 ; SW - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D055+0 -_F772 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F773 !WORD _D054+0 - !BYTE $72 ; SW - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1317: def _do_#0 -_P030 ; _do_#0() -_C076 ; _do_() -; toolsrc/plforth.pla: 1318: _compword_(@d_dodo) -; toolsrc/plforth.pla: 1319: _tors_(heapmark) -; toolsrc/plforth.pla: 1320: end - !BYTE $26 ; LA _D256+0 -_F774 !WORD _D256+0 - !BYTE $54 ; CALL _C016 -_F775 !WORD _C016 - !BYTE $54 ; CALL _X012 -_F776 !WORD 0 - !BYTE $54 ; CALL _C028 -_F777 !WORD _C028 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1321: def _leave_#0 -_P036 ; _leave_#0() -_C077 ; _leave_() -; toolsrc/plforth.pla: 1322: RSTACK[RSP] = RSTACK[RSP + 1] - 1 -; toolsrc/plforth.pla: 1323: end - !BYTE $26 ; LA _D055+0 -_F778 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F779 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $8E ; DECR - !BYTE $26 ; LA _D055+0 -_F780 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F781 !WORD _D054+0 - !BYTE $72 ; SW - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1324: def _doloop_#0 -_P031 ; _doloop_#0() -_C078 ; _doloop_() -; toolsrc/plforth.pla: 1325: RSTACK[RSP]++ - !BYTE $26 ; LA _D055+0 -_F782 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F783 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 1326: if RSTACK[RSP] == RSTACK[RSP + 1] -; toolsrc/plforth.pla: 1327: RSP = RSP + 2 -; toolsrc/plforth.pla: 1328: IIP = IIP + 2 -; toolsrc/plforth.pla: 1329: else - !BYTE $26 ; LA _D055+0 -_F784 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F785 !WORD _D054+0 - !BYTE $72 ; SW - !BYTE $26 ; LA _D055+0 -_F786 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F787 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D055+0 -_F788 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F789 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $24 ; BRNE _B212 - !WORD _B212-* - !BYTE $68 ; LAB _D054+0 -_F790 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $78 ; SAB _D054+0 -_F791 !WORD _D054+0 - !BYTE $6A ; LAW _D040+0 -_F792 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D040+0 -_F793 !WORD _D040+0 - !BYTE $50 ; BRNCH _B213 - !WORD _B213-* -_B212 -; toolsrc/plforth.pla: 1330: IIP = *IIP -; toolsrc/plforth.pla: 1331: fin - !BYTE $6A ; LAW _D040+0 -_F794 !WORD _D040+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D040+0 -_F795 !WORD _D040+0 -_B213 -; toolsrc/plforth.pla: 1332: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1333: def _dopbcloop_#1 -_C079 ; _dopbcloop_() -; toolsrc/plforth.pla: 1334: RSTACK[RSP]++ - !BYTE $26 ; LA _D055+0 -_F796 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F797 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 1335: if RSTACK[RSP] == RSTACK[RSP + 1] -; toolsrc/plforth.pla: 1336: RSP = RSP + 2 -; toolsrc/plforth.pla: 1337: return TRUE - !BYTE $26 ; LA _D055+0 -_F798 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F799 !WORD _D054+0 - !BYTE $72 ; SW - !BYTE $26 ; LA _D055+0 -_F800 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F801 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D055+0 -_F802 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F803 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $24 ; BRNE _B214 - !WORD _B214-* - !BYTE $68 ; LAB _D054+0 -_F804 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $78 ; SAB _D054+0 -_F805 !WORD _D054+0 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1338: fin -_B214 -_B215 -; toolsrc/plforth.pla: 1339: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1340: end -; toolsrc/plforth.pla: 1341: def _doplusloop_(a)#0 - ; a -> [0] -_P032 ; _doplusloop_(a)#0() -_C080 ; _doplusloop_() -; toolsrc/plforth.pla: 1342: RSTACK[RSP] = RSTACK[RSP] + a - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1343: if (a >= 0 and RSTACK[RSP] >= RSTACK[RSP + 1]) or (a < 0 and RSTACK[RSP] <= RSTACK[RSP + 1]) -; toolsrc/plforth.pla: 1344: RSP = RSP + 2 -; toolsrc/plforth.pla: 1345: IIP = IIP + 2 -; toolsrc/plforth.pla: 1346: else - !BYTE $26 ; LA _D055+0 -_F806 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F807 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D055+0 -_F808 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F809 !WORD _D054+0 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B216 - !WORD _B216-* - !BYTE $26 ; LA _D055+0 -_F810 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F811 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D055+0 -_F812 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F813 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $48 ; ISGE -_B216 - !BYTE $AE ; BROR _B217 - !WORD _B217-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B218 - !WORD _B218-* - !BYTE $26 ; LA _D055+0 -_F814 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F815 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D055+0 -_F816 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F817 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $4A ; ISLE -_B218 -_B217 - !BYTE $4C ; BRFLS _B219 - !WORD _B219-* - !BYTE $68 ; LAB _D054+0 -_F818 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $78 ; SAB _D054+0 -_F819 !WORD _D054+0 - !BYTE $6A ; LAW _D040+0 -_F820 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $7A ; SAW _D040+0 -_F821 !WORD _D040+0 - !BYTE $50 ; BRNCH _B220 - !WORD _B220-* -_B219 -; toolsrc/plforth.pla: 1347: IIP = *IIP -; toolsrc/plforth.pla: 1348: fin - !BYTE $6A ; LAW _D040+0 -_F822 !WORD _D040+0 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D040+0 -_F823 !WORD _D040+0 -_B220 -; toolsrc/plforth.pla: 1349: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1350: def _dopbcplusloop_(a)#1 - ; a -> [0] -_C081 ; _dopbcplusloop_() -; toolsrc/plforth.pla: 1351: RSTACK[RSP] = RSTACK[RSP] + a - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1352: if (a >= 0 and RSTACK[RSP] >= RSTACK[RSP + 1]) or (a < 0 and RSTACK[RSP] <= RSTACK[RSP + 1]) -; toolsrc/plforth.pla: 1353: RSP = RSP + 2 -; toolsrc/plforth.pla: 1354: return TRUE - !BYTE $26 ; LA _D055+0 -_F824 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F825 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $B2,$00 ; ADDLW [0] - !BYTE $26 ; LA _D055+0 -_F826 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F827 !WORD _D054+0 - !BYTE $72 ; SW - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $48 ; ISGE - !BYTE $AC ; BRAND _B221 - !WORD _B221-* - !BYTE $26 ; LA _D055+0 -_F828 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F829 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D055+0 -_F830 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F831 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $48 ; ISGE -_B221 - !BYTE $AE ; BROR _B222 - !WORD _B222-* - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $46 ; ISLT - !BYTE $AC ; BRAND _B223 - !WORD _B223-* - !BYTE $26 ; LA _D055+0 -_F832 !WORD _D055+0 - !BYTE $BC ; IDXAB _D054+0 -_F833 !WORD _D054+0 - !BYTE $62 ; LW - !BYTE $26 ; LA _D055+0 -_F834 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F835 !WORD _D054+0 - !BYTE $8C ; INCR - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $4A ; ISLE -_B223 -_B222 - !BYTE $4C ; BRFLS _B224 - !WORD _B224-* - !BYTE $68 ; LAB _D054+0 -_F836 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $78 ; SAB _D054+0 -_F837 !WORD _D054+0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1355: fin -_B224 -_B225 -; toolsrc/plforth.pla: 1356: return FALSE - !BYTE $00 ; CN 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1357: end -; toolsrc/plforth.pla: 1358: def _loop_#0 -_P034 ; _loop_#0() -_C082 ; _loop_() -; toolsrc/plforth.pla: 1359: if state & comp_itc_flag -; toolsrc/plforth.pla: 1360: _dictaddw_(@d_doloop) -; toolsrc/plforth.pla: 1361: else // comp_pbc_flag - !BYTE $68 ; LAB _D058+0 -_F838 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B226 - !WORD _B226-* - !BYTE $26 ; LA _D260+0 -_F839 !WORD _D260+0 - !BYTE $54 ; CALL _C000 -_F840 !WORD _C000 - !BYTE $50 ; BRNCH _B227 - !WORD _B227-* -_B226 -; toolsrc/plforth.pla: 1362: _dictaddb_($54) // CALL -; toolsrc/plforth.pla: 1363: _dictaddw_(@_dopbcloop_) -; toolsrc/plforth.pla: 1364: _dictaddb_($C2) // JUMPZ -; toolsrc/plforth.pla: 1365: fin - !BYTE $2A,$54 ; CB 84 - !BYTE $54 ; CALL _C001 -_F841 !WORD _C001 - !BYTE $26 ; LA _C079+0 -_F842 !WORD _C079+0 - !BYTE $54 ; CALL _C000 -_F843 !WORD _C000 - !BYTE $2A,$C2 ; CB 194 - !BYTE $54 ; CALL _C001 -_F844 !WORD _C001 -_B227 -; toolsrc/plforth.pla: 1366: _dictaddw_(_fromrs_) -; toolsrc/plforth.pla: 1367: end - !BYTE $54 ; CALL _C029 -_F845 !WORD _C029 - !BYTE $54 ; CALL _C000 -_F846 !WORD _C000 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1368: def _plusloop_#0 -_P033 ; _plusloop_#0() -_C083 ; _plusloop_() -; toolsrc/plforth.pla: 1369: if state & comp_itc_flag -; toolsrc/plforth.pla: 1370: _dictaddw_(@d_doplusloop) -; toolsrc/plforth.pla: 1371: else // comp_pbc_flag - !BYTE $68 ; LAB _D058+0 -_F847 !WORD _D058+0 - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B228 - !WORD _B228-* - !BYTE $26 ; LA _D262+0 -_F848 !WORD _D262+0 - !BYTE $54 ; CALL _C000 -_F849 !WORD _C000 - !BYTE $50 ; BRNCH _B229 - !WORD _B229-* -_B228 -; toolsrc/plforth.pla: 1372: _dictaddb_($54) // CALL -; toolsrc/plforth.pla: 1373: _dictaddw_(@_dopbcplusloop_) -; toolsrc/plforth.pla: 1374: _dictaddb_($C2) // JUMPZ -; toolsrc/plforth.pla: 1375: fin - !BYTE $2A,$54 ; CB 84 - !BYTE $54 ; CALL _C001 -_F850 !WORD _C001 - !BYTE $26 ; LA _C081+0 -_F851 !WORD _C081+0 - !BYTE $54 ; CALL _C000 -_F852 !WORD _C000 - !BYTE $2A,$C2 ; CB 194 - !BYTE $54 ; CALL _C001 -_F853 !WORD _C001 -_B229 -; toolsrc/plforth.pla: 1376: _dictaddw_(_fromrs_) -; toolsrc/plforth.pla: 1377: end - !BYTE $54 ; CALL _C029 -_F854 !WORD _C029 - !BYTE $54 ; CALL _C000 -_F855 !WORD _C000 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1378: def _unloop_#0 -_P035 ; _unloop_#0() -_C084 ; _unloop_() -; toolsrc/plforth.pla: 1379: if RSP > RSTK_SIZE-1 -; toolsrc/plforth.pla: 1380: puts("Return stack underflow\n") - !BYTE $68 ; LAB _D054+0 -_F856 !WORD _D054+0 - !BYTE $1E ; CN 15 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B230 - !WORD _B230-* - !BYTE $2E ; CS - !BYTE $17 - !BYTE $52,$65,$74,$75,$72,$6E,$20,$73 - !BYTE $74,$61,$63,$6B,$20,$75,$6E,$64 - !BYTE $65,$72,$66,$6C,$6F,$77,$0D - !BYTE $54 ; CALL _X004 -_F857 !WORD 0 -; toolsrc/plforth.pla: 1381: _quit_ -; toolsrc/plforth.pla: 1382: fin - !BYTE $54 ; CALL _P116 -_F858 !WORD _P116 -_B230 -_B231 -; toolsrc/plforth.pla: 1383: RSP = RSP + 2 -; toolsrc/plforth.pla: 1384: end - !BYTE $68 ; LAB _D054+0 -_F859 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $78 ; SAB _D054+0 -_F860 !WORD _D054+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1385: def _j_#1 -_P037 ; _j_#1() -_C085 ; _j_() -; toolsrc/plforth.pla: 1386: return RSTACK[RSP + 2] - !BYTE $26 ; LA _D055+0 -_F861 !WORD _D055+0 - !BYTE $68 ; LAB _D054+0 -_F862 !WORD _D054+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $9E ; IDXW - !BYTE $62 ; LW - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1387: end -; toolsrc/plforth.pla: 1388: def _begin_#0 -_P020 ; _begin_#0() -_C086 ; _begin_() -; toolsrc/plforth.pla: 1389: _tors_(heapmark) -; toolsrc/plforth.pla: 1390: end - !BYTE $54 ; CALL _X012 -_F863 !WORD 0 - !BYTE $54 ; CALL _C028 -_F864 !WORD _C028 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1391: def _again_#0 -_P021 ; _again_#0() -_C087 ; _again_() -; toolsrc/plforth.pla: 1392: _compword_(@d_branch) -; toolsrc/plforth.pla: 1393: _dictaddw_(_fromrs_) -; toolsrc/plforth.pla: 1394: end - !BYTE $26 ; LA _D246+0 -_F865 !WORD _D246+0 - !BYTE $54 ; CALL _C016 -_F866 !WORD _C016 - !BYTE $54 ; CALL _C029 -_F867 !WORD _C029 - !BYTE $54 ; CALL _C000 -_F868 !WORD _C000 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1395: def _until_#0 -_P022 ; _until_#0() -_C088 ; _until_() -; toolsrc/plforth.pla: 1396: _compword_(@d_0branch) -; toolsrc/plforth.pla: 1397: _dictaddw_(_fromrs_) -; toolsrc/plforth.pla: 1398: end - !BYTE $26 ; LA _D247+0 -_F869 !WORD _D247+0 - !BYTE $54 ; CALL _C016 -_F870 !WORD _C016 - !BYTE $54 ; CALL _C029 -_F871 !WORD _C029 - !BYTE $54 ; CALL _C000 -_F872 !WORD _C000 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1399: def _while_#0 -_P023 ; _while_#0() -_C089 ; _while_() -; toolsrc/plforth.pla: 1400: _compword_(@d_0branch) -; toolsrc/plforth.pla: 1401: _tors_(heapalloc(2)) // Save backfill address -; toolsrc/plforth.pla: 1402: end - !BYTE $26 ; LA _D247+0 -_F873 !WORD _D247+0 - !BYTE $54 ; CALL _C016 -_F874 !WORD _C016 - !BYTE $04 ; CN 2 - !BYTE $54 ; CALL _X014 -_F875 !WORD 0 - !BYTE $54 ; CALL _C028 -_F876 !WORD _C028 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1403: def _repeat_#0 -_P024 ; _repeat_#0() -_C090 ; _repeat_() -; toolsrc/plforth.pla: 1404: word backref - ; backref -> [0] -; toolsrc/plforth.pla: 1405: -; toolsrc/plforth.pla: 1406: backref = _fromrs_ // Backref from WHILE - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1407: _compword_(@d_branch) -; toolsrc/plforth.pla: 1408: _dictaddw_(_fromrs_) -; toolsrc/plforth.pla: 1409: *backref = heapmark // Backref to BEGIN -; toolsrc/plforth.pla: 1410: end - !BYTE $54 ; CALL _C029 -_F877 !WORD _C029 - !BYTE $76,$00 ; SLW [0] - !BYTE $26 ; LA _D246+0 -_F878 !WORD _D246+0 - !BYTE $54 ; CALL _C016 -_F879 !WORD _C016 - !BYTE $54 ; CALL _C029 -_F880 !WORD _C029 - !BYTE $54 ; CALL _C000 -_F881 !WORD _C000 - !BYTE $54 ; CALL _X012 -_F882 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $72 ; SW - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1411: def _count_(a)#2 - ; a -> [0] -_P107 ; _count_(a)#2() -_C091 ; _count_() -; toolsrc/plforth.pla: 1412: return a + 1, ^a - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1413: end -; toolsrc/plforth.pla: 1414: def _find_(a)#2 - ; a -> [0] -_P073 ; _find_(a)#2() -_C092 ; _find_() -; toolsrc/plforth.pla: 1415: word dentry - ; dentry -> [2] -; toolsrc/plforth.pla: 1416: -; toolsrc/plforth.pla: 1417: dentry = find(_count_(a)) - !BYTE $58,$04,$01 ; ENTER 4,1 -; toolsrc/plforth.pla: 1418: if dentry -; toolsrc/plforth.pla: 1419: return dentry, ^_ffa_(dentry) & imm_flag ?? 1 :: -1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C091 -_F883 !WORD _C091 - !BYTE $54 ; CALL _C010 -_F884 !WORD _C010 - !BYTE $6E,$02 ; DLW [2] - !BYTE $4C ; BRFLS _B232 - !WORD _B232-* - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $54 ; CALL _A004 -_F885 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B234 - !WORD _B234-* - !BYTE $02 ; CN 1 - !BYTE $50 ; BRNCH _B235 - !WORD _B235-* -_B234 - !BYTE $20 ; MINUS ONE -_B235 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1420: fin -_B232 -_B233 -; toolsrc/plforth.pla: 1421: return a, 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $00 ; CN 0 - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1422: end -; toolsrc/plforth.pla: 1423: def _tick_#0 -_P074 ; _tick_#0() -_C093 ; _tick_() -; toolsrc/plforth.pla: 1424: word dentry - ; dentry -> [0] -; toolsrc/plforth.pla: 1425: -; toolsrc/plforth.pla: 1426: dentry = find(nextword(' ')) - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1427: if state & comp_flag -; toolsrc/plforth.pla: 1428: _compliteral_(dentry) -; toolsrc/plforth.pla: 1429: else - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F886 !WORD _C005 - !BYTE $54 ; CALL _C010 -_F887 !WORD _C010 - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D058+0 -_F888 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B236 - !WORD _B236-* - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C017 -_F889 !WORD _C017 - !BYTE $50 ; BRNCH _B237 - !WORD _B237-* -_B236 -; toolsrc/plforth.pla: 1430: _push(dentry) -; toolsrc/plforth.pla: 1431: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A003 -_F890 !WORD _A003 -_B237 -; toolsrc/plforth.pla: 1432: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1433: def _forget_#0 -_P075 ; _forget_#0() -_C094 ; _forget_() -; toolsrc/plforth.pla: 1434: word dentry - ; dentry -> [0] -; toolsrc/plforth.pla: 1435: -; toolsrc/plforth.pla: 1436: dentry = find(nextword(' ')) - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1437: if dentry -; toolsrc/plforth.pla: 1438: if isult(dentry, startheap) -; toolsrc/plforth.pla: 1439: latest = @d_words -; toolsrc/plforth.pla: 1440: dentry = startheap -; toolsrc/plforth.pla: 1441: else - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F891 !WORD _C005 - !BYTE $54 ; CALL _C010 -_F892 !WORD _C010 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B238 - !WORD _B238-* - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D043+0 -_F893 !WORD _D043+0 - !BYTE $54 ; CALL _X026 -_F894 !WORD 0 - !BYTE $4C ; BRFLS _B240 - !WORD _B240-* - !BYTE $26 ; LA _D345+0 -_F895 !WORD _D345+0 - !BYTE $7A ; SAW _D037+0 -_F896 !WORD _D037+0 - !BYTE $6A ; LAW _D043+0 -_F897 !WORD _D043+0 - !BYTE $76,$00 ; SLW [0] - !BYTE $50 ; BRNCH _B241 - !WORD _B241-* -_B240 -; toolsrc/plforth.pla: 1442: latest = *_lfa_(dentry) -; toolsrc/plforth.pla: 1443: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A007 -_F898 !WORD _A007 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F899 !WORD _D037+0 -_B241 -; toolsrc/plforth.pla: 1444: heaprelease(dentry) -; toolsrc/plforth.pla: 1445: buildhashtbl -; toolsrc/plforth.pla: 1446: else - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X015 -_F900 !WORD 0 - !BYTE $30 ; DROP - !BYTE $54 ; CALL _C007 -_F901 !WORD _C007 - !BYTE $50 ; BRNCH _B239 - !WORD _B239-* -_B238 -; toolsrc/plforth.pla: 1447: puts("No match\n") - !BYTE $2E ; CS - !BYTE $09 - !BYTE $4E,$6F,$20,$6D,$61,$74,$63,$68 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F902 !WORD 0 -; toolsrc/plforth.pla: 1448: _quit_ -; toolsrc/plforth.pla: 1449: fin - !BYTE $54 ; CALL _P116 -_F903 !WORD _P116 -_B239 -; toolsrc/plforth.pla: 1450: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1451: def _accept_(a,b)#1 - ; a -> [0] - ; b -> [2] -_P089 ; _accept_(a,b)#1() -_C095 ; _accept_() -; toolsrc/plforth.pla: 1452: word saveinptr - ; saveinptr -> [4] -; toolsrc/plforth.pla: 1453: byte len - ; len -> [6] -; toolsrc/plforth.pla: 1454: -; toolsrc/plforth.pla: 1455: saveinptr = inptr - !BYTE $58,$07,$02 ; ENTER 7,2 -; toolsrc/plforth.pla: 1456: memcpy(heapmark + 256, keyinbuf, 80) -; toolsrc/plforth.pla: 1457: inptr = gets('?'|$80) -; toolsrc/plforth.pla: 1458: len = ^inptr -; toolsrc/plforth.pla: 1459: if len > b -; toolsrc/plforth.pla: 1460: len = b -; toolsrc/plforth.pla: 1461: fin - !BYTE $6A ; LAW _D039+0 -_F904 !WORD _D039+0 - !BYTE $76,$04 ; SLW [4] - !BYTE $54 ; CALL _X012 -_F905 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $82 ; ADD - !BYTE $6A ; LAW _D050+0 -_F906 !WORD _D050+0 - !BYTE $2A,$50 ; CB 80 - !BYTE $54 ; CALL _X018 -_F907 !WORD 0 - !BYTE $2A,$BF ; CB 191 - !BYTE $54 ; CALL _X007 -_F908 !WORD 0 - !BYTE $7A ; SAW _D039+0 -_F909 !WORD _D039+0 - !BYTE $6A ; LAW _D039+0 -_F910 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $6C,$06 ; DLB [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B242 - !WORD _B242-* - !BYTE $66,$02 ; LLW [2] - !BYTE $74,$06 ; SLB [6] -_B242 -_B243 -; toolsrc/plforth.pla: 1462: ^(inptr + len + 1) = 0 -; toolsrc/plforth.pla: 1463: memcpy(a, inptr + 1, len) -; toolsrc/plforth.pla: 1464: memcpy(keyinbuf, heapmark + 256, 80) -; toolsrc/plforth.pla: 1465: inptr = saveinptr -; toolsrc/plforth.pla: 1466: return len - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D039+0 -_F911 !WORD _D039+0 - !BYTE $B0,$06 ; ADDLB [6] - !BYTE $8C ; INCR - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _D039+0 -_F912 !WORD _D039+0 - !BYTE $8C ; INCR - !BYTE $64,$06 ; LLB [6] - !BYTE $54 ; CALL _X018 -_F913 !WORD 0 - !BYTE $6A ; LAW _D050+0 -_F914 !WORD _D050+0 - !BYTE $54 ; CALL _X012 -_F915 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $82 ; ADD - !BYTE $2A,$50 ; CB 80 - !BYTE $54 ; CALL _X018 -_F916 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $7A ; SAW _D039+0 -_F917 !WORD _D039+0 - !BYTE $64,$06 ; LLB [6] - !BYTE $5A,$07 ; LEAVE 7 -; toolsrc/plforth.pla: 1467: end -; toolsrc/plforth.pla: 1468: def _keypressed_#1 -_P076 ; _keypressed_#1() -_C096 ; _keypressed_() -; toolsrc/plforth.pla: 1469: return conio:keypressed() > 127 - !BYTE $6A ; LAW _X033+0 -_F918 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $2A,$7F ; CB 127 - !BYTE $44 ; ISGT - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1470: end -; toolsrc/plforth.pla: 1471: def _key_#1 -_P077 ; _key_#1() -_C097 ; _key_() -; toolsrc/plforth.pla: 1472: return conio:getkey() - !BYTE $6A ; LAW _X033+2 -_F919 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1473: end -; toolsrc/plforth.pla: 1474: def _word_(a)#1 - ; a -> [0] -_P106 ; _word_(a)#1() -_C098 ; _word_() -; toolsrc/plforth.pla: 1475: word wordptr - ; wordptr -> [2] -; toolsrc/plforth.pla: 1476: byte len - ; len -> [4] -; toolsrc/plforth.pla: 1477: -; toolsrc/plforth.pla: 1478: wordptr, len = nextword(a) - !BYTE $58,$05,$01 ; ENTER 5,1 -; toolsrc/plforth.pla: 1479: wordptr-- - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C005 -_F920 !WORD _C005 - !BYTE $74,$04 ; SLB [4] - !BYTE $6E,$02 ; DLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1480: ^wordptr = len -; toolsrc/plforth.pla: 1481: return wordptr - !BYTE $76,$02 ; SLW [2] - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$05 ; LEAVE 5 -; toolsrc/plforth.pla: 1482: end -; toolsrc/plforth.pla: 1483: def _space_#0 -_P108 ; _space_#0() -_C099 ; _space_() -; toolsrc/plforth.pla: 1484: putc(' ') -; toolsrc/plforth.pla: 1485: end - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F921 !WORD 0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1486: def _spaces_(a)#0 - ; a -> [0] -_P109 ; _spaces_(a)#0() -_C100 ; _spaces_() -; toolsrc/plforth.pla: 1487: while a - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $50 ; BRNCH _B246 - !WORD _B246-* -_B244 -; toolsrc/plforth.pla: 1488: putc(' ') -; toolsrc/plforth.pla: 1489: a-- - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F922 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1490: loop - !BYTE $76,$00 ; SLW [0] -_B246 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B244 - !WORD _B244-* -_B245 -; toolsrc/plforth.pla: 1491: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1492: def _prval_(a)#0 - ; a -> [0] -_P084 ; _prval_(a)#0() -_C101 ; _prval_() -; toolsrc/plforth.pla: 1493: puti(a); putc(' ') - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1494: end - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X005 -_F923 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F924 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1495: def _prbyte_(a)#0 - ; a -> [0] -_P085 ; _prbyte_(a)#0() -_C102 ; _prbyte_() -; toolsrc/plforth.pla: 1496: putc('$'); putb(a); putc(' ') - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1497: end - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F925 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X008 -_F926 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F927 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1498: def _prhex_(a)#0 - ; a -> [0] -_P086 ; _prhex_(a)#0() -_C103 ; _prhex_() -; toolsrc/plforth.pla: 1499: putc('$'); puth(a); putc(' ') - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1500: end - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F928 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X009 -_F929 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F930 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1501: def _prbin_(a)#0 - ; a -> [0] -_P087 ; _prbin_(a)#0() -_C104 ; _prbin_() -; toolsrc/plforth.pla: 1502: byte i - ; i -> [2] -; toolsrc/plforth.pla: 1503: putc('%') - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/plforth.pla: 1504: for i = 0 to 7 - !BYTE $2A,$25 ; CB 37 - !BYTE $54 ; CALL _X002 -_F931 !WORD 0 - !BYTE $0E ; CN 7 - !BYTE $00 ; CN 0 -_B248 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/plforth.pla: 1505: putc(a & $80 ?? '1' :: '0') -; toolsrc/plforth.pla: 1506: a = a << 1 -; toolsrc/plforth.pla: 1507: next - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B252 - !WORD _B252-* - !BYTE $2A,$31 ; CB 49 - !BYTE $50 ; BRNCH _B253 - !WORD _B253-* -_B252 - !BYTE $2A,$30 ; CB 48 -_B253 - !BYTE $54 ; CALL _X002 -_F932 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$00 ; SLW [0] -_B249 - !BYTE $A4 ; INCBRLE _B248 - !WORD _B248-* -_B247 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 1508: putc(' ') -; toolsrc/plforth.pla: 1509: end - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F933 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1510: def _prbinw_(a)#0 - ; a -> [0] -_P088 ; _prbinw_(a)#0() -_C105 ; _prbinw_() -; toolsrc/plforth.pla: 1511: byte i - ; i -> [2] -; toolsrc/plforth.pla: 1512: putc('%') - !BYTE $58,$03,$01 ; ENTER 3,1 -; toolsrc/plforth.pla: 1513: for i = 0 to 15 - !BYTE $2A,$25 ; CB 37 - !BYTE $54 ; CALL _X002 -_F934 !WORD 0 - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B255 - !BYTE $6C,$02 ; DLB [2] -; toolsrc/plforth.pla: 1514: putc(a & $8000 ?? '1' :: '0') -; toolsrc/plforth.pla: 1515: a = a << 1 -; toolsrc/plforth.pla: 1516: next - !BYTE $66,$00 ; LLW [0] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B259 - !WORD _B259-* - !BYTE $2A,$31 ; CB 49 - !BYTE $50 ; BRNCH _B260 - !WORD _B260-* -_B259 - !BYTE $2A,$30 ; CB 48 -_B260 - !BYTE $54 ; CALL _X002 -_F935 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $34 ; DUP - !BYTE $82 ; ADD - !BYTE $76,$00 ; SLW [0] -_B256 - !BYTE $A4 ; INCBRLE _B255 - !WORD _B255-* -_B254 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 1517: putc(' ') -; toolsrc/plforth.pla: 1518: end - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F936 !WORD 0 - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1519: def _prat_(a)#0 - ; a -> [0] -_P078 ; _prat_(a)#0() -_C106 ; _prat_() -; toolsrc/plforth.pla: 1520: puti(*a); putc(' ') - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1521: end - !BYTE $66,$00 ; LLW [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X005 -_F937 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F938 !WORD 0 - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1522: def _blank_#0 -_P079 ; _blank_#0() -_C107 ; _blank_() -; toolsrc/plforth.pla: 1523: if state & comp_flag -; toolsrc/plforth.pla: 1524: _compliteral_(32) -; toolsrc/plforth.pla: 1525: else - !BYTE $68 ; LAB _D058+0 -_F939 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B261 - !WORD _B261-* - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C017 -_F940 !WORD _C017 - !BYTE $50 ; BRNCH _B262 - !WORD _B262-* -_B261 -; toolsrc/plforth.pla: 1526: _push(32) -; toolsrc/plforth.pla: 1527: fin - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _A003 -_F941 !WORD _A003 -_B262 -; toolsrc/plforth.pla: 1528: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1529: def _char_#0 -_P080 ; _char_#0() -_C108 ; _char_() -; toolsrc/plforth.pla: 1530: word str - ; str -> [0] -; toolsrc/plforth.pla: 1531: byte len - ; len -> [2] -; toolsrc/plforth.pla: 1532: -; toolsrc/plforth.pla: 1533: str, len = nextword(' ') - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/plforth.pla: 1534: if state & comp_flag -; toolsrc/plforth.pla: 1535: _compliteral_(^str) -; toolsrc/plforth.pla: 1536: else - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F942 !WORD _C005 - !BYTE $74,$02 ; SLB [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $68 ; LAB _D058+0 -_F943 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B263 - !WORD _B263-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _C017 -_F944 !WORD _C017 - !BYTE $50 ; BRNCH _B264 - !WORD _B264-* -_B263 -; toolsrc/plforth.pla: 1537: _push(^str) -; toolsrc/plforth.pla: 1538: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _A003 -_F945 !WORD _A003 -_B264 -; toolsrc/plforth.pla: 1539: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1540: def _str_#0 -_P081 ; _str_#0() -_C109 ; _str_() -; toolsrc/plforth.pla: 1541: word str - ; str -> [0] -; toolsrc/plforth.pla: 1542: byte len - ; len -> [2] -; toolsrc/plforth.pla: 1543: -; toolsrc/plforth.pla: 1544: str, len = nextword('"') - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/plforth.pla: 1545: str-- - !BYTE $2A,$22 ; CB 34 - !BYTE $54 ; CALL _C005 -_F946 !WORD _C005 - !BYTE $74,$02 ; SLB [2] - !BYTE $6E,$00 ; DLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1546: ^str = len -; toolsrc/plforth.pla: 1547: len++ - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $64,$02 ; LLB [2] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 1548: if state & comp_flag -; toolsrc/plforth.pla: 1549: _compword_(@d_slit) -; toolsrc/plforth.pla: 1550: memcpy(heapalloc(len), str, len) // Add to dictionary -; toolsrc/plforth.pla: 1551: else - !BYTE $74,$02 ; SLB [2] - !BYTE $68 ; LAB _D058+0 -_F947 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B265 - !WORD _B265-* - !BYTE $26 ; LA _D317+0 -_F948 !WORD _D317+0 - !BYTE $54 ; CALL _C016 -_F949 !WORD _C016 - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X014 -_F950 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X018 -_F951 !WORD 0 - !BYTE $50 ; BRNCH _B266 - !WORD _B266-* -_B265 -; toolsrc/plforth.pla: 1552: _push(strbuf) -; toolsrc/plforth.pla: 1553: memcpy(strbuf, str, len) // Copy to internal string buffer -; toolsrc/plforth.pla: 1554: fin - !BYTE $6A ; LAW _D046+0 -_F952 !WORD _D046+0 - !BYTE $54 ; CALL _A003 -_F953 !WORD _A003 - !BYTE $6A ; LAW _D046+0 -_F954 !WORD _D046+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $54 ; CALL _X018 -_F955 !WORD 0 -_B266 -; toolsrc/plforth.pla: 1555: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1556: def _type_(a,b)#0 - ; a -> [0] - ; b -> [2] -_P090 ; _type_(a,b)#0() -_C110 ; _type_() -; toolsrc/plforth.pla: 1557: while b and ^a - !BYTE $58,$04,$02 ; ENTER 4,2 - !BYTE $50 ; BRNCH _B269 - !WORD _B269-* -_B267 -; toolsrc/plforth.pla: 1558: putc(^a) -; toolsrc/plforth.pla: 1559: a++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X002 -_F956 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 1560: b-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1561: loop - !BYTE $76,$02 ; SLW [2] -_B269 - !BYTE $66,$02 ; LLW [2] - !BYTE $AC ; BRAND _B270 - !WORD _B270-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB -_B270 - !BYTE $4E ; BRTRU _B267 - !WORD _B267-* -_B268 -; toolsrc/plforth.pla: 1562: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1563: def _prstr_#0 -_P082 ; _prstr_#0() -_C111 ; _prstr_() -; toolsrc/plforth.pla: 1564: word str - ; str -> [0] -; toolsrc/plforth.pla: 1565: byte len - ; len -> [2] -; toolsrc/plforth.pla: 1566: -; toolsrc/plforth.pla: 1567: if state & comp_flag - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/plforth.pla: 1568: _str_ -; toolsrc/plforth.pla: 1569: _compword_(@d_doprstr) -; toolsrc/plforth.pla: 1570: else - !BYTE $68 ; LAB _D058+0 -_F957 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B271 - !WORD _B271-* - !BYTE $54 ; CALL _C109 -_F958 !WORD _C109 - !BYTE $26 ; LA _D318+0 -_F959 !WORD _D318+0 - !BYTE $54 ; CALL _C016 -_F960 !WORD _C016 - !BYTE $50 ; BRNCH _B272 - !WORD _B272-* -_B271 -; toolsrc/plforth.pla: 1571: str, len = nextword('"') -; toolsrc/plforth.pla: 1572: str-- - !BYTE $2A,$22 ; CB 34 - !BYTE $54 ; CALL _C005 -_F961 !WORD _C005 - !BYTE $74,$02 ; SLB [2] - !BYTE $6E,$00 ; DLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1573: ^str = len -; toolsrc/plforth.pla: 1574: puts(str) -; toolsrc/plforth.pla: 1575: fin - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F962 !WORD 0 -_B272 -; toolsrc/plforth.pla: 1576: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1577: def _prpstr_#0 -_P083 ; _prpstr_#0() -_C112 ; _prpstr_() -; toolsrc/plforth.pla: 1578: word str - ; str -> [0] -; toolsrc/plforth.pla: 1579: byte len - ; len -> [2] -; toolsrc/plforth.pla: 1580: -; toolsrc/plforth.pla: 1581: if state & comp_flag - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/plforth.pla: 1582: _str_ -; toolsrc/plforth.pla: 1583: _compword_(@d_doprstr) -; toolsrc/plforth.pla: 1584: else - !BYTE $68 ; LAB _D058+0 -_F963 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B273 - !WORD _B273-* - !BYTE $54 ; CALL _C109 -_F964 !WORD _C109 - !BYTE $26 ; LA _D318+0 -_F965 !WORD _D318+0 - !BYTE $54 ; CALL _C016 -_F966 !WORD _C016 - !BYTE $50 ; BRNCH _B274 - !WORD _B274-* -_B273 -; toolsrc/plforth.pla: 1585: str, len = nextword(')') -; toolsrc/plforth.pla: 1586: str-- - !BYTE $2A,$29 ; CB 41 - !BYTE $54 ; CALL _C005 -_F967 !WORD _C005 - !BYTE $74,$02 ; SLB [2] - !BYTE $6E,$00 ; DLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1587: ^str = len -; toolsrc/plforth.pla: 1588: puts(str) -; toolsrc/plforth.pla: 1589: fin - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F968 !WORD 0 -_B274 -; toolsrc/plforth.pla: 1590: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1591: def stodci(str, dci) - ; str -> [0] - ; dci -> [2] -_C113 ; stodci() -; toolsrc/plforth.pla: 1592: byte len, c - ; len -> [4] - ; c -> [5] -; toolsrc/plforth.pla: 1593: -; toolsrc/plforth.pla: 1594: len = ^str - !BYTE $58,$06,$02 ; ENTER 6,2 -; toolsrc/plforth.pla: 1595: if len == 0 -; toolsrc/plforth.pla: 1596: ^dci = 0 -; toolsrc/plforth.pla: 1597: return dci - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $6C,$04 ; DLB [4] - !BYTE $4E ; BRTRU _B275 - !WORD _B275-* - !BYTE $00 ; CN 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 1598: fin -_B275 -_B276 -; toolsrc/plforth.pla: 1599: c = toupper(^(str + len)) & $7F -; toolsrc/plforth.pla: 1600: len-- - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F969 !WORD 0 - !BYTE $3C,$7F ; ANDI 127 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1601: ^(dci + len) = c -; toolsrc/plforth.pla: 1602: while len - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB - !BYTE $50 ; BRNCH _B279 - !WORD _B279-* -_B277 -; toolsrc/plforth.pla: 1603: c = toupper(^(str + len)) | $80 -; toolsrc/plforth.pla: 1604: len-- - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F970 !WORD 0 - !BYTE $3E,$80 ; ORI 128 - !BYTE $74,$05 ; SLB [5] - !BYTE $64,$04 ; LLB [4] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1605: ^(dci + len) = c -; toolsrc/plforth.pla: 1606: loop - !BYTE $74,$04 ; SLB [4] - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $B0,$04 ; ADDLB [4] - !BYTE $70 ; SB -_B279 - !BYTE $64,$04 ; LLB [4] - !BYTE $4E ; BRTRU _B277 - !WORD _B277-* -_B278 -; toolsrc/plforth.pla: 1607: return dci - !BYTE $66,$02 ; LLW [2] - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 1608: end -; toolsrc/plforth.pla: 1609: def _lookup_#1 -_P061 ; _lookup_#1() -_C114 ; _lookup_() -; toolsrc/plforth.pla: 1610: word symname - ; symname -> [0] -; toolsrc/plforth.pla: 1611: char symlen, dci[31] - ; symlen -> [2] - ; dci -> [3] -; toolsrc/plforth.pla: 1612: -; toolsrc/plforth.pla: 1613: symname, symlen = nextword(' ') - !BYTE $58,$22,$00 ; ENTER 34,0 -; toolsrc/plforth.pla: 1614: symname-- - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F971 !WORD _C005 - !BYTE $74,$02 ; SLB [2] - !BYTE $6E,$00 ; DLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1615: ^symname = symlen -; toolsrc/plforth.pla: 1616: return cmdsys:lookupsym(stodci(symname, @dci)) - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$03 ; LLA [3] - !BYTE $54 ; CALL _C113 -_F972 !WORD _C113 - !BYTE $6A ; LAW _X000+21 -_F973 !WORD 0+21 - !BYTE $56 ; ICAL - !BYTE $5A,$22 ; LEAVE 34 -; toolsrc/plforth.pla: 1617: end -; toolsrc/plforth.pla: 1618: def _src_(a)#0 - ; a -> [0] -_P099 ; _src_(a)#0() -_C115 ; _src_() -; toolsrc/plforth.pla: 1619: char[64] syssrc - ; syssrc -> [2] -; toolsrc/plforth.pla: 1620: -; toolsrc/plforth.pla: 1621: if srclevel >= SRCREFS - !BYTE $58,$42,$01 ; ENTER 66,1 -; toolsrc/plforth.pla: 1622: puts("Too many nested SRC") - !BYTE $68 ; LAB _D045+0 -_F974 !WORD _D045+0 - !BYTE $04 ; CN 2 - !BYTE $48 ; ISGE - !BYTE $4C ; BRFLS _B280 - !WORD _B280-* - !BYTE $2E ; CS - !BYTE $13 - !BYTE $54,$6F,$6F,$20,$6D,$61,$6E,$79 - !BYTE $20,$6E,$65,$73,$74,$65,$64,$20 - !BYTE $53,$52,$43 - !BYTE $54 ; CALL _X004 -_F975 !WORD 0 -; toolsrc/plforth.pla: 1623: _quit_ -; toolsrc/plforth.pla: 1624: fin - !BYTE $54 ; CALL _P116 -_F976 !WORD _P116 -_B280 -_B281 -; toolsrc/plforth.pla: 1625: inref[srclevel] = fileio:open(a) -; toolsrc/plforth.pla: 1626: if !inref[srclevel] and ^a < 16 -; toolsrc/plforth.pla: 1627: strcpy(@syssrc, cmdsys:syspath) -; toolsrc/plforth.pla: 1628: strcat(@syssrc, "scripts/") - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X031+14 -_F977 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D052+0 -_F978 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D045+0 -_F979 !WORD _D045+0 - !BYTE $70 ; SB - !BYTE $26 ; LA _D052+0 -_F980 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D045+0 -_F981 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $80 ; NOT - !BYTE $AC ; BRAND _B282 - !WORD _B282-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $2A,$10 ; CB 16 - !BYTE $46 ; ISLT -_B282 - !BYTE $4C ; BRFLS _B283 - !WORD _B283-* - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X000+2 -_F982 !WORD 0+2 - !BYTE $54 ; CALL _X019 -_F983 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $2E ; CS - !BYTE $08 - !BYTE $73,$63,$72,$69,$70,$74,$73,$2F - !BYTE $54 ; CALL _X020 -_F984 !WORD 0 - !BYTE $30 ; DROP -; toolsrc/plforth.pla: 1629: strcat(@syssrc, a) -; toolsrc/plforth.pla: 1630: inref[srclevel] = fileio:open(@syssrc) -; toolsrc/plforth.pla: 1631: fin - !BYTE $28,$02 ; LLA [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X020 -_F985 !WORD 0 - !BYTE $30 ; DROP - !BYTE $28,$02 ; LLA [2] - !BYTE $6A ; LAW _X031+14 -_F986 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $26 ; LA _D052+0 -_F987 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D045+0 -_F988 !WORD _D045+0 - !BYTE $70 ; SB -_B283 -_B284 -; toolsrc/plforth.pla: 1632: if inref[srclevel] -; toolsrc/plforth.pla: 1633: fileio:newline(inref[srclevel], $7F, $0D) -; toolsrc/plforth.pla: 1634: infunc = @filein -; toolsrc/plforth.pla: 1635: inbufptr = inbuf + srclevel * INBUF_SIZE -; toolsrc/plforth.pla: 1636: previnptr[srclevel] = inptr -; toolsrc/plforth.pla: 1637: inptr = inbufptr -; toolsrc/plforth.pla: 1638: ^inptr = 0 -; toolsrc/plforth.pla: 1639: srclevel++ - !BYTE $26 ; LA _D052+0 -_F989 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D045+0 -_F990 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B285 - !WORD _B285-* - !BYTE $26 ; LA _D052+0 -_F991 !WORD _D052+0 - !BYTE $B4 ; ADDAB _D045+0 -_F992 !WORD _D045+0 - !BYTE $60 ; LB - !BYTE $2A,$7F ; CB 127 - !BYTE $1A ; CN 13 - !BYTE $6A ; LAW _X031+28 -_F993 !WORD 0+28 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _C004+0 -_F994 !WORD _C004+0 - !BYTE $7A ; SAW _D038+0 -_F995 !WORD _D038+0 - !BYTE $6A ; LAW _D047+0 -_F996 !WORD _D047+0 - !BYTE $68 ; LAB _D045+0 -_F997 !WORD _D045+0 - !BYTE $0E ; CN 7 - !BYTE $9A ; SHL - !BYTE $82 ; ADD - !BYTE $7A ; SAW _D051+0 -_F998 !WORD _D051+0 - !BYTE $6A ; LAW _D039+0 -_F999 !WORD _D039+0 - !BYTE $26 ; LA _D053+0 -_F1000 !WORD _D053+0 - !BYTE $BC ; IDXAB _D045+0 -_F1001 !WORD _D045+0 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D051+0 -_F1002 !WORD _D051+0 - !BYTE $7A ; SAW _D039+0 -_F1003 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _D039+0 -_F1004 !WORD _D039+0 - !BYTE $70 ; SB - !BYTE $68 ; LAB _D045+0 -_F1005 !WORD _D045+0 - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 1640: else - !BYTE $78 ; SAB _D045+0 -_F1006 !WORD _D045+0 - !BYTE $50 ; BRNCH _B286 - !WORD _B286-* -_B285 -; toolsrc/plforth.pla: 1641: puts("Failed to open "); puts(a); putln - !BYTE $2E ; CS - !BYTE $0F - !BYTE $46,$61,$69,$6C,$65,$64,$20,$74 - !BYTE $6F,$20,$6F,$70,$65,$6E,$20 - !BYTE $54 ; CALL _X004 -_F1007 !WORD 0 -; toolsrc/plforth.pla: 1642: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F1008 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1009 !WORD 0 -_B286 -; toolsrc/plforth.pla: 1643: end - !BYTE $5A,$42 ; LEAVE 66 -; toolsrc/plforth.pla: 1644: def _srcstr_#0 -_P100 ; _srcstr_#0() -_C116 ; _srcstr_() -; toolsrc/plforth.pla: 1645: word filename - ; filename -> [0] -; toolsrc/plforth.pla: 1646: byte len - ; len -> [2] -; toolsrc/plforth.pla: 1647: -; toolsrc/plforth.pla: 1648: if state & comp_flag - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/plforth.pla: 1649: _str_ -; toolsrc/plforth.pla: 1650: _compword_(@d_src) -; toolsrc/plforth.pla: 1651: else - !BYTE $68 ; LAB _D058+0 -_F1010 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B287 - !WORD _B287-* - !BYTE $54 ; CALL _C109 -_F1011 !WORD _C109 - !BYTE $26 ; LA _D321+0 -_F1012 !WORD _D321+0 - !BYTE $54 ; CALL _C016 -_F1013 !WORD _C016 - !BYTE $50 ; BRNCH _B288 - !WORD _B288-* -_B287 -; toolsrc/plforth.pla: 1652: filename, len = nextword('"') -; toolsrc/plforth.pla: 1653: filename-- - !BYTE $2A,$22 ; CB 34 - !BYTE $54 ; CALL _C005 -_F1014 !WORD _C005 - !BYTE $74,$02 ; SLB [2] - !BYTE $6E,$00 ; DLW [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1654: ^filename = len -; toolsrc/plforth.pla: 1655: _src_(filename) -; toolsrc/plforth.pla: 1656: fin - !BYTE $76,$00 ; SLW [0] - !BYTE $64,$02 ; LLB [2] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C115 -_F1015 !WORD _C115 -_B288 -; toolsrc/plforth.pla: 1657: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1658: def _endsrc_#0 -_P101 ; _endsrc_#0() -_C117 ; _endsrc_() -; toolsrc/plforth.pla: 1659: endsrc -; toolsrc/plforth.pla: 1660: end - !BYTE $54 ; CALL _C003 -_F1016 !WORD _C003 - !BYTE $30 ; DROP - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1661: def _ifendsrc_(a)#0 - ; a -> [0] -_P102 ; _ifendsrc_(a)#0() -_C118 ; _ifendsrc_() -; toolsrc/plforth.pla: 1662: if a - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1663: endsrc -; toolsrc/plforth.pla: 1664: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B289 - !WORD _B289-* - !BYTE $54 ; CALL _C003 -_F1017 !WORD _C003 - !BYTE $30 ; DROP -_B289 -_B290 -; toolsrc/plforth.pla: 1665: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1666: def _see_#0 -_P110 ; _see_#0() -_C119 ; _see_() -; toolsrc/plforth.pla: 1667: word dentry, pfa, w - ; dentry -> [0] - ; pfa -> [2] - ; w -> [4] -; toolsrc/plforth.pla: 1668: -; toolsrc/plforth.pla: 1669: dentry = find(nextword(' ')) - !BYTE $58,$06,$00 ; ENTER 6,0 -; toolsrc/plforth.pla: 1670: if dentry -; toolsrc/plforth.pla: 1671: putc('$'); puth(dentry); putc(' '); puts(dentry) -; toolsrc/plforth.pla: 1672: if ^_ffa_(dentry) & imm_flag; puts(" IMMEDIATE"); fin - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F1018 !WORD _C005 - !BYTE $54 ; CALL _C010 -_F1019 !WORD _C010 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B291 - !WORD _B291-* - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F1020 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X009 -_F1021 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F1022 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F1023 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F1024 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$20 ; ANDI 32 - !BYTE $4C ; BRFLS _B293 - !WORD _B293-* - !BYTE $2E ; CS - !BYTE $0A - !BYTE $20,$49,$4D,$4D,$45,$44,$49,$41 - !BYTE $54,$45 - !BYTE $54 ; CALL _X004 -_F1025 !WORD 0 -_B293 -_B294 -; toolsrc/plforth.pla: 1673: if ^_ffa_(dentry) & componly_flag; puts(" COMPILE-ONLY"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F1026 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$40 ; ANDI 64 - !BYTE $4C ; BRFLS _B295 - !WORD _B295-* - !BYTE $2E ; CS - !BYTE $0D - !BYTE $20,$43,$4F,$4D,$50,$49,$4C,$45 - !BYTE $2D,$4F,$4E,$4C,$59 - !BYTE $54 ; CALL _X004 -_F1027 !WORD 0 -_B295 -_B296 -; toolsrc/plforth.pla: 1674: if ^_ffa_(dentry) & interponly_flag; puts(" INTERPRET-ONLY"); fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F1028 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$80 ; ANDI 128 - !BYTE $4C ; BRFLS _B297 - !WORD _B297-* - !BYTE $2E ; CS - !BYTE $0F - !BYTE $20,$49,$4E,$54,$45,$52,$50,$52 - !BYTE $45,$54,$2D,$4F,$4E,$4C,$59 - !BYTE $54 ; CALL _X004 -_F1029 !WORD 0 -_B297 -_B298 -; toolsrc/plforth.pla: 1675: putln -; toolsrc/plforth.pla: 1676: if ^_ffa_(dentry) & itc_flag // Only show ITC words -; toolsrc/plforth.pla: 1677: puts("-----\n") - !BYTE $54 ; CALL _X003 -_F1030 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A004 -_F1031 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B299 - !WORD _B299-* - !BYTE $2E ; CS - !BYTE $06 - !BYTE $2D,$2D,$2D,$2D,$2D,$0D - !BYTE $54 ; CALL _X004 -_F1032 !WORD 0 -; toolsrc/plforth.pla: 1678: when *_cfa_(dentry) - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F1033 !WORD _A008 - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B302-* -; toolsrc/plforth.pla: 1679: is @_docolon_ -_B303 -; toolsrc/plforth.pla: 1680: pfa = _pfa_(dentry) -; toolsrc/plforth.pla: 1681: break - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A005 -_F1034 !WORD _A005 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B301 - !WORD _B301-* -; toolsrc/plforth.pla: 1682: is @_dodefer_ -_B304 -; toolsrc/plforth.pla: 1683: pfa = _pfa_(*_pfa_(dentry)) -; toolsrc/plforth.pla: 1684: break - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A005 -_F1035 !WORD _A005 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A005 -_F1036 !WORD _A005 - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B301 - !WORD _B301-* -; toolsrc/plforth.pla: 1685: is @_dodoes_ -_B305 -; toolsrc/plforth.pla: 1686: pfa = *_pfa_(dentry) -; toolsrc/plforth.pla: 1687: break - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A005 -_F1037 !WORD _A005 - !BYTE $62 ; LW - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B301 - !WORD _B301-* -; toolsrc/plforth.pla: 1688: otherwise // ??? -_B302 - !BYTE $03 ; CASEBLOCK -_F1038 !WORD _C047+0 - !WORD _B305-* -_F1039 !WORD _C051+0 - !WORD _B304-* -_F1040 !WORD _C054+0 - !WORD _B303-* -; toolsrc/plforth.pla: 1689: pfa = @d_exit -; toolsrc/plforth.pla: 1690: wend - !BYTE $26 ; LA _D289+0 -_F1041 !WORD _D289+0 - !BYTE $76,$02 ; SLW [2] -_B301 -; toolsrc/plforth.pla: 1691: putc('$'); puth(pfa); putc(' ') -; toolsrc/plforth.pla: 1692: w = *pfa -; toolsrc/plforth.pla: 1693: while w - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F1042 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X009 -_F1043 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F1044 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $76,$04 ; SLW [4] - !BYTE $50 ; BRNCH _B308 - !WORD _B308-* -_B306 -; toolsrc/plforth.pla: 1694: if ^_ffa_(w) & param_flag -; toolsrc/plforth.pla: 1695: pfa = pfa + 2 -; toolsrc/plforth.pla: 1696: when w - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A004 -_F1045 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B309 - !WORD _B309-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $52 ; SEL - !WORD _B312-* -; toolsrc/plforth.pla: 1697: is @d_slit -_B313 -; toolsrc/plforth.pla: 1698: putc('"') -; toolsrc/plforth.pla: 1699: puts(pfa) -; toolsrc/plforth.pla: 1700: putc('"') -; toolsrc/plforth.pla: 1701: pfa = pfa + ^pfa - 1 -; toolsrc/plforth.pla: 1702: break - !BYTE $2A,$22 ; CB 34 - !BYTE $54 ; CALL _X002 -_F1046 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F1047 !WORD 0 - !BYTE $2A,$22 ; CB 34 - !BYTE $54 ; CALL _X002 -_F1048 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $8E ; DECR - !BYTE $76,$02 ; SLW [2] - !BYTE $50 ; BRNCH _B311 - !WORD _B311-* -; toolsrc/plforth.pla: 1703: is @d_lit -_B314 -; toolsrc/plforth.pla: 1704: puti(*pfa) -; toolsrc/plforth.pla: 1705: break - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X005 -_F1049 !WORD 0 - !BYTE $50 ; BRNCH _B311 - !WORD _B311-* -; toolsrc/plforth.pla: 1706: is @d_branch -_B315 -; toolsrc/plforth.pla: 1707: is @d_0branch -_B316 -; toolsrc/plforth.pla: 1708: is @d_doloop -_B317 -; toolsrc/plforth.pla: 1709: puts(w); puts(" $"); puth(*pfa) - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X004 -_F1050 !WORD 0 - !BYTE $2E ; CS - !BYTE $02 - !BYTE $20,$24 - !BYTE $54 ; CALL _X004 -_F1051 !WORD 0 -; toolsrc/plforth.pla: 1710: break - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F1052 !WORD 0 - !BYTE $50 ; BRNCH _B311 - !WORD _B311-* -; toolsrc/plforth.pla: 1711: otherwise -_B312 - !BYTE $05 ; CASEBLOCK -_F1053 !WORD _D246+0 - !WORD _B315-* -_F1054 !WORD _D247+0 - !WORD _B316-* -_F1055 !WORD _D260+0 - !WORD _B317-* -_F1056 !WORD _D294+0 - !WORD _B314-* -_F1057 !WORD _D317+0 - !WORD _B313-* -; toolsrc/plforth.pla: 1712: puts(w) -; toolsrc/plforth.pla: 1713: wend - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X004 -_F1058 !WORD 0 -_B311 -; toolsrc/plforth.pla: 1714: else - !BYTE $50 ; BRNCH _B310 - !WORD _B310-* -_B309 -; toolsrc/plforth.pla: 1715: puts(w) -; toolsrc/plforth.pla: 1716: fin - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _X004 -_F1059 !WORD 0 -_B310 -; toolsrc/plforth.pla: 1717: pfa = pfa + 2 -; toolsrc/plforth.pla: 1718: if ^_ffa_(w) & showcr_flag -; toolsrc/plforth.pla: 1719: putln; putc('$'); puth(pfa) -; toolsrc/plforth.pla: 1720: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $76,$02 ; SLW [2] - !BYTE $66,$04 ; LLW [4] - !BYTE $54 ; CALL _A004 -_F1060 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B318 - !WORD _B318-* - !BYTE $54 ; CALL _X003 -_F1061 !WORD 0 - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F1062 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X009 -_F1063 !WORD 0 -_B318 -_B319 -; toolsrc/plforth.pla: 1721: putc(' ') -; toolsrc/plforth.pla: 1722: w = *pfa -; toolsrc/plforth.pla: 1723: if !w -; toolsrc/plforth.pla: 1724: pfa = pfa + 2 -; toolsrc/plforth.pla: 1725: w = *pfa -; toolsrc/plforth.pla: 1726: if w; puts("EXIT\n"); putc('$'); puth(pfa); putc(' '); fin // Early exit - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F1064 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $4E ; BRTRU _B320 - !WORD _B320-* - !BYTE $66,$02 ; LLW [2] - !BYTE $38,$02 ; ADDI 2 - !BYTE $6E,$02 ; DLW [2] - !BYTE $62 ; LW - !BYTE $6E,$04 ; DLW [4] - !BYTE $4C ; BRFLS _B322 - !WORD _B322-* - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$58,$49,$54,$0D - !BYTE $54 ; CALL _X004 -_F1065 !WORD 0 - !BYTE $2A,$24 ; CB 36 - !BYTE $54 ; CALL _X002 -_F1066 !WORD 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X009 -_F1067 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F1068 !WORD 0 -_B322 -_B323 -; toolsrc/plforth.pla: 1727: fin -_B320 -_B321 -; toolsrc/plforth.pla: 1728: if conio:keypressed() -; toolsrc/plforth.pla: 1729: conio:getkey(); conio:getkey() -; toolsrc/plforth.pla: 1730: fin - !BYTE $6A ; LAW _X033+0 -_F1069 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B324 - !WORD _B324-* - !BYTE $6A ; LAW _X033+2 -_F1070 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X033+2 -_F1071 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B324 -_B325 -; toolsrc/plforth.pla: 1731: loop -_B308 - !BYTE $66,$04 ; LLW [4] - !BYTE $4E ; BRTRU _B306 - !WORD _B306-* -_B307 -; toolsrc/plforth.pla: 1732: puts("EXIT\n") - !BYTE $2E ; CS - !BYTE $05 - !BYTE $45,$58,$49,$54,$0D - !BYTE $54 ; CALL _X004 -_F1072 !WORD 0 -; toolsrc/plforth.pla: 1733: fin -_B299 -_B300 -; toolsrc/plforth.pla: 1734: fin -_B291 -_B292 -; toolsrc/plforth.pla: 1735: end - !BYTE $5A,$06 ; LEAVE 6 -; toolsrc/plforth.pla: 1736: def _prstack_#0 -_P111 ; _prstack_#0() -_C120 ; _prstack_() -; toolsrc/plforth.pla: 1737: byte index, depth - ; index -> [0] - ; depth -> [1] -; toolsrc/plforth.pla: 1738: depth = _get_estackdepth() - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1739: index = 0 -; toolsrc/plforth.pla: 1740: while index < depth - !BYTE $54 ; CALL _A000 -_F1073 !WORD _A000 - !BYTE $74,$01 ; SLB [1] - !BYTE $00 ; CN 0 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B328 - !WORD _B328-* -_B326 -; toolsrc/plforth.pla: 1741: puti(_get_estack(index)); putc(' ') -; toolsrc/plforth.pla: 1742: index++ - !BYTE $64,$00 ; LLB [0] - !BYTE $54 ; CALL _A001 -_F1074 !WORD _A001 - !BYTE $54 ; CALL _X005 -_F1075 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F1076 !WORD 0 - !BYTE $64,$00 ; LLB [0] - !BYTE $8C ; INCR -; toolsrc/plforth.pla: 1743: loop - !BYTE $74,$00 ; SLB [0] -_B328 - !BYTE $64,$00 ; LLB [0] - !BYTE $64,$01 ; LLB [1] - !BYTE $46 ; ISLT - !BYTE $4E ; BRTRU _B326 - !WORD _B326-* -_B327 -; toolsrc/plforth.pla: 1744: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1745: def _prrstack_#0 -_P112 ; _prrstack_#0() -_C121 ; _prrstack_() -; toolsrc/plforth.pla: 1746: byte depth - ; depth -> [0] -; toolsrc/plforth.pla: 1747: -; toolsrc/plforth.pla: 1748: depth = RSTK_SIZE - 1 - !BYTE $58,$01,$00 ; ENTER 1,0 -; toolsrc/plforth.pla: 1749: while depth >= RSP - !BYTE $1E ; CN 15 - !BYTE $74,$00 ; SLB [0] - !BYTE $50 ; BRNCH _B331 - !WORD _B331-* -_B329 -; toolsrc/plforth.pla: 1750: puti(RSTACK[depth]); putc(' ') -; toolsrc/plforth.pla: 1751: depth-- - !BYTE $26 ; LA _D055+0 -_F1077 !WORD _D055+0 - !BYTE $B8,$00 ; IDXLB [0] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X005 -_F1078 !WORD 0 - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _X002 -_F1079 !WORD 0 - !BYTE $64,$00 ; LLB [0] - !BYTE $8E ; DECR -; toolsrc/plforth.pla: 1752: loop - !BYTE $74,$00 ; SLB [0] -_B331 - !BYTE $64,$00 ; LLB [0] - !BYTE $68 ; LAB _D054+0 -_F1080 !WORD _D054+0 - !BYTE $48 ; ISGE - !BYTE $4E ; BRTRU _B329 - !WORD _B329-* -_B330 -; toolsrc/plforth.pla: 1753: end - !BYTE $5A,$01 ; LEAVE 1 -; toolsrc/plforth.pla: 1754: def _tron_#0 -_P092 ; _tron_#0() -_C122 ; _tron_() -; toolsrc/plforth.pla: 1755: state = state | trace_flag -; toolsrc/plforth.pla: 1756: end - !BYTE $68 ; LAB _D058+0 -_F1081 !WORD _D058+0 - !BYTE $3E,$02 ; ORI 2 - !BYTE $78 ; SAB _D058+0 -_F1082 !WORD _D058+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1757: def _troff_#0 -_P093 ; _troff_#0() -_C123 ; _troff_() -; toolsrc/plforth.pla: 1758: state = state & ~(trace_flag | step_flag) -; toolsrc/plforth.pla: 1759: end - !BYTE $68 ; LAB _D058+0 -_F1083 !WORD _D058+0 - !BYTE $5E,$F9 ; CFFB -7 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D058+0 -_F1084 !WORD _D058+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1760: def _stepon_#0 -_P094 ; _stepon_#0() -_C124 ; _stepon_() -; toolsrc/plforth.pla: 1761: state = state | step_flag | trace_flag -; toolsrc/plforth.pla: 1762: end - !BYTE $68 ; LAB _D058+0 -_F1085 !WORD _D058+0 - !BYTE $3E,$04 ; ORI 4 - !BYTE $3E,$02 ; ORI 2 - !BYTE $78 ; SAB _D058+0 -_F1086 !WORD _D058+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1763: def _stepoff_#0 -_P095 ; _stepoff_#0() -_C125 ; _stepoff_() -; toolsrc/plforth.pla: 1764: state = state & ~step_flag -; toolsrc/plforth.pla: 1765: end - !BYTE $68 ; LAB _D058+0 -_F1087 !WORD _D058+0 - !BYTE $5E,$FB ; CFFB -5 - !BYTE $94 ; AND - !BYTE $78 ; SAB _D058+0 -_F1088 !WORD _D058+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1766: def brkpoint#0 -_C126 ; brkpoint() -; toolsrc/plforth.pla: 1767: brkhandle(brkentry) -; toolsrc/plforth.pla: 1768: W = _cfa_(brkentry) -; toolsrc/plforth.pla: 1769: if brkcfa -; toolsrc/plforth.pla: 1770: brkcfa()#0 -; toolsrc/plforth.pla: 1771: else // Breakpoint was cleared - !BYTE $6A ; LAW _D059+0 -_F1089 !WORD _D059+0 - !BYTE $54 ; CALL _C013 -_F1090 !WORD _C013 - !BYTE $6A ; LAW _D059+0 -_F1091 !WORD _D059+0 - !BYTE $54 ; CALL _A008 -_F1092 !WORD _A008 - !BYTE $7A ; SAW _D041+0 -_F1093 !WORD _D041+0 - !BYTE $6A ; LAW _D060+0 -_F1094 !WORD _D060+0 - !BYTE $4C ; BRFLS _B332 - !WORD _B332-* - !BYTE $6A ; LAW _D060+0 -_F1095 !WORD _D060+0 - !BYTE $56 ; ICAL - !BYTE $50 ; BRNCH _B333 - !WORD _B333-* -_B332 -; toolsrc/plforth.pla: 1772: (*_cfa_(brkentry))()#0 -; toolsrc/plforth.pla: 1773: fin - !BYTE $6A ; LAW _D059+0 -_F1096 !WORD _D059+0 - !BYTE $54 ; CALL _A008 -_F1097 !WORD _A008 - !BYTE $62 ; LW - !BYTE $56 ; ICAL -_B333 -; toolsrc/plforth.pla: 1774: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1775: def _brk_#0 -_P103 ; _brk_#0() -_C127 ; _brk_() -; toolsrc/plforth.pla: 1776: brkhandle(@d_brk) -; toolsrc/plforth.pla: 1777: end - !BYTE $26 ; LA _D340+0 -_F1098 !WORD _D340+0 - !BYTE $54 ; CALL _C013 -_F1099 !WORD _C013 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1778: def _brkon_#0 -_P104 ; _brkon_#0() -_C128 ; _brkon_() -; toolsrc/plforth.pla: 1779: word dentry - ; dentry -> [0] -; toolsrc/plforth.pla: 1780: -; toolsrc/plforth.pla: 1781: if brkcfa - !BYTE $58,$02,$00 ; ENTER 2,0 -; toolsrc/plforth.pla: 1782: puts("Breakpoint already enabled\n") - !BYTE $6A ; LAW _D060+0 -_F1100 !WORD _D060+0 - !BYTE $4C ; BRFLS _B334 - !WORD _B334-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $42,$72,$65,$61,$6B,$70,$6F,$69 - !BYTE $6E,$74,$20,$61,$6C,$72,$65,$61 - !BYTE $64,$79,$20,$65,$6E,$61,$62,$6C - !BYTE $65,$64,$0D - !BYTE $54 ; CALL _X004 -_F1101 !WORD 0 -; toolsrc/plforth.pla: 1783: else - !BYTE $50 ; BRNCH _B335 - !WORD _B335-* -_B334 -; toolsrc/plforth.pla: 1784: dentry = find(nextword(' ')) -; toolsrc/plforth.pla: 1785: if dentry -; toolsrc/plforth.pla: 1786: brkentry = dentry -; toolsrc/plforth.pla: 1787: brkcfa = *_cfa_(dentry) -; toolsrc/plforth.pla: 1788: *_cfa_(dentry) = @brkpoint -; toolsrc/plforth.pla: 1789: else - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C005 -_F1102 !WORD _C005 - !BYTE $54 ; CALL _C010 -_F1103 !WORD _C010 - !BYTE $6E,$00 ; DLW [0] - !BYTE $4C ; BRFLS _B336 - !WORD _B336-* - !BYTE $66,$00 ; LLW [0] - !BYTE $7A ; SAW _D059+0 -_F1104 !WORD _D059+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F1105 !WORD _A008 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D060+0 -_F1106 !WORD _D060+0 - !BYTE $26 ; LA _C126+0 -_F1107 !WORD _C126+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _A008 -_F1108 !WORD _A008 - !BYTE $72 ; SW - !BYTE $50 ; BRNCH _B337 - !WORD _B337-* -_B336 -; toolsrc/plforth.pla: 1790: puts("No match\n") - !BYTE $2E ; CS - !BYTE $09 - !BYTE $4E,$6F,$20,$6D,$61,$74,$63,$68 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F1109 !WORD 0 -; toolsrc/plforth.pla: 1791: fin -_B337 -; toolsrc/plforth.pla: 1792: fin -_B335 -; toolsrc/plforth.pla: 1793: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1794: def _brkoff_#0 -_P105 ; _brkoff_#0() -_C129 ; _brkoff_() -; toolsrc/plforth.pla: 1795: *_cfa_(brkentry) = brkcfa -; toolsrc/plforth.pla: 1796: brkcfa = 0 -; toolsrc/plforth.pla: 1797: end - !BYTE $6A ; LAW _D060+0 -_F1110 !WORD _D060+0 - !BYTE $6A ; LAW _D059+0 -_F1111 !WORD _D059+0 - !BYTE $54 ; CALL _A008 -_F1112 !WORD _A008 - !BYTE $72 ; SW - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D060+0 -_F1113 !WORD _D060+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1798: def _cont_#0 -_P113 ; _cont_#0() -_C130 ; _cont_() -; toolsrc/plforth.pla: 1799: if brk -; toolsrc/plforth.pla: 1800: state = state | exit_flag -; toolsrc/plforth.pla: 1801: else - !BYTE $68 ; LAB _D061+0 -_F1114 !WORD _D061+0 - !BYTE $4C ; BRFLS _B338 - !WORD _B338-* - !BYTE $68 ; LAB _D058+0 -_F1115 !WORD _D058+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D058+0 -_F1116 !WORD _D058+0 - !BYTE $50 ; BRNCH _B339 - !WORD _B339-* -_B338 -; toolsrc/plforth.pla: 1802: putc('?') -; toolsrc/plforth.pla: 1803: fin - !BYTE $2A,$3F ; CB 63 - !BYTE $54 ; CALL _X002 -_F1117 !WORD 0 -_B339 -; toolsrc/plforth.pla: 1804: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1805: def _itc_#0 -_P096 ; _itc_#0() -_C131 ; _itc_() -; toolsrc/plforth.pla: 1806: comp_mode = comp_itc_flag -; toolsrc/plforth.pla: 1807: end - !BYTE $2A,$10 ; CB 16 - !BYTE $78 ; SAB _D057+0 -_F1118 !WORD _D057+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1808: def _pbc_#0 -_P097 ; _pbc_#0() -_C132 ; _pbc_() -; toolsrc/plforth.pla: 1809: comp_mode = comp_pbc_flag -; toolsrc/plforth.pla: 1810: end - !BYTE $2A,$20 ; CB 32 - !BYTE $78 ; SAB _D057+0 -_F1119 !WORD _D057+0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1811: def _comment_#0 -_P098 ; _comment_#0() -_C133 ; _comment_() -; toolsrc/plforth.pla: 1812: nextword(')') -; toolsrc/plforth.pla: 1813: end - !BYTE $2A,$29 ; CB 41 - !BYTE $54 ; CALL _C005 -_F1120 !WORD _C005 - !BYTE $30 ; DROP - !BYTE $30 ; DROP - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1814: def typelist(typestr, typemask, type)#0 - ; typestr -> [0] - ; typemask -> [2] - ; type -> [4] -_C134 ; typelist() -; toolsrc/plforth.pla: 1815: word d - ; d -> [6] -; toolsrc/plforth.pla: 1816: byte tab, width - ; tab -> [8] - ; width -> [9] -; toolsrc/plforth.pla: 1817: -; toolsrc/plforth.pla: 1818: width = cmdsys:_sysflags_ & vid80col ?? 79 :: 39 - !BYTE $58,$0A,$03 ; ENTER 10,3 -; toolsrc/plforth.pla: 1819: puts(typestr) -; toolsrc/plforth.pla: 1820: tab = ^typestr -; toolsrc/plforth.pla: 1821: d = latest -; toolsrc/plforth.pla: 1822: while d - !BYTE $6A ; LAW _X000+23 -_F1121 !WORD 0+23 - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B340 - !WORD _B340-* - !BYTE $2A,$4F ; CB 79 - !BYTE $50 ; BRNCH _B341 - !WORD _B341-* -_B340 - !BYTE $2A,$27 ; CB 39 -_B341 - !BYTE $74,$09 ; SLB [9] - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F1122 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $74,$08 ; SLB [8] - !BYTE $6A ; LAW _D037+0 -_F1123 !WORD _D037+0 - !BYTE $76,$06 ; SLW [6] - !BYTE $50 ; BRNCH _B344 - !WORD _B344-* -_B342 -; toolsrc/plforth.pla: 1823: if ^d // Skip NONAME definitions -; toolsrc/plforth.pla: 1824: if (typemask & ^_ffa_(d)) == type -; toolsrc/plforth.pla: 1825: tab = tab + 1 + ^d -; toolsrc/plforth.pla: 1826: if tab > width -; toolsrc/plforth.pla: 1827: putln; -; toolsrc/plforth.pla: 1828: tab = ^d -; toolsrc/plforth.pla: 1829: else - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B345 - !WORD _B345-* - !BYTE $66,$02 ; LLW [2] - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A004 -_F1124 !WORD _A004 - !BYTE $60 ; LB - !BYTE $94 ; AND - !BYTE $66,$04 ; LLW [4] - !BYTE $24 ; BRNE _B347 - !WORD _B347-* - !BYTE $64,$08 ; LLB [8] - !BYTE $8C ; INCR - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $6C,$08 ; DLB [8] - !BYTE $64,$09 ; LLB [9] - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B349 - !WORD _B349-* - !BYTE $54 ; CALL _X003 -_F1125 !WORD 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $60 ; LB - !BYTE $74,$08 ; SLB [8] - !BYTE $50 ; BRNCH _B350 - !WORD _B350-* -_B349 -; toolsrc/plforth.pla: 1830: puts(" ") - !BYTE $2E ; CS - !BYTE $01 - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F1126 !WORD 0 -; toolsrc/plforth.pla: 1831: fin -_B350 -; toolsrc/plforth.pla: 1832: puts(d) -; toolsrc/plforth.pla: 1833: if conio:keypressed(); conio:getkey(); conio:getkey(); fin - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X004 -_F1127 !WORD 0 - !BYTE $6A ; LAW _X033+0 -_F1128 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B351 - !WORD _B351-* - !BYTE $6A ; LAW _X033+2 -_F1129 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $6A ; LAW _X033+2 -_F1130 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B351 -_B352 -; toolsrc/plforth.pla: 1834: fin -_B347 -_B348 -; toolsrc/plforth.pla: 1835: fin -_B345 -_B346 -; toolsrc/plforth.pla: 1836: d = *_lfa_(d) -; toolsrc/plforth.pla: 1837: loop - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A007 -_F1131 !WORD _A007 - !BYTE $62 ; LW - !BYTE $76,$06 ; SLW [6] -_B344 - !BYTE $66,$06 ; LLW [6] - !BYTE $4E ; BRTRU _B342 - !WORD _B342-* -_B343 -; toolsrc/plforth.pla: 1838: end - !BYTE $5A,$0A ; LEAVE 10 -; toolsrc/plforth.pla: 1839: def _words_#0 -_P091 ; _words_#0() -_C135 ; _words_() -; toolsrc/plforth.pla: 1840: putln -; toolsrc/plforth.pla: 1841: typelist("Compile only: ", componly_flag, componly_flag) - !BYTE $54 ; CALL _X003 -_F1132 !WORD 0 - !BYTE $2E ; CS - !BYTE $0E - !BYTE $43,$6F,$6D,$70,$69,$6C,$65,$20 - !BYTE $6F,$6E,$6C,$79,$3A,$20 - !BYTE $2A,$40 ; CB 64 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _C134 -_F1133 !WORD _C134 -; toolsrc/plforth.pla: 1842: putln; putln -; toolsrc/plforth.pla: 1843: typelist("Interpret only: ", interponly_flag, interponly_flag) - !BYTE $54 ; CALL _X003 -_F1134 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1135 !WORD 0 - !BYTE $2E ; CS - !BYTE $10 - !BYTE $49,$6E,$74,$65,$72,$70,$72,$65 - !BYTE $74,$20,$6F,$6E,$6C,$79,$3A,$20 - !BYTE $2A,$80 ; CB 128 - !BYTE $34 ; DUP - !BYTE $54 ; CALL _C134 -_F1136 !WORD _C134 -; toolsrc/plforth.pla: 1844: putln; putln -; toolsrc/plforth.pla: 1845: typelist("Both: ", componly_flag | interponly_flag, 0) - !BYTE $54 ; CALL _X003 -_F1137 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1138 !WORD 0 - !BYTE $2E ; CS - !BYTE $06 - !BYTE $42,$6F,$74,$68,$3A,$20 - !BYTE $2A,$C0 ; CB 192 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _C134 -_F1139 !WORD _C134 -; toolsrc/plforth.pla: 1846: end - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1847: // -; toolsrc/plforth.pla: 1848: // Quit -; toolsrc/plforth.pla: 1849: // -; toolsrc/plforth.pla: 1850: def _quit_#0 -_P116 ; _quit_#0() -_C136 ; _quit_() -; toolsrc/plforth.pla: 1851: warmstart -; toolsrc/plforth.pla: 1852: throw(@exitforth, FALSE) -; toolsrc/plforth.pla: 1853: end - !BYTE $54 ; CALL _C008 -_F1140 !WORD _C008 - !BYTE $26 ; LA _D048+0 -_F1141 !WORD _D048+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X036 -_F1142 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1854: // -; toolsrc/plforth.pla: 1855: // Abort -; toolsrc/plforth.pla: 1856: // -; toolsrc/plforth.pla: 1857: def _abort_(a)#0 - ; a -> [0] -_P117 ; _abort_(a)#0() -_C137 ; _abort_() -; toolsrc/plforth.pla: 1858: if a - !BYTE $58,$02,$01 ; ENTER 2,1 -; toolsrc/plforth.pla: 1859: puts("Abort\n") - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B353 - !WORD _B353-* - !BYTE $2E ; CS - !BYTE $06 - !BYTE $41,$62,$6F,$72,$74,$0D - !BYTE $54 ; CALL _X004 -_F1143 !WORD 0 -; toolsrc/plforth.pla: 1860: _quit_ -; toolsrc/plforth.pla: 1861: fin - !BYTE $54 ; CALL _C136 -_F1144 !WORD _C136 -_B353 -_B354 -; toolsrc/plforth.pla: 1862: end - !BYTE $5A,$02 ; LEAVE 2 -; toolsrc/plforth.pla: 1863: def _doabortstr_(a,b)#0 - ; a -> [0] - ; b -> [2] -_P118 ; _doabortstr_(a,b)#0() -_C138 ; _doabortstr_() -; toolsrc/plforth.pla: 1864: if a - !BYTE $58,$04,$02 ; ENTER 4,2 -; toolsrc/plforth.pla: 1865: puts("Abort: "); puts(b); putln - !BYTE $66,$00 ; LLW [0] - !BYTE $4C ; BRFLS _B355 - !WORD _B355-* - !BYTE $2E ; CS - !BYTE $07 - !BYTE $41,$62,$6F,$72,$74,$3A,$20 - !BYTE $54 ; CALL _X004 -_F1145 !WORD 0 -; toolsrc/plforth.pla: 1866: _quit_ -; toolsrc/plforth.pla: 1867: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X004 -_F1146 !WORD 0 - !BYTE $54 ; CALL _X003 -_F1147 !WORD 0 - !BYTE $54 ; CALL _C136 -_F1148 !WORD _C136 -_B355 -_B356 -; toolsrc/plforth.pla: 1868: end - !BYTE $5A,$04 ; LEAVE 4 -; toolsrc/plforth.pla: 1869: def _abortstr_#0 -_P119 ; _abortstr_#0() -_C139 ; _abortstr_() -; toolsrc/plforth.pla: 1870: word str - ; str -> [0] -; toolsrc/plforth.pla: 1871: byte len - ; len -> [2] -; toolsrc/plforth.pla: 1872: -; toolsrc/plforth.pla: 1873: _str_ - !BYTE $58,$03,$00 ; ENTER 3,0 -; toolsrc/plforth.pla: 1874: if state & comp_flag -; toolsrc/plforth.pla: 1875: _compword_(@d_doabortstr) -; toolsrc/plforth.pla: 1876: else - !BYTE $54 ; CALL _C109 -_F1149 !WORD _C109 - !BYTE $68 ; LAB _D058+0 -_F1150 !WORD _D058+0 - !BYTE $3C,$30 ; ANDI 48 - !BYTE $4C ; BRFLS _B357 - !WORD _B357-* - !BYTE $26 ; LA _D328+0 -_F1151 !WORD _D328+0 - !BYTE $54 ; CALL _C016 -_F1152 !WORD _C016 - !BYTE $50 ; BRNCH _B358 - !WORD _B358-* -_B357 -; toolsrc/plforth.pla: 1877: (@_doabortstr_)()#0 -; toolsrc/plforth.pla: 1878: fin - !BYTE $54 ; CALL _C138 -_F1153 !WORD _C138 -_B358 -; toolsrc/plforth.pla: 1879: end - !BYTE $5A,$03 ; LEAVE 3 -; toolsrc/plforth.pla: 1880: // -; toolsrc/plforth.pla: 1881: // Restart FORTH -; toolsrc/plforth.pla: 1882: // -; toolsrc/plforth.pla: 1883: def _restart_#0 -_P114 ; _restart_#0() -_C140 ; _restart_() -; toolsrc/plforth.pla: 1884: coldstart -; toolsrc/plforth.pla: 1885: throw(@exitforth, FALSE) -; toolsrc/plforth.pla: 1886: end - !BYTE $54 ; CALL _C009 -_F1154 !WORD _C009 - !BYTE $26 ; LA _D048+0 -_F1155 !WORD _D048+0 - !BYTE $00 ; CN 0 - !BYTE $54 ; CALL _X036 -_F1156 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1887: // -; toolsrc/plforth.pla: 1888: // Leave FORTH -; toolsrc/plforth.pla: 1889: // -; toolsrc/plforth.pla: 1890: def _bye_#0 -_P115 ; _bye_#0() -_C141 ; _bye_() -; toolsrc/plforth.pla: 1891: throw(@exitforth, TRUE) -; toolsrc/plforth.pla: 1892: end - !BYTE $26 ; LA _D048+0 -_F1157 !WORD _D048+0 - !BYTE $20 ; MINUS ONE - !BYTE $54 ; CALL _X036 -_F1158 !WORD 0 - !BYTE $30 ; DROP - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1893: // -; toolsrc/plforth.pla: 1894: // Start FORTH -; toolsrc/plforth.pla: 1895: // -; toolsrc/plforth.pla: 1896: puts("PLEIADES FORTH v2.20\n") -_INIT - !BYTE $2E ; CS - !BYTE $15 - !BYTE $50,$4C,$45,$49,$41,$44,$45,$53 - !BYTE $20,$46,$4F,$52,$54,$48,$20,$76 - !BYTE $32,$2E,$32,$30,$0D - !BYTE $54 ; CALL _X004 -_F1159 !WORD 0 -; toolsrc/plforth.pla: 1897: if cmdsys:sysver < $0220 -; toolsrc/plforth.pla: 1898: puts("PLASMA >= 2.20 required\n") - !BYTE $6A ; LAW _X000+0 -_F1160 !WORD 0+0 - !BYTE $2C,$20,$02 ; CW 544 - !BYTE $46 ; ISLT - !BYTE $4C ; BRFLS _B359 - !WORD _B359-* - !BYTE $2E ; CS - !BYTE $18 - !BYTE $50,$4C,$41,$53,$4D,$41,$20,$3E - !BYTE $3D,$20,$32,$2E,$32,$30,$20,$72 - !BYTE $65,$71,$75,$69,$72,$65,$64,$0D - !BYTE $54 ; CALL _X004 -_F1161 !WORD 0 -; toolsrc/plforth.pla: 1899: return - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1900: fin -_B359 -_B360 -; toolsrc/plforth.pla: 1901: // -; toolsrc/plforth.pla: 1902: // Compile ITC version of inline words ( speeds it up a smidge ) -; toolsrc/plforth.pla: 1903: // -; toolsrc/plforth.pla: 1904: vmvect = *(@divmod + 1) // Hack - get VM entry vector from divmod -; toolsrc/plforth.pla: 1905: latest = @d_words -; toolsrc/plforth.pla: 1906: while latest - !BYTE $6A ; LAW _X023+1 -_F1162 !WORD 0+1 - !BYTE $7A ; SAW _D042+0 -_F1163 !WORD _D042+0 - !BYTE $26 ; LA _D345+0 -_F1164 !WORD _D345+0 - !BYTE $7A ; SAW _D037+0 -_F1165 !WORD _D037+0 - !BYTE $50 ; BRNCH _B363 - !WORD _B363-* -_B361 -; toolsrc/plforth.pla: 1907: if *_cfa_(latest) == 0 -; toolsrc/plforth.pla: 1908: *_cfa_(latest) = heapmark -; toolsrc/plforth.pla: 1909: _dictaddb_(JSR); _dictaddw_(vmvect) -; toolsrc/plforth.pla: 1910: if ^_ffa_(latest) & inline_flag -; toolsrc/plforth.pla: 1911: _dictaddb_(^_pfa_(latest)) -; toolsrc/plforth.pla: 1912: elsif ^_ffa_(latest) & inlinew_flag - !BYTE $6A ; LAW _D037+0 -_F1166 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F1167 !WORD _A008 - !BYTE $62 ; LW - !BYTE $4E ; BRTRU _B364 - !WORD _B364-* - !BYTE $54 ; CALL _X012 -_F1168 !WORD 0 - !BYTE $6A ; LAW _D037+0 -_F1169 !WORD _D037+0 - !BYTE $54 ; CALL _A008 -_F1170 !WORD _A008 - !BYTE $72 ; SW - !BYTE $2A,$20 ; CB 32 - !BYTE $54 ; CALL _C001 -_F1171 !WORD _C001 - !BYTE $6A ; LAW _D042+0 -_F1172 !WORD _D042+0 - !BYTE $54 ; CALL _C000 -_F1173 !WORD _C000 - !BYTE $6A ; LAW _D037+0 -_F1174 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F1175 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B366 - !WORD _B366-* - !BYTE $6A ; LAW _D037+0 -_F1176 !WORD _D037+0 - !BYTE $54 ; CALL _A005 -_F1177 !WORD _A005 - !BYTE $60 ; LB - !BYTE $54 ; CALL _C001 -_F1178 !WORD _C001 - !BYTE $50 ; BRNCH _B367 - !WORD _B367-* -_B366 -; toolsrc/plforth.pla: 1913: _dictaddw_(*_pfa_(latest)) -; toolsrc/plforth.pla: 1914: else - !BYTE $6A ; LAW _D037+0 -_F1179 !WORD _D037+0 - !BYTE $54 ; CALL _A004 -_F1180 !WORD _A004 - !BYTE $60 ; LB - !BYTE $3C,$02 ; ANDI 2 - !BYTE $4C ; BRFLS _B368 - !WORD _B368-* - !BYTE $6A ; LAW _D037+0 -_F1181 !WORD _D037+0 - !BYTE $54 ; CALL _A005 -_F1182 !WORD _A005 - !BYTE $62 ; LW - !BYTE $54 ; CALL _C000 -_F1183 !WORD _C000 - !BYTE $50 ; BRNCH _B367 - !WORD _B367-* -_B368 -; toolsrc/plforth.pla: 1915: puts(latest); puts(": Invalid dictionary\n") - !BYTE $6A ; LAW _D037+0 -_F1184 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F1185 !WORD 0 - !BYTE $2E ; CS - !BYTE $15 - !BYTE $3A,$20,$49,$6E,$76,$61,$6C,$69 - !BYTE $64,$20,$64,$69,$63,$74,$69,$6F - !BYTE $6E,$61,$72,$79,$0D - !BYTE $54 ; CALL _X004 -_F1186 !WORD 0 -; toolsrc/plforth.pla: 1916: return -1 - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1917: fin -_B367 -; toolsrc/plforth.pla: 1918: _dictaddb_($5C) // RET -; toolsrc/plforth.pla: 1919: fin - !BYTE $2A,$5C ; CB 92 - !BYTE $54 ; CALL _C001 -_F1187 !WORD _C001 -_B364 -_B365 -; toolsrc/plforth.pla: 1920: latest = *_lfa_(latest) -; toolsrc/plforth.pla: 1921: loop - !BYTE $6A ; LAW _D037+0 -_F1188 !WORD _D037+0 - !BYTE $54 ; CALL _A007 -_F1189 !WORD _A007 - !BYTE $62 ; LW - !BYTE $7A ; SAW _D037+0 -_F1190 !WORD _D037+0 -_B363 - !BYTE $6A ; LAW _D037+0 -_F1191 !WORD _D037+0 - !BYTE $4E ; BRTRU _B361 - !WORD _B361-* -_B362 -; toolsrc/plforth.pla: 1922: keyinbuf = heapalloc(INBUF_SIZE + 1) -; toolsrc/plforth.pla: 1923: fileio:iobufalloc(4) // Allocate a bunch of file buffers -; toolsrc/plforth.pla: 1924: strbuf = heapalloc(256) -; toolsrc/plforth.pla: 1925: inbuf = heapalloc(SRCREFS * INBUF_SIZE) -; toolsrc/plforth.pla: 1926: startheap = heapmark -; toolsrc/plforth.pla: 1927: coldstart -; toolsrc/plforth.pla: 1928: // -; toolsrc/plforth.pla: 1929: // Check for command line argument -; toolsrc/plforth.pla: 1930: // -; toolsrc/plforth.pla: 1931: inptr = argNext(argFirst) -; toolsrc/plforth.pla: 1932: while ^inptr and ^(inptr + 1) == '-' - !BYTE $2A,$81 ; CB 129 - !BYTE $54 ; CALL _X014 -_F1192 !WORD 0 - !BYTE $7A ; SAW _D050+0 -_F1193 !WORD _D050+0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X031+12 -_F1194 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X014 -_F1195 !WORD 0 - !BYTE $7A ; SAW _D046+0 -_F1196 !WORD _D046+0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $54 ; CALL _X014 -_F1197 !WORD 0 - !BYTE $7A ; SAW _D047+0 -_F1198 !WORD _D047+0 - !BYTE $54 ; CALL _X012 -_F1199 !WORD 0 - !BYTE $7A ; SAW _D043+0 -_F1200 !WORD _D043+0 - !BYTE $54 ; CALL _C009 -_F1201 !WORD _C009 - !BYTE $54 ; CALL _X029 -_F1202 !WORD 0 - !BYTE $54 ; CALL _X030 -_F1203 !WORD 0 - !BYTE $7A ; SAW _D039+0 -_F1204 !WORD _D039+0 - !BYTE $50 ; BRNCH _B371 - !WORD _B371-* -_B369 -; toolsrc/plforth.pla: 1933: when toupper(^(inptr + 2)) - !BYTE $6A ; LAW _D039+0 -_F1205 !WORD _D039+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F1206 !WORD 0 - !BYTE $52 ; SEL - !WORD _B374-* -; toolsrc/plforth.pla: 1934: is 'T' // Trace flag -_B375 -; toolsrc/plforth.pla: 1935: _tron_ -; toolsrc/plforth.pla: 1936: is 'D' // Debug flag (indirect threaded code) - !BYTE $54 ; CALL _C122 -_F1207 !WORD _C122 -_B376 -; toolsrc/plforth.pla: 1937: _itc_ -; toolsrc/plforth.pla: 1938: break - !BYTE $54 ; CALL _C131 -_F1208 !WORD _C131 - !BYTE $50 ; BRNCH _B373 - !WORD _B373-* -; toolsrc/plforth.pla: 1939: otherwise -_B374 - !BYTE $02 ; CASEBLOCK - !WORD $0044 - !WORD _B376-* - !WORD $0054 - !WORD _B375-* -; toolsrc/plforth.pla: 1940: puts("Usage: +PLFORTH [-T] [-D] [SCRIPT NAME]\n") - !BYTE $2E ; CS - !BYTE $28 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$2B - !BYTE $50,$4C,$46,$4F,$52,$54,$48,$20 - !BYTE $5B,$2D,$54,$5D,$20,$5B,$2D,$44 - !BYTE $5D,$20,$5B,$53,$43,$52,$49,$50 - !BYTE $54,$20,$4E,$41,$4D,$45,$5D,$0D - !BYTE $54 ; CALL _X004 -_F1209 !WORD 0 -; toolsrc/plforth.pla: 1941: return 0 - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; toolsrc/plforth.pla: 1942: wend -_B373 -; toolsrc/plforth.pla: 1943: inptr = argNext(inptr) -; toolsrc/plforth.pla: 1944: loop - !BYTE $6A ; LAW _D039+0 -_F1210 !WORD _D039+0 - !BYTE $54 ; CALL _X030 -_F1211 !WORD 0 - !BYTE $7A ; SAW _D039+0 -_F1212 !WORD _D039+0 -_B371 - !BYTE $6A ; LAW _D039+0 -_F1213 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $AC ; BRAND _B372 - !WORD _B372-* - !BYTE $6A ; LAW _D039+0 -_F1214 !WORD _D039+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $40 ; ISEQ -_B372 - !BYTE $4E ; BRTRU _B369 - !WORD _B369-* -_B370 -; toolsrc/plforth.pla: 1945: // -; toolsrc/plforth.pla: 1946: // Main start and restart entry -; toolsrc/plforth.pla: 1947: // -; toolsrc/plforth.pla: 1948: if not except(@exitforth) -; toolsrc/plforth.pla: 1949: if ^inptr; inptr++; _srcstr_; fin - !BYTE $26 ; LA _D048+0 -_F1215 !WORD _D048+0 - !BYTE $54 ; CALL _X035 -_F1216 !WORD 0 - !BYTE $4E ; BRTRU _B377 - !WORD _B377-* - !BYTE $6A ; LAW _D039+0 -_F1217 !WORD _D039+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B379 - !WORD _B379-* - !BYTE $6A ; LAW _D039+0 -_F1218 !WORD _D039+0 - !BYTE $8C ; INCR - !BYTE $7A ; SAW _D039+0 -_F1219 !WORD _D039+0 - !BYTE $54 ; CALL _C116 -_F1220 !WORD _C116 -_B379 -_B380 -; toolsrc/plforth.pla: 1950: _interpret_ -; toolsrc/plforth.pla: 1951: fin - !BYTE $54 ; CALL _C018 -_F1221 !WORD _C018 -_B377 -_B378 -; toolsrc/plforth.pla: 1952: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 143 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C009 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C010 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C011 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C012 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C013 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C014 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C015 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C016 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C017 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C018 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C019 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C020 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C021 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C022 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C023 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C024 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C025 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C026 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C027 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C028 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C029 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C030 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C031 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C032 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C033 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C034 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C035 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C036 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C037 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C038 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C039 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C040 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C041 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C042 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C043 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C044 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C045 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C046 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C047 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C048 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C049 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C050 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C051 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C052 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C053 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C054 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C055 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C056 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C057 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C058 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C059 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C060 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C061 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C062 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C063 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C064 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C065 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C066 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C067 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C068 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C069 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C070 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C071 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C072 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C073 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C074 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C075 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C076 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C077 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C078 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C079 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C080 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C081 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C082 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C083 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C084 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C085 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C086 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C087 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C088 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C089 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C090 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C091 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C092 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C093 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C094 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C095 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C096 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C097 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C098 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C099 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C100 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C101 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C102 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C103 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C104 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C105 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C106 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C107 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C108 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C109 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C110 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C111 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C112 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C113 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C114 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C115 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C116 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C117 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C118 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C119 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C120 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C121 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C122 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C123 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C124 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C125 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C126 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C127 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C128 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C129 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C130 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C131 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C132 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C133 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C134 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C135 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C136 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C137 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C138 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C139 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C140 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C141 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 24 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F195-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F196-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F197-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F198-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F199-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F201-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F202-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F203-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F205-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F206-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F207-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F208-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F209-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F210-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F211-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F215-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F216-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F221-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F222-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F223-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F224-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F225-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F226-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F227-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F228-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F229-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F230-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F231-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F232-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F233-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F234-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F235-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F236-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F237-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F238-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F239-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F240-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F241-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F242-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F243-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F244-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F245-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F246-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F247-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F248-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F249-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F250-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F251-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F252-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F253-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F254-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F255-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F256-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F257-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F258-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F259-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F260-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F261-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F262-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F263-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F264-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F265-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F266-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F267-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F268-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F269-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F270-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F271-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F272-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F273-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F274-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F275-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F276-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F277-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F278-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F279-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F280-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F281-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F282-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F283-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F284-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F285-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F286-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F287-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F288-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F289-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F290-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F291-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F292-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F293-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F294-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F295-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F296-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F297-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F298-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F299-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F300-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F301-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F302-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F303-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F304-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F305-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F306-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F307-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F308-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F309-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F310-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F311-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F312-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F313-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F314-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F315-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F316-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F317-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F318-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F319-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F320-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F321-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F322-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F323-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F324-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F325-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F326-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F327-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F328-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F329-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F330-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F331-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F332-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F333-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F334-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F335-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F336-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F337-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F338-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F339-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F340-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F341-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F342-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F343-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F344-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F345-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F346-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F347-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F348-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F349-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F350-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F351-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F352-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F353-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F354-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F355-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F356-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F357-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F358-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F359-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F360-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F361-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F362-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F363-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F364-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F365-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F366-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F367-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F368-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F369-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F370-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F371-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F372-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F373-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F374-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F375-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F376-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F377-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F378-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F379-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F380-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F381-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F382-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F383-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F384-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F385-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F386-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F387-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F388-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F389-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F390-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F391-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F392-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F393-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F394-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F395-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F396-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F397-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F398-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F399-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F400-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F401-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F402-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F403-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F404-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F405-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F406-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F407-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F408-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F409-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F410-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F411-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F412-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F413-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F414-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F415-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F416-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F417-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F418-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F419-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F420-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F421-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F422-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F423-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F424-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F425-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F426-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F427-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F428-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F429-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F430-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F431-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F432-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F433-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F434-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F435-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F436-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F437-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F438-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F439-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F440-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F441-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F442-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F443-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F444-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F445-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F446-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F447-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F448-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F449-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F450-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F451-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F452-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F453-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F454-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F455-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F456-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F457-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F458-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F459-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F460-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F461-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F462-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F463-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F464-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F465-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F466-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F467-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F468-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F469-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F470-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F471-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F472-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F473-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F474-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F475-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F476-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F477-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F478-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F479-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F480-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F481-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F482-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F483-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F484-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F485-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F486-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F487-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F488-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F489-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F490-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F491-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F492-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F493-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F494-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F495-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F496-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F497-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F498-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F499-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F500-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F501-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F502-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F503-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F504-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F505-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F506-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F507-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F508-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F509-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F510-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F511-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F512-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F513-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F514-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F515-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F516-_SEGBEGIN - !BYTE 17 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F517-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F518-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F519-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F520-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F521-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F522-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F523-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F524-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F525-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F526-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F527-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F528-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F529-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F530-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F531-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F532-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F533-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F534-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F535-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F536-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F537-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F538-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F539-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F540-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F541-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F542-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F543-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F544-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F545-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F546-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F547-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F548-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F549-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F550-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F551-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F552-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F553-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F554-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F555-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F556-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F557-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F558-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F559-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F560-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F561-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F562-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F563-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F564-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F565-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F566-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F567-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F568-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F569-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F570-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F571-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F572-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F573-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F574-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F575-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F576-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F577-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F578-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F579-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F580-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F581-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F582-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F583-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F584-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F585-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F586-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F587-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F588-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F589-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F590-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F591-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F592-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F593-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F594-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F595-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F596-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F597-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F598-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F599-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F600-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F601-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F602-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F603-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F604-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F605-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F606-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F607-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F608-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F609-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F610-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F611-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F612-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F613-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F614-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F615-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F616-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F617-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F618-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F619-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F620-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F621-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F622-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F623-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F624-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F625-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F626-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F627-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F628-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F629-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F630-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F631-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F632-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F633-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F634-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F635-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F636-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F637-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F638-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F639-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F640-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F641-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F642-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F643-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F644-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F645-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F646-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F647-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F648-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F649-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F650-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F651-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F652-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F653-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F654-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F655-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F656-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F657-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F658-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F659-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F660-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F661-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F662-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F663-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F664-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F665-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F666-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F667-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F668-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F669-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F670-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F671-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F672-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F673-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F674-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F675-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F676-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F677-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F678-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F679-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F680-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F681-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F682-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F683-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F684-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F685-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F686-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F687-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F688-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F689-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F690-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F691-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F692-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F693-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F694-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F695-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F696-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F697-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F698-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F699-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F700-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F701-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F702-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F703-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F704-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F705-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F706-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F707-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F708-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F709-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F710-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F711-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F712-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F713-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F714-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F715-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F716-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F717-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F718-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F719-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F720-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F721-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F722-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F723-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F724-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F725-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F726-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F727-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F728-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F729-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F730-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F731-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F732-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F733-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F734-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F735-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F736-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F737-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F738-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F739-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F740-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F741-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F742-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F743-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F744-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F745-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F746-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F747-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F748-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F749-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F750-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F751-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F752-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F753-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F754-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F755-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F756-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F757-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F758-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F759-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F760-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F761-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F762-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F763-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F764-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F765-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F766-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F767-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F768-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F769-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F770-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F771-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F772-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F773-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F774-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F775-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F776-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F777-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F778-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F779-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F780-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F781-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F782-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F783-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F784-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F785-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F786-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F787-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F788-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F789-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F790-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F791-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F792-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F793-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F794-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F795-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F796-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F797-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F798-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F799-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F800-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F801-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F802-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F803-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F804-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F805-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F806-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F807-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F808-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F809-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F810-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F811-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F812-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F813-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F814-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F815-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F816-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F817-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F818-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F819-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F820-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F821-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F822-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F823-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F824-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F825-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F826-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F827-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F828-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F829-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F830-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F831-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F832-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F833-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F834-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F835-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F836-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F837-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F838-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F839-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F840-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F841-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F842-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F843-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F844-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F845-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F846-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F847-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F848-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F849-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F850-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F851-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F852-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F853-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F854-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F855-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F856-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F857-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F858-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F859-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F860-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F861-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F862-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F863-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F864-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F865-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F866-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F867-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F868-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F869-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F870-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F871-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F872-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F873-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F874-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F875-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F876-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F877-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F878-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F879-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F880-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F881-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F882-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F883-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F884-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F885-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F886-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F887-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F888-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F889-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F890-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F891-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F892-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F893-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F894-_SEGBEGIN - !BYTE 26 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F895-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F896-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F897-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F898-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F899-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F900-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F901-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F902-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F903-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F904-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F905-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F906-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F907-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F908-_SEGBEGIN - !BYTE 7 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F909-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F910-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F911-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F912-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F913-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F914-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F915-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F916-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F917-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F918-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F919-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F920-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F921-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F922-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F923-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F924-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F925-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F926-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F927-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F928-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F929-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F930-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F931-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F932-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F933-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F934-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F935-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F936-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F937-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F938-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F939-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F940-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F941-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F942-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F943-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F944-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F945-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F946-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F947-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F948-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F949-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F950-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F951-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F952-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F953-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F954-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F955-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F956-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F957-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F958-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F959-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F960-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F961-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F962-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F963-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F964-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F965-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F966-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F967-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F968-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F969-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F970-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F971-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F972-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F973-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F974-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F975-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F976-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F977-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F978-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F979-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F980-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F981-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F982-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F983-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F984-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F985-_SEGBEGIN - !BYTE 20 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F986-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F987-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F988-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F989-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F990-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F991-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F992-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F993-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F994-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F995-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F996-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F997-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F998-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F999-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1000-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1001-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1003-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1004-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1007-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1008-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1009-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1012-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1013-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1014-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1015-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1017-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1018-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1019-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1020-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1021-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1022-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1023-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1024-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1025-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1026-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1027-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1028-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1029-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1030-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1031-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1032-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1034-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1035-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1038-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1039-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1041-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1042-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1043-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1044-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1046-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1047-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1048-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1049-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1050-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1051-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1052-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1057-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1058-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1059-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1060-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1061-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1062-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1063-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1064-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1065-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1066-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1067-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1068-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1069-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1070-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1071-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1072-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1074-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1075-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1076-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1077-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1078-_SEGBEGIN - !BYTE 5 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1079-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1083-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1084-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1085-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1086-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1087-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1088-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1089-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1090-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1091-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1092-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1095-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1096-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1097-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1098-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1099-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1100-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1101-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1102-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1103-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1108-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1109-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1110-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1111-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1116-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1117-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1119-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1120-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1121-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1122-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1124-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1125-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1126-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1127-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1128-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1129-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1130-_SEGBEGIN - !BYTE 33 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1131-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1132-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1133-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1134-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1135-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1136-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1137-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1138-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1140-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1141-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1142-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1143-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1144-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1145-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1146-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1147-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1148-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1149-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1150-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1151-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1152-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1153-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1154-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1155-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1156-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1157-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1158-_SEGBEGIN - !BYTE 36 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1159-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1160-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1161-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1162-_SEGBEGIN - !BYTE 23 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1163-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1167-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1168-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1169-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1170-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1172-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1173-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1174-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1175-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1176-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1177-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1178-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1179-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1180-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1181-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1182-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1183-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1184-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1185-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1186-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1187-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1188-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1189-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1191-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1192-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1193-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1194-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1195-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1196-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1197-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1198-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1199-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1200-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1201-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1202-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1203-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1204-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1205-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1206-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1207-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1208-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1209-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1210-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1211-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1212-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1213-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1214-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1215-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F1216-_SEGBEGIN - !BYTE 35 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1217-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1218-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1219-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1220-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F1221-_SEGBEGIN - !BYTE $00 - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: PUTI - !BYTE $D0,$D5,$D4,$49 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 5 ; ESD INDEX - ; DCI STRING: GETS - !BYTE $C7,$C5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 7 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: MEMSET - !BYTE $CD,$C5,$CD,$D3,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 17 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: STRCAT - !BYTE $D3,$D4,$D2,$C3,$C1,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 20 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: DIVMOD - !BYTE $C4,$C9,$D6,$CD,$CF,$44 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 23 ; ESD INDEX - ; DCI STRING: ISUGT - !BYTE $C9,$D3,$D5,$C7,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 24 ; ESD INDEX - ; DCI STRING: ISULT - !BYTE $C9,$D3,$D5,$CC,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 26 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 33 ; ESD INDEX - ; DCI STRING: EXCEPT - !BYTE $C5,$D8,$C3,$C5,$D0,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 35 ; ESD INDEX - ; DCI STRING: THROW - !BYTE $D4,$C8,$D2,$CF,$57 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 36 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/toolsrc/tx2forth.a b/src/toolsrc/tx2forth.a deleted file mode 100644 index 00f900f..0000000 --- a/src/toolsrc/tx2forth.a +++ /dev/null @@ -1,193 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; toolsrc/tx2forth.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; toolsrc/tx2forth.pla: 0001: -; toolsrc/tx2forth.pla: 0002: sysflags restxt1|restxt2|resxtxt1|resxtxt2 // Reserve all text pages - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $000F ; SYSTEM FLAGS -; toolsrc/tx2forth.pla: 0003: -; toolsrc/tx2forth.pla: 0004: return cmdsys:modexec("PLFORTH") - !BYTE $00 ; PAD BYTE -_SUBSEG ; BYTECODE STARTS -_INIT - !BYTE $2E ; CS - !BYTE $07 - !BYTE $50,$4C,$46,$4F,$52,$54,$48 - !BYTE $6A ; LAW _X000+6 -_F000 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $5C ; RET -; toolsrc/tx2forth.pla: 0005: done -_DEFCNT = 1 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 0 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 0 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/lz4cat.a b/src/utilsrc/lz4cat.a deleted file mode 100644 index ea65a34..0000000 --- a/src/utilsrc/lz4cat.a +++ /dev/null @@ -1,1354 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/lz4cat.pla: 0001: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/lz4cat.pla: 0001: -; utilsrc/lz4cat.pla: 0002: include "inc/args.plh" -; inc/args.plh: 0001: import args - ; DCI STRING: ARGS - !BYTE $C1,$D2,$C7,$53 - ; ARGS -> X028 -; inc/args.plh: 0002: predef argFirst, argNext(str) - ; ARGFIRST -> X029 - ; ARGNEXT -> X030 -; inc/args.plh: 0003: end -; utilsrc/lz4cat.pla: 0002: -; utilsrc/lz4cat.pla: 0003: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X031 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X032 -; inc/fileio.plh: 0082: end -; utilsrc/lz4cat.pla: 0003: -; utilsrc/lz4cat.pla: 0004: include "inc/lz4.plh" -; inc/lz4.plh: 0001: import lz4 - ; DCI STRING: LZ4 - !BYTE $CC,$DA,$34 - ; LZ4 -> X033 -; inc/lz4.plh: 0002: const LZ4_OK = 0 - ; LZ4_OK = 0 -; inc/lz4.plh: 0003: const LZ4_INVALID = -1 - ; LZ4_INVALID = -1 -; inc/lz4.plh: 0004: const LZ4_WRONG_VERSION = -2 - ; LZ4_WRONG_VERSION = -2 -; inc/lz4.plh: 0005: const LZ4_NOT_64K = -3 - ; LZ4_NOT_64K = -3 -; inc/lz4.plh: 0006: struc t_lz4header -; inc/lz4.plh: 0007: word lz4magic[2] - ; lz4magic = 0 -; inc/lz4.plh: 0008: byte lz4FLG - ; lz4FLG = 4 -; inc/lz4.plh: 0009: byte lz4BD - ; lz4BD = 5 -; inc/lz4.plh: 0010: end - ; t_lz4header = 6 -; inc/lz4.plh: 0011: predef lz4Unpack(seq, seqend, buff, buffend) - ; LZ4UNPACK -> X034 -; inc/lz4.plh: 0012: predef lz4Read(filestr, dstbuf, dstend, unpackbuf, unpackend)#1 - ; LZ4READ -> X035 -; inc/lz4.plh: 0013: end -; utilsrc/lz4cat.pla: 0004: -; utilsrc/lz4cat.pla: 0005: -; utilsrc/lz4cat.pla: 0006: const ERASE_DST = 1 - !BYTE $00 ; END OF MODULE DEPENDENCIES - ; ERASE_DST = 1 -; utilsrc/lz4cat.pla: 0007: word arg -_D036 !FILL 2 ; arg -; utilsrc/lz4cat.pla: 0008: byte ioflags -_D037 !FILL 1 ; ioflags -; utilsrc/lz4cat.pla: 0009: byte inref, outref -_D038 !FILL 1 ; inref, outref -_D039 !FILL 1 ; outref -; utilsrc/lz4cat.pla: 0010: char[64] infile, outfile -_D040 !FILL 64 ; infile, outfile -_D041 !FILL 64 ; outfile -; utilsrc/lz4cat.pla: 0011: word[2] eof -_D042 !FILL 4 ; eof -; utilsrc/lz4cat.pla: 0012: -; utilsrc/lz4cat.pla: 0013: def lz4ReadBlock(flags)#2 -_SUBSEG ; BYTECODE STARTS - ; flags -> [0] -_C000 ; lz4ReadBlock() -; utilsrc/lz4cat.pla: 0014: word size[2], block, data, len - ; size -> [2] - ; block -> [6] - ; data -> [8] - ; len -> [10] -; utilsrc/lz4cat.pla: 0015: -; utilsrc/lz4cat.pla: 0016: len = fileio:read(inref, @size, 4) - !BYTE $58,$0C,$01 ; ENTER 12,1 -; utilsrc/lz4cat.pla: 0017: if len <> 4 or size[0] == 0 or size[1] & $7FFF -; utilsrc/lz4cat.pla: 0018: return NULL, 0 - !BYTE $68 ; LAB _D038+0 -_F000 !WORD _D038+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X031+18 -_F001 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$0A ; DLW [10] - !BYTE $08 ; CN 4 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B001 - !WORD _B001-* - !BYTE $66,$02 ; LLW [2] - !BYTE $80 ; NOT - !BYTE $AE ; BROR _B002 - !WORD _B002-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$FF,$7F ; CW 32767 - !BYTE $94 ; AND -_B002 -_B001 - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/lz4cat.pla: 0019: fin -_B003 -_B004 -; utilsrc/lz4cat.pla: 0020: block = heapalloc(size[0]) -; utilsrc/lz4cat.pla: 0021: if block -; utilsrc/lz4cat.pla: 0022: len = fileio:read(inref, block, size[0]) -; utilsrc/lz4cat.pla: 0023: if len <> size[0] -; utilsrc/lz4cat.pla: 0024: heaprelease(block) -; utilsrc/lz4cat.pla: 0025: return NULL, 0 - !BYTE $66,$02 ; LLW [2] - !BYTE $54 ; CALL _X014 -_F002 !WORD 0 - !BYTE $6E,$06 ; DLW [6] - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $68 ; LAB _D038+0 -_F003 !WORD _D038+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X031+18 -_F004 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $6E,$0A ; DLW [10] - !BYTE $66,$02 ; LLW [2] - !BYTE $22 ; BREQ _B007 - !WORD _B007-* - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _X015 -_F005 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/lz4cat.pla: 0026: fin -_B007 -_B008 -; utilsrc/lz4cat.pla: 0027: else - !BYTE $50 ; BRNCH _B006 - !WORD _B006-* -_B005 -; utilsrc/lz4cat.pla: 0028: return NULL, 0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/lz4cat.pla: 0029: fin -_B006 -; utilsrc/lz4cat.pla: 0030: if size[1] & $8000 -; utilsrc/lz4cat.pla: 0031: // -; utilsrc/lz4cat.pla: 0032: // Uncompressed block -; utilsrc/lz4cat.pla: 0033: // -; utilsrc/lz4cat.pla: 0034: data = block -; utilsrc/lz4cat.pla: 0035: else - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$00,$80 ; CW 32768 - !BYTE $94 ; AND - !BYTE $4C ; BRFLS _B009 - !WORD _B009-* - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B010 - !WORD _B010-* -_B009 -; utilsrc/lz4cat.pla: 0036: // -; utilsrc/lz4cat.pla: 0037: // Decompress block -; utilsrc/lz4cat.pla: 0038: // -; utilsrc/lz4cat.pla: 0039: len = heapavail - 256 // Allocate almost entire heap to decompress into -; utilsrc/lz4cat.pla: 0040: data = heapalloc(len) -; utilsrc/lz4cat.pla: 0041: if data -; utilsrc/lz4cat.pla: 0042: len = lz4Unpack(block, block + size[0], data, data + len) -; utilsrc/lz4cat.pla: 0043: memcpy(block, data, len) -; utilsrc/lz4cat.pla: 0044: data = block -; utilsrc/lz4cat.pla: 0045: else - !BYTE $54 ; CALL _X016 -_F006 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $84 ; SUB - !BYTE $6E,$0A ; DLW [10] - !BYTE $54 ; CALL _X014 -_F007 !WORD 0 - !BYTE $6E,$08 ; DLW [8] - !BYTE $4C ; BRFLS _B011 - !WORD _B011-* - !BYTE $66,$06 ; LLW [6] - !BYTE $34 ; DUP - !BYTE $B2,$02 ; ADDLW [2] - !BYTE $66,$08 ; LLW [8] - !BYTE $34 ; DUP - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $54 ; CALL _X034 -_F008 !WORD 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$06 ; LLW [6] - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $54 ; CALL _X018 -_F009 !WORD 0 - !BYTE $66,$06 ; LLW [6] - !BYTE $76,$08 ; SLW [8] - !BYTE $50 ; BRNCH _B012 - !WORD _B012-* -_B011 -; utilsrc/lz4cat.pla: 0046: len = 0 -; utilsrc/lz4cat.pla: 0047: fin - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] -_B012 -; utilsrc/lz4cat.pla: 0048: heaprelease(block + len) -; utilsrc/lz4cat.pla: 0049: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $B2,$0A ; ADDLW [10] - !BYTE $54 ; CALL _X015 -_F010 !WORD 0 - !BYTE $30 ; DROP -_B010 -; utilsrc/lz4cat.pla: 0050: if flags & $10 // Block Checksum -; utilsrc/lz4cat.pla: 0051: fileio:read(inref, @size, 4) -; utilsrc/lz4cat.pla: 0052: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $3C,$10 ; ANDI 16 - !BYTE $4C ; BRFLS _B013 - !WORD _B013-* - !BYTE $68 ; LAB _D038+0 -_F011 !WORD _D038+0 - !BYTE $28,$02 ; LLA [2] - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X031+18 -_F012 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B013 -_B014 -; utilsrc/lz4cat.pla: 0053: return data, len - !BYTE $66,$08 ; LLW [8] - !BYTE $66,$0A ; LLW [10] - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/lz4cat.pla: 0054: end -; utilsrc/lz4cat.pla: 0055: def lz4ReadFrame#0 -_C001 ; lz4ReadFrame() -; utilsrc/lz4cat.pla: 0056: word data, len - ; data -> [0] - ; len -> [2] -; utilsrc/lz4cat.pla: 0057: byte header[t_lz4header], opt - ; header -> [4] - ; opt -> [10] -; utilsrc/lz4cat.pla: 0058: -; utilsrc/lz4cat.pla: 0059: fileio:read(inref, @header, t_lz4header) - !BYTE $58,$0B,$00 ; ENTER 11,0 -; utilsrc/lz4cat.pla: 0060: if header:lz4magic[1] <> $184D or header:lz4magic[0] <> $2204 -; utilsrc/lz4cat.pla: 0061: puts("Not LZ4 file.\n") - !BYTE $68 ; LAB _D038+0 -_F013 !WORD _D038+0 - !BYTE $28,$04 ; LLA [4] - !BYTE $0C ; CN 6 - !BYTE $6A ; LAW _X031+18 -_F014 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$4D,$18 ; CW 6221 - !BYTE $42 ; ISNE - !BYTE $AE ; BROR _B015 - !WORD _B015-* - !BYTE $66,$04 ; LLW [4] - !BYTE $2C,$04,$22 ; CW 8708 - !BYTE $42 ; ISNE -_B015 - !BYTE $4C ; BRFLS _B016 - !WORD _B016-* - !BYTE $2E ; CS - !BYTE $0E - !BYTE $4E,$6F,$74,$20,$4C,$5A,$34,$20 - !BYTE $66,$69,$6C,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F015 !WORD 0 -; utilsrc/lz4cat.pla: 0062: return - !BYTE $5A,$0B ; LEAVE 11 -; utilsrc/lz4cat.pla: 0063: fin -_B016 -_B017 -; utilsrc/lz4cat.pla: 0064: if header.lz4FLG & $C0 <> $40 -; utilsrc/lz4cat.pla: 0065: puts("Wrong LZ4 version.\n") - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$C0 ; ANDI 192 - !BYTE $2A,$40 ; CB 64 - !BYTE $22 ; BREQ _B018 - !WORD _B018-* - !BYTE $2E ; CS - !BYTE $13 - !BYTE $57,$72,$6F,$6E,$67,$20,$4C,$5A - !BYTE $34,$20,$76,$65,$72,$73,$69,$6F - !BYTE $6E,$2E,$0D - !BYTE $54 ; CALL _X004 -_F016 !WORD 0 -; utilsrc/lz4cat.pla: 0066: return - !BYTE $5A,$0B ; LEAVE 11 -; utilsrc/lz4cat.pla: 0067: fin -_B018 -_B019 -; utilsrc/lz4cat.pla: 0068: if header.lz4BD & $70 <> $40 -; utilsrc/lz4cat.pla: 0069: puts("Not 64K block size.\n") - !BYTE $64,$09 ; LLB [9] - !BYTE $3C,$70 ; ANDI 112 - !BYTE $2A,$40 ; CB 64 - !BYTE $22 ; BREQ _B020 - !WORD _B020-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $4E,$6F,$74,$20,$36,$34,$4B,$20 - !BYTE $62,$6C,$6F,$63,$6B,$20,$73,$69 - !BYTE $7A,$65,$2E,$0D - !BYTE $54 ; CALL _X004 -_F017 !WORD 0 -; utilsrc/lz4cat.pla: 0070: return - !BYTE $5A,$0B ; LEAVE 11 -; utilsrc/lz4cat.pla: 0071: fin -_B020 -_B021 -; utilsrc/lz4cat.pla: 0072: opt = 1 -; utilsrc/lz4cat.pla: 0073: if header.lz4FLG & $08 // Content Size -; utilsrc/lz4cat.pla: 0074: opt = opt + 8 -; utilsrc/lz4cat.pla: 0075: fin - !BYTE $02 ; CN 1 - !BYTE $74,$0A ; SLB [10] - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$08 ; ANDI 8 - !BYTE $4C ; BRFLS _B022 - !WORD _B022-* - !BYTE $64,$0A ; LLB [10] - !BYTE $38,$08 ; ADDI 8 - !BYTE $74,$0A ; SLB [10] -_B022 -_B023 -; utilsrc/lz4cat.pla: 0076: if header.lz4FLG & $01 // Dictionary ID -; utilsrc/lz4cat.pla: 0077: opt = opt + 4 -; utilsrc/lz4cat.pla: 0078: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B024 - !WORD _B024-* - !BYTE $64,$0A ; LLB [10] - !BYTE $38,$04 ; ADDI 4 - !BYTE $74,$0A ; SLB [10] -_B024 -_B025 -; utilsrc/lz4cat.pla: 0079: fileio:read(inref, heapmark, opt) // Read rest of header and throw away -; utilsrc/lz4cat.pla: 0080: repeat - !BYTE $68 ; LAB _D038+0 -_F018 !WORD _D038+0 - !BYTE $54 ; CALL _X012 -_F019 !WORD 0 - !BYTE $64,$0A ; LLB [10] - !BYTE $6A ; LAW _X031+18 -_F020 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B027 -; utilsrc/lz4cat.pla: 0081: data, len = lz4ReadBlock(header.lz4FLG) -; utilsrc/lz4cat.pla: 0082: if len -; utilsrc/lz4cat.pla: 0083: if outref -; utilsrc/lz4cat.pla: 0084: fileio:write(outref, data, len) -; utilsrc/lz4cat.pla: 0085: else - !BYTE $64,$08 ; LLB [8] - !BYTE $54 ; CALL _C000 -_F021 !WORD _C000 - !BYTE $76,$02 ; SLW [2] - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $4C ; BRFLS _B029 - !WORD _B029-* - !BYTE $68 ; LAB _D039+0 -_F022 !WORD _D039+0 - !BYTE $4C ; BRFLS _B031 - !WORD _B031-* - !BYTE $68 ; LAB _D039+0 -_F023 !WORD _D039+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _X031+20 -_F024 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B032 - !WORD _B032-* -_B031 -; utilsrc/lz4cat.pla: 0086: while len - !BYTE $50 ; BRNCH _B035 - !WORD _B035-* -_B033 -; utilsrc/lz4cat.pla: 0087: putc(^data <> $0A ?? ^data :: $0D) -; utilsrc/lz4cat.pla: 0088: data++ - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $14 ; CN 10 - !BYTE $22 ; BREQ _B038 - !WORD _B038-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -_B038 - !BYTE $1A ; CN 13 -_B039 - !BYTE $54 ; CALL _X002 -_F025 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; utilsrc/lz4cat.pla: 0089: len-- - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $8E ; DECR -; utilsrc/lz4cat.pla: 0090: loop - !BYTE $76,$02 ; SLW [2] -_B035 - !BYTE $66,$02 ; LLW [2] - !BYTE $4E ; BRTRU _B033 - !WORD _B033-* -_B034 -; utilsrc/lz4cat.pla: 0091: fin -_B032 -; utilsrc/lz4cat.pla: 0092: heaprelease(data) -; utilsrc/lz4cat.pla: 0093: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X015 -_F026 !WORD 0 - !BYTE $30 ; DROP -_B029 -_B030 -; utilsrc/lz4cat.pla: 0094: until not data -_B028 - !BYTE $66,$00 ; LLW [0] - !BYTE $4E ; BRTRU _B027 - !WORD _B027-* -_B026 -; utilsrc/lz4cat.pla: 0095: if header.lz4FLG & $04 // Content Checksun -; utilsrc/lz4cat.pla: 0096: fileio:read(inref, heapmark, 4) -; utilsrc/lz4cat.pla: 0097: fin - !BYTE $64,$08 ; LLB [8] - !BYTE $3C,$04 ; ANDI 4 - !BYTE $4C ; BRFLS _B040 - !WORD _B040-* - !BYTE $68 ; LAB _D038+0 -_F027 !WORD _D038+0 - !BYTE $54 ; CALL _X012 -_F028 !WORD 0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X031+18 -_F029 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B040 -_B041 -; utilsrc/lz4cat.pla: 0098: end - !BYTE $5A,$0B ; LEAVE 11 -; utilsrc/lz4cat.pla: 0099: -; utilsrc/lz4cat.pla: 0100: arg = argNext(argFirst) -_INIT -; utilsrc/lz4cat.pla: 0101: if ^arg -; utilsrc/lz4cat.pla: 0102: while ^(arg + 1) == '-' - !BYTE $54 ; CALL _X029 -_F030 !WORD 0 - !BYTE $54 ; CALL _X030 -_F031 !WORD 0 - !BYTE $7A ; SAW _D036+0 -_F032 !WORD _D036+0 - !BYTE $6A ; LAW _D036+0 -_F033 !WORD _D036+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B042 - !WORD _B042-* - !BYTE $50 ; BRNCH _B046 - !WORD _B046-* -_B044 -; utilsrc/lz4cat.pla: 0103: when toupper(^(arg + 2)) - !BYTE $6A ; LAW _D036+0 -_F034 !WORD _D036+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F035 !WORD 0 - !BYTE $52 ; SEL - !WORD _B048-* -; utilsrc/lz4cat.pla: 0104: is 'E' -_B049 -; utilsrc/lz4cat.pla: 0105: ioflags = ioflags | ERASE_DST -; utilsrc/lz4cat.pla: 0106: break - !BYTE $68 ; LAB _D037+0 -_F036 !WORD _D037+0 - !BYTE $3E,$01 ; ORI 1 - !BYTE $78 ; SAB _D037+0 -_F037 !WORD _D037+0 - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -; utilsrc/lz4cat.pla: 0107: wend - !BYTE $50 ; BRNCH _B047 - !WORD _B047-* -_B048 - !BYTE $01 ; CASEBLOCK - !WORD $0045 - !WORD _B049-* -_B047 -; utilsrc/lz4cat.pla: 0108: arg = argNext(arg) -; utilsrc/lz4cat.pla: 0109: loop - !BYTE $6A ; LAW _D036+0 -_F038 !WORD _D036+0 - !BYTE $54 ; CALL _X030 -_F039 !WORD 0 - !BYTE $7A ; SAW _D036+0 -_F040 !WORD _D036+0 -_B046 - !BYTE $6A ; LAW _D036+0 -_F041 !WORD _D036+0 - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $2A,$2D ; CB 45 - !BYTE $22 ; BREQ _B044 - !WORD _B044-* -_B045 -; utilsrc/lz4cat.pla: 0110: strcpy(@infile, arg) -; utilsrc/lz4cat.pla: 0111: arg = argNext(arg) -; utilsrc/lz4cat.pla: 0112: if ^arg -; utilsrc/lz4cat.pla: 0113: strcpy(@outfile, arg) -; utilsrc/lz4cat.pla: 0114: fin - !BYTE $26 ; LA _D040+0 -_F042 !WORD _D040+0 - !BYTE $6A ; LAW _D036+0 -_F043 !WORD _D036+0 - !BYTE $54 ; CALL _X019 -_F044 !WORD 0 - !BYTE $30 ; DROP - !BYTE $6A ; LAW _D036+0 -_F045 !WORD _D036+0 - !BYTE $54 ; CALL _X030 -_F046 !WORD 0 - !BYTE $7A ; SAW _D036+0 -_F047 !WORD _D036+0 - !BYTE $6A ; LAW _D036+0 -_F048 !WORD _D036+0 - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B050 - !WORD _B050-* - !BYTE $26 ; LA _D041+0 -_F049 !WORD _D041+0 - !BYTE $6A ; LAW _D036+0 -_F050 !WORD _D036+0 - !BYTE $54 ; CALL _X019 -_F051 !WORD 0 - !BYTE $30 ; DROP -_B050 -_B051 -; utilsrc/lz4cat.pla: 0115: if infile -; utilsrc/lz4cat.pla: 0116: fileio:iobufalloc(2) // Reserve two I/O buffers -; utilsrc/lz4cat.pla: 0117: inref = fileio:open(@infile) -; utilsrc/lz4cat.pla: 0118: if inref -; utilsrc/lz4cat.pla: 0119: if outfile -; utilsrc/lz4cat.pla: 0120: if ioflags & ERASE_DST -; utilsrc/lz4cat.pla: 0121: fileio:destroy(@outfile) -; utilsrc/lz4cat.pla: 0122: fin - !BYTE $68 ; LAB _D040+0 -_F052 !WORD _D040+0 - !BYTE $4C ; BRFLS _B052 - !WORD _B052-* - !BYTE $04 ; CN 2 - !BYTE $6A ; LAW _X031+12 -_F053 !WORD 0+12 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D040+0 -_F054 !WORD _D040+0 - !BYTE $6A ; LAW _X031+14 -_F055 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D038+0 -_F056 !WORD _D038+0 - !BYTE $4C ; BRFLS _B054 - !WORD _B054-* - !BYTE $68 ; LAB _D041+0 -_F057 !WORD _D041+0 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $68 ; LAB _D037+0 -_F058 !WORD _D037+0 - !BYTE $3C,$01 ; ANDI 1 - !BYTE $4C ; BRFLS _B058 - !WORD _B058-* - !BYTE $26 ; LA _D041+0 -_F059 !WORD _D041+0 - !BYTE $6A ; LAW _X031+24 -_F060 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B058 -_B059 -; utilsrc/lz4cat.pla: 0123: outref = fileio:open(@outfile) -; utilsrc/lz4cat.pla: 0124: if outref -; utilsrc/lz4cat.pla: 0125: eof[0], eof[1] = fileio:geteof(outref)#2 -; utilsrc/lz4cat.pla: 0126: fileio:setmark(outref, eof[0], eof[1]) -; utilsrc/lz4cat.pla: 0127: else - !BYTE $26 ; LA _D041+0 -_F061 !WORD _D041+0 - !BYTE $6A ; LAW _X031+14 -_F062 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D039+0 -_F063 !WORD _D039+0 - !BYTE $4C ; BRFLS _B060 - !WORD _B060-* - !BYTE $68 ; LAB _D039+0 -_F064 !WORD _D039+0 - !BYTE $6A ; LAW _X031+8 -_F065 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D042+2 -_F066 !WORD _D042+2 - !BYTE $7A ; SAW _D042+0 -_F067 !WORD _D042+0 - !BYTE $68 ; LAB _D039+0 -_F068 !WORD _D039+0 - !BYTE $6A ; LAW _D042+0 -_F069 !WORD _D042+0 - !BYTE $6A ; LAW _D042+2 -_F070 !WORD _D042+2 - !BYTE $6A ; LAW _X031+38 -_F071 !WORD 0+38 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B061 - !WORD _B061-* -_B060 -; utilsrc/lz4cat.pla: 0128: if fileio:create(@outfile, 0, 0) == FILE_ERR_OK -; utilsrc/lz4cat.pla: 0129: outref = fileio:open(@outfile) -; utilsrc/lz4cat.pla: 0130: else - !BYTE $26 ; LA _D041+0 -_F072 !WORD _D041+0 - !BYTE $00 ; CN 0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+22 -_F073 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B062 - !WORD _B062-* - !BYTE $26 ; LA _D041+0 -_F074 !WORD _D041+0 - !BYTE $6A ; LAW _X031+14 -_F075 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $78 ; SAB _D039+0 -_F076 !WORD _D039+0 - !BYTE $50 ; BRNCH _B063 - !WORD _B063-* -_B062 -; utilsrc/lz4cat.pla: 0131: puts("Error creating:"); puts(@outfile); putln - !BYTE $2E ; CS - !BYTE $0F - !BYTE $45,$72,$72,$6F,$72,$20,$63,$72 - !BYTE $65,$61,$74,$69,$6E,$67,$3A - !BYTE $54 ; CALL _X004 -_F077 !WORD 0 -; utilsrc/lz4cat.pla: 0132: fin - !BYTE $26 ; LA _D041+0 -_F078 !WORD _D041+0 - !BYTE $54 ; CALL _X004 -_F079 !WORD 0 - !BYTE $54 ; CALL _X003 -_F080 !WORD 0 -_B063 -; utilsrc/lz4cat.pla: 0133: fin -_B061 -; utilsrc/lz4cat.pla: 0134: fin -_B056 -_B057 -; utilsrc/lz4cat.pla: 0135: lz4ReadFrame -; utilsrc/lz4cat.pla: 0136: fileio:close(0) -; utilsrc/lz4cat.pla: 0137: return 0 - !BYTE $54 ; CALL _C001 -_F081 !WORD _C001 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X031+16 -_F082 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -; utilsrc/lz4cat.pla: 0138: else - !BYTE $50 ; BRNCH _B055 - !WORD _B055-* -_B054 -; utilsrc/lz4cat.pla: 0139: puts("Error reading:"); puts(@infile); putln - !BYTE $2E ; CS - !BYTE $0E - !BYTE $45,$72,$72,$6F,$72,$20,$72,$65 - !BYTE $61,$64,$69,$6E,$67,$3A - !BYTE $54 ; CALL _X004 -_F083 !WORD 0 -; utilsrc/lz4cat.pla: 0140: fin - !BYTE $26 ; LA _D040+0 -_F084 !WORD _D040+0 - !BYTE $54 ; CALL _X004 -_F085 !WORD 0 - !BYTE $54 ; CALL _X003 -_F086 !WORD 0 -_B055 -; utilsrc/lz4cat.pla: 0141: fin -_B052 -_B053 -; utilsrc/lz4cat.pla: 0142: fin -_B042 -_B043 -; utilsrc/lz4cat.pla: 0143: puts("Usage: lz4cat [output file]\n") - !BYTE $2E ; CS - !BYTE $27 - !BYTE $55,$73,$61,$67,$65,$3A,$20,$6C - !BYTE $7A,$34,$63,$61,$74,$20,$3C,$6C - !BYTE $7A,$34,$20,$46,$69,$6C,$65,$3E - !BYTE $20,$5B,$6F,$75,$74,$70,$75,$74 - !BYTE $20,$66,$69,$6C,$65,$5D,$0D - !BYTE $54 ; CALL _X004 -_F087 !WORD 0 -; utilsrc/lz4cat.pla: 0144: done - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_SYSFLAGS = 0 -_DEFCNT = 3 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE 16 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 34 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE 15 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 19 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: HEAPRELEASE - !BYTE $C8,$C5,$C1,$D0,$D2,$C5,$CC,$C5,$C1,$D3,$45 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 15 ; ESD INDEX - ; DCI STRING: HEAPAVAIL - !BYTE $C8,$C5,$C1,$D0,$C1,$D6,$C1,$C9,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 16 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: STRCPY - !BYTE $D3,$D4,$D2,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 19 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: ARGFIRST - !BYTE $C1,$D2,$C7,$C6,$C9,$D2,$D3,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: ARGNEXT - !BYTE $C1,$D2,$C7,$CE,$C5,$D8,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - ; DCI STRING: LZ4UNPACK - !BYTE $CC,$DA,$B4,$D5,$CE,$D0,$C1,$C3,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 34 ; ESD INDEX - !BYTE $00 ; END OF ESD diff --git a/src/utilsrc/tftpd.a b/src/utilsrc/tftpd.a deleted file mode 100644 index 55ddb10..0000000 --- a/src/utilsrc/tftpd.a +++ /dev/null @@ -1,2815 +0,0 @@ -; ACME COMPATIBLE OUTPUT - !WORD _SEGEND-_SEGBEGIN ; LENGTH OF HEADER + CODE/DATA + BYTECODE SEGMENT -_SEGBEGIN - !WORD $6502 ; MAGIC # - !WORD _SYSFLAGS ; SYSTEM FLAGS - !WORD _SUBSEG ; BYTECODE SUB-SEGMENT - !WORD _DEFCNT ; BYTECODE DEF COUNT - !WORD _INIT ; MODULE INITIALIZATION ROUTINE -; utilsrc/tftpd.pla: 0001: // -; utilsrc/tftpd.pla: 0002: // TFTP Daemon -; utilsrc/tftpd.pla: 0003: // -; utilsrc/tftpd.pla: 0004: include "inc/cmdsys.plh" -; inc/cmdsys.plh: 0001: import cmdsys - ; DCI STRING: CMDSYS - !BYTE $C3,$CD,$C4,$D3,$D9,$53 - ; CMDSYS -> X000 -; inc/cmdsys.plh: 0002: // -; inc/cmdsys.plh: 0003: // Useful values for everyone -; inc/cmdsys.plh: 0004: // -; inc/cmdsys.plh: 0005: const _SYSVER_ = $0220 // Version built against - ; _SYSVER_ = 544 -; inc/cmdsys.plh: 0006: const FALSE = 0 - ; FALSE = 0 -; inc/cmdsys.plh: 0007: const TRUE = not FALSE - ; TRUE = -1 -; inc/cmdsys.plh: 0008: const NULL = 0 - ; NULL = 0 -; inc/cmdsys.plh: 0009: // -; inc/cmdsys.plh: 0010: // Machine ID values -; inc/cmdsys.plh: 0011: // -; inc/cmdsys.plh: 0012: const MACHID_CLOCK = $01 - ; MACHID_CLOCK = 1 -; inc/cmdsys.plh: 0013: const MACHID_80COL = $02 - ; MACHID_80COL = 2 -; inc/cmdsys.plh: 0014: const MACHID_MEM = $30 - ; MACHID_MEM = 48 -; inc/cmdsys.plh: 0015: const MACHID_64K = $20 - ; MACHID_64K = 32 -; inc/cmdsys.plh: 0016: const MACHID_128K = $30 - ; MACHID_128K = 48 -; inc/cmdsys.plh: 0017: const MACHID_MODEL = $C8 - ; MACHID_MODEL = 200 -; inc/cmdsys.plh: 0018: const MACHID_II = $00 - ; MACHID_II = 0 -; inc/cmdsys.plh: 0019: const MACHID_IIPLUS= $40 - ; MACHID_IIPLUS = 64 -; inc/cmdsys.plh: 0020: const MACHID_IIE = $80 - ; MACHID_IIE = 128 -; inc/cmdsys.plh: 0021: const MACHID_III = $C0 - ; MACHID_III = 192 -; inc/cmdsys.plh: 0022: const MACHID_IIC = $88 - ; MACHID_IIC = 136 -; inc/cmdsys.plh: 0023: const MACHID_I = $08 - ; MACHID_I = 8 -; inc/cmdsys.plh: 0024: byte MACHID - ; MACHID -> X001 -; inc/cmdsys.plh: 0025: // -; inc/cmdsys.plh: 0026: // System flags: memory allocator screen holes. -; inc/cmdsys.plh: 0027: // -; inc/cmdsys.plh: 0028: const restxt1 = $0001 - ; restxt1 = 1 -; inc/cmdsys.plh: 0029: const restxt2 = $0002 - ; restxt2 = 2 -; inc/cmdsys.plh: 0030: const resxtxt1 = $0004 - ; resxtxt1 = 4 -; inc/cmdsys.plh: 0031: const resxtxt2 = $0008 - ; resxtxt2 = 8 -; inc/cmdsys.plh: 0032: const reshgr1 = $0010 - ; reshgr1 = 16 -; inc/cmdsys.plh: 0033: const reshgr2 = $0020 - ; reshgr2 = 32 -; inc/cmdsys.plh: 0034: const resxhgr1 = $0040 - ; resxhgr1 = 64 -; inc/cmdsys.plh: 0035: const resxhgr2 = $0080 - ; resxhgr2 = 128 -; inc/cmdsys.plh: 0036: const nojitc = $0100 - ; nojitc = 256 -; inc/cmdsys.plh: 0037: const vid80col = $0800 - ; vid80col = 2048 -; inc/cmdsys.plh: 0038: // -; inc/cmdsys.plh: 0039: // Module don't free memory -; inc/cmdsys.plh: 0040: // -; inc/cmdsys.plh: 0041: const modflagkeep = $1000 - ; modflagkeep = 4096 -; inc/cmdsys.plh: 0042: const modkeep = $2000 - ; modkeep = 8192 -; inc/cmdsys.plh: 0043: const modinitkeep = $4000 - ; modinitkeep = 16384 -; inc/cmdsys.plh: 0044: // -; inc/cmdsys.plh: 0045: // CMD exported interface table -; inc/cmdsys.plh: 0046: // -; inc/cmdsys.plh: 0047: struc t_cmdsys -; inc/cmdsys.plh: 0048: word sysver - ; sysver = 0 -; inc/cmdsys.plh: 0049: word syspath - ; syspath = 2 -; inc/cmdsys.plh: 0050: word cmdline - ; cmdline = 4 -; inc/cmdsys.plh: 0051: word modexec - ; modexec = 6 -; inc/cmdsys.plh: 0052: word sysopen - ; sysopen = 8 -; inc/cmdsys.plh: 0053: word sysclose - ; sysclose = 10 -; inc/cmdsys.plh: 0054: word sysread - ; sysread = 12 -; inc/cmdsys.plh: 0055: word syswrite - ; syswrite = 14 -; inc/cmdsys.plh: 0056: byte syserr - ; syserr = 16 -; inc/cmdsys.plh: 0057: byte jitcount - ; jitcount = 17 -; inc/cmdsys.plh: 0058: byte jitsize - ; jitsize = 18 -; inc/cmdsys.plh: 0059: word sysexec[] // Apple II specific - ; sysexec = 19 -; inc/cmdsys.plh: 0060: byte refcons // Apple /// specific - ; refcons = 19 -; inc/cmdsys.plh: 0061: byte devcons // Apple /// specific - ; devcons = 20 -; inc/cmdsys.plh: 0062: word lookupsym - ; lookupsym = 21 -; inc/cmdsys.plh: 0063: word _sysflags_ // Actual system flags (read only, don't write) - ; _sysflags_ = 23 -; inc/cmdsys.plh: 0064: end - ; t_cmdsys = 25 -; inc/cmdsys.plh: 0065: // -; inc/cmdsys.plh: 0066: // CMD exported functions -; inc/cmdsys.plh: 0067: // -; inc/cmdsys.plh: 0068: predef putc(c)#0, putln()#0, puts(s)#0, puti(i)#0, getc()#1, gets(p)#1, putb(b)#0, puth(h)#0 - ; PUTC -> X002 - ; PUTLN -> X003 - ; PUTS -> X004 - ; PUTI -> X005 - ; GETC -> X006 - ; GETS -> X007 - ; PUTB -> X008 - ; PUTH -> X009 -; inc/cmdsys.plh: 0069: predef call(addr,areg,xreg,yreg,status)#1, syscall(cmd,params)#1 - ; CALL -> X010 - ; SYSCALL -> X011 -; inc/cmdsys.plh: 0070: predef heapmark()#1, heapallocalign(size, pow2, freeaddr)#1 - ; HEAPMARK -> X012 - ; HEAPALLOCALIGN -> X013 -; inc/cmdsys.plh: 0071: predef heapalloc(size)#1, heaprelease(newheap)#1, heapavail()#1 - ; HEAPALLOC -> X014 - ; HEAPRELEASE -> X015 - ; HEAPAVAIL -> X016 -; inc/cmdsys.plh: 0072: predef memset(addr,value,size)#0, memcpy(dst,src,size)#0, strcpy(dst,src)#1, strcat(dst,src)#1 - ; MEMSET -> X017 - ; MEMCPY -> X018 - ; STRCPY -> X019 - ; STRCAT -> X020 -; inc/cmdsys.plh: 0073: predef toupper(c)#1, sext(a)#1, divmod(a,b)#2, isugt(a,b)#1, isuge(a,b)#1, isult(a,b)#1, isule(a,b)#1 - ; TOUPPER -> X021 - ; SEXT -> X022 - ; DIVMOD -> X023 - ; ISUGT -> X024 - ; ISUGE -> X025 - ; ISULT -> X026 - ; ISULE -> X027 -; inc/cmdsys.plh: 0074: end -; utilsrc/tftpd.pla: 0004: -; utilsrc/tftpd.pla: 0005: include "inc/inet.plh" -; inc/inet.plh: 0001: // -; inc/inet.plh: 0002: // iNet API -; inc/inet.plh: 0003: // -; inc/inet.plh: 0004: import iNet - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - ; INET -> X028 -; inc/inet.plh: 0005: struc t_inet -; inc/inet.plh: 0006: word initIP - ; initIP = 0 -; inc/inet.plh: 0007: word serviceIP - ; serviceIP = 2 -; inc/inet.plh: 0008: word openUDP - ; openUDP = 4 -; inc/inet.plh: 0009: word sendUDP - ; sendUDP = 6 -; inc/inet.plh: 0010: word closeUDP - ; closeUDP = 8 -; inc/inet.plh: 0011: word listenTCP - ; listenTCP = 10 -; inc/inet.plh: 0012: word connectTCP - ; connectTCP = 12 -; inc/inet.plh: 0013: word sendTCP - ; sendTCP = 14 -; inc/inet.plh: 0014: word closeTCP - ; closeTCP = 16 -; inc/inet.plh: 0015: word setInterfaceIP - ; setInterfaceIP = 18 -; inc/inet.plh: 0016: word getInterfaceHA - ; getInterfaceHA = 20 -; inc/inet.plh: 0017: word setDNS - ; setDNS = 22 -; inc/inet.plh: 0018: word resolveIP - ; resolveIP = 24 -; inc/inet.plh: 0019: word setCallback - ; setCallback = 26 -; inc/inet.plh: 0020: word setParam - ; setParam = 28 -; inc/inet.plh: 0021: end - ; t_inet = 30 -; inc/inet.plh: 0022: end -; utilsrc/tftpd.pla: 0005: -; utilsrc/tftpd.pla: 0006: include "inc/fileio.plh" -; inc/fileio.plh: 0001: import fileio - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - ; FILEIO -> X029 -; inc/fileio.plh: 0002: // -; inc/fileio.plh: 0003: // Useful ProDOS values -; inc/fileio.plh: 0004: // -; inc/fileio.plh: 0005: // MACHID is defined in cmdsys.plh -; inc/fileio.plh: 0006: // Which slot has a ROM -; inc/fileio.plh: 0007: const SLTBYT = $BF99 - ; SLTBYT = 49049 -; inc/fileio.plh: 0008: // Prefix active -; inc/fileio.plh: 0009: const PFIXPTR = $BF9A - ; PFIXPTR = 49050 -; inc/fileio.plh: 0010: // Memory alocate bitmap -; inc/fileio.plh: 0011: const MEMTABL = $BF58 - ; MEMTABL = 48984 -; inc/fileio.plh: 0012: // -; inc/fileio.plh: 0013: // SOS/ProDOS error codes -; inc/fileio.plh: 0014: // -; inc/fileio.plh: 0015: const FILE_ERR_OK = $00 - ; FILE_ERR_OK = 0 -; inc/fileio.plh: 0016: const FILE_ERR_BAD_CALL_NUM = $01 - ; FILE_ERR_BAD_CALL_NUM = 1 -; inc/fileio.plh: 0017: const FILE_ERR_BAD_PARAM_CNT = $04 - ; FILE_ERR_BAD_PARAM_CNT = 4 -; inc/fileio.plh: 0018: const FILE_ERR_INT_TBL_FULL = $25 - ; FILE_ERR_INT_TBL_FULL = 37 -; inc/fileio.plh: 0019: const FILE_ERR_IO = $27 - ; FILE_ERR_IO = 39 -; inc/fileio.plh: 0020: // -; inc/fileio.plh: 0021: // File entry struc -; inc/fileio.plh: 0022: // -; inc/fileio.plh: 0023: struc t_fileentry -; inc/fileio.plh: 0024: byte store_namelen - ; store_namelen = 0 -; inc/fileio.plh: 0025: byte entry_name[15] - ; entry_name = 1 -; inc/fileio.plh: 0026: byte entry_type - ; entry_type = 16 -; inc/fileio.plh: 0027: word entry_keyptr - ; entry_keyptr = 17 -; inc/fileio.plh: 0028: word entry_blocks - ; entry_blocks = 19 -; inc/fileio.plh: 0029: word entry_EOFL - ; entry_EOFL = 21 -; inc/fileio.plh: 0030: byte entry_EOFH - ; entry_EOFH = 23 -; inc/fileio.plh: 0031: word entry_create[2] - ; entry_create = 24 -; inc/fileio.plh: 0032: byte entry_version - ; entry_version = 28 -; inc/fileio.plh: 0033: byte entry_minver - ; entry_minver = 29 -; inc/fileio.plh: 0034: byte entry_access - ; entry_access = 30 -; inc/fileio.plh: 0035: word entry_aux - ; entry_aux = 31 -; inc/fileio.plh: 0036: word entry_mod[2] - ; entry_mod = 33 -; inc/fileio.plh: 0037: word entry_headptr - ; entry_headptr = 37 -; inc/fileio.plh: 0038: end - ; t_fileentry = 39 -; inc/fileio.plh: 0039: // -; inc/fileio.plh: 0040: // File info struc -; inc/fileio.plh: 0041: // -; inc/fileio.plh: 0042: struc t_fileinfo -; inc/fileio.plh: 0043: byte file_access - ; file_access = 0 -; inc/fileio.plh: 0044: byte file_type - ; file_type = 1 -; inc/fileio.plh: 0045: word aux_type - ; aux_type = 2 -; inc/fileio.plh: 0046: byte storage_type - ; storage_type = 4 -; inc/fileio.plh: 0047: word blocks_used - ; blocks_used = 5 -; inc/fileio.plh: 0048: word mod_date - ; mod_date = 7 -; inc/fileio.plh: 0049: word mod_time - ; mod_time = 9 -; inc/fileio.plh: 0050: word create_date - ; create_date = 11 -; inc/fileio.plh: 0051: word create_time - ; create_time = 13 -; inc/fileio.plh: 0052: end - ; t_fileinfo = 15 -; inc/fileio.plh: 0053: // -; inc/fileio.plh: 0054: // File functions -; inc/fileio.plh: 0055: // -; inc/fileio.plh: 0056: struc t_fileio -; inc/fileio.plh: 0057: word getpfx - ; getpfx = 0 -; inc/fileio.plh: 0058: word setpfx - ; setpfx = 2 -; inc/fileio.plh: 0059: word getfileinfo - ; getfileinfo = 4 -; inc/fileio.plh: 0060: word setfileinfo - ; setfileinfo = 6 -; inc/fileio.plh: 0061: word geteof - ; geteof = 8 -; inc/fileio.plh: 0062: word seteof - ; seteof = 10 -; inc/fileio.plh: 0063: word iobufalloc - ; iobufalloc = 12 -; inc/fileio.plh: 0064: word open - ; open = 14 -; inc/fileio.plh: 0065: word close - ; close = 16 -; inc/fileio.plh: 0066: word read - ; read = 18 -; inc/fileio.plh: 0067: word write - ; write = 20 -; inc/fileio.plh: 0068: word create - ; create = 22 -; inc/fileio.plh: 0069: word destroy - ; destroy = 24 -; inc/fileio.plh: 0070: word rename - ; rename = 26 -; inc/fileio.plh: 0071: word newline - ; newline = 28 -; inc/fileio.plh: 0072: word online - ; online = 30 -; inc/fileio.plh: 0073: word readblock - ; readblock = 32 -; inc/fileio.plh: 0074: word writeblock - ; writeblock = 34 -; inc/fileio.plh: 0075: word getmark - ; getmark = 36 -; inc/fileio.plh: 0076: word setmark - ; setmark = 38 -; inc/fileio.plh: 0077: end - ; t_fileio = 40 -; inc/fileio.plh: 0078: // -; inc/fileio.plh: 0079: // Globally accessible error code -; inc/fileio.plh: 0080: // -; inc/fileio.plh: 0081: byte perr - ; PERR -> X030 -; inc/fileio.plh: 0082: end -; utilsrc/tftpd.pla: 0006: -; utilsrc/tftpd.pla: 0007: include "inc/conio.plh" -; inc/conio.plh: 0001: import conio - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - ; CONIO -> X031 -; inc/conio.plh: 0002: // -; inc/conio.plh: 0003: // ASCII key values -; inc/conio.plh: 0004: // -; inc/conio.plh: 0005: const keyarrowdown = $0A - ; keyarrowdown = 10 -; inc/conio.plh: 0006: const keyarrowup = $0B - ; keyarrowup = 11 -; inc/conio.plh: 0007: const keyarrowleft = $08 - ; keyarrowleft = 8 -; inc/conio.plh: 0008: const keyarrowright = $15 - ; keyarrowright = 21 -; inc/conio.plh: 0009: const keyenter = $0D - ; keyenter = 13 -; inc/conio.plh: 0010: const keyescape = $1B - ; keyescape = 27 -; inc/conio.plh: 0011: const keyctrla = $01 - ; keyctrla = 1 -; inc/conio.plh: 0012: const keyctrlb = $02 - ; keyctrlb = 2 -; inc/conio.plh: 0013: const keyctrlc = $03 - ; keyctrlc = 3 -; inc/conio.plh: 0014: const keyctrld = $04 - ; keyctrld = 4 -; inc/conio.plh: 0015: const keyctrle = $05 - ; keyctrle = 5 -; inc/conio.plh: 0016: const keyctrlf = $06 - ; keyctrlf = 6 -; inc/conio.plh: 0017: const keyctrlg = $07 - ; keyctrlg = 7 -; inc/conio.plh: 0018: const keyctrli = $09 - ; keyctrli = 9 -; inc/conio.plh: 0019: const keyctrlk = $0B - ; keyctrlk = 11 -; inc/conio.plh: 0020: const keyctrll = $0C - ; keyctrll = 12 -; inc/conio.plh: 0021: const keyctrln = $0E - ; keyctrln = 14 -; inc/conio.plh: 0022: const keyctrlo = $0F - ; keyctrlo = 15 -; inc/conio.plh: 0023: const keyctrlp = $10 - ; keyctrlp = 16 -; inc/conio.plh: 0024: const keyctrlq = $11 - ; keyctrlq = 17 -; inc/conio.plh: 0025: const keyctrlr = $12 - ; keyctrlr = 18 -; inc/conio.plh: 0026: const keyctrls = $13 - ; keyctrls = 19 -; inc/conio.plh: 0027: const keyctrlt = $14 - ; keyctrlt = 20 -; inc/conio.plh: 0028: const keyctrlu = $15 - ; keyctrlu = 21 -; inc/conio.plh: 0029: const keyctrlv = $16 - ; keyctrlv = 22 -; inc/conio.plh: 0030: const keyctrlw = $17 - ; keyctrlw = 23 -; inc/conio.plh: 0031: const keyctrlx = $18 - ; keyctrlx = 24 -; inc/conio.plh: 0032: const keyctrly = $19 - ; keyctrly = 25 -; inc/conio.plh: 0033: const keyctrlz = $1A - ; keyctrlz = 26 -; inc/conio.plh: 0034: const keytab = keyctrli - ; keytab = 9 -; inc/conio.plh: 0035: const keydetab = $1D - ; keydetab = 29 -; inc/conio.plh: 0036: const keyspace = $20 - ; keyspace = 32 -; inc/conio.plh: 0037: const keydelete = $7F - ; keydelete = 127 -; inc/conio.plh: 0038: // -; inc/conio.plh: 0039: // Option/Solid-Apple key modifier -; inc/conio.plh: 0040: // -; inc/conio.plh: 0041: const keyoptmod = $80 - ; keyoptmod = 128 -; inc/conio.plh: 0042: // -; inc/conio.plh: 0043: // Clear optioms -; inc/conio.plh: 0044: // -; inc/conio.plh: 0045: const cleol = 1 - ; cleol = 1 -; inc/conio.plh: 0046: const cleos = 2 - ; cleos = 2 -; inc/conio.plh: 0047: const cls = 3 - ; cls = 3 -; inc/conio.plh: 0048: // -; inc/conio.plh: 0049: // Control Codes -; inc/conio.plh: 0050: // -; inc/conio.plh: 0051: const ctrlattr = 1 - ; ctrlattr = 1 -; inc/conio.plh: 0052: const ctrlecho = 2 - ; ctrlecho = 2 -; inc/conio.plh: 0053: const ctrlcursor = 3 - ; ctrlcursor = 3 -; inc/conio.plh: 0054: const ctrlcase = 4 - ; ctrlcase = 4 -; inc/conio.plh: 0055: const ctrlscroll = 5 - ; ctrlscroll = 5 -; inc/conio.plh: 0056: // -; inc/conio.plh: 0057: // Control parameters -; inc/conio.plh: 0058: // -; inc/conio.plh: 0059: const OFF = 0 - ; OFF = 0 -; inc/conio.plh: 0060: const ON = 1 - ; ON = 1 -; inc/conio.plh: 0061: const NORMAL = $FF - ; NORMAL = 255 -; inc/conio.plh: 0062: const INVERSE = $3F - ; INVERSE = 63 -; inc/conio.plh: 0063: const FLASH = $7F - ; FLASH = 127 -; inc/conio.plh: 0064: const UP = 1 - ; UP = 1 -; inc/conio.plh: 0065: const DOWN = -1 - ; DOWN = -1 -; inc/conio.plh: 0066: // -; inc/conio.plh: 0067: // Additional modes available on VIDEX UltraTerm -; inc/conio.plh: 0068: // -; inc/conio.plh: 0069: const UTmode80x24 = 1 - ; UTmode80x24 = 1 -; inc/conio.plh: 0070: const UTmode96x24 = 2 - ; UTmode96x24 = 2 -; inc/conio.plh: 0071: const UTmode160x24 = 3 - ; UTmode160x24 = 3 -; inc/conio.plh: 0072: const UTmode80x24I = 4 - ; UTmode80x24I = 4 -; inc/conio.plh: 0073: const UTmode80x32I = 5 - ; UTmode80x32I = 5 -; inc/conio.plh: 0074: const UTmode80x48I = 6 - ; UTmode80x48I = 6 -; inc/conio.plh: 0075: const UTmode132x24I = 7 - ; UTmode132x24I = 7 -; inc/conio.plh: 0076: const UTmode128x32I = 8 - ; UTmode128x32I = 8 -; inc/conio.plh: 0077: // -; inc/conio.plh: 0078: // API -; inc/conio.plh: 0079: // -; inc/conio.plh: 0080: struc t_conio -; inc/conio.plh: 0081: word keypressed - ; keypressed = 0 -; inc/conio.plh: 0082: word getkey - ; getkey = 2 -; inc/conio.plh: 0083: word putchars - ; putchars = 4 -; inc/conio.plh: 0084: word clear - ; clear = 6 -; inc/conio.plh: 0085: word gotoxy - ; gotoxy = 8 -; inc/conio.plh: 0086: word viewport - ; viewport = 10 -; inc/conio.plh: 0087: word textctrl - ; textctrl = 12 -; inc/conio.plh: 0088: word textmode - ; textmode = 14 -; inc/conio.plh: 0089: word grmode - ; grmode = 16 -; inc/conio.plh: 0090: word grcolor - ; grcolor = 18 -; inc/conio.plh: 0091: word grplot - ; grplot = 20 -; inc/conio.plh: 0092: word tone - ; tone = 22 -; inc/conio.plh: 0093: word rnd - ; rnd = 24 -; inc/conio.plh: 0094: end - ; t_conio = 26 -; inc/conio.plh: 0095: end -; utilsrc/tftpd.pla: 0007: -; utilsrc/tftpd.pla: 0008: sysflags nojitc // Keep JITC from compiling and pausing while transferring - !BYTE $00 ; END OF MODULE DEPENDENCIES -_SYSFLAGS = $0100 ; SYSTEM FLAGS -; utilsrc/tftpd.pla: 0009: // -; utilsrc/tftpd.pla: 0010: // TFTP values -; utilsrc/tftpd.pla: 0011: // -; utilsrc/tftpd.pla: 0012: const TFTP_PORT = 69 - ; TFTP_PORT = 69 -; utilsrc/tftpd.pla: 0013: const TID_INC = $0010 - ; TID_INC = 16 -; utilsrc/tftpd.pla: 0014: const RRQ = $0100 - ; RRQ = 256 -; utilsrc/tftpd.pla: 0015: const WRQ = $0200 - ; WRQ = 512 -; utilsrc/tftpd.pla: 0016: const DATAPKT = $0300 - ; DATAPKT = 768 -; utilsrc/tftpd.pla: 0017: const ACKPKT = $0400 - ; ACKPKT = 1024 -; utilsrc/tftpd.pla: 0018: const ERRPKT = $0500 - ; ERRPKT = 1280 -; utilsrc/tftpd.pla: 0019: struc t_errPkt -; utilsrc/tftpd.pla: 0020: word errOp - ; errOp = 0 -; utilsrc/tftpd.pla: 0021: word errCode - ; errCode = 2 -; utilsrc/tftpd.pla: 0022: byte errStr[] - ; errStr = 4 -; utilsrc/tftpd.pla: 0023: byte errStrNull - ; errStrNull = 4 -; utilsrc/tftpd.pla: 0024: end - ; t_errPkt = 5 -; utilsrc/tftpd.pla: 0025: struc t_ackPkt -; utilsrc/tftpd.pla: 0026: word ackOp - ; ackOp = 0 -; utilsrc/tftpd.pla: 0027: word ackBlock - ; ackBlock = 2 -; utilsrc/tftpd.pla: 0028: end - ; t_ackPkt = 4 -; utilsrc/tftpd.pla: 0029: struc t_datPkt -; utilsrc/tftpd.pla: 0030: word datOp - ; datOp = 0 -; utilsrc/tftpd.pla: 0031: word datBlock - ; datBlock = 2 -; utilsrc/tftpd.pla: 0032: byte datBytes[] - ; datBytes = 4 -; utilsrc/tftpd.pla: 0033: end - ; t_datPkt = 4 -; utilsrc/tftpd.pla: 0034: res[t_errPkt] tftpError = $00, $05, $00, $00, $00 -_D032 ; tftpError = $00, $05, $00, $00, $00 - !BYTE $00 - !BYTE $05 - !BYTE $00 - !BYTE $00 - !BYTE $00 -; utilsrc/tftpd.pla: 0035: res[t_ackPkt] tftpAck = $00, $04, $00, $00 -_D033 ; tftpAck = $00, $04, $00, $00 - !BYTE $00 - !BYTE $04 - !BYTE $00 - !BYTE $00 -; utilsrc/tftpd.pla: 0036: // -; utilsrc/tftpd.pla: 0037: // Current file operations -; utilsrc/tftpd.pla: 0038: // -; utilsrc/tftpd.pla: 0039: byte ref, type, , netscii, filename[256] -_D034 !FILL 1 ; ref, type, , netscii, filename[256] -_D035 !FILL 1 ; type, , netscii, filename[256] - !FILL $01 -_D036 !FILL 1 ; netscii, filename[256] -_D037 !FILL 256 ; filename[256] -; utilsrc/tftpd.pla: 0040: word aux, block -_D038 !FILL 2 ; aux, block -_D039 !FILL 2 ; block -; utilsrc/tftpd.pla: 0041: word buff, TID = $1001 -_D040 !FILL 2 ; buff, TID = $1001 -_D041 ; TID = $1001 - !WORD $1001 -; utilsrc/tftpd.pla: 0042: word portTFTP, portTID -_D042 !FILL 2 ; portTFTP, portTID -_D043 !FILL 2 ; portTID -; utilsrc/tftpd.pla: 0043: // -; utilsrc/tftpd.pla: 0044: // Swap bytes in word -; utilsrc/tftpd.pla: 0045: // -; utilsrc/tftpd.pla: 0046: asm swab(val) -_A000 ; swab() -; utilsrc/tftpd.pla: 0047: !SOURCE "vmsrc/plvmzp.inc" - !SOURCE "vmsrc/plvmzp.inc" -; utilsrc/tftpd.pla: 0048: LDA ESTKL,X - LDA ESTKL,X -; utilsrc/tftpd.pla: 0049: LDY ESTKH,X - LDY ESTKH,X -; utilsrc/tftpd.pla: 0050: STA ESTKH,X - STA ESTKH,X -; utilsrc/tftpd.pla: 0051: STY ESTKL,X - STY ESTKL,X -; utilsrc/tftpd.pla: 0052: RTS - RTS -; utilsrc/tftpd.pla: 0053: end -; utilsrc/tftpd.pla: 0054: // -; utilsrc/tftpd.pla: 0055: // Translate 'in' value to 'out' value -; utilsrc/tftpd.pla: 0056: // -; utilsrc/tftpd.pla: 0057: asm xlat(in, out, buf, len)#0 -_A001 ; xlat() -; utilsrc/tftpd.pla: 0058: INX - INX -; utilsrc/tftpd.pla: 0059: INX - INX -; utilsrc/tftpd.pla: 0060: INX - INX -; utilsrc/tftpd.pla: 0061: INX - INX -; utilsrc/tftpd.pla: 0062: LDA ESTKL-4,X - LDA ESTKL-4,X -; utilsrc/tftpd.pla: 0063: ORA ESTKH-4,X - ORA ESTKH-4,X -; utilsrc/tftpd.pla: 0064: BEQ XLATEX - BEQ XLATEX -; utilsrc/tftpd.pla: 0065: LDA ESTKL-3,X - LDA ESTKL-3,X -; utilsrc/tftpd.pla: 0066: STA SRCL - STA SRCL -; utilsrc/tftpd.pla: 0067: LDA ESTKH-3,X - LDA ESTKH-3,X -; utilsrc/tftpd.pla: 0068: STA SRCH - STA SRCH -; utilsrc/tftpd.pla: 0069: LDA ESTKL-1,X - LDA ESTKL-1,X -; utilsrc/tftpd.pla: 0070: LDY ESTKL-4,X - LDY ESTKL-4,X -; utilsrc/tftpd.pla: 0071: BEQ XLATLP - BEQ XLATLP -; utilsrc/tftpd.pla: 0072: INC ESTKH-4,X - INC ESTKH-4,X -; utilsrc/tftpd.pla: 0073: LDY #$00 - LDY #$00 -; utilsrc/tftpd.pla: 0074: XLATLP CMP (SRC),Y -XLATLP CMP (SRC),Y -; utilsrc/tftpd.pla: 0075: BNE + - BNE + -; utilsrc/tftpd.pla: 0076: LDA ESTKL-2,X - LDA ESTKL-2,X -; utilsrc/tftpd.pla: 0077: STA (SRC),Y - STA (SRC),Y -; utilsrc/tftpd.pla: 0078: LDA ESTKL-1,X - LDA ESTKL-1,X -; utilsrc/tftpd.pla: 0079: + INY -+ INY -; utilsrc/tftpd.pla: 0080: BNE + - BNE + -; utilsrc/tftpd.pla: 0081: INC DSTH - INC DSTH -; utilsrc/tftpd.pla: 0082: INC SRCH - INC SRCH -; utilsrc/tftpd.pla: 0083: + DEC ESTKL-4,X -+ DEC ESTKL-4,X -; utilsrc/tftpd.pla: 0084: BNE XLATLP - BNE XLATLP -; utilsrc/tftpd.pla: 0085: DEC ESTKH-4,X - DEC ESTKH-4,X -; utilsrc/tftpd.pla: 0086: BNE XLATLP - BNE XLATLP -; utilsrc/tftpd.pla: 0087: XLATEX RTS -XLATEX RTS -; utilsrc/tftpd.pla: 0088: end -; utilsrc/tftpd.pla: 0089: // -; utilsrc/tftpd.pla: 0090: // Convert byte to two hex chars -; utilsrc/tftpd.pla: 0091: // -; utilsrc/tftpd.pla: 0092: def btoh(cptr, b)#0 -_SUBSEG ; BYTECODE STARTS - ; cptr -> [0] - ; b -> [2] -_C000 ; btoh() -; utilsrc/tftpd.pla: 0093: byte h - ; h -> [4] -; utilsrc/tftpd.pla: 0094: -; utilsrc/tftpd.pla: 0095: h = ((b >> 4) & $0F) + '0' - !BYTE $58,$05,$02 ; ENTER 5,2 -; utilsrc/tftpd.pla: 0096: if h > '9' -; utilsrc/tftpd.pla: 0097: h = h + 7 -; utilsrc/tftpd.pla: 0098: fin - !BYTE $66,$02 ; LLW [2] - !BYTE $08 ; CN 4 - !BYTE $9C ; SHR - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$04 ; DLB [4] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B001 - !WORD _B001-* - !BYTE $64,$04 ; LLB [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$04 ; SLB [4] -_B001 -_B002 -; utilsrc/tftpd.pla: 0099: ^cptr = h -; utilsrc/tftpd.pla: 0100: cptr++ - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR -; utilsrc/tftpd.pla: 0101: h = (b & $0F) + '0' -; utilsrc/tftpd.pla: 0102: if h > '9' -; utilsrc/tftpd.pla: 0103: h = h + 7 -; utilsrc/tftpd.pla: 0104: fin - !BYTE $76,$00 ; SLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $3C,$0F ; ANDI 15 - !BYTE $38,$30 ; ADDI 48 - !BYTE $6C,$04 ; DLB [4] - !BYTE $2A,$39 ; CB 57 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B003 - !WORD _B003-* - !BYTE $64,$04 ; LLB [4] - !BYTE $38,$07 ; ADDI 7 - !BYTE $74,$04 ; SLB [4] -_B003 -_B004 -; utilsrc/tftpd.pla: 0105: ^cptr = h -; utilsrc/tftpd.pla: 0106: end - !BYTE $64,$04 ; LLB [4] - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $5A,$05 ; LEAVE 5 -; utilsrc/tftpd.pla: 0107: -; utilsrc/tftpd.pla: 0108: def hexByte(hexChars) - ; hexChars -> [0] -_C001 ; hexByte() -; utilsrc/tftpd.pla: 0109: byte lo, hi - ; lo -> [2] - ; hi -> [3] -; utilsrc/tftpd.pla: 0110: -; utilsrc/tftpd.pla: 0111: lo = toupper(^(hexChars + 1)) - '0' - !BYTE $58,$04,$01 ; ENTER 4,1 -; utilsrc/tftpd.pla: 0112: if lo > 9 -; utilsrc/tftpd.pla: 0113: lo = lo - 7 -; utilsrc/tftpd.pla: 0114: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F000 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $6C,$02 ; DLB [2] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B005 - !WORD _B005-* - !BYTE $64,$02 ; LLB [2] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $74,$02 ; SLB [2] -_B005 -_B006 -; utilsrc/tftpd.pla: 0115: hi = toupper(^hexChars) - '0' -; utilsrc/tftpd.pla: 0116: if hi > 9 -; utilsrc/tftpd.pla: 0117: hi = hi - 7 -; utilsrc/tftpd.pla: 0118: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F001 !WORD 0 - !BYTE $3A,$30 ; SUBI 48 - !BYTE $6C,$03 ; DLB [3] - !BYTE $12 ; CN 9 - !BYTE $44 ; ISGT - !BYTE $4C ; BRFLS _B007 - !WORD _B007-* - !BYTE $64,$03 ; LLB [3] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $74,$03 ; SLB [3] -_B007 -_B008 -; utilsrc/tftpd.pla: 0119: return (hi << 4) | lo - !BYTE $64,$03 ; LLB [3] - !BYTE $08 ; CN 4 - !BYTE $9A ; SHL - !BYTE $64,$02 ; LLB [2] - !BYTE $96 ; OR - !BYTE $5A,$04 ; LEAVE 4 -; utilsrc/tftpd.pla: 0120: end -; utilsrc/tftpd.pla: 0121: def hexWord(hexChars) - ; hexChars -> [0] -_C002 ; hexWord() -; utilsrc/tftpd.pla: 0122: return (hexByte(hexChars) << 8) | hexByte(hexChars + 2) - !BYTE $58,$02,$01 ; ENTER 2,1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _C001 -_F002 !WORD _C001 - !BYTE $10 ; CN 8 - !BYTE $9A ; SHL - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$02 ; ADDI 2 - !BYTE $54 ; CALL _C001 -_F003 !WORD _C001 - !BYTE $96 ; OR - !BYTE $5A,$02 ; LEAVE 2 -; utilsrc/tftpd.pla: 0123: end -; utilsrc/tftpd.pla: 0124: def mkProName(netName, proName)#3 - ; netName -> [0] - ; proName -> [2] -_C003 ; mkProName() -; utilsrc/tftpd.pla: 0125: byte n, l, ascii, proType - ; n -> [4] - ; l -> [5] - ; ascii -> [6] - ; proType -> [7] -; utilsrc/tftpd.pla: 0126: word proAux - ; proAux -> [8] -; utilsrc/tftpd.pla: 0127: -; utilsrc/tftpd.pla: 0128: proType = $02 // default to BIN - !BYTE $58,$0A,$02 ; ENTER 10,2 -; utilsrc/tftpd.pla: 0129: proAux = $0000 // default to 0 -; utilsrc/tftpd.pla: 0130: // -; utilsrc/tftpd.pla: 0131: // Check for CiderPress style extension -; utilsrc/tftpd.pla: 0132: // -; utilsrc/tftpd.pla: 0133: for l = 0 to 255 - !BYTE $04 ; CN 2 - !BYTE $74,$07 ; SLB [7] - !BYTE $00 ; CN 0 - !BYTE $76,$08 ; SLW [8] - !BYTE $2A,$FF ; CB 255 - !BYTE $00 ; CN 0 -_B010 - !BYTE $6C,$05 ; DLB [5] -; utilsrc/tftpd.pla: 0134: if netName->[l] == 0; break; fin - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $60 ; LB - !BYTE $4E ; BRTRU _B012 - !WORD _B012-* - !BYTE $50 ; BRNCH _B009 - !WORD _B009-* -_B012 -_B013 -; utilsrc/tftpd.pla: 0135: next -_B011 - !BYTE $A4 ; INCBRLE _B010 - !WORD _B010-* -_B009 - !BYTE $74,$05 ; SLB [5] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0136: ascii = toupper(netName->[l + 1]) == 'N' // Netscii mode -; utilsrc/tftpd.pla: 0137: if l > 7 and ^(netName + l - 7) == '#' -; utilsrc/tftpd.pla: 0138: proType = hexByte(netName + l - 6) -; utilsrc/tftpd.pla: 0139: proAux = hexWord(netName + l - 4) -; utilsrc/tftpd.pla: 0140: l = l - 7 -; utilsrc/tftpd.pla: 0141: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$05 ; LLB [5] - !BYTE $8C ; INCR - !BYTE $82 ; ADD - !BYTE $60 ; LB - !BYTE $54 ; CALL _X021 -_F004 !WORD 0 - !BYTE $2A,$4E ; CB 78 - !BYTE $40 ; ISEQ - !BYTE $74,$06 ; SLB [6] - !BYTE $64,$05 ; LLB [5] - !BYTE $0E ; CN 7 - !BYTE $44 ; ISGT - !BYTE $AC ; BRAND _B014 - !WORD _B014-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $60 ; LB - !BYTE $2A,$23 ; CB 35 - !BYTE $40 ; ISEQ -_B014 - !BYTE $4C ; BRFLS _B015 - !WORD _B015-* - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $3A,$06 ; SUBI 6 - !BYTE $54 ; CALL _C001 -_F005 !WORD _C001 - !BYTE $74,$07 ; SLB [7] - !BYTE $66,$00 ; LLW [0] - !BYTE $B0,$05 ; ADDLB [5] - !BYTE $3A,$04 ; SUBI 4 - !BYTE $54 ; CALL _C002 -_F006 !WORD _C002 - !BYTE $76,$08 ; SLW [8] - !BYTE $64,$05 ; LLB [5] - !BYTE $3A,$07 ; SUBI 7 - !BYTE $74,$05 ; SLB [5] -_B015 -_B016 -; utilsrc/tftpd.pla: 0142: memcpy(proName + 1, netName, l) -; utilsrc/tftpd.pla: 0143: ^proName = l -; utilsrc/tftpd.pla: 0144: return ascii, proType, proAux - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $64,$05 ; LLB [5] - !BYTE $54 ; CALL _X018 -_F007 !WORD 0 - !BYTE $64,$05 ; LLB [5] - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $64,$06 ; LLB [6] - !BYTE $64,$07 ; LLB [7] - !BYTE $66,$08 ; LLW [8] - !BYTE $5A,$0A ; LEAVE 10 -; utilsrc/tftpd.pla: 0145: end -; utilsrc/tftpd.pla: 0146: def mkNetName(proName, netName) - ; proName -> [0] - ; netName -> [2] -_C004 ; mkNetName() -; utilsrc/tftpd.pla: 0147: word l, n - ; l -> [4] - ; n -> [6] -; utilsrc/tftpd.pla: 0148: byte fileinfo[t_fileinfo] - ; fileinfo -> [8] -; utilsrc/tftpd.pla: 0149: -; utilsrc/tftpd.pla: 0150: if !fileio:getfileinfo(proName, @fileinfo) - !BYTE $58,$17,$02 ; ENTER 23,2 -; utilsrc/tftpd.pla: 0151: // -; utilsrc/tftpd.pla: 0152: // Scan backward looking for dir seperator -; utilsrc/tftpd.pla: 0153: // -; utilsrc/tftpd.pla: 0154: l = ^proName -; utilsrc/tftpd.pla: 0155: for n = l downto 1 - !BYTE $66,$00 ; LLW [0] - !BYTE $28,$08 ; LLA [8] - !BYTE $6A ; LAW _X029+4 -_F008 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B017 - !WORD _B017-* - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $76,$04 ; SLW [4] - !BYTE $02 ; CN 1 - !BYTE $66,$04 ; LLW [4] - !BYTE $A2 ; BRLT _B019 - !WORD _B019-* -_B020 - !BYTE $6E,$06 ; DLW [6] -; utilsrc/tftpd.pla: 0156: if ^(proName + n) == '/' -; utilsrc/tftpd.pla: 0157: break - !BYTE $66,$00 ; LLW [0] - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B022 - !WORD _B022-* - !BYTE $50 ; BRNCH _B019 - !WORD _B019-* -; utilsrc/tftpd.pla: 0158: fin -_B022 -_B023 -; utilsrc/tftpd.pla: 0159: next -_B021 - !BYTE $A8 ; DECBRGE _B020 - !WORD _B020-* -_B019 - !BYTE $76,$06 ; SLW [6] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0160: memcpy(netName + 1, proName + 1 + n, l - n) -; utilsrc/tftpd.pla: 0161: ^netName = l - n + 7 -; utilsrc/tftpd.pla: 0162: // -; utilsrc/tftpd.pla: 0163: // Build CiderPress style extension -; utilsrc/tftpd.pla: 0164: // -; utilsrc/tftpd.pla: 0165: n = netName + ^netName - 6 -; utilsrc/tftpd.pla: 0166: ^n = '#' -; utilsrc/tftpd.pla: 0167: btoh(n + 1, fileinfo.file_type) -; utilsrc/tftpd.pla: 0168: btoh(n + 3, fileinfo.aux_type.1) -; utilsrc/tftpd.pla: 0169: btoh(n + 5, fileinfo.aux_type) -; utilsrc/tftpd.pla: 0170: else - !BYTE $66,$02 ; LLW [2] - !BYTE $8C ; INCR - !BYTE $66,$00 ; LLW [0] - !BYTE $8C ; INCR - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $54 ; CALL _X018 -_F009 !WORD 0 - !BYTE $66,$04 ; LLW [4] - !BYTE $66,$06 ; LLW [6] - !BYTE $84 ; SUB - !BYTE $38,$07 ; ADDI 7 - !BYTE $66,$02 ; LLW [2] - !BYTE $70 ; SB - !BYTE $66,$02 ; LLW [2] - !BYTE $34 ; DUP - !BYTE $60 ; LB - !BYTE $82 ; ADD - !BYTE $3A,$06 ; SUBI 6 - !BYTE $76,$06 ; SLW [6] - !BYTE $2A,$23 ; CB 35 - !BYTE $66,$06 ; LLW [6] - !BYTE $70 ; SB - !BYTE $66,$06 ; LLW [6] - !BYTE $8C ; INCR - !BYTE $64,$09 ; LLB [9] - !BYTE $54 ; CALL _C000 -_F010 !WORD _C000 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$03 ; ADDI 3 - !BYTE $28,$0A ; LLA [10] - !BYTE $8C ; INCR - !BYTE $60 ; LB - !BYTE $54 ; CALL _C000 -_F011 !WORD _C000 - !BYTE $66,$06 ; LLW [6] - !BYTE $38,$05 ; ADDI 5 - !BYTE $64,$0A ; LLB [10] - !BYTE $54 ; CALL _C000 -_F012 !WORD _C000 - !BYTE $50 ; BRNCH _B018 - !WORD _B018-* -_B017 -; utilsrc/tftpd.pla: 0171: // -; utilsrc/tftpd.pla: 0172: // Error getting info on file -; utilsrc/tftpd.pla: 0173: // -; utilsrc/tftpd.pla: 0174: puts("Error reading "); puts(proName); putln - !BYTE $2E ; CS - !BYTE $0E - !BYTE $45,$72,$72,$6F,$72,$20,$72,$65 - !BYTE $61,$64,$69,$6E,$67,$20 - !BYTE $54 ; CALL _X004 -_F013 !WORD 0 -; utilsrc/tftpd.pla: 0175: return -1 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F014 !WORD 0 - !BYTE $54 ; CALL _X003 -_F015 !WORD 0 - !BYTE $20 ; MINUS ONE - !BYTE $5A,$17 ; LEAVE 23 -; utilsrc/tftpd.pla: 0176: fin -_B018 -; utilsrc/tftpd.pla: 0177: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$17 ; LEAVE 23 -; utilsrc/tftpd.pla: 0178: end -; utilsrc/tftpd.pla: 0179: -; utilsrc/tftpd.pla: 0180: def readUDP(ipsrc, portsrc, data, len, param) - ; ipsrc -> [0] - ; portsrc -> [2] - ; data -> [4] - ; len -> [6] - ; param -> [8] -_C005 ; readUDP() -; utilsrc/tftpd.pla: 0181: word err - ; err -> [10] -; utilsrc/tftpd.pla: 0182: -; utilsrc/tftpd.pla: 0183: err = 0 - !BYTE $58,$0C,$05 ; ENTER 12,5 -; utilsrc/tftpd.pla: 0184: when *data - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B025-* -; utilsrc/tftpd.pla: 0185: is $0500 // Error -_B026 -; utilsrc/tftpd.pla: 0186: err = *data -; utilsrc/tftpd.pla: 0187: is $0400 // Ack - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $76,$0A ; SLW [10] -_B027 -; utilsrc/tftpd.pla: 0188: if swab(data=>ackBlock) <> block -; utilsrc/tftpd.pla: 0189: puts("RRQ: Out-of-sequence block\n") - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F016 !WORD _A000 - !BYTE $6A ; LAW _D039+0 -_F017 !WORD _D039+0 - !BYTE $22 ; BREQ _B028 - !WORD _B028-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $52,$52,$51,$3A,$20,$4F,$75,$74 - !BYTE $2D,$6F,$66,$2D,$73,$65,$71,$75 - !BYTE $65,$6E,$63,$65,$20,$62,$6C,$6F - !BYTE $63,$6B,$0D - !BYTE $54 ; CALL _X004 -_F018 !WORD 0 -; utilsrc/tftpd.pla: 0190: err = $0800 // Out-of-sequence block -; utilsrc/tftpd.pla: 0191: break - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; utilsrc/tftpd.pla: 0192: fin -_B028 -_B029 -; utilsrc/tftpd.pla: 0193: if param == 512 // Size of initial read -; utilsrc/tftpd.pla: 0194: param = fileio:read(ref, buff+datBytes, 512) -; utilsrc/tftpd.pla: 0195: if type == $04 // TXT type -; utilsrc/tftpd.pla: 0196: xlat($0D, $0A, buff+datBytes, param) -; utilsrc/tftpd.pla: 0197: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $24 ; BRNE _B030 - !WORD _B030-* - !BYTE $68 ; LAB _D034+0 -_F019 !WORD _D034+0 - !BYTE $6A ; LAW _D040+0 -_F020 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X029+18 -_F021 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$08 ; SLW [8] - !BYTE $68 ; LAB _D035+0 -_F022 !WORD _D035+0 - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B032 - !WORD _B032-* - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D040+0 -_F023 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$08 ; LLW [8] - !BYTE $54 ; CALL _A001 -_F024 !WORD _A001 -_B032 -_B033 -; utilsrc/tftpd.pla: 0198: block++ - !BYTE $6A ; LAW _D039+0 -_F025 !WORD _D039+0 - !BYTE $8C ; INCR -; utilsrc/tftpd.pla: 0199: buff=>datBlock = swab(block) -; utilsrc/tftpd.pla: 0200: iNet:sendUDP(portTID, ipsrc, portsrc, buff, t_datPkt + param) -; utilsrc/tftpd.pla: 0201: fin - !BYTE $7E ; DAW _D039+0 -_F026 !WORD _D039+0 - !BYTE $54 ; CALL _A000 -_F027 !WORD _A000 - !BYTE $6A ; LAW _D040+0 -_F028 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $6A ; LAW _D043+0 -_F029 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D040+0 -_F030 !WORD _D040+0 - !BYTE $08 ; CN 4 - !BYTE $B2,$08 ; ADDLW [8] - !BYTE $6A ; LAW _X028+6 -_F031 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B030 -_B031 -; utilsrc/tftpd.pla: 0202: if err -; utilsrc/tftpd.pla: 0203: tftpError:errCode = err -; utilsrc/tftpd.pla: 0204: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0205: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $4C ; BRFLS _B034 - !WORD _B034-* - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D032+2 -_F032 !WORD _D032+2 - !BYTE $6A ; LAW _D043+0 -_F033 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F034 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F035 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B034 -_B035 -; utilsrc/tftpd.pla: 0206: if param < 512 or err -; utilsrc/tftpd.pla: 0207: // -; utilsrc/tftpd.pla: 0208: // All done -; utilsrc/tftpd.pla: 0209: // -; utilsrc/tftpd.pla: 0210: iNet:closeUDP(portTID) -; utilsrc/tftpd.pla: 0211: fileio:close(ref) -; utilsrc/tftpd.pla: 0212: ref = 0 -; utilsrc/tftpd.pla: 0213: fin - !BYTE $66,$08 ; LLW [8] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B036 - !WORD _B036-* - !BYTE $66,$0A ; LLW [10] -_B036 - !BYTE $4C ; BRFLS _B037 - !WORD _B037-* - !BYTE $6A ; LAW _D043+0 -_F036 !WORD _D043+0 - !BYTE $6A ; LAW _X028+8 -_F037 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D034+0 -_F038 !WORD _D034+0 - !BYTE $6A ; LAW _X029+16 -_F039 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F040 !WORD _D034+0 -_B037 -_B038 -; utilsrc/tftpd.pla: 0214: break - !BYTE $50 ; BRNCH _B024 - !WORD _B024-* -; utilsrc/tftpd.pla: 0215: otherwise -_B025 - !BYTE $02 ; CASEBLOCK - !WORD $0400 - !WORD _B027-* - !WORD $0500 - !WORD _B026-* -; utilsrc/tftpd.pla: 0216: puts("TFTP: RRQ Unexpected packet opcode: $"); puth(*data); putln - !BYTE $2E ; CS - !BYTE $25 - !BYTE $54,$46,$54,$50,$3A,$20,$52,$52 - !BYTE $51,$20,$55,$6E,$65,$78,$70,$65 - !BYTE $63,$74,$65,$64,$20,$70,$61,$63 - !BYTE $6B,$65,$74,$20,$6F,$70,$63,$6F - !BYTE $64,$65,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F041 !WORD 0 -; utilsrc/tftpd.pla: 0217: wend - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F042 !WORD 0 - !BYTE $54 ; CALL _X003 -_F043 !WORD 0 -_B024 -; utilsrc/tftpd.pla: 0218: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/tftpd.pla: 0219: end -; utilsrc/tftpd.pla: 0220: def writeUDP(ipsrc, portsrc, data, len, param) - ; ipsrc -> [0] - ; portsrc -> [2] - ; data -> [4] - ; len -> [6] - ; param -> [8] -_C006 ; writeUDP() -; utilsrc/tftpd.pla: 0221: word err - ; err -> [10] -; utilsrc/tftpd.pla: 0222: -; utilsrc/tftpd.pla: 0223: err = 0 - !BYTE $58,$0C,$05 ; ENTER 12,5 -; utilsrc/tftpd.pla: 0224: when *data - !BYTE $00 ; CN 0 - !BYTE $76,$0A ; SLW [10] - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B040-* -; utilsrc/tftpd.pla: 0225: is $0300 // Data packet -_B041 -; utilsrc/tftpd.pla: 0226: if swab(data=>datBlock) <> block -; utilsrc/tftpd.pla: 0227: puts("WRQ: Out-of-sequence block\n") - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $62 ; LW - !BYTE $54 ; CALL _A000 -_F044 !WORD _A000 - !BYTE $6A ; LAW _D039+0 -_F045 !WORD _D039+0 - !BYTE $22 ; BREQ _B042 - !WORD _B042-* - !BYTE $2E ; CS - !BYTE $1B - !BYTE $57,$52,$51,$3A,$20,$4F,$75,$74 - !BYTE $2D,$6F,$66,$2D,$73,$65,$71,$75 - !BYTE $65,$6E,$63,$65,$20,$62,$6C,$6F - !BYTE $63,$6B,$0D - !BYTE $54 ; CALL _X004 -_F046 !WORD 0 -; utilsrc/tftpd.pla: 0228: err = $0800 // Out-of-sequence block -; utilsrc/tftpd.pla: 0229: break - !BYTE $2C,$00,$08 ; CW 2048 - !BYTE $76,$0A ; SLW [10] - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; utilsrc/tftpd.pla: 0230: fin -_B042 -_B043 -; utilsrc/tftpd.pla: 0231: len = len - t_datPkt -; utilsrc/tftpd.pla: 0232: if type == $04 // TXT type -; utilsrc/tftpd.pla: 0233: xlat($0A, $0D, data+datBytes, len) -; utilsrc/tftpd.pla: 0234: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $3A,$04 ; SUBI 4 - !BYTE $76,$06 ; SLW [6] - !BYTE $68 ; LAB _D035+0 -_F047 !WORD _D035+0 - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B044 - !WORD _B044-* - !BYTE $14 ; CN 10 - !BYTE $1A ; CN 13 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$06 ; LLW [6] - !BYTE $54 ; CALL _A001 -_F048 !WORD _A001 -_B044 -_B045 -; utilsrc/tftpd.pla: 0235: if fileio:write(ref, data+datBytes, len) <> len -; utilsrc/tftpd.pla: 0236: puts("WRQ: File write error\n") - !BYTE $68 ; LAB _D034+0 -_F049 !WORD _D034+0 - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$04 ; ADDI 4 - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X029+20 -_F050 !WORD 0+20 - !BYTE $56 ; ICAL - !BYTE $66,$06 ; LLW [6] - !BYTE $22 ; BREQ _B046 - !WORD _B046-* - !BYTE $2E ; CS - !BYTE $16 - !BYTE $57,$52,$51,$3A,$20,$46,$69,$6C - !BYTE $65,$20,$77,$72,$69,$74,$65,$20 - !BYTE $65,$72,$72,$6F,$72,$0D - !BYTE $54 ; CALL _X004 -_F051 !WORD 0 -; utilsrc/tftpd.pla: 0237: tftpError:errCode = $0300 // Disk full error -; utilsrc/tftpd.pla: 0238: break - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $7A ; SAW _D032+2 -_F052 !WORD _D032+2 - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; utilsrc/tftpd.pla: 0239: fin -_B046 -_B047 -; utilsrc/tftpd.pla: 0240: if not err -; utilsrc/tftpd.pla: 0241: tftpAck:ackBlock = swab(block) -; utilsrc/tftpd.pla: 0242: block++ - !BYTE $66,$0A ; LLW [10] - !BYTE $4E ; BRTRU _B048 - !WORD _B048-* - !BYTE $6A ; LAW _D039+0 -_F053 !WORD _D039+0 - !BYTE $54 ; CALL _A000 -_F054 !WORD _A000 - !BYTE $7A ; SAW _D033+2 -_F055 !WORD _D033+2 - !BYTE $6A ; LAW _D039+0 -_F056 !WORD _D039+0 - !BYTE $8C ; INCR -; utilsrc/tftpd.pla: 0243: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpAck, t_ackPkt) -; utilsrc/tftpd.pla: 0244: else - !BYTE $7A ; SAW _D039+0 -_F057 !WORD _D039+0 - !BYTE $6A ; LAW _D043+0 -_F058 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D033+0 -_F059 !WORD _D033+0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X028+6 -_F060 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B049 - !WORD _B049-* -_B048 -; utilsrc/tftpd.pla: 0245: tftpError:errCode = err -; utilsrc/tftpd.pla: 0246: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0247: fin - !BYTE $66,$0A ; LLW [10] - !BYTE $7A ; SAW _D032+2 -_F061 !WORD _D032+2 - !BYTE $6A ; LAW _D043+0 -_F062 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F063 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F064 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B049 -; utilsrc/tftpd.pla: 0248: if len < 512 or err -; utilsrc/tftpd.pla: 0249: // -; utilsrc/tftpd.pla: 0250: // All done -; utilsrc/tftpd.pla: 0251: // -; utilsrc/tftpd.pla: 0252: iNet:closeUDP(portTID) -; utilsrc/tftpd.pla: 0253: fileio:close(ref) -; utilsrc/tftpd.pla: 0254: ref = 0 -; utilsrc/tftpd.pla: 0255: fin - !BYTE $66,$06 ; LLW [6] - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $46 ; ISLT - !BYTE $AE ; BROR _B050 - !WORD _B050-* - !BYTE $66,$0A ; LLW [10] -_B050 - !BYTE $4C ; BRFLS _B051 - !WORD _B051-* - !BYTE $6A ; LAW _D043+0 -_F065 !WORD _D043+0 - !BYTE $6A ; LAW _X028+8 -_F066 !WORD 0+8 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $68 ; LAB _D034+0 -_F067 !WORD _D034+0 - !BYTE $6A ; LAW _X029+16 -_F068 !WORD 0+16 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $78 ; SAB _D034+0 -_F069 !WORD _D034+0 -_B051 -_B052 -; utilsrc/tftpd.pla: 0256: break - !BYTE $50 ; BRNCH _B039 - !WORD _B039-* -; utilsrc/tftpd.pla: 0257: otherwise -_B040 - !BYTE $01 ; CASEBLOCK - !WORD $0300 - !WORD _B041-* -; utilsrc/tftpd.pla: 0258: puts("WRQ: Unexpected packet opcode: $"); puth(*data); putln - !BYTE $2E ; CS - !BYTE $20 - !BYTE $57,$52,$51,$3A,$20,$55,$6E,$65 - !BYTE $78,$70,$65,$63,$74,$65,$64,$20 - !BYTE $70,$61,$63,$6B,$65,$74,$20,$6F - !BYTE $70,$63,$6F,$64,$65,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F070 !WORD 0 -; utilsrc/tftpd.pla: 0259: wend - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F071 !WORD 0 - !BYTE $54 ; CALL _X003 -_F072 !WORD 0 -_B039 -; utilsrc/tftpd.pla: 0260: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$0C ; LEAVE 12 -; utilsrc/tftpd.pla: 0261: end -; utilsrc/tftpd.pla: 0262: def servUDP(ipsrc, portsrc, data, len, param) - ; ipsrc -> [0] - ; portsrc -> [2] - ; data -> [4] - ; len -> [6] - ; param -> [8] -_C007 ; servUDP() -; utilsrc/tftpd.pla: 0263: byte info[24] - ; info -> [10] -; utilsrc/tftpd.pla: 0264: byte l, prefix[48] - ; l -> [34] - ; prefix -> [35] -; utilsrc/tftpd.pla: 0265: -; utilsrc/tftpd.pla: 0266: when *data - !BYTE $58,$53,$05 ; ENTER 83,5 - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $52 ; SEL - !WORD _B054-* -; utilsrc/tftpd.pla: 0267: is RRQ // Read request -_B055 -; utilsrc/tftpd.pla: 0268: // -; utilsrc/tftpd.pla: 0269: // Initiate file read -; utilsrc/tftpd.pla: 0270: // -; utilsrc/tftpd.pla: 0271: if ref -; utilsrc/tftpd.pla: 0272: // -; utilsrc/tftpd.pla: 0273: // File already open and active -; utilsrc/tftpd.pla: 0274: // -; utilsrc/tftpd.pla: 0275: tftpError:errCode = $0300 // Allocation exceeded -; utilsrc/tftpd.pla: 0276: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0277: return 0 - !BYTE $68 ; LAB _D034+0 -_F073 !WORD _D034+0 - !BYTE $4C ; BRFLS _B056 - !WORD _B056-* - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $7A ; SAW _D032+2 -_F074 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F075 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F076 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F077 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0278: fin -_B056 -_B057 -; utilsrc/tftpd.pla: 0279: // -; utilsrc/tftpd.pla: 0280: // Extract filename -; utilsrc/tftpd.pla: 0281: // -; utilsrc/tftpd.pla: 0282: netscii, type, aux = mkProName(data + 2, @filename) -; utilsrc/tftpd.pla: 0283: ref = fileio:open(@filename) -; utilsrc/tftpd.pla: 0284: if not ref -; utilsrc/tftpd.pla: 0285: puts("Error opening file: "); puts(@filename) - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $26 ; LA _D037+0 -_F078 !WORD _D037+0 - !BYTE $54 ; CALL _C003 -_F079 !WORD _C003 - !BYTE $7A ; SAW _D038+0 -_F080 !WORD _D038+0 - !BYTE $78 ; SAB _D035+0 -_F081 !WORD _D035+0 - !BYTE $78 ; SAB _D036+0 -_F082 !WORD _D036+0 - !BYTE $26 ; LA _D037+0 -_F083 !WORD _D037+0 - !BYTE $6A ; LAW _X029+14 -_F084 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D034+0 -_F085 !WORD _D034+0 - !BYTE $4E ; BRTRU _B058 - !WORD _B058-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$66,$69 - !BYTE $6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F086 !WORD 0 -; utilsrc/tftpd.pla: 0286: puts(", Error: "); putb(perr); putln - !BYTE $26 ; LA _D037+0 -_F087 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F088 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $2C,$20,$45,$72,$72,$6F,$72,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F089 !WORD 0 -; utilsrc/tftpd.pla: 0287: tftpError:errCode = $0100 // File not found -; utilsrc/tftpd.pla: 0288: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0289: return 0 - !BYTE $68 ; LAB _X030+0 -_F090 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F091 !WORD 0 - !BYTE $54 ; CALL _X003 -_F092 !WORD 0 - !BYTE $2C,$00,$01 ; CW 256 - !BYTE $7A ; SAW _D032+2 -_F093 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F094 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F095 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F096 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0290: fin -_B058 -_B059 -; utilsrc/tftpd.pla: 0291: info.0 = $0A -; utilsrc/tftpd.pla: 0292: info:1 = @filename -; utilsrc/tftpd.pla: 0293: syscall($C4, @info) -; utilsrc/tftpd.pla: 0294: type = info.4 -; utilsrc/tftpd.pla: 0295: puts("Reading file: "); puts(@filename); putln - !BYTE $14 ; CN 10 - !BYTE $74,$0A ; SLB [10] - !BYTE $26 ; LA _D037+0 -_F097 !WORD _D037+0 - !BYTE $76,$0B ; SLW [11] - !BYTE $2A,$C4 ; CB 196 - !BYTE $28,$0A ; LLA [10] - !BYTE $54 ; CALL _X011 -_F098 !WORD 0 - !BYTE $30 ; DROP - !BYTE $64,$0E ; LLB [14] - !BYTE $78 ; SAB _D035+0 -_F099 !WORD _D035+0 - !BYTE $2E ; CS - !BYTE $0E - !BYTE $52,$65,$61,$64,$69,$6E,$67,$20 - !BYTE $66,$69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F100 !WORD 0 -; utilsrc/tftpd.pla: 0296: TID = (TID + TID_INC) | $1000 -; utilsrc/tftpd.pla: 0297: block = 1 -; utilsrc/tftpd.pla: 0298: buff=>datBlock = swab(block) -; utilsrc/tftpd.pla: 0299: len = fileio:read(ref, buff+datBytes, 512) -; utilsrc/tftpd.pla: 0300: if type == $04 // TXT type -; utilsrc/tftpd.pla: 0301: xlat($0D, $0A, buff+datBytes, 512) -; utilsrc/tftpd.pla: 0302: fin - !BYTE $26 ; LA _D037+0 -_F101 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F102 !WORD 0 - !BYTE $54 ; CALL _X003 -_F103 !WORD 0 - !BYTE $6A ; LAW _D041+0 -_F104 !WORD _D041+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D041+0 -_F105 !WORD _D041+0 - !BYTE $02 ; CN 1 - !BYTE $7E ; DAW _D039+0 -_F106 !WORD _D039+0 - !BYTE $54 ; CALL _A000 -_F107 !WORD _A000 - !BYTE $6A ; LAW _D040+0 -_F108 !WORD _D040+0 - !BYTE $38,$02 ; ADDI 2 - !BYTE $72 ; SW - !BYTE $68 ; LAB _D034+0 -_F109 !WORD _D034+0 - !BYTE $6A ; LAW _D040+0 -_F110 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $6A ; LAW _X029+18 -_F111 !WORD 0+18 - !BYTE $56 ; ICAL - !BYTE $76,$06 ; SLW [6] - !BYTE $68 ; LAB _D035+0 -_F112 !WORD _D035+0 - !BYTE $08 ; CN 4 - !BYTE $24 ; BRNE _B060 - !WORD _B060-* - !BYTE $1A ; CN 13 - !BYTE $14 ; CN 10 - !BYTE $6A ; LAW _D040+0 -_F113 !WORD _D040+0 - !BYTE $38,$04 ; ADDI 4 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $54 ; CALL _A001 -_F114 !WORD _A001 -_B060 -_B061 -; utilsrc/tftpd.pla: 0303: portTID = iNet:openUDP(TID, @readUDP, len) -; utilsrc/tftpd.pla: 0304: iNet:sendUDP(portTID, ipsrc, portsrc, buff, t_datPkt + len) -; utilsrc/tftpd.pla: 0305: break - !BYTE $6A ; LAW _D041+0 -_F115 !WORD _D041+0 - !BYTE $26 ; LA _C005+0 -_F116 !WORD _C005+0 - !BYTE $66,$06 ; LLW [6] - !BYTE $6A ; LAW _X028+4 -_F117 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7E ; DAW _D043+0 -_F118 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $6A ; LAW _D040+0 -_F119 !WORD _D040+0 - !BYTE $08 ; CN 4 - !BYTE $B2,$06 ; ADDLW [6] - !BYTE $6A ; LAW _X028+6 -_F120 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -; utilsrc/tftpd.pla: 0306: is WRQ // Write request -_B062 -; utilsrc/tftpd.pla: 0307: // -; utilsrc/tftpd.pla: 0308: // Initiate file write -; utilsrc/tftpd.pla: 0309: // -; utilsrc/tftpd.pla: 0310: if ref -; utilsrc/tftpd.pla: 0311: // -; utilsrc/tftpd.pla: 0312: // File already open and active -; utilsrc/tftpd.pla: 0313: // -; utilsrc/tftpd.pla: 0314: tftpError:errCode = $0300 // Allocation exceeded -; utilsrc/tftpd.pla: 0315: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0316: return 0 - !BYTE $68 ; LAB _D034+0 -_F121 !WORD _D034+0 - !BYTE $4C ; BRFLS _B063 - !WORD _B063-* - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $7A ; SAW _D032+2 -_F122 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F123 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F124 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F125 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0317: fin -_B063 -_B064 -; utilsrc/tftpd.pla: 0318: // -; utilsrc/tftpd.pla: 0319: // Extract filename -; utilsrc/tftpd.pla: 0320: // -; utilsrc/tftpd.pla: 0321: netscii, type, aux = mkProName(data + 2, @filename) -; utilsrc/tftpd.pla: 0322: // -; utilsrc/tftpd.pla: 0323: // Scan filename prefix and create -; utilsrc/tftpd.pla: 0324: // -; utilsrc/tftpd.pla: 0325: prefix[1] = filename[1] -; utilsrc/tftpd.pla: 0326: for l = 2 to filename[0] - !BYTE $66,$04 ; LLW [4] - !BYTE $38,$02 ; ADDI 2 - !BYTE $26 ; LA _D037+0 -_F126 !WORD _D037+0 - !BYTE $54 ; CALL _C003 -_F127 !WORD _C003 - !BYTE $7A ; SAW _D038+0 -_F128 !WORD _D038+0 - !BYTE $78 ; SAB _D035+0 -_F129 !WORD _D035+0 - !BYTE $78 ; SAB _D036+0 -_F130 !WORD _D036+0 - !BYTE $68 ; LAB _D037+1 -_F131 !WORD _D037+1 - !BYTE $74,$24 ; SLB [36] - !BYTE $68 ; LAB _D037+0 -_F132 !WORD _D037+0 - !BYTE $04 ; CN 2 - !BYTE $A0 ; BRGT _B065 - !WORD _B065-* -_B066 - !BYTE $6C,$22 ; DLB [34] -; utilsrc/tftpd.pla: 0327: if filename[l] == '/' -; utilsrc/tftpd.pla: 0328: prefix[0] = l-1 -; utilsrc/tftpd.pla: 0329: fileio:create(@prefix, $0F, $0000) -; utilsrc/tftpd.pla: 0330: fin - !BYTE $26 ; LA _D037+0 -_F133 !WORD _D037+0 - !BYTE $B0,$22 ; ADDLB [34] - !BYTE $60 ; LB - !BYTE $2A,$2F ; CB 47 - !BYTE $24 ; BRNE _B068 - !WORD _B068-* - !BYTE $64,$22 ; LLB [34] - !BYTE $8E ; DECR - !BYTE $74,$23 ; SLB [35] - !BYTE $28,$23 ; LLA [35] - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X029+22 -_F134 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B068 -_B069 -; utilsrc/tftpd.pla: 0331: prefix[l] = filename[l] -; utilsrc/tftpd.pla: 0332: next - !BYTE $26 ; LA _D037+0 -_F135 !WORD _D037+0 - !BYTE $B0,$22 ; ADDLB [34] - !BYTE $60 ; LB - !BYTE $28,$23 ; LLA [35] - !BYTE $B0,$22 ; ADDLB [34] - !BYTE $70 ; SB -_B067 - !BYTE $A4 ; INCBRLE _B066 - !WORD _B066-* -_B065 - !BYTE $74,$22 ; SLB [34] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0333: fileio:destroy(@filename) -; utilsrc/tftpd.pla: 0334: if fileio:create(@filename, type, aux) -; utilsrc/tftpd.pla: 0335: puts("Create file error: "); putb(perr); putln - !BYTE $26 ; LA _D037+0 -_F136 !WORD _D037+0 - !BYTE $6A ; LAW _X029+24 -_F137 !WORD 0+24 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $26 ; LA _D037+0 -_F138 !WORD _D037+0 - !BYTE $68 ; LAB _D035+0 -_F139 !WORD _D035+0 - !BYTE $6A ; LAW _D038+0 -_F140 !WORD _D038+0 - !BYTE $6A ; LAW _X029+22 -_F141 !WORD 0+22 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B070 - !WORD _B070-* - !BYTE $2E ; CS - !BYTE $13 - !BYTE $43,$72,$65,$61,$74,$65,$20,$66 - !BYTE $69,$6C,$65,$20,$65,$72,$72,$6F - !BYTE $72,$3A,$20 - !BYTE $54 ; CALL _X004 -_F142 !WORD 0 -; utilsrc/tftpd.pla: 0336: fin - !BYTE $68 ; LAB _X030+0 -_F143 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F144 !WORD 0 - !BYTE $54 ; CALL _X003 -_F145 !WORD 0 -_B070 -_B071 -; utilsrc/tftpd.pla: 0337: ref = fileio:open(@filename) -; utilsrc/tftpd.pla: 0338: if not ref -; utilsrc/tftpd.pla: 0339: puts("Error opening file: "); puts(@filename) - !BYTE $26 ; LA _D037+0 -_F146 !WORD _D037+0 - !BYTE $6A ; LAW _X029+14 -_F147 !WORD 0+14 - !BYTE $56 ; ICAL - !BYTE $7C ; DAB _D034+0 -_F148 !WORD _D034+0 - !BYTE $4E ; BRTRU _B072 - !WORD _B072-* - !BYTE $2E ; CS - !BYTE $14 - !BYTE $45,$72,$72,$6F,$72,$20,$6F,$70 - !BYTE $65,$6E,$69,$6E,$67,$20,$66,$69 - !BYTE $6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F149 !WORD 0 -; utilsrc/tftpd.pla: 0340: puts(", Error: "); putb(perr); putln - !BYTE $26 ; LA _D037+0 -_F150 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F151 !WORD 0 - !BYTE $2E ; CS - !BYTE $09 - !BYTE $2C,$20,$45,$72,$72,$6F,$72,$3A - !BYTE $20 - !BYTE $54 ; CALL _X004 -_F152 !WORD 0 -; utilsrc/tftpd.pla: 0341: tftpError:errCode = $0200 // Access violation -; utilsrc/tftpd.pla: 0342: iNet:sendUDP(portTFTP, ipsrc, portsrc, @tftpError, t_errPkt) -; utilsrc/tftpd.pla: 0343: return 0 - !BYTE $68 ; LAB _X030+0 -_F153 !WORD 0+0 - !BYTE $54 ; CALL _X008 -_F154 !WORD 0 - !BYTE $54 ; CALL _X003 -_F155 !WORD 0 - !BYTE $2C,$00,$02 ; CW 512 - !BYTE $7A ; SAW _D032+2 -_F156 !WORD _D032+2 - !BYTE $6A ; LAW _D042+0 -_F157 !WORD _D042+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D032+0 -_F158 !WORD _D032+0 - !BYTE $0A ; CN 5 - !BYTE $6A ; LAW _X028+6 -_F159 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0344: fin -_B072 -_B073 -; utilsrc/tftpd.pla: 0345: puts("Writing file: "); puts(@filename); putln - !BYTE $2E ; CS - !BYTE $0E - !BYTE $57,$72,$69,$74,$69,$6E,$67,$20 - !BYTE $66,$69,$6C,$65,$3A,$20 - !BYTE $54 ; CALL _X004 -_F160 !WORD 0 -; utilsrc/tftpd.pla: 0346: TID = (TID + TID_INC) | $1000 -; utilsrc/tftpd.pla: 0347: block = 1 -; utilsrc/tftpd.pla: 0348: tftpAck:ackBlock = 0 -; utilsrc/tftpd.pla: 0349: portTID = iNet:openUDP(TID, @writeUDP, 0) -; utilsrc/tftpd.pla: 0350: iNet:sendUDP(portTID, ipsrc, portsrc, @tftpAck, t_ackPkt) -; utilsrc/tftpd.pla: 0351: break - !BYTE $26 ; LA _D037+0 -_F161 !WORD _D037+0 - !BYTE $54 ; CALL _X004 -_F162 !WORD 0 - !BYTE $54 ; CALL _X003 -_F163 !WORD 0 - !BYTE $6A ; LAW _D041+0 -_F164 !WORD _D041+0 - !BYTE $38,$10 ; ADDI 16 - !BYTE $2C,$00,$10 ; CW 4096 - !BYTE $96 ; OR - !BYTE $7A ; SAW _D041+0 -_F165 !WORD _D041+0 - !BYTE $02 ; CN 1 - !BYTE $7A ; SAW _D039+0 -_F166 !WORD _D039+0 - !BYTE $00 ; CN 0 - !BYTE $7A ; SAW _D033+2 -_F167 !WORD _D033+2 - !BYTE $6A ; LAW _D041+0 -_F168 !WORD _D041+0 - !BYTE $26 ; LA _C006+0 -_F169 !WORD _C006+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F170 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7E ; DAW _D043+0 -_F171 !WORD _D043+0 - !BYTE $66,$00 ; LLW [0] - !BYTE $66,$02 ; LLW [2] - !BYTE $26 ; LA _D033+0 -_F172 !WORD _D033+0 - !BYTE $08 ; CN 4 - !BYTE $6A ; LAW _X028+6 -_F173 !WORD 0+6 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $50 ; BRNCH _B053 - !WORD _B053-* -; utilsrc/tftpd.pla: 0352: otherwise -_B054 - !BYTE $02 ; CASEBLOCK - !WORD $0100 - !WORD _B055-* - !WORD $0200 - !WORD _B062-* -; utilsrc/tftpd.pla: 0353: puts("TFTP: Server Unexpected packet opcode: $"); puth(*data); putln - !BYTE $2E ; CS - !BYTE $28 - !BYTE $54,$46,$54,$50,$3A,$20,$53,$65 - !BYTE $72,$76,$65,$72,$20,$55,$6E,$65 - !BYTE $78,$70,$65,$63,$74,$65,$64,$20 - !BYTE $70,$61,$63,$6B,$65,$74,$20,$6F - !BYTE $70,$63,$6F,$64,$65,$3A,$20,$24 - !BYTE $54 ; CALL _X004 -_F174 !WORD 0 -; utilsrc/tftpd.pla: 0354: wend - !BYTE $66,$04 ; LLW [4] - !BYTE $62 ; LW - !BYTE $54 ; CALL _X009 -_F175 !WORD 0 - !BYTE $54 ; CALL _X003 -_F176 !WORD 0 -_B053 -; utilsrc/tftpd.pla: 0355: return 0 - !BYTE $00 ; CN 0 - !BYTE $5A,$53 ; LEAVE 83 -; utilsrc/tftpd.pla: 0356: end -; utilsrc/tftpd.pla: 0357: -; utilsrc/tftpd.pla: 0358: def volumes#0 -_C008 ; volumes() -; utilsrc/tftpd.pla: 0359: word strbuf - ; strbuf -> [0] -; utilsrc/tftpd.pla: 0360: byte i - ; i -> [2] -; utilsrc/tftpd.pla: 0361: -; utilsrc/tftpd.pla: 0362: strbuf = heapmark() - !BYTE $58,$03,$00 ; ENTER 3,0 -; utilsrc/tftpd.pla: 0363: fileio:online(0, strbuf) -; utilsrc/tftpd.pla: 0364: for i = 0 to 15 - !BYTE $54 ; CALL _X012 -_F177 !WORD 0 - !BYTE $76,$00 ; SLW [0] - !BYTE $00 ; CN 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $6A ; LAW _X029+30 -_F178 !WORD 0+30 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP - !BYTE $1E ; CN 15 - !BYTE $00 ; CN 0 -_B075 - !BYTE $6C,$02 ; DLB [2] -; utilsrc/tftpd.pla: 0365: ^strbuf = ^strbuf & $0F -; utilsrc/tftpd.pla: 0366: if ^strbuf -; utilsrc/tftpd.pla: 0367: putc('/'); puts(strbuf); putln() -; utilsrc/tftpd.pla: 0368: fin - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $3C,$0F ; ANDI 15 - !BYTE $66,$00 ; LLW [0] - !BYTE $70 ; SB - !BYTE $66,$00 ; LLW [0] - !BYTE $60 ; LB - !BYTE $4C ; BRFLS _B077 - !WORD _B077-* - !BYTE $2A,$2F ; CB 47 - !BYTE $54 ; CALL _X002 -_F179 !WORD 0 - !BYTE $66,$00 ; LLW [0] - !BYTE $54 ; CALL _X004 -_F180 !WORD 0 - !BYTE $54 ; CALL _X003 -_F181 !WORD 0 -_B077 -_B078 -; utilsrc/tftpd.pla: 0369: strbuf = strbuf + 16 -; utilsrc/tftpd.pla: 0370: next - !BYTE $66,$00 ; LLW [0] - !BYTE $38,$10 ; ADDI 16 - !BYTE $76,$00 ; SLW [0] -_B076 - !BYTE $A4 ; INCBRLE _B075 - !WORD _B075-* -_B074 - !BYTE $74,$02 ; SLB [2] - !BYTE $30 ; DROP -; utilsrc/tftpd.pla: 0371: end - !BYTE $5A,$03 ; LEAVE 3 -; utilsrc/tftpd.pla: 0372: -; utilsrc/tftpd.pla: 0373: puts("TFTP Server, Version 2.1\n") -_INIT - !BYTE $2E ; CS - !BYTE $19 - !BYTE $54,$46,$54,$50,$20,$53,$65,$72 - !BYTE $76,$65,$72,$2C,$20,$56,$65,$72 - !BYTE $73,$69,$6F,$6E,$20,$32,$2E,$31 - !BYTE $0D - !BYTE $54 ; CALL _X004 -_F182 !WORD 0 -; utilsrc/tftpd.pla: 0374: if !iNet:initIP() -; utilsrc/tftpd.pla: 0375: return -1 - !BYTE $6A ; LAW _X028+0 -_F183 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4E ; BRTRU _B079 - !WORD _B079-* - !BYTE $20 ; MINUS ONE - !BYTE $5C ; RET -; utilsrc/tftpd.pla: 0376: fin -_B079 -_B080 -; utilsrc/tftpd.pla: 0377: puts("Online volumes:\n"); volumes() - !BYTE $2E ; CS - !BYTE $10 - !BYTE $4F,$6E,$6C,$69,$6E,$65,$20,$76 - !BYTE $6F,$6C,$75,$6D,$65,$73,$3A,$0D - !BYTE $54 ; CALL _X004 -_F184 !WORD 0 -; utilsrc/tftpd.pla: 0378: portTFTP = iNet:openUDP(TFTP_PORT, @servUDP, 0) -; utilsrc/tftpd.pla: 0379: // -; utilsrc/tftpd.pla: 0380: // Alloc aligned file/io buffers -; utilsrc/tftpd.pla: 0381: // -; utilsrc/tftpd.pla: 0382: buff = heapalloc(t_datPkt + 512) -; utilsrc/tftpd.pla: 0383: buff=>datOp = $0300 // Data op -; utilsrc/tftpd.pla: 0384: // -; utilsrc/tftpd.pla: 0385: // Service IP -; utilsrc/tftpd.pla: 0386: // -; utilsrc/tftpd.pla: 0387: repeat - !BYTE $54 ; CALL _C008 -_F185 !WORD _C008 - !BYTE $2A,$45 ; CB 69 - !BYTE $26 ; LA _C007+0 -_F186 !WORD _C007+0 - !BYTE $00 ; CN 0 - !BYTE $6A ; LAW _X028+4 -_F187 !WORD 0+4 - !BYTE $56 ; ICAL - !BYTE $7A ; SAW _D042+0 -_F188 !WORD _D042+0 - !BYTE $2C,$04,$02 ; CW 516 - !BYTE $54 ; CALL _X014 -_F189 !WORD 0 - !BYTE $7A ; SAW _D040+0 -_F190 !WORD _D040+0 - !BYTE $2C,$00,$03 ; CW 768 - !BYTE $6A ; LAW _D040+0 -_F191 !WORD _D040+0 - !BYTE $72 ; SW -_B082 -; utilsrc/tftpd.pla: 0388: iNet:serviceIP() -; utilsrc/tftpd.pla: 0389: until conio:keypressed() - !BYTE $6A ; LAW _X028+2 -_F192 !WORD 0+2 - !BYTE $56 ; ICAL - !BYTE $30 ; DROP -_B083 - !BYTE $6A ; LAW _X031+0 -_F193 !WORD 0+0 - !BYTE $56 ; ICAL - !BYTE $4C ; BRFLS _B082 - !WORD _B082-* -_B081 -; utilsrc/tftpd.pla: 0390: getc // eat keypress -; utilsrc/tftpd.pla: 0391: done - !BYTE $54 ; CALL _X006 -_F194 !WORD 0 - !BYTE $30 ; DROP - !BYTE $00 ; CN 0 - !BYTE $5C ; RET -_DEFCNT = 10 -_SEGEND -; -; RE-LOCATEABLE DICTIONARY -; - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C000 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C001 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C002 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C003 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C004 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C005 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C006 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C007 - !BYTE $00 - !BYTE $02 ; CODE TABLE FIXUP - !WORD _C008 - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F000-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F001-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F002-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F003-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F004-_SEGBEGIN - !BYTE 21 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F005-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F006-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F007-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F008-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F009-_SEGBEGIN - !BYTE 18 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F010-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F011-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F012-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F013-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F014-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F015-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F016-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F017-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F018-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F019-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F020-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F021-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F022-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F023-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F024-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F025-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F026-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F027-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F028-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F029-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F030-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F031-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F032-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F033-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F034-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F035-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F036-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F037-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F038-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F039-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F040-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F041-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F042-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F043-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F044-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F045-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F046-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F047-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F048-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F049-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F050-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F051-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F052-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F053-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F054-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F055-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F056-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F057-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F058-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F059-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F060-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F061-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F062-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F063-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F064-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F065-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F066-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F067-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F068-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F069-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F070-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F071-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F072-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F073-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F074-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F075-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F076-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F077-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F078-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F079-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F080-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F081-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F082-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F083-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F084-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F085-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F086-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F087-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F088-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F089-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F090-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F091-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F092-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F093-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F094-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F095-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F096-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F097-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F098-_SEGBEGIN - !BYTE 11 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F099-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F100-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F101-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F102-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F103-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F104-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F105-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F106-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F107-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F108-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F109-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F110-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F111-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F112-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F113-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F114-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F115-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F116-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F117-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F118-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F119-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F120-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F121-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F122-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F123-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F124-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F125-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F126-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F127-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F128-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F129-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F130-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F131-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F132-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F133-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F134-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F135-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F136-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F137-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F138-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F139-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F140-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F141-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F142-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F143-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F144-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F145-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F146-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F147-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F148-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F149-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F150-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F151-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F152-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F153-_SEGBEGIN - !BYTE 30 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F154-_SEGBEGIN - !BYTE 8 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F155-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F156-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F157-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F158-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F159-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F160-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F161-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F162-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F163-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F164-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F165-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F166-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F167-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F168-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F169-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F170-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F171-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F172-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F173-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F174-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F175-_SEGBEGIN - !BYTE 9 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F176-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F177-_SEGBEGIN - !BYTE 12 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F178-_SEGBEGIN - !BYTE 29 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F179-_SEGBEGIN - !BYTE 2 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F180-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F181-_SEGBEGIN - !BYTE 3 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F182-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F183-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F184-_SEGBEGIN - !BYTE 4 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F185-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F186-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F187-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F188-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F189-_SEGBEGIN - !BYTE 14 ; ESD INDEX - !BYTE $81 ; INTERNAL FIXUP - !WORD _F190-_SEGBEGIN - !BYTE $00 - !BYTE $81 ; INTERNAL FIXUP - !WORD _F191-_SEGBEGIN - !BYTE $00 - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F192-_SEGBEGIN - !BYTE 28 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F193-_SEGBEGIN - !BYTE 31 ; ESD INDEX - !BYTE $91 ; EXTERNAL FIXUP - !WORD _F194-_SEGBEGIN - !BYTE 6 ; ESD INDEX - !BYTE $00 ; END OF RLD -; -; EXTERNAL/ENTRY SYMBOL DICTIONARY -; - ; DCI STRING: PUTC - !BYTE $D0,$D5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 2 ; ESD INDEX - ; DCI STRING: PUTLN - !BYTE $D0,$D5,$D4,$CC,$4E - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 3 ; ESD INDEX - ; DCI STRING: PUTS - !BYTE $D0,$D5,$D4,$53 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 4 ; ESD INDEX - ; DCI STRING: GETC - !BYTE $C7,$C5,$D4,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 6 ; ESD INDEX - ; DCI STRING: PUTB - !BYTE $D0,$D5,$D4,$42 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 8 ; ESD INDEX - ; DCI STRING: PUTH - !BYTE $D0,$D5,$D4,$48 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 9 ; ESD INDEX - ; DCI STRING: SYSCALL - !BYTE $D3,$D9,$D3,$C3,$C1,$CC,$4C - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 11 ; ESD INDEX - ; DCI STRING: HEAPMARK - !BYTE $C8,$C5,$C1,$D0,$CD,$C1,$D2,$4B - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 12 ; ESD INDEX - ; DCI STRING: HEAPALLOC - !BYTE $C8,$C5,$C1,$D0,$C1,$CC,$CC,$CF,$43 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 14 ; ESD INDEX - ; DCI STRING: MEMCPY - !BYTE $CD,$C5,$CD,$C3,$D0,$59 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 18 ; ESD INDEX - ; DCI STRING: TOUPPER - !BYTE $D4,$CF,$D5,$D0,$D0,$C5,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 21 ; ESD INDEX - ; DCI STRING: INET - !BYTE $C9,$CE,$C5,$54 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 28 ; ESD INDEX - ; DCI STRING: FILEIO - !BYTE $C6,$C9,$CC,$C5,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 29 ; ESD INDEX - ; DCI STRING: PERR - !BYTE $D0,$C5,$D2,$52 - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 30 ; ESD INDEX - ; DCI STRING: CONIO - !BYTE $C3,$CF,$CE,$C9,$4F - !BYTE $10 ; EXTERNAL SYMBOL FLAG - !WORD 31 ; ESD INDEX - !BYTE $00 ; END OF ESD