_NST_STDLIB38ISLEAPYEAR: FPADJ -12 LOADREG BP STORE 4 DUP STOREREG BP STORE 0 LOAD.B 40 ; NEWYEAR LOADC 4 LOADCP _MOD CALL LOADC 0 CMP EQ LOAD.B 40 ; NEWYEAR LOADC 100 LOADCP _MOD CALL LOADC 0 CMP NE AND LOAD.B 40 ; NEWYEAR LOADC 400 LOADCP _MOD CALL LOADC 0 CMP EQ OR STORE 8 ; ISLEAPYEAR LOAD 8 ; ISLEAPYEAR LOAD 4 STOREREG BP FPADJ 12 RET ADVANCETIME: FPADJ -64 STORE 4 ; SECONDS STORE 0 ; D LOAD 4 ; SECONDS LOADC 60 LOADCP _MOD CALL STORE 8 ; SECSREST LOAD 4 ; SECONDS LOADC 60 LOADCP _DIV CALL STORE 44 ; MINUTESDELTA LOAD 44 ; MINUTESDELTA LOADC 60 LOADCP _MOD CALL STORE 12 ; MINUTESREST LOAD 0 ; D LOADC 20 ADD LOADI LOAD 8 ; SECSREST ADD STORE 20 ; NEWSECS LOAD 20 ; NEWSECS LOADC 60 CMP GE .LCBRANCHZ _IF_ELSE0_STDLIB LOAD 20 ; NEWSECS LOADC 60 SUB STORE 20 ; NEWSECS LOAD 44 ; MINUTESDELTA LOADC 1 ADD STORE 44 ; MINUTESDELTA LOAD 12 ; MINUTESREST LOADC 1 ADD STORE 12 ; MINUTESREST _IF_ELSE0_STDLIB: _IF_END0_STDLIB: LOAD 0 ; D LOADC 20 ADD LOAD 20 ; NEWSECS DUP LOADC 0 LOADC 59 LOADCP _RANGECHECK CALL STOREI DROP LOAD 44 ; MINUTESDELTA LOADC 60 LOADCP _DIV CALL STORE 48 ; HOURSDELTA LOAD 48 ; HOURSDELTA LOADC 24 LOADCP _MOD CALL STORE 16 ; HOURSREST LOAD 0 ; D LOADC 16 ADD LOADI LOAD 12 ; MINUTESREST ADD STORE 24 ; NEWMINUTES LOAD 24 ; NEWMINUTES LOADC 60 CMP GE .LCBRANCHZ _IF_ELSE1_STDLIB LOAD 24 ; NEWMINUTES LOADC 60 SUB STORE 24 ; NEWMINUTES LOAD 48 ; HOURSDELTA LOADC 1 ADD STORE 48 ; HOURSDELTA LOAD 16 ; HOURSREST LOADC 1 ADD STORE 16 ; HOURSREST _IF_ELSE1_STDLIB: _IF_END1_STDLIB: LOAD 0 ; D LOADC 16 ADD LOAD 24 ; NEWMINUTES DUP LOADC 0 LOADC 59 LOADCP _RANGECHECK CALL STOREI DROP LOAD 48 ; HOURSDELTA LOADC 24 LOADCP _DIV CALL STORE 52 ; DAYSDELTA LOAD 0 ; D INC 12 LOADI LOAD 16 ; HOURSREST ADD STORE 28 ; NEWHOURS LOAD 28 ; NEWHOURS LOADC 24 CMP GE .LCBRANCHZ _IF_ELSE2_STDLIB LOAD 28 ; NEWHOURS LOADC 24 SUB STORE 28 ; NEWHOURS LOAD 52 ; DAYSDELTA LOADC 1 ADD STORE 52 ; DAYSDELTA _IF_ELSE2_STDLIB: _IF_END2_STDLIB: LOAD 0 ; D INC 12 LOAD 28 ; NEWHOURS DUP LOADC 0 LOADC 23 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; D INC 8 LOADI LOAD 52 ; DAYSDELTA ADD STORE 32 ; NEWDAYS LOAD 0 ; D INC 4 LOADI STORE 36 ; NEWMONTH LOAD 0 ; D LOADI STORE 40 ; NEWYEAR LOADREG FP LOADCP _NST_STDLIB38ISLEAPYEAR CALL .LCBRANCHZ _IF_ELSE3_STDLIB LOADC 1 STORE 56 ; MPDINDEX .LBRANCH _IF_END3_STDLIB _IF_ELSE3_STDLIB: LOADC 0 STORE 56 ; MPDINDEX _IF_END3_STDLIB: LOADCP DATETIMEMTAB ; DATETIMEMTAB LOAD 56 ; MPDINDEX DUP LOADC 2 LOADCP _BOUNDSCHECK CALL LOADC 48 LOADCP _MULU CALL ADD LOAD 36 ; NEWMONTH DEC 1 DUP LOADC 12 LOADCP _BOUNDSCHECK CALL SHL 2 ADD LOADI STORE 60 ; DAYSPERMONTH _WHILE_START0_STDLIB: LOAD 32 ; NEWDAYS LOAD 60 ; DAYSPERMONTH CMP GT .LCBRANCHZ _WHILE_END0_STDLIB LOAD 36 ; NEWMONTH LOADC 1 ADD STORE 36 ; NEWMONTH LOAD 32 ; NEWDAYS LOAD 60 ; DAYSPERMONTH SUB STORE 32 ; NEWDAYS LOAD 36 ; NEWMONTH LOADC 12 CMP GT .LCBRANCHZ _IF_ELSE4_STDLIB LOAD 40 ; NEWYEAR LOADC 1 ADD STORE 40 ; NEWYEAR LOADC 1 STORE 36 ; NEWMONTH LOADREG FP LOADCP _NST_STDLIB38ISLEAPYEAR CALL .LCBRANCHZ _IF_ELSE5_STDLIB LOADC 1 STORE 56 ; MPDINDEX .LBRANCH _IF_END5_STDLIB .CPOOL _IF_ELSE5_STDLIB: LOADC 0 STORE 56 ; MPDINDEX _IF_END5_STDLIB: _IF_ELSE4_STDLIB: _IF_END4_STDLIB: LOADCP DATETIMEMTAB ; DATETIMEMTAB LOAD 56 ; MPDINDEX DUP LOADC 2 LOADCP _BOUNDSCHECK CALL LOADC 48 LOADCP _MULU CALL ADD LOAD 36 ; NEWMONTH DEC 1 DUP LOADC 12 LOADCP _BOUNDSCHECK CALL SHL 2 ADD LOADI STORE 60 ; DAYSPERMONTH .LBRANCH _WHILE_START0_STDLIB _WHILE_END0_STDLIB: LOAD 0 ; D INC 8 LOAD 32 ; NEWDAYS DUP LOADC 1 LOADC 31 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; D INC 4 LOAD 36 ; NEWMONTH DUP LOADC 1 LOADC 12 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; D LOAD 40 ; NEWYEAR STOREI DROP FPADJ 64 RET GETTIME: FPADJ -16 STORE 0 ; GETTIME LOADCP SYSCLOCK ; SYSCLOCK LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE6_STDLIB LOADCP SYSCLOCK ; SYSCLOCK LOADC 2001 STOREI DROP LOADCP SYSCLOCK,4 ; SYSCLOCK LOADC 1 DUP LOADC 1 LOADC 12 LOADCP _RANGECHECK CALL STOREI DROP LOADCP SYSCLOCK,8 ; SYSCLOCK LOADC 1 DUP LOADC 1 LOADC 31 LOADCP _RANGECHECK CALL STOREI DROP _IF_ELSE6_STDLIB: _IF_END6_STDLIB: LOADCP GETTICKS CALL STORE 4 ; NOW LOAD 4 ; NOW LOADCP SYSLASTTICKS ; SYSLASTTICKS LOADI SUB STORE 8 ; DELTA LOADCP SYSLASTTICKS ; SYSLASTTICKS LOAD 4 ; NOW STOREI DROP LOAD 8 ; DELTA LOADC 20 LOADCP _DIV CALL STORE 12 ; SECS LOADCP SYSCLOCK ; SYSCLOCK LOAD 12 ; SECS LOADCP ADVANCETIME CALL LOAD 0 ; GETTIME LOADCP SYSCLOCK ; SYSCLOCK LOADC 6 LOADCP _COPYWORDS CALL LOAD 0 ; GETTIME FPADJ 16 RET TIMESTR: FPADJ -44 STORE 28 ; TIMESTR STORE 24 ; SHOWSECONDS ; D LOADREG FP SWAP LOADC 6 LOADCP _COPYWORDS CALL LOADC 4 ; DIGITS LOADREG FP LOADC 32 ADD LOADCP _INITSTRINGF CALL LOAD 12 ; D LOADC 0 ; DIGITS LOADREG FP LOADC 32 ADD LOADCP INTSTR CALL LOAD 12 ; D LOADC 10 CMP LT .LCBRANCHZ _IF_ELSE7_STDLIB LOAD 28 ; TIMESTR LOADCP _C_S_0_STDLIB LOADCP _COPYSTRING CALL _IF_ELSE7_STDLIB: _IF_END7_STDLIB: LOAD 28 ; TIMESTR LOAD 28 ; TIMESTR LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; DIGITS LOADREG FP LOADC 32 ADD FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB LOADCP _C_S_1_STDLIB FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 LOAD 16 ; D LOADC 0 ; DIGITS LOADREG FP LOADC 32 ADD LOADCP INTSTR CALL LOAD 16 ; D LOADC 10 CMP LT .LCBRANCHZ _IF_ELSE8_STDLIB LOAD 28 ; TIMESTR LOADC 48 LOADCP APPENDCHAR CALL _IF_ELSE8_STDLIB: _IF_END8_STDLIB: LOAD 28 ; TIMESTR LOAD 28 ; TIMESTR LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; DIGITS LOADREG FP LOADC 32 ADD FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 LOAD 24 ; SHOWSECONDS .LCBRANCHZ _IF_ELSE9_STDLIB LOAD 28 ; TIMESTR LOADC 58 LOADCP APPENDCHAR CALL LOAD 20 ; D LOADC 0 ; DIGITS LOADREG FP LOADC 32 ADD LOADCP INTSTR CALL LOAD 20 ; D LOADC 10 CMP LT .LCBRANCHZ _IF_ELSE10_STDLIB LOAD 28 ; TIMESTR LOADC 48 LOADCP APPENDCHAR CALL _IF_ELSE10_STDLIB: _IF_END10_STDLIB: LOAD 28 ; TIMESTR LOAD 28 ; TIMESTR LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; DIGITS LOADREG FP LOADC 32 ADD FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 _IF_ELSE9_STDLIB: _IF_END9_STDLIB: LOAD 28 ; TIMESTR FPADJ 44 RET .CPOOL DATESTR: FPADJ -40 STORE 24 ; DATESTR ; D LOADREG FP SWAP LOADC 6 LOADCP _COPYWORDS CALL LOADC 4 ; DIGITS LOADREG FP LOADC 28 ADD LOADCP _INITSTRINGF CALL LOAD 0 ; D LOADC 0 ; DIGITS LOADREG FP LOADC 28 ADD LOADCP INTSTR CALL LOAD 24 ; DATESTR LOAD 24 ; DATESTR LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; DIGITS LOADREG FP LOADC 28 ADD FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB LOADCP _C_S_2_STDLIB FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 LOAD 4 ; D LOADC 0 ; DIGITS LOADREG FP LOADC 28 ADD LOADCP INTSTR CALL LOAD 4 ; D LOADC 10 CMP LT .LCBRANCHZ _IF_ELSE11_STDLIB LOAD 24 ; DATESTR LOADC 48 LOADCP APPENDCHAR CALL _IF_ELSE11_STDLIB: _IF_END11_STDLIB: LOAD 24 ; DATESTR LOAD 24 ; DATESTR LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; DIGITS LOADREG FP LOADC 28 ADD FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 LOAD 24 ; DATESTR LOADC 45 LOADCP APPENDCHAR CALL LOAD 8 ; D LOADC 0 ; DIGITS LOADREG FP LOADC 28 ADD LOADCP INTSTR CALL LOAD 8 ; D LOADC 10 CMP LT .LCBRANCHZ _IF_ELSE12_STDLIB LOAD 24 ; DATESTR LOADC 48 LOADCP APPENDCHAR CALL _IF_ELSE12_STDLIB: _IF_END12_STDLIB: LOAD 24 ; DATESTR LOAD 24 ; DATESTR LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; DIGITS LOADREG FP LOADC 28 ADD FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 LOAD 24 ; DATESTR FPADJ 40 RET GETTIMESTAMP: FPADJ -12 STORE 0 ; D LOAD 0 ; D LOADI LOADC 1970 SUB LOADC 24 LOADCP _SHLM CALL STORE 8 ; I LOAD 8 ; I LOAD 0 ; D INC 4 LOADI LOADC 20 LOADCP _SHLM CALL OR STORE 8 ; I LOAD 8 ; I LOAD 0 ; D INC 8 LOADI LOADC 15 LOADCP _SHLM CALL OR STORE 8 ; I LOAD 8 ; I LOAD 0 ; D INC 12 LOADI LOADC 10 LOADCP _SHLM CALL OR STORE 8 ; I LOAD 8 ; I LOAD 0 ; D LOADC 16 ADD LOADI LOADC 4 LOADCP _SHLM CALL OR STORE 8 ; I LOAD 8 ; I LOAD 0 ; D LOADC 20 ADD LOADI LOADC 2 LOADCP _SHRM CALL OR STORE 8 ; I LOAD 8 ; I STORE 4 ; GETTIMESTAMP LOAD 4 ; GETTIMESTAMP FPADJ 12 RET GETDATETIME: FPADJ -8 STORE 4 ; GETDATETIME STORE 0 ; TS LOAD 4 ; GETDATETIME LOADC 20 ADD LOAD 0 ; TS LOADC 15 AND LOADC 2 LOADCP _SHLM CALL DUP LOADC 0 LOADC 59 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; TS LOADC 4 LOADCP _SHRM CALL STORE 0 ; TS LOAD 4 ; GETDATETIME LOADC 16 ADD LOAD 0 ; TS LOADC 63 AND DUP LOADC 0 LOADC 59 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; TS LOADC 6 LOADCP _SHRM CALL STORE 0 ; TS LOAD 4 ; GETDATETIME INC 12 LOAD 0 ; TS LOADC 31 AND DUP LOADC 0 LOADC 23 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; TS LOADC 5 LOADCP _SHRM CALL STORE 0 ; TS LOAD 4 ; GETDATETIME INC 8 LOAD 0 ; TS LOADC 31 AND DUP LOADC 1 LOADC 31 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; TS LOADC 5 LOADCP _SHRM CALL STORE 0 ; TS LOAD 4 ; GETDATETIME INC 4 LOAD 0 ; TS LOADC 15 AND DUP LOADC 1 LOADC 12 LOADCP _RANGECHECK CALL STOREI DROP LOAD 0 ; TS LOADC 4 LOADCP _SHRM CALL STORE 0 ; TS LOAD 4 ; GETDATETIME LOADC 1970 LOAD 0 ; TS LOADC 255 AND ADD STOREI DROP LOAD 4 ; GETDATETIME FPADJ 8 RET .CPOOL GETCURTIMESTAMP: FPADJ -28 ; NOW LOADREG FP INC 4 LOADREG FP LOADC 24 SUB FPADJ -24 LOADCP GETTIME CALL FPADJ 24 LOADC 6 FPADJ -24 LOADCP _COPYWORDS CALL FPADJ 24 ; NOW LOADREG FP INC 4 LOADCP GETTIMESTAMP CALL STORE 0 ; GETCURTIMESTAMP LOAD 0 ; GETCURTIMESTAMP FPADJ 28 RET COPY: FPADJ -104 STORE 96 ; COPY STORE 92 ; COUNT STORE 88 ; INDEX ; S LOADREG FP SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL LOAD 96 ; COPY LOADCP _C_S_3_STDLIB LOADCP _COPYSTRING CALL ; S LOADREG FP LOADCP LENGTH CALL STORE 100 ; LEN LOAD 88 ; INDEX LOADC 1 CMP LT .LCBRANCHZ _IF_ELSE13_STDLIB LOADC 1 STORE 88 ; INDEX _IF_ELSE13_STDLIB: _IF_END13_STDLIB: _WHILE_START1_STDLIB: LOAD 92 ; COUNT LOADC 0 CMP GT LOAD 88 ; INDEX LOAD 100 ; LEN CMP LE AND .LCBRANCHZ _WHILE_END1_STDLIB LOAD 96 ; COPY LOAD 96 ; COPY LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; S LOADREG FP LOAD 88 ; INDEX LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADREG FP LOADC 100 SUB SWAP OVER LOADCP _CHARTOSTRING CALL FPADJ -100 LOADCP _APPENDSTRING CALL FPADJ 100 LOADREG FP LOADC 88 SUB FPADJ -100 LOADCP _COPYSTRING CALL FPADJ 100 LOAD 88 ; INDEX LOADC 1 ADD STORE 88 ; INDEX LOAD 92 ; COUNT LOADC 1 SUB STORE 92 ; COUNT .LBRANCH _WHILE_START1_STDLIB _WHILE_END1_STDLIB: LOAD 96 ; COPY FPADJ 104 RET INSERT: FPADJ -112 STORE 92 ; POSITION STORE 88 ; DEST ; INS LOADREG FP SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL LOAD 92 ; POSITION LOADC 1 CMP LT .LCBRANCHZ _IF_ELSE14_STDLIB LOADC 1 STORE 92 ; POSITION _IF_ELSE14_STDLIB: _IF_END14_STDLIB: LOAD 92 ; POSITION LOAD 88 ; DEST LOADCP LENGTH CALL LOADC 1 ADD CMP GT .LCBRANCHZ _IF_ELSE15_STDLIB LOAD 88 ; DEST LOADCP LENGTH CALL LOADC 1 ADD STORE 92 ; POSITION _IF_ELSE15_STDLIB: _IF_END15_STDLIB: LOAD 88 ; DEST LOADCP LENGTH CALL STORE 104 ; FROM LOAD 88 ; DEST LOADCP LENGTH CALL LOAD 92 ; POSITION SUB LOADC 1 ADD STORE 100 ; COUNT LOAD 104 ; FROM ; INS LOADREG FP LOADCP LENGTH CALL ADD STORE 108 ; TO_ LOAD 88 ; DEST LOAD 88 ; DEST LOADCP LENGTH CALL ; INS LOADREG FP LOADCP LENGTH CALL ADD LOADCP _SETSTRINGLENGTH CALL LOADC 1 STORE 96 ; I LOAD 100 ; COUNT _FOR_START0_STDLIB: LOAD 96 ; I OVER CMP GT .LCBRANCH _FOR_END0_STDLIB LOAD 108 ; TO_ LOAD 88 ; DEST LOADCP MAXLENGTH CALL CMP LE .LCBRANCHZ _IF_ELSE16_STDLIB LOAD 88 ; DEST LOAD 108 ; TO_ LOADCP _INDEXSTRING CALL LOAD 88 ; DEST LOAD 104 ; FROM LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADCP _SETSTRINGCHAR CALL LOAD 108 ; TO_ LOADC 1 SUB STORE 108 ; TO_ LOAD 104 ; FROM LOADC 1 SUB STORE 104 ; FROM _IF_ELSE16_STDLIB: _IF_END16_STDLIB: LOAD 96 ; I INC 1 STORE 96 ; I .LBRANCH _FOR_START0_STDLIB _FOR_END0_STDLIB: DROP LOAD 92 ; POSITION STORE 108 ; TO_ ; INS LOADREG FP LOADCP LENGTH CALL STORE 100 ; COUNT LOADC 1 STORE 96 ; I LOAD 100 ; COUNT _FOR_START1_STDLIB: LOAD 96 ; I OVER CMP GT .LCBRANCH _FOR_END1_STDLIB LOAD 108 ; TO_ LOAD 88 ; DEST LOADCP MAXLENGTH CALL CMP LE .LCBRANCHZ _IF_ELSE17_STDLIB LOAD 88 ; DEST LOAD 108 ; TO_ LOADCP _INDEXSTRING CALL ; INS LOADREG FP LOAD 96 ; I LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADCP _SETSTRINGCHAR CALL LOAD 108 ; TO_ LOADC 1 ADD STORE 108 ; TO_ _IF_ELSE17_STDLIB: _IF_END17_STDLIB: LOAD 96 ; I INC 1 STORE 96 ; I .LBRANCH _FOR_START1_STDLIB .CPOOL _FOR_END1_STDLIB: DROP FPADJ 112 RET DELETE: FPADJ -24 STORE 8 ; COUNT STORE 4 ; FROM STORE 0 ; S LOAD 0 ; S LOADCP LENGTH CALL STORE 16 ; LEN LOAD 4 ; FROM LOADC 0 CMP GT LOAD 4 ; FROM LOAD 16 ; LEN CMP LE AND LOAD 8 ; COUNT LOADC 0 CMP GT AND .LCBRANCHZ _IF_ELSE18_STDLIB LOAD 4 ; FROM LOAD 8 ; COUNT ADD LOAD 16 ; LEN CMP LE .LCBRANCHZ _IF_ELSE19_STDLIB LOAD 16 ; LEN LOAD 8 ; COUNT SUB STORE 20 ; LAST LOAD 4 ; FROM STORE 12 ; I LOAD 20 ; LAST _FOR_START2_STDLIB: LOAD 12 ; I OVER CMP GT .LCBRANCH _FOR_END2_STDLIB LOAD 0 ; S LOAD 12 ; I LOADCP _INDEXSTRING CALL LOAD 0 ; S LOAD 12 ; I LOAD 8 ; COUNT ADD LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADCP _SETSTRINGCHAR CALL LOAD 12 ; I INC 1 STORE 12 ; I .LBRANCH _FOR_START2_STDLIB _FOR_END2_STDLIB: DROP .LBRANCH _IF_END19_STDLIB _IF_ELSE19_STDLIB: LOAD 4 ; FROM LOADC 1 SUB STORE 20 ; LAST _IF_END19_STDLIB: LOAD 0 ; S LOAD 20 ; LAST LOADCP _SETSTRINGLENGTH CALL _IF_ELSE18_STDLIB: _IF_END18_STDLIB: FPADJ 24 RET POS: FPADJ -124 STORE 88 ; S ; SUBSTR LOADREG FP SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL LOADC 0 STORE 116 ; FOUND ; SUBSTR LOADREG FP LOADCP LENGTH CALL STORE 96 ; SUBSTRLEN LOAD 88 ; S LOADCP LENGTH CALL STORE 100 ; SLEN LOADC 1 STORE 104 ; SEARCHPOS LOADC 1 STORE 112 ; SUBPOS LOAD 96 ; SUBSTRLEN LOADC 0 CMP GT LOAD 100 ; SLEN LOADC 0 CMP GT AND .LCBRANCHZ _IF_ELSE20_STDLIB _WHILE_START2_STDLIB: LOAD 116 ; FOUND LOADC 0 CMP EQ LOAD 104 ; SEARCHPOS LOAD 100 ; SLEN CMP LE AND .LCBRANCHZ _WHILE_END2_STDLIB ; SUBSTR LOADREG FP LOAD 112 ; SUBPOS LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOAD 88 ; S LOAD 104 ; SEARCHPOS LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL CMP NE .LCBRANCHZ _IF_ELSE21_STDLIB LOAD 112 ; SUBPOS LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE22_STDLIB LOAD 104 ; SEARCHPOS LOADC 1 ADD STORE 104 ; SEARCHPOS _IF_ELSE22_STDLIB: _IF_END22_STDLIB: LOADC 1 STORE 112 ; SUBPOS .LBRANCH _IF_END21_STDLIB _IF_ELSE21_STDLIB: LOAD 112 ; SUBPOS LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE23_STDLIB LOAD 104 ; SEARCHPOS STORE 92 ; POS _IF_ELSE23_STDLIB: _IF_END23_STDLIB: LOAD 112 ; SUBPOS LOAD 96 ; SUBSTRLEN CMP EQ .LCBRANCHZ _IF_ELSE24_STDLIB LOADC 1 STORE 116 ; FOUND .LBRANCH _IF_END24_STDLIB _IF_ELSE24_STDLIB: LOAD 112 ; SUBPOS LOADC 1 ADD STORE 112 ; SUBPOS LOAD 104 ; SEARCHPOS LOADC 1 ADD STORE 104 ; SEARCHPOS _IF_END24_STDLIB: _IF_END21_STDLIB: .LBRANCH _WHILE_START2_STDLIB _WHILE_END2_STDLIB: _IF_ELSE20_STDLIB: _IF_END20_STDLIB: LOAD 116 ; FOUND LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE25_STDLIB LOADC 0 STORE 92 ; POS _IF_ELSE25_STDLIB: _IF_END25_STDLIB: LOAD 92 ; POS FPADJ 124 RET PWROFTEN: FPADJ -20 STORE 0 ; EXP LOAD 0 ; EXP LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE26_STDLIB LOADC 1 LOADCP _INTTOFLOAT32 CALL STORE 12 ; RES .LBRANCH _IF_END26_STDLIB .CPOOL _IF_ELSE26_STDLIB: LOAD 0 ; EXP LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE27_STDLIB LOADC 10 LOADCP _INTTOFLOAT32 CALL STORE 12 ; RES .LBRANCH _IF_END27_STDLIB _IF_ELSE27_STDLIB: LOADC 1 STORE 16 ; SOFAR LOADC 10 LOADCP _INTTOFLOAT32 CALL STORE 12 ; RES _WHILE_START3_STDLIB: LOAD 16 ; SOFAR LOADC 1 LOADCP _SHLM CALL LOAD 0 ; EXP CMP LE .LCBRANCHZ _WHILE_END3_STDLIB LOAD 12 ; RES LOAD 12 ; RES LOADCP _MULFLOAT32 CALL STORE 12 ; RES LOAD 16 ; SOFAR LOADC 1 LOADCP _SHLM CALL STORE 16 ; SOFAR .LBRANCH _WHILE_START3_STDLIB _WHILE_END3_STDLIB: LOAD 16 ; SOFAR LOADC 1 ADD STORE 8 ; I LOAD 0 ; EXP _FOR_START3_STDLIB: LOAD 8 ; I OVER CMP GT .LCBRANCH _FOR_END3_STDLIB LOAD 12 ; RES LOADC 10 LOADCP _INTTOFLOAT32 CALL LOADCP _MULFLOAT32 CALL STORE 12 ; RES LOAD 8 ; I INC 1 STORE 8 ; I .LBRANCH _FOR_START3_STDLIB _FOR_END3_STDLIB: DROP _IF_END27_STDLIB: _IF_END26_STDLIB: LOAD 12 ; RES STORE 4 ; PWROFTEN LOAD 4 ; PWROFTEN FPADJ 20 RET EXP: FPADJ -28 STORE 0 ; EXPONENT LOAD 0 ; EXPONENT STORE 8 ; X LOAD 8 ; X STORE 16 ; FRC LOADCP 1073741951 LOAD 8 ; X LOADCP _ADDFLOAT32 CALL STORE 12 ; P LOADCP 1073741951 STORE 20 ; I _REPEAT_START0_STDLIB: LOAD 20 ; I LOADCP 1073741951 LOADCP _ADDFLOAT32 CALL STORE 20 ; I LOAD 16 ; FRC LOAD 8 ; X LOAD 20 ; I LOADCP _DIVFLOAT32 CALL LOADCP _MULFLOAT32 CALL STORE 16 ; FRC LOAD 12 ; P STORE 24 ; L LOAD 12 ; P LOAD 16 ; FRC LOADCP _ADDFLOAT32 CALL STORE 12 ; P LOAD 24 ; L LOAD 12 ; P LOADCP _CMPFLOAT32 CALL LOADC 0 CMP EQ .LCBRANCHZ _REPEAT_START0_STDLIB _REPEAT_END0_STDLIB: LOAD 12 ; P STORE 4 ; EXP LOAD 4 ; EXP FPADJ 28 RET LN: FPADJ -36 STORE 0 ; N LOADC 0 STORE 8 ; A LOAD 0 ; N LOADC 0 LOADCP _INTTOFLOAT32 CALL LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE28_STDLIB LOAD 0 ; N LOADCP 1459366528 LOADCP _DIVFLOAT32 CALL STORE 20 ; D _WHILE_START4_STDLIB: LOAD 20 ; D LOADCP 1073741951 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GT .LCBRANCHZ _WHILE_END4_STDLIB LOAD 8 ; A LOADC 1 ADD STORE 8 ; A LOAD 20 ; D STORE 0 ; N LOAD 0 ; N LOADCP 1459366528 LOADCP _DIVFLOAT32 CALL STORE 20 ; D .LBRANCH _WHILE_START4_STDLIB _WHILE_END4_STDLIB: LOAD 0 ; N LOADCP 1459366528 LOADCP _MULFLOAT32 CALL STORE 20 ; D _WHILE_START5_STDLIB: LOAD 20 ; D LOADCP 1073741951 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _WHILE_END5_STDLIB LOAD 8 ; A LOADC 1 SUB STORE 8 ; A LOAD 20 ; D STORE 0 ; N LOAD 0 ; N LOADCP 1459366528 LOADCP _MULFLOAT32 CALL STORE 20 ; D .LBRANCH _WHILE_START5_STDLIB _WHILE_END5_STDLIB: LOADCP 1073741951 LOAD 0 ; N LOADC 1 LOADCP _INTTOFLOAT32 CALL LOADCP _SUBFLOAT32 CALL LOADCP _DIVFLOAT32 CALL STORE 20 ; D LOAD 20 ; D LOAD 20 ; D LOADCP _ADDFLOAT32 CALL LOADCP 1073741951 LOADCP _ADDFLOAT32 CALL STORE 20 ; D LOAD 20 ; D LOAD 20 ; D LOADCP _MULFLOAT32 CALL STORE 24 ; E LOADC 0 LOADCP _INTTOFLOAT32 CALL STORE 16 ; C LOADC 1 STORE 12 ; B LOADCP 1073741951 STORE 28 ; F LOAD 16 ; C LOADCP 1073741951 LOAD 12 ; B LOAD 28 ; F SWAP LOADCP _INTTOFLOAT32 CALL SWAP LOADCP _MULFLOAT32 CALL LOADCP _DIVFLOAT32 CALL LOADCP _ADDFLOAT32 CALL STORE 32 ; CN _WHILE_START6_STDLIB: LOAD 16 ; C LOADCP 1407374958 LOADCP _ADDFLOAT32 CALL LOAD 32 ; CN LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _WHILE_END6_STDLIB LOAD 32 ; CN STORE 16 ; C LOAD 12 ; B LOADC 2 ADD STORE 12 ; B LOAD 28 ; F LOAD 24 ; E LOADCP _MULFLOAT32 CALL STORE 28 ; F LOAD 16 ; C LOADCP 1073741951 LOAD 12 ; B LOAD 28 ; F SWAP LOADCP _INTTOFLOAT32 CALL SWAP LOADCP _MULFLOAT32 CALL LOADCP _DIVFLOAT32 CALL LOADCP _ADDFLOAT32 CALL STORE 32 ; CN .LBRANCH _WHILE_START6_STDLIB .CPOOL _WHILE_END6_STDLIB: LOAD 32 ; CN LOADCP 1073741952 LOADCP _MULFLOAT32 CALL LOAD 20 ; D LOADCP _DIVFLOAT32 CALL STORE 16 ; C .LBRANCH _IF_END28_STDLIB _IF_ELSE28_STDLIB: LOADCP MATHERROR ; MATHERROR LOADCP RUNTIMEERROR CALL _IF_END28_STDLIB: LOAD 8 ; A LOAD 16 ; C SWAP LOADCP _INTTOFLOAT32 CALL SWAP LOADCP _ADDFLOAT32 CALL STORE 4 ; LN LOAD 4 ; LN FPADJ 36 RET SQRT: FPADJ -28 STORE 0 ; N LOAD 0 ; N LOADC 0 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE29_STDLIB LOADCP MATHERROR ; MATHERROR LOADCP RUNTIMEERROR CALL .LBRANCH _IF_END29_STDLIB _IF_ELSE29_STDLIB: LOAD 0 ; N LOADC 0 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE30_STDLIB LOADC 0 STORE 4 ; SQRT .LBRANCH _IF_END30_STDLIB _IF_ELSE30_STDLIB: LOAD 0 ; N LOADCP 1073741952 LOADCP _DIVFLOAT32 CALL STORE 12 ; GUESS LOAD 0 ; N LOADCP 100000 LOADCP _INTTOFLOAT32 CALL LOADCP _DIVFLOAT32 CALL STORE 8 ; ERROR LOADC 0 STORE 20 ; DIFF _REPEAT_START1_STDLIB: LOAD 20 ; DIFF STORE 24 ; LASTDIFF LOAD 12 ; GUESS LOAD 0 ; N LOAD 12 ; GUESS LOADCP _DIVFLOAT32 CALL LOADCP _ADDFLOAT32 CALL LOADC -1 LOADCP SHIFTFLOAT32 CALL STORE 16 ; NEWGUESS LOAD 16 ; NEWGUESS LOAD 12 ; GUESS LOADCP _SUBFLOAT32 CALL LOADCP $7FFFFFFF AND STORE 20 ; DIFF LOAD 16 ; NEWGUESS STORE 12 ; GUESS LOAD 20 ; DIFF LOAD 8 ; ERROR LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT LOAD 12 ; GUESS LOADC 0 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP EQ OR LOAD 20 ; DIFF LOAD 24 ; LASTDIFF LOADCP _CMPFLOAT32 CALL LOADC 0 CMP EQ OR .LCBRANCHZ _REPEAT_START1_STDLIB _REPEAT_END1_STDLIB: LOAD 12 ; GUESS STORE 4 ; SQRT _IF_END30_STDLIB: _IF_END29_STDLIB: LOAD 4 ; SQRT FPADJ 28 RET FLOOR: FPADJ -8 STORE 0 ; X LOAD 0 ; X LOADC 0 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE31_STDLIB LOAD 0 ; X LOADCP 2147483518 LOADCP _SUBFLOAT32 CALL STORE 0 ; X _IF_ELSE31_STDLIB: _IF_END31_STDLIB: LOAD 0 ; X LOADCP _TRUNCFLOAT32 CALL STORE 4 ; FLOOR LOAD 4 ; FLOOR FPADJ 8 RET ROUND: FPADJ -8 STORE 0 ; X LOAD 0 ; X LOADCP 1073741950 LOADCP _ADDFLOAT32 CALL LOADCP _TRUNCFLOAT32 CALL STORE 4 ; ROUND LOAD 4 ; ROUND FPADJ 8 RET _NST_STDLIB56SIN_TAYLOR: FPADJ -28 LOADREG BP STORE 4 DUP STOREREG BP STORE 0 STORE 8 ; X LOAD 8 ; X LOAD 8 ; X LOADCP _MULFLOAT32 CALL STORE 16 ; X2 LOAD 16 ; X2 LOAD 8 ; X LOADCP _MULFLOAT32 CALL STORE 20 ; X3 LOAD 20 ; X3 LOAD 16 ; X2 LOADCP _MULFLOAT32 CALL STORE 24 ; X5 LOAD 8 ; X LOAD 20 ; X3 LOADCP 1610612865 LOADCP _DIVFLOAT32 CALL LOADCP _SUBFLOAT32 CALL LOAD 24 ; X5 LOADCP 2013266053 LOADCP _DIVFLOAT32 CALL LOADCP _ADDFLOAT32 CALL STORE 12 ; SIN_TAYLOR LOAD 12 ; SIN_TAYLOR LOAD 4 STOREREG BP FPADJ 28 RET SIN: FPADJ -24 STORE 0 ; X LOAD 0 ; X LOADC 0 LOADCP _INTTOFLOAT32 CALL LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE32_STDLIB LOAD 0 ; X LOADCP _NEGFLOAT32 CALL STORE 0 ; X LOADC 1 STORE 20 ; INVERT .LBRANCH _IF_END32_STDLIB .CPOOL _IF_ELSE32_STDLIB: LOADC 0 STORE 20 ; INVERT _IF_END32_STDLIB: LOAD 0 ; X LOADCP 1367130494 LOADCP _MULFLOAT32 CALL LOADCP FLOOR CALL LOADCP _INTTOFLOAT32 CALL STORE 8 ; K LOAD 0 ; X LOAD 8 ; K LOADCP 1686629759 LOADCP _MULFLOAT32 CALL LOADCP _SUBFLOAT32 CALL STORE 12 ; Y LOAD 8 ; K LOADCP _TRUNCFLOAT32 CALL LOADC 4 LOADCP _MOD CALL STORE 16 ; QUADRANT LOAD 16 ; QUADRANT _CASE_0_0_0_STDLIB: DUP LOADC 0 CMP NE .LCBRANCH _CASE_0_0_1_STDLIB _CASE_0_0M_STDLIB: LOAD 12 ; Y LOADREG FP LOADCP _NST_STDLIB56SIN_TAYLOR CALL STORE 4 ; SIN .LBRANCH _CASE_0_STDLIB_END _CASE_0_0_1_STDLIB: _CASE_0_1_0_STDLIB: DUP LOADC 1 CMP NE .LCBRANCH _CASE_0_1_1_STDLIB _CASE_0_1M_STDLIB: LOADCP 1686629759 LOAD 12 ; Y LOADCP _SUBFLOAT32 CALL LOADREG FP LOADCP _NST_STDLIB56SIN_TAYLOR CALL STORE 4 ; SIN .LBRANCH _CASE_0_STDLIB_END _CASE_0_1_1_STDLIB: _CASE_0_2_0_STDLIB: DUP LOADC 2 CMP NE .LCBRANCH _CASE_0_2_1_STDLIB _CASE_0_2M_STDLIB: LOAD 12 ; Y LOADREG FP LOADCP _NST_STDLIB56SIN_TAYLOR CALL LOADCP _NEGFLOAT32 CALL STORE 4 ; SIN .LBRANCH _CASE_0_STDLIB_END _CASE_0_2_1_STDLIB: _CASE_0_3_0_STDLIB: DUP LOADC 3 CMP NE .LCBRANCH _CASE_0_3_1_STDLIB _CASE_0_3M_STDLIB: LOADCP 1686629759 LOAD 12 ; Y LOADCP _SUBFLOAT32 CALL LOADREG FP LOADCP _NST_STDLIB56SIN_TAYLOR CALL LOADCP _NEGFLOAT32 CALL STORE 4 ; SIN .LBRANCH _CASE_0_STDLIB_END _CASE_0_3_1_STDLIB: _CASE_0_4_STDLIB: _CASE_0_STDLIB_END: DROP LOAD 20 ; INVERT .LCBRANCHZ _IF_ELSE33_STDLIB LOAD 4 ; SIN LOADCP _NEGFLOAT32 CALL STORE 4 ; SIN _IF_ELSE33_STDLIB: _IF_END33_STDLIB: LOAD 4 ; SIN FPADJ 24 RET COS: FPADJ -8 STORE 0 ; X LOAD 0 ; X LOADCP 1686629759 LOADCP _ADDFLOAT32 CALL LOADCP SIN CALL STORE 4 ; COS LOAD 4 ; COS FPADJ 8 RET ARCTAN: FPADJ -20 STORE 0 ; X LOAD 0 ; X LOADC 0 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE34_STDLIB LOAD 0 ; X LOADCP _NEGFLOAT32 CALL STORE 0 ; X LOADC 1 STORE 16 ; NEGATE .LBRANCH _IF_END34_STDLIB _IF_ELSE34_STDLIB: LOADC 0 STORE 16 ; NEGATE _IF_END34_STDLIB: LOAD 0 ; X LOADCP 1149555328 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE35_STDLIB LOADCP 1686629759 STORE 8 ; Y LOADCP 1073741951 LOAD 0 ; X LOADCP _DIVFLOAT32 CALL LOADCP _NEGFLOAT32 CALL STORE 0 ; X .LBRANCH _IF_END35_STDLIB _IF_ELSE35_STDLIB: LOAD 0 ; X LOADCP 1779033725 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE36_STDLIB LOADCP 1686629758 STORE 8 ; Y LOAD 0 ; X LOADCP 1073741951 LOADCP _SUBFLOAT32 CALL LOAD 0 ; X LOADCP 1073741951 LOADCP _ADDFLOAT32 CALL LOADCP _DIVFLOAT32 CALL STORE 0 ; X .LBRANCH _IF_END36_STDLIB _IF_ELSE36_STDLIB: LOADC 0 STORE 8 ; Y _IF_END36_STDLIB: _IF_END35_STDLIB: LOAD 0 ; X LOAD 0 ; X LOADCP _MULFLOAT32 CALL STORE 12 ; Z LOAD 8 ; Y LOADCP 1383622779 LOAD 12 ; Z LOADCP _MULFLOAT32 CALL LOADCP 1192084092 LOADCP _SUBFLOAT32 CALL LOAD 12 ; Z LOADCP _MULFLOAT32 CALL LOADCP 1716072316 LOADCP _ADDFLOAT32 CALL LOAD 12 ; Z LOADCP _MULFLOAT32 CALL LOADCP 1431639165 LOADCP _SUBFLOAT32 CALL LOAD 12 ; Z LOADCP _MULFLOAT32 CALL LOAD 0 ; X LOADCP _MULFLOAT32 CALL LOADCP _ADDFLOAT32 CALL LOAD 0 ; X LOADCP _ADDFLOAT32 CALL STORE 8 ; Y LOAD 16 ; NEGATE .LCBRANCHZ _IF_ELSE37_STDLIB LOAD 8 ; Y LOADCP _NEGFLOAT32 CALL STORE 8 ; Y _IF_ELSE37_STDLIB: _IF_END37_STDLIB: LOAD 8 ; Y STORE 4 ; ARCTAN LOAD 4 ; ARCTAN FPADJ 20 RET .CPOOL TANCOT: FPADJ -32 STORE 4 ; DOCOT STORE 0 ; X LOAD 0 ; X LOADC 0 LOADCP _INTTOFLOAT32 CALL LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE38_STDLIB LOAD 0 ; X LOADCP _NEGFLOAT32 CALL STORE 0 ; X LOADC 1 STORE 28 ; NEGATE .LBRANCH _IF_END38_STDLIB _IF_ELSE38_STDLIB: LOADC 0 STORE 28 ; NEGATE _IF_END38_STDLIB: LOAD 0 ; X LOADCP 1073741964 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE39_STDLIB LOADCP MATHERROR ; MATHERROR LOADCP RUNTIMEERROR CALL _IF_ELSE39_STDLIB: _IF_END39_STDLIB: LOADCP 1367130495 LOAD 0 ; X LOADCP _MULFLOAT32 CALL LOADCP _TRUNCFLOAT32 CALL STORE 24 ; J LOAD 24 ; J LOADCP _INTTOFLOAT32 CALL STORE 12 ; Y LOAD 24 ; J LOADC 1 AND LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE40_STDLIB LOAD 24 ; J LOADC 1 ADD STORE 24 ; J LOAD 12 ; Y LOADCP 1073741951 LOADCP _ADDFLOAT32 CALL STORE 12 ; Y _IF_ELSE40_STDLIB: _IF_END40_STDLIB: LOAD 0 ; X LOAD 12 ; Y LOADCP 1686110334 LOADCP _MULFLOAT32 CALL LOADCP _SUBFLOAT32 CALL LOAD 12 ; Y LOADCP 2127560562 LOADCP _MULFLOAT32 CALL LOADCP _SUBFLOAT32 CALL LOAD 12 ; Y LOADCP 1360049254 LOADCP _MULFLOAT32 CALL LOADCP _SUBFLOAT32 CALL STORE 16 ; Z LOAD 16 ; Z LOAD 16 ; Z LOADCP _MULFLOAT32 CALL STORE 20 ; ZZ LOAD 0 ; X LOADCP 1759218545 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE41_STDLIB LOADCP 1289919864 LOAD 20 ; ZZ LOADCP _MULFLOAT32 CALL LOADCP 1715195510 LOADCP _ADDFLOAT32 CALL LOAD 20 ; ZZ LOADCP _MULFLOAT32 CALL LOADCP 1678826105 LOADCP _ADDFLOAT32 CALL LOAD 20 ; ZZ LOADCP _MULFLOAT32 CALL LOADCP 1835197562 LOADCP _ADDFLOAT32 CALL LOAD 20 ; ZZ LOADCP _MULFLOAT32 CALL LOADCP 1145794172 LOADCP _ADDFLOAT32 CALL LOAD 20 ; ZZ LOADCP _MULFLOAT32 CALL LOADCP 1431648125 LOADCP _ADDFLOAT32 CALL LOAD 20 ; ZZ LOADCP _MULFLOAT32 CALL LOAD 16 ; Z LOADCP _MULFLOAT32 CALL LOAD 16 ; Z LOADCP _ADDFLOAT32 CALL STORE 12 ; Y .LBRANCH _IF_END41_STDLIB _IF_ELSE41_STDLIB: LOAD 16 ; Z STORE 12 ; Y _IF_END41_STDLIB: LOAD 24 ; J LOADC 2 AND LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE42_STDLIB LOAD 4 ; DOCOT .LCBRANCHZ _IF_ELSE43_STDLIB LOAD 12 ; Y LOADCP _NEGFLOAT32 CALL STORE 12 ; Y .LBRANCH _IF_END43_STDLIB _IF_ELSE43_STDLIB: LOADCP -1073741697 LOAD 12 ; Y LOADCP _DIVFLOAT32 CALL STORE 12 ; Y _IF_END43_STDLIB: .LBRANCH _IF_END42_STDLIB _IF_ELSE42_STDLIB: LOAD 4 ; DOCOT .LCBRANCHZ _IF_ELSE44_STDLIB LOADCP 1073741951 LOAD 12 ; Y LOADCP _DIVFLOAT32 CALL STORE 12 ; Y _IF_ELSE44_STDLIB: _IF_END44_STDLIB: _IF_END42_STDLIB: LOAD 28 ; NEGATE .LCBRANCHZ _IF_ELSE45_STDLIB LOAD 12 ; Y LOADCP _NEGFLOAT32 CALL STORE 12 ; Y _IF_ELSE45_STDLIB: _IF_END45_STDLIB: LOAD 12 ; Y STORE 8 ; TANCOT LOAD 8 ; TANCOT FPADJ 32 RET TAN: FPADJ -8 STORE 0 ; X LOAD 0 ; X LOADC 0 LOADCP TANCOT CALL STORE 4 ; TAN LOAD 4 ; TAN FPADJ 8 RET COTAN: FPADJ -8 STORE 0 ; X LOAD 0 ; X LOADC 1 LOADCP TANCOT CALL STORE 4 ; COTAN LOAD 4 ; COTAN FPADJ 8 RET .CPOOL FILLCHAR: FPADJ -28 STORE 12 ; THECHAR STORE 8 ; COUNT STORE 4 ; STARTPOS STORE 0 ; S LOAD 0 ; S LOADCP LENGTH CALL STORE 20 ; ENDPOS LOAD 0 ; S LOAD 20 ; ENDPOS LOAD 8 ; COUNT ADD LOADCP _SETSTRINGLENGTH CALL LOAD 4 ; STARTPOS LOAD 8 ; COUNT ADD STORE 24 ; P1 LOAD 20 ; ENDPOS STORE 16 ; I LOAD 4 ; STARTPOS _FOR_START4_STDLIB: LOAD 16 ; I OVER CMP LT .LCBRANCH _FOR_END4_STDLIB LOAD 0 ; S LOAD 16 ; I LOAD 8 ; COUNT ADD LOADCP _INDEXSTRING CALL LOAD 0 ; S LOAD 16 ; I LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADCP _SETSTRINGCHAR CALL LOAD 16 ; I DEC 1 STORE 16 ; I .LBRANCH _FOR_START4_STDLIB _FOR_END4_STDLIB: DROP LOAD 24 ; P1 LOADC 1 SUB STORE 24 ; P1 LOAD 4 ; STARTPOS STORE 16 ; I LOAD 24 ; P1 _FOR_START5_STDLIB: LOAD 16 ; I OVER CMP GT .LCBRANCH _FOR_END5_STDLIB LOAD 0 ; S LOAD 16 ; I LOADCP _INDEXSTRING CALL LOAD 12 ; THECHAR LOADCP _SETSTRINGCHAR CALL LOAD 16 ; I INC 1 STORE 16 ; I .LBRANCH _FOR_START5_STDLIB _FOR_END5_STDLIB: DROP FPADJ 28 RET INTSTR: FPADJ -44 STORE 8 ; RBUF STORE 4 ; FIELDWIDTH STORE 0 ; V LOADC 12 ; BUF LOADREG FP INC 12 LOADCP _INITSTRINGF CALL ; BUF LOADREG FP INC 12 LOADCP _C_S_3_STDLIB LOADCP _COPYSTRING CALL LOADC 0 STORE 40 ; ISNEGATIVE LOAD 0 ; V LOADCP -2147483648 CMP EQ .LCBRANCHZ _IF_ELSE46_STDLIB ; BUF LOADREG FP INC 12 LOADCP _C_S_4_STDLIB LOADCP _COPYSTRING CALL LOADC 1 STORE 40 ; ISNEGATIVE .LBRANCH _IF_END46_STDLIB _IF_ELSE46_STDLIB: LOAD 0 ; V LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE47_STDLIB LOADC 1 STORE 40 ; ISNEGATIVE LOAD 0 ; V NOT INC 1 STORE 0 ; V _IF_ELSE47_STDLIB: _IF_END47_STDLIB: _REPEAT_START2_STDLIB: LOAD 0 ; V LOADC 10 LOADCP _MOD CALL STORE 32 ; DIGIT LOAD 0 ; V LOADC 10 LOADCP _DIV CALL STORE 0 ; V ; BUF LOADREG FP INC 12 ; BUF LOADREG FP INC 12 LOADREG FP LOADC 92 SUB SWAP LOADC 80 FPADJ -92 LOADCP _INITSTRINGFROM CALL FPADJ 92 LOADREG FP LOADC 92 SUB LOAD 32 ; DIGIT LOADC 48 ADD LOADREG FP LOADC 104 SUB SWAP OVER LOADCP _CHARTOSTRING CALL FPADJ -104 LOADCP _APPENDSTRING CALL FPADJ 104 LOADREG FP LOADC 92 SUB FPADJ -104 LOADCP _COPYSTRING CALL FPADJ 104 LOAD 0 ; V LOADC 0 CMP EQ .LCBRANCHZ _REPEAT_START2_STDLIB _REPEAT_END2_STDLIB: _IF_END46_STDLIB: LOAD 8 ; RBUF LOADCP _C_S_3_STDLIB LOADCP _COPYSTRING CALL LOAD 40 ; ISNEGATIVE .LCBRANCHZ _IF_ELSE48_STDLIB LOAD 8 ; RBUF LOAD 8 ; RBUF LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB LOADCP _C_S_2_STDLIB FPADJ -88 LOADCP _APPENDSTRING CALL FPADJ 88 LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 _IF_ELSE48_STDLIB: _IF_END48_STDLIB: LOAD 4 ; FIELDWIDTH LOAD 8 ; RBUF LOADCP LENGTH CALL CMP GT .LCBRANCHZ _IF_ELSE49_STDLIB LOAD 8 ; RBUF LOADC 1 LOAD 4 ; FIELDWIDTH LOAD 8 ; RBUF LOADCP LENGTH CALL SUB LOADC 32 LOADCP FILLCHAR CALL _IF_ELSE49_STDLIB: _IF_END49_STDLIB: ; BUF LOADREG FP INC 12 LOADCP LENGTH CALL STORE 36 ; I LOADC 1 _FOR_START6_STDLIB: LOAD 36 ; I OVER CMP LT .LCBRANCH _FOR_END6_STDLIB LOAD 8 ; RBUF LOAD 8 ; RBUF LOADREG FP LOADC 88 SUB SWAP LOADC 80 FPADJ -88 LOADCP _INITSTRINGFROM CALL FPADJ 88 LOADREG FP LOADC 88 SUB ; BUF LOADREG FP INC 12 LOAD 36 ; I LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADREG FP LOADC 100 SUB SWAP OVER LOADCP _CHARTOSTRING CALL FPADJ -100 LOADCP _APPENDSTRING CALL FPADJ 100 LOADREG FP LOADC 88 SUB FPADJ -100 LOADCP _COPYSTRING CALL FPADJ 100 LOAD 36 ; I DEC 1 STORE 36 ; I .LBRANCH _FOR_START6_STDLIB .CPOOL _FOR_END6_STDLIB: DROP FPADJ 44 RET REALSTR: FPADJ -32 STORE 12 ; S STORE 8 ; D STORE 4 ; W STORE 0 ; X LOAD 4 ; W LOADC 0 CMP LT LOAD 8 ; D LOADC 0 CMP LT OR .LCBRANCHZ _IF_ELSE50_STDLIB LOADC 0 STORE 4 ; W LOADC 0 STORE 8 ; D _IF_ELSE50_STDLIB: _IF_END50_STDLIB: LOAD 0 ; X LOADC 0 LOADCP _INTTOFLOAT32 CALL LOADCP _CMPFLOAT32 CALL LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE51_STDLIB LOAD 0 ; X LOADCP _NEGFLOAT32 CALL STORE 0 ; X LOAD 12 ; S LOADCP _C_S_2_STDLIB LOADCP _COPYSTRING CALL .LBRANCH _IF_END51_STDLIB _IF_ELSE51_STDLIB: LOAD 12 ; S LOADCP _C_S_5_STDLIB LOADCP _COPYSTRING CALL _IF_END51_STDLIB: LOADC 0 STORE 24 ; EXPX LOAD 0 ; X STORE 28 ; NORMX LOAD 0 ; X LOADCP 1073741951 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GE .LCBRANCHZ _IF_ELSE52_STDLIB _WHILE_START7_STDLIB: LOAD 28 ; NORMX LOADCP 1342177410 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GE .LCBRANCHZ _WHILE_END7_STDLIB LOAD 24 ; EXPX LOADC 1 ADD STORE 24 ; EXPX LOAD 0 ; X LOAD 24 ; EXPX LOADCP PWROFTEN CALL LOADCP _DIVFLOAT32 CALL STORE 28 ; NORMX .LBRANCH _WHILE_START7_STDLIB _WHILE_END7_STDLIB: .LBRANCH _IF_END52_STDLIB _IF_ELSE52_STDLIB: LOAD 0 ; X LOADC 0 LOADCP _INTTOFLOAT32 CALL LOADCP _CMPFLOAT32 CALL LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE53_STDLIB _REPEAT_START3_STDLIB: LOAD 24 ; EXPX LOADC 1 SUB STORE 24 ; EXPX LOAD 0 ; X LOAD 24 ; EXPX NOT INC 1 LOADCP PWROFTEN CALL LOADCP _MULFLOAT32 CALL STORE 28 ; NORMX LOAD 28 ; NORMX LOADC 1 LOADCP _INTTOFLOAT32 CALL LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GE .LCBRANCHZ _REPEAT_START3_STDLIB _REPEAT_END3_STDLIB: _IF_ELSE53_STDLIB: _IF_END53_STDLIB: _IF_END52_STDLIB: LOAD 8 ; D LOADC 0 CMP EQ LOAD 8 ; D LOAD 24 ; EXPX ADD LOADC 1 ADD LOADC 7 CMP GT OR .LCBRANCHZ _IF_ELSE54_STDLIB LOAD 28 ; NORMX LOADC 5 LOADCP _INTTOFLOAT32 CALL LOADC 7 LOADCP PWROFTEN CALL LOADCP _DIVFLOAT32 CALL LOADCP _ADDFLOAT32 CALL STORE 28 ; NORMX .LBRANCH _IF_END54_STDLIB _IF_ELSE54_STDLIB: LOAD 8 ; D LOAD 24 ; EXPX ADD LOADC 1 ADD LOADC 0 LOADCP _CMPINTFLOAT32 CALL LOADC 0 CMP GE .LCBRANCHZ _IF_ELSE55_STDLIB LOAD 28 ; NORMX LOADC 5 LOADCP _INTTOFLOAT32 CALL LOAD 8 ; D LOAD 24 ; EXPX ADD LOADC 1 ADD LOADCP PWROFTEN CALL LOADCP _DIVFLOAT32 CALL LOADCP _ADDFLOAT32 CALL STORE 28 ; NORMX _IF_ELSE55_STDLIB: _IF_END55_STDLIB: _IF_END54_STDLIB: LOAD 28 ; NORMX LOADCP 1342177410 LOADCP _CMPFLOAT32 CALL LOADC 0 CMP GE .LCBRANCHZ _IF_ELSE56_STDLIB LOAD 24 ; EXPX LOADC 1 ADD STORE 24 ; EXPX LOAD 28 ; NORMX LOADCP 1342177410 LOADCP _DIVFLOAT32 CALL STORE 28 ; NORMX _IF_ELSE56_STDLIB: _IF_END56_STDLIB: LOADC 1 STORE 16 ; J LOADC 7 _FOR_START7_STDLIB: LOAD 16 ; J OVER CMP GT .LCBRANCH _FOR_END7_STDLIB LOAD 28 ; NORMX LOADCP _TRUNCFLOAT32 CALL STORE 20 ; TRUNCX LOAD 12 ; S LOAD 12 ; S LOADREG FP LOADC 92 SUB SWAP LOADC 80 FPADJ -92 LOADCP _INITSTRINGFROM CALL FPADJ 92 LOADREG FP LOADC 92 SUB LOAD 20 ; TRUNCX LOADC 48 ADD LOADREG FP LOADC 104 SUB SWAP OVER LOADCP _CHARTOSTRING CALL FPADJ -104 LOADCP _APPENDSTRING CALL FPADJ 104 LOADREG FP LOADC 92 SUB FPADJ -104 LOADCP _COPYSTRING CALL FPADJ 104 LOAD 28 ; NORMX LOAD 20 ; TRUNCX LOADCP _INTTOFLOAT32 CALL LOADCP _SUBFLOAT32 CALL LOADC 1 LOADCP PWROFTEN CALL LOADCP _MULFLOAT32 CALL STORE 28 ; NORMX LOAD 16 ; J INC 1 STORE 16 ; J .LBRANCH _FOR_START7_STDLIB .CPOOL _FOR_END7_STDLIB: DROP LOAD 8 ; D LOADC 0 CMP EQ LOAD 24 ; EXPX LOADC 6 CMP GE OR .LCBRANCHZ _IF_ELSE57_STDLIB LOADC 46 LOADREG FP DEC 12 SWAP OVER LOADCP _CHARTOSTRING CALL LOAD 12 ; S LOADC 3 FPADJ -12 LOADCP INSERT CALL FPADJ 12 LOAD 24 ; EXPX LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE58_STDLIB LOAD 12 ; S LOAD 12 ; S LOADREG FP LOADC 92 SUB SWAP LOADC 80 FPADJ -92 LOADCP _INITSTRINGFROM CALL FPADJ 92 LOADREG FP LOADC 92 SUB LOADCP _C_S_6_STDLIB FPADJ -92 LOADCP _APPENDSTRING CALL FPADJ 92 LOADREG FP LOADC 92 SUB FPADJ -92 LOADCP _COPYSTRING CALL FPADJ 92 LOAD 24 ; EXPX LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE59_STDLIB LOAD 12 ; S LOAD 12 ; S LOADREG FP LOADC 92 SUB SWAP LOADC 80 FPADJ -92 LOADCP _INITSTRINGFROM CALL FPADJ 92 LOADREG FP LOADC 92 SUB LOADCP _C_S_2_STDLIB FPADJ -92 LOADCP _APPENDSTRING CALL FPADJ 92 LOADREG FP LOADC 92 SUB FPADJ -92 LOADCP _COPYSTRING CALL FPADJ 92 LOAD 24 ; EXPX NOT INC 1 STORE 24 ; EXPX _IF_ELSE59_STDLIB: _IF_END59_STDLIB: LOAD 24 ; EXPX LOADC 9 CMP GT .LCBRANCHZ _IF_ELSE60_STDLIB LOAD 12 ; S LOAD 12 ; S LOADREG FP LOADC 92 SUB SWAP LOADC 80 FPADJ -92 LOADCP _INITSTRINGFROM CALL FPADJ 92 LOADREG FP LOADC 92 SUB LOAD 24 ; EXPX LOADC 10 FPADJ -92 LOADCP _DIV CALL FPADJ 92 LOADC 48 ADD LOADREG FP LOADC 104 SUB SWAP OVER LOADCP _CHARTOSTRING CALL FPADJ -104 LOADCP _APPENDSTRING CALL FPADJ 104 LOADREG FP LOADC 92 SUB FPADJ -104 LOADCP _COPYSTRING CALL FPADJ 104 _IF_ELSE60_STDLIB: _IF_END60_STDLIB: LOAD 12 ; S LOAD 12 ; S LOADREG FP LOADC 92 SUB SWAP LOADC 80 FPADJ -92 LOADCP _INITSTRINGFROM CALL FPADJ 92 LOADREG FP LOADC 92 SUB LOAD 24 ; EXPX LOADC 10 FPADJ -92 LOADCP _MOD CALL FPADJ 92 LOADC 48 ADD LOADREG FP LOADC 104 SUB SWAP OVER LOADCP _CHARTOSTRING CALL FPADJ -104 LOADCP _APPENDSTRING CALL FPADJ 104 LOADREG FP LOADC 92 SUB FPADJ -104 LOADCP _COPYSTRING CALL FPADJ 104 _IF_ELSE58_STDLIB: _IF_END58_STDLIB: .LBRANCH _IF_END57_STDLIB _IF_ELSE57_STDLIB: LOAD 24 ; EXPX LOADC 0 CMP GE .LCBRANCHZ _IF_ELSE61_STDLIB LOADC 46 LOADREG FP DEC 12 SWAP OVER LOADCP _CHARTOSTRING CALL LOAD 12 ; S LOADC 3 LOAD 24 ; EXPX ADD FPADJ -12 LOADCP INSERT CALL FPADJ 12 LOADC 1 STORE 16 ; J LOAD 8 ; D LOADC 5 LOAD 24 ; EXPX SUB SUB _FOR_START8_STDLIB: LOAD 16 ; J OVER CMP GT .LCBRANCH _FOR_END8_STDLIB LOAD 12 ; S LOAD 12 ; S LOADREG FP LOADC 92 SUB SWAP LOADC 80 FPADJ -92 LOADCP _INITSTRINGFROM CALL FPADJ 92 LOADREG FP LOADC 92 SUB LOADCP _C_S_5_STDLIB FPADJ -92 LOADCP _APPENDSTRING CALL FPADJ 92 LOADREG FP LOADC 92 SUB FPADJ -92 LOADCP _COPYSTRING CALL FPADJ 92 LOAD 16 ; J INC 1 STORE 16 ; J .LBRANCH _FOR_START8_STDLIB .CPOOL _FOR_END8_STDLIB: DROP LOAD 12 ; S LOADC 3 LOAD 24 ; EXPX ADD LOAD 8 ; D ADD LOADCP _SETSTRINGLENGTH CALL .LBRANCH _IF_END61_STDLIB _IF_ELSE61_STDLIB: LOADCP _C_S_7_STDLIB LOAD 12 ; S LOADC 2 LOADCP INSERT CALL LOADC 1 STORE 16 ; J LOAD 24 ; EXPX NOT INC 1 LOADC 1 SUB _FOR_START9_STDLIB: LOAD 16 ; J OVER CMP GT .LCBRANCH _FOR_END9_STDLIB LOADC 48 LOADREG FP DEC 12 SWAP OVER LOADCP _CHARTOSTRING CALL LOAD 12 ; S LOADC 4 FPADJ -12 LOADCP INSERT CALL FPADJ 12 LOAD 16 ; J INC 1 STORE 16 ; J .LBRANCH _FOR_START9_STDLIB _FOR_END9_STDLIB: DROP LOAD 12 ; S LOADC 3 LOAD 8 ; D ADD LOADCP _SETSTRINGLENGTH CALL _IF_END61_STDLIB: _IF_END57_STDLIB: LOAD 4 ; W LOAD 12 ; S LOADCP LENGTH CALL CMP GT .LCBRANCHZ _IF_ELSE62_STDLIB LOAD 12 ; S LOADC 1 LOAD 4 ; W LOAD 12 ; S LOADCP LENGTH CALL SUB LOADC 32 LOADCP FILLCHAR CALL _IF_ELSE62_STDLIB: _IF_END62_STDLIB: FPADJ 32 RET ISDIGIT: FPADJ -8 STORE 0 ; ACHAR LOAD 0 ; ACHAR LOADC 48 CMP GE LOAD 0 ; ACHAR LOADC 57 CMP LE AND STORE 4 ; ISDIGIT LOAD 4 ; ISDIGIT FPADJ 8 RET ISWHITE: FPADJ -8 STORE 0 ; ACHAR LOAD 0 ; ACHAR LOADCP _C_A_5_STDLIB LOADC 4 LOADCP _ISINTINARRAY CALL STORE 4 ; ISWHITE LOAD 4 ; ISWHITE FPADJ 8 RET SKIPWHITE: FPADJ -16 STORE 4 ; I STORE 0 ; S LOAD 0 ; S DUP LOADI SWAP INC 8 _FOR_START10_STDLIB: OVER .LCBRANCHZ _FOR_END10_STDLIB DUP LOADI.S1.X2Y BSEL STORE 12 ; C LOAD 12 ; C LOADCP _C_A_6_STDLIB LOADC 4 LOADCP _ISINTINARRAY CALL LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE63_STDLIB .LBRANCH _FOR_END10_STDLIB .LBRANCH _IF_END63_STDLIB _IF_ELSE63_STDLIB: LOAD 4 ; I LOAD 4 ; I LOADI LOADC 1 ADD STOREI DROP _IF_END63_STDLIB: INC 1 SWAP DEC 1 SWAP .LBRANCH _FOR_START10_STDLIB _FOR_END10_STDLIB: DROP DROP FPADJ 16 RET INTVAL: FPADJ -124 STORE 92 ; CODE STORE 88 ; VALUE ; S LOADREG FP SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL LOADC 1 STORE 96 ; I LOADC 0 STORE 100 ; V ; S LOADREG FP LOADCP LENGTH CALL STORE 104 ; L LOADC 0 STORE 116 ; NEGATE LOADC 0 STORE 120 ; VALID ; S LOADREG FP ; I LOADREG FP LOADC 96 ADD LOADCP SKIPWHITE CALL LOAD 92 ; CODE LOAD 104 ; L LOADC 1 ADD STOREI DROP ; S LOADREG FP LOADCP LENGTH CALL LOAD 96 ; I CMP GE .LCBRANCHZ _IF_ELSE64_STDLIB ; S LOADREG FP LOAD 96 ; I LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL STORE 112 ; DIGIT LOAD 112 ; DIGIT LOADC 45 CMP EQ .LCBRANCHZ _IF_ELSE65_STDLIB LOADC 1 STORE 116 ; NEGATE LOAD 96 ; I LOADC 1 ADD STORE 96 ; I .LBRANCH _IF_END65_STDLIB .CPOOL _IF_ELSE65_STDLIB: LOAD 112 ; DIGIT LOADC 43 CMP EQ .LCBRANCHZ _IF_ELSE66_STDLIB LOAD 96 ; I LOADC 1 ADD STORE 96 ; I _IF_ELSE66_STDLIB: _IF_END66_STDLIB: _IF_END65_STDLIB: _WHILE_START8_STDLIB: LOAD 96 ; I LOAD 104 ; L CMP LE .LCBRANCHZ _WHILE_END8_STDLIB ; S LOADREG FP LOAD 96 ; I LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL STORE 112 ; DIGIT LOAD 112 ; DIGIT LOADCP ISDIGIT CALL STORE 120 ; VALID LOAD 120 ; VALID .LCBRANCHZ _IF_ELSE67_STDLIB LOAD 112 ; DIGIT LOADC 48 SUB STORE 108 ; D LOAD 100 ; V LOADC 10 LOADCP _MUL CALL LOAD 108 ; D ADD STORE 100 ; V .LBRANCH _IF_END67_STDLIB _IF_ELSE67_STDLIB: LOAD 92 ; CODE LOAD 96 ; I STOREI DROP .LBRANCH _WHILE_END8_STDLIB _IF_END67_STDLIB: LOAD 96 ; I LOADC 1 ADD STORE 96 ; I .LBRANCH _WHILE_START8_STDLIB _WHILE_END8_STDLIB: _IF_ELSE64_STDLIB: _IF_END64_STDLIB: LOAD 120 ; VALID LOAD 96 ; I LOAD 104 ; L LOADC 1 ADD CMP EQ AND .LCBRANCHZ _IF_ELSE68_STDLIB LOAD 116 ; NEGATE .LCBRANCHZ _IF_ELSE69_STDLIB LOAD 88 ; VALUE LOAD 100 ; V NOT INC 1 STOREI DROP .LBRANCH _IF_END69_STDLIB _IF_ELSE69_STDLIB: LOAD 88 ; VALUE LOAD 100 ; V STOREI DROP _IF_END69_STDLIB: LOAD 92 ; CODE LOADC 0 STOREI DROP _IF_ELSE68_STDLIB: _IF_END68_STDLIB: FPADJ 124 RET _NST_STDLIB70NEXTCHAR: FPADJ -12 LOADREG BP STORE 4 DUP STOREREG BP STORE 0 LOAD.B 116 ; I ; S LOADREG BP LOADCP LENGTH CALL CMP LE .LCBRANCHZ _IF_ELSE70_STDLIB ; S LOADREG BP LOAD.B 116 ; I LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL STORE 8 ; NEXTCHAR LOAD.B 116 ; I LOADC 1 ADD STORE.B 116 ; I LOADC 0 STORE.B 120 ; FEOF .LBRANCH _IF_END70_STDLIB _IF_ELSE70_STDLIB: LOADC 0 STORE 8 ; NEXTCHAR LOADC 1 STORE.B 120 ; FEOF _IF_END70_STDLIB: LOAD 8 ; NEXTCHAR LOAD 4 STOREREG BP FPADJ 12 RET _NST_STDLIB71SREADINT: FPADJ -28 LOADREG BP STORE 4 DUP STOREREG BP STORE 0 STORE 8 ; E LOADC 4 ; DIGITS LOADREG FP INC 12 LOADCP _INITSTRINGF CALL LOAD 8 ; E LOADC 0 STOREI DROP ; DIGITS LOADREG FP INC 12 ; S LOADREG BP LOAD.B 116 ; I LOADC 4 LOADC 80 LOADREG FP LOADC 88 SUB LOADCP _INITSTRINGF CALL LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP COPY CALL FPADJ 88 FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 ; DIGITS LOADREG FP INC 12 LOAD 8 ; E ; STATUS LOADREG FP LOADC 24 ADD LOADCP INTVAL CALL LOAD 24 ; STATUS LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE71_STDLIB LOAD.B 116 ; I LOAD 24 ; STATUS ADD STORE.B 116 ; I LOADC 0 STORE.B 104 ; XVALID .LBRANCH _IF_END71_STDLIB _IF_ELSE71_STDLIB: LOAD.B 116 ; I ; DIGITS LOADREG FP INC 12 LOADCP LENGTH CALL ADD STORE.B 116 ; I _IF_END71_STDLIB: LOAD 4 STOREREG BP FPADJ 28 RET REALVAL: FPADJ -128 STORE 92 ; CODE STORE 88 ; V ; S LOADREG FP SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL LOADC 1 STORE 116 ; I LOADC 0 LOADCP _INTTOFLOAT32 CALL STORE 112 ; X LOADC 0 STORE 100 ; NEG LOADC 0 STORE 104 ; XVALID ; S LOADREG FP ; I LOADREG FP LOADC 116 ADD LOADCP SKIPWHITE CALL LOADREG FP LOADCP _NST_STDLIB70NEXTCHAR CALL STORE 96 ; CH LOAD 96 ; CH LOADC 43 CMP EQ LOAD 96 ; CH LOADC 45 CMP EQ OR .LCBRANCHZ _IF_ELSE72_STDLIB LOAD 96 ; CH LOADC 45 CMP EQ STORE 100 ; NEG LOADREG FP LOADCP _NST_STDLIB70NEXTCHAR CALL STORE 96 ; CH _IF_ELSE72_STDLIB: _IF_END72_STDLIB: _WHILE_START9_STDLIB: LOAD 96 ; CH LOADCP ISDIGIT CALL LOAD 120 ; FEOF LOADC 0 CMP EQ AND .LCBRANCHZ _WHILE_END9_STDLIB LOADC 1 STORE 104 ; XVALID LOAD 112 ; X LOADC 10 LOADCP _INTTOFLOAT32 CALL LOADCP _MULFLOAT32 CALL LOAD 96 ; CH LOADC 48 SUB LOADCP _INTTOFLOAT32 CALL LOADCP _ADDFLOAT32 CALL STORE 112 ; X LOADREG FP LOADCP _NST_STDLIB70NEXTCHAR CALL STORE 96 ; CH .LBRANCH _WHILE_START9_STDLIB .CPOOL _WHILE_END9_STDLIB: LOAD 120 ; FEOF .LCBRANCHZ _IF_ELSE73_STDLIB .LBRANCH _L69EXT_STDLIB _IF_ELSE73_STDLIB: _IF_END73_STDLIB: LOADC -1 STORE 108 ; IPOT LOAD 96 ; CH LOADC 46 CMP EQ .LCBRANCHZ _IF_ELSE74_STDLIB LOADC 0 STORE 108 ; IPOT _REPEAT_START4_STDLIB: LOADREG FP LOADCP _NST_STDLIB70NEXTCHAR CALL STORE 96 ; CH LOAD 96 ; CH LOADCP ISDIGIT CALL .LCBRANCHZ _IF_ELSE75_STDLIB LOADC 1 STORE 104 ; XVALID LOAD 108 ; IPOT LOADC 1 ADD STORE 108 ; IPOT LOAD 96 ; CH LOADC 48 SUB LOADCP _INTTOFLOAT32 CALL LOAD 108 ; IPOT LOADCP PWROFTEN CALL LOADCP _DIVFLOAT32 CALL STORE 124 ; DIGITVAL LOAD 112 ; X LOAD 124 ; DIGITVAL LOADCP _ADDFLOAT32 CALL STORE 112 ; X _IF_ELSE75_STDLIB: _IF_END75_STDLIB: LOAD 120 ; FEOF LOAD 96 ; CH LOADCP ISDIGIT CALL LOADC 0 CMP EQ OR .LCBRANCHZ _REPEAT_START4_STDLIB _REPEAT_END4_STDLIB: LOAD 120 ; FEOF .LCBRANCHZ _IF_ELSE76_STDLIB .LBRANCH _L69EXT_STDLIB _IF_ELSE76_STDLIB: _IF_END76_STDLIB: _IF_ELSE74_STDLIB: _IF_END74_STDLIB: LOAD 96 ; CH LOADC 101 CMP EQ LOAD 96 ; CH LOADC 69 CMP EQ OR LOAD 104 ; XVALID LOAD 108 ; IPOT LOADC 0 CMP LT OR AND .LCBRANCHZ _IF_ELSE77_STDLIB ; IPOT LOADREG FP LOADC 108 ADD LOADREG FP LOADCP _NST_STDLIB71SREADINT CALL LOAD 120 ; FEOF .LCBRANCHZ _IF_ELSE78_STDLIB .LBRANCH _L69EXT_STDLIB _IF_ELSE78_STDLIB: _IF_END78_STDLIB: LOAD 108 ; IPOT LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE79_STDLIB LOAD 112 ; X LOAD 108 ; IPOT LOADCP ABS CALL LOADCP PWROFTEN CALL LOADCP _DIVFLOAT32 CALL STORE 112 ; X .LBRANCH _IF_END79_STDLIB _IF_ELSE79_STDLIB: LOAD 112 ; X LOAD 108 ; IPOT LOADCP PWROFTEN CALL LOADCP _MULFLOAT32 CALL STORE 112 ; X _IF_END79_STDLIB: _IF_ELSE77_STDLIB: _IF_END77_STDLIB: _L69EXT_STDLIB: LOAD 116 ; I ; S LOADREG FP LOADCP LENGTH CALL CMP LE .LCBRANCHZ _IF_ELSE80_STDLIB LOADC 0 STORE 104 ; XVALID _IF_ELSE80_STDLIB: _IF_END80_STDLIB: LOAD 104 ; XVALID .LCBRANCHZ _IF_ELSE81_STDLIB LOAD 100 ; NEG .LCBRANCHZ _IF_ELSE82_STDLIB LOAD 112 ; X LOADCP _NEGFLOAT32 CALL STORE 112 ; X _IF_ELSE82_STDLIB: _IF_END82_STDLIB: LOAD 88 ; V LOAD 112 ; X STOREI DROP LOAD 92 ; CODE LOADC 0 STOREI DROP .LBRANCH _IF_END81_STDLIB _IF_ELSE81_STDLIB: LOAD 92 ; CODE LOAD 116 ; I LOADC 1 SUB STOREI DROP _IF_END81_STDLIB: FPADJ 128 RET CHECKERROR: FPADJ -4 STORE 0 ; FIL LOAD 0 ; FIL INC 4 LOADI LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE83_STDLIB LOAD 0 ; FIL INC 8 LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE84_STDLIB LOADCP IOERRORDESC ; IOERRORDESC LOAD 0 ; FIL INC 4 LOADI DUP LOADC 12 LOADCP _BOUNDSCHECK CALL LOADC 28 LOADCP _MULU CALL ADD LOADC 20 OVER LOADCP _INITSTRING CALL LOADCP RUNTIMEERROR CALL .LBRANCH _IF_END84_STDLIB .CPOOL _IF_ELSE84_STDLIB: LOAD 0 ; FIL INC 4 LOADC 0 STOREI DROP LOAD 0 ; FIL INC 8 LOADC 0 STOREI DROP _IF_END84_STDLIB: _IF_ELSE83_STDLIB: _IF_END83_STDLIB: FPADJ 4 RET HANDLEBACKSPACE: FPADJ -24 STORE 8 ; BYTESREMOVED STORE 4 ; BUF STORE 0 ; AFILE LOAD 8 ; BYTESREMOVED LOADC 0 STOREI DROP LOAD 4 ; BUF LOADCP LENGTH CALL STORE 12 ; LEN LOAD 12 ; LEN LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE85_STDLIB LOAD 0 ; AFILE LOADC 16 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE86_STDLIB LOAD 0 ; AFILE LOADC 8 LOADCP WRITECHANNEL CALL LOAD 0 ; AFILE LOADC 32 LOADCP WRITECHANNEL CALL LOAD 0 ; AFILE LOADC 8 LOADCP WRITECHANNEL CALL _IF_ELSE86_STDLIB: _IF_END86_STDLIB: _REPEAT_START5_STDLIB: LOAD 4 ; BUF LOAD 12 ; LEN LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL STORE 16 ; REMOVEDCHAR LOAD 8 ; BYTESREMOVED LOAD 8 ; BYTESREMOVED LOADI LOADC 1 ADD STOREI DROP LOAD 12 ; LEN LOADC 1 SUB STORE 12 ; LEN LOAD 16 ; REMOVEDCHAR LOADC 192 AND STORE 20 ; HIGHBITS LOAD 20 ; HIGHBITS LOADC 128 CMP NE LOAD 12 ; LEN LOADC 0 CMP EQ OR .LCBRANCHZ _REPEAT_START5_STDLIB _REPEAT_END5_STDLIB: LOAD 4 ; BUF LOAD 12 ; LEN LOADCP _SETSTRINGLENGTH CALL _IF_ELSE85_STDLIB: _IF_END85_STDLIB: FPADJ 24 RET _NST_STDLIB75ISSEPARATOR: FPADJ -16 LOADREG BP STORE 4 DUP STOREREG BP STORE 0 STORE 8 ; ACHAR LOAD.B 4 ; MODE _CASE_1_0_0_STDLIB: DUP LOADC 0 CMP NE .LCBRANCH _CASE_1_0_1_STDLIB _CASE_1_0M_STDLIB: LOAD 8 ; ACHAR LOADCP ISDIGIT CALL LOAD 8 ; ACHAR LOADC 45 CMP EQ OR LOADC 0 CMP EQ STORE 12 ; ISSEPARATOR .LBRANCH _CASE_1_STDLIB_END _CASE_1_0_1_STDLIB: _CASE_1_1_0_STDLIB: DUP LOADC 1 CMP NE .LCBRANCH _CASE_1_1_1_STDLIB _CASE_1_1M_STDLIB: LOAD 8 ; ACHAR LOADCP ISDIGIT CALL LOAD 8 ; ACHAR LOADCP _C_A_7_STDLIB LOADC 5 LOADCP _ISINTINARRAY CALL OR LOADC 0 CMP EQ STORE 12 ; ISSEPARATOR .LBRANCH _CASE_1_STDLIB_END _CASE_1_1_1_STDLIB: _CASE_1_2_0_STDLIB: DUP LOADC 2 CMP NE .LCBRANCH _CASE_1_2_1_STDLIB _CASE_1_2M_STDLIB: LOAD 8 ; ACHAR LOADC 13 CMP EQ LOAD 8 ; ACHAR LOADC 10 CMP EQ OR STORE 12 ; ISSEPARATOR .LBRANCH _CASE_1_STDLIB_END _CASE_1_2_1_STDLIB: _CASE_1_3_STDLIB: _CASE_1_STDLIB_END: DROP LOAD 12 ; ISSEPARATOR LOAD 4 STOREREG BP FPADJ 16 RET FSCANBUF: FPADJ -40 STORE 8 ; BUF STORE 4 ; MODE STORE 0 ; AFILE LOAD 8 ; BUF LOADCP MAXLENGTH CALL STORE 16 ; MAXBYTES LOADC 0 STORE 12 ; BYTESREAD LOADC 0 STORE 24 ; DONE LOADC 0 STORE 36 ; SKIPCHAR LOAD 8 ; BUF LOADCP _C_S_3_STDLIB LOADCP _COPYSTRING CALL LOAD 0 ; AFILE LOADC 16 ADD LOADI LOADC 0 CMP EQ STORE 32 ; ISCHANNEL _REPEAT_START6_STDLIB: LOAD 0 ; AFILE LOADCP EOF CALL .LCBRANCHZ _IF_ELSE87_STDLIB LOADC 1 STORE 24 ; DONE .LBRANCH _IF_END87_STDLIB _IF_ELSE87_STDLIB: LOAD 0 ; AFILE LOADCP FREADCHAR CALL STORE 20 ; ACHAR LOAD 32 ; ISCHANNEL .LCBRANCHZ _IF_ELSE88_STDLIB LOAD 20 ; ACHAR LOADC 127 CMP EQ .LCBRANCHZ _IF_ELSE89_STDLIB LOAD 0 ; AFILE LOADC 40 ADD LOADI LOAD 0 ; AFILE LOADC 36 ADD LOADI OR LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE90_STDLIB LOAD 0 ; AFILE LOAD 8 ; BUF ; BYTESREMOVED LOADREG FP LOADC 28 ADD LOADCP HANDLEBACKSPACE CALL LOAD 12 ; BYTESREAD LOAD 28 ; BYTESREMOVED SUB STORE 12 ; BYTESREAD _IF_ELSE90_STDLIB: _IF_END90_STDLIB: LOADC 1 STORE 36 ; SKIPCHAR .LBRANCH _IF_END89_STDLIB .CPOOL _IF_ELSE89_STDLIB: LOAD 20 ; ACHAR LOADC 4 CMP EQ .LCBRANCHZ _IF_ELSE91_STDLIB LOADC 1 STORE 36 ; SKIPCHAR .LBRANCH _IF_END91_STDLIB _IF_ELSE91_STDLIB: LOADC 0 STORE 36 ; SKIPCHAR _IF_END91_STDLIB: _IF_END89_STDLIB: _IF_ELSE88_STDLIB: _IF_END88_STDLIB: LOAD 36 ; SKIPCHAR LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE92_STDLIB LOAD 20 ; ACHAR LOADREG FP LOADCP _NST_STDLIB75ISSEPARATOR CALL .LCBRANCHZ _IF_ELSE93_STDLIB LOADC 1 STORE 24 ; DONE LOAD 0 ; AFILE LOAD 20 ; ACHAR LOADCP PUSHBACK CALL .LBRANCH _IF_END93_STDLIB _IF_ELSE93_STDLIB: LOAD 8 ; BUF LOAD 20 ; ACHAR LOADCP APPENDCHAR CALL LOAD 12 ; BYTESREAD LOADC 1 ADD STORE 12 ; BYTESREAD _IF_END93_STDLIB: _IF_ELSE92_STDLIB: _IF_END92_STDLIB: _IF_END87_STDLIB: LOAD 12 ; BYTESREAD LOAD 16 ; MAXBYTES CMP EQ .LCBRANCHZ _IF_ELSE94_STDLIB LOADC 1 STORE 24 ; DONE _IF_ELSE94_STDLIB: _IF_END94_STDLIB: LOAD 24 ; DONE .LCBRANCHZ _REPEAT_START6_STDLIB _REPEAT_END6_STDLIB: FPADJ 40 RET FSKIPWHITE: FPADJ -8 STORE 0 ; F _REPEAT_START7_STDLIB: LOAD 0 ; F LOADCP FREADCHAR CALL STORE 4 ; C LOAD 0 ; F LOADCP EOF CALL LOAD 4 ; C LOADCP ISWHITE CALL LOADC 0 CMP EQ OR .LCBRANCHZ _REPEAT_START7_STDLIB _REPEAT_END7_STDLIB: LOAD 0 ; F LOAD 4 ; C LOADCP PUSHBACK CALL FPADJ 8 RET FREADINT: FPADJ -44 STORE 4 ; F STORE 0 ; V LOADC 24 ; BUF LOADREG FP INC 8 LOADCP _INITSTRINGF CALL LOADC -1 STORE 40 ; ERRPOS LOAD 4 ; F LOADCP FSKIPWHITE CALL LOAD 4 ; F LOADC 0 ; BUF LOADREG FP INC 8 LOADCP FSCANBUF CALL LOAD 4 ; F INC 4 LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE95_STDLIB ; BUF LOADREG FP INC 8 LOAD 0 ; V ; ERRPOS LOADREG FP LOADC 40 ADD LOADCP INTVAL CALL _IF_ELSE95_STDLIB: _IF_END95_STDLIB: LOAD 40 ; ERRPOS LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE96_STDLIB LOAD 4 ; F LOADC 10 LOADCP FILEERROR CALL LOAD 4 ; F LOADCP CHECKERROR CALL _IF_ELSE96_STDLIB: _IF_END96_STDLIB: FPADJ 44 RET FREADREAL: FPADJ -60 STORE 4 ; F STORE 0 ; V LOADC 40 ; BUF LOADREG FP INC 8 LOADCP _INITSTRINGF CALL LOAD 4 ; F LOADCP FSKIPWHITE CALL LOAD 4 ; F LOADC 1 ; BUF LOADREG FP INC 8 LOADCP FSCANBUF CALL LOAD 4 ; F INC 4 LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE97_STDLIB ; BUF LOADREG FP INC 8 LOAD 0 ; V ; ERRPOS LOADREG FP LOADC 56 ADD LOADCP REALVAL CALL _IF_ELSE97_STDLIB: _IF_END97_STDLIB: LOAD 56 ; ERRPOS LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE98_STDLIB LOAD 4 ; F LOADC 10 LOADCP FILEERROR CALL _IF_ELSE98_STDLIB: _IF_END98_STDLIB: FPADJ 60 RET FREADSTRING: FPADJ -8 STORE 4 ; F STORE 0 ; S LOAD 4 ; F LOADC 2 LOAD 0 ; S LOADCP FSCANBUF CALL FPADJ 8 RET SKIPEOLN: FPADJ -8 STORE 0 ; AFILE _REPEAT_START8_STDLIB: LOAD 0 ; AFILE LOADCP FREADCHAR CALL STORE 4 ; ACHAR LOAD 4 ; ACHAR LOADC 13 CMP EQ LOAD 0 ; AFILE LOADCP EOF CALL OR .LCBRANCHZ _REPEAT_START8_STDLIB _REPEAT_END8_STDLIB: LOAD 0 ; AFILE LOADC 16 ADD LOADI LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE99_STDLIB LOAD 0 ; AFILE LOADCP EOF CALL LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE100_STDLIB LOAD 0 ; AFILE LOADCP FREADCHAR CALL STORE 4 ; ACHAR LOAD 4 ; ACHAR LOADC 10 CMP NE .LCBRANCHZ _IF_ELSE101_STDLIB LOAD 0 ; AFILE LOAD 4 ; ACHAR LOADCP PUSHBACK CALL _IF_ELSE101_STDLIB: _IF_END101_STDLIB: _IF_ELSE100_STDLIB: _IF_END100_STDLIB: _IF_ELSE99_STDLIB: _IF_END99_STDLIB: FPADJ 8 RET .CPOOL SETDEFAULTVOLUME: FPADJ -44 ; VOLNAME LOADREG FP SWAP LOADC 32 LOADCP _INITSTRINGFROM CALL ; VOLNAME LOADREG FP LOADCP FINDVOLUME CALL STORE 40 ; VOLID LOAD 40 ; VOLID LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE102_STDLIB LOADCP DEFAULTVOLUME ; DEFAULTVOLUME ; VOLNAME LOADREG FP LOADCP _COPYSTRING CALL LOADCP DEFAULTVOLUMEID ; DEFAULTVOLUMEID LOAD 40 ; VOLID STOREI DROP _IF_ELSE102_STDLIB: _IF_END102_STDLIB: FPADJ 44 RET ADDPARTITIONS: FPADJ -20 STORE 8 ; ISLAST STORE 4 ; PARTBLK STORE 0 ; DEVID LOADC 0 STORE 12 ; PARTNO LOADC 0 STORE 12 ; PARTNO LOADC 7 _FOR_START11_STDLIB: LOAD 12 ; PARTNO OVER CMP GT .LCBRANCH _FOR_END11_STDLIB LOAD 4 ; PARTBLK LOAD 12 ; PARTNO DUP LOADC 8 LOADCP _BOUNDSCHECK CALL SHL 2 SHL 2 SHL 2 ADD LOADC 40 ADD LOADI STORE 16 ; FLAGS LOADC 2 LOAD 16 ; FLAGS LOADCP _TESTBIT CALL .LCBRANCHZ _IF_ELSE103_STDLIB LOAD 8 ; ISLAST LOADC 1 STOREI DROP _IF_ELSE103_STDLIB: _IF_END103_STDLIB: LOADC 0 LOAD 16 ; FLAGS LOADCP _TESTBIT CALL .LCBRANCHZ _IF_ELSE104_STDLIB LOADCP VOLUMECOUNT ; VOLUMECOUNT LOADCP VOLUMECOUNT ; VOLUMECOUNT LOADI LOADC 1 ADD STOREI DROP LOADCP VOLUMETABLE ; VOLUMETABLE LOADCP VOLUMECOUNT ; VOLUMECOUNT LOADI DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOAD 4 ; PARTBLK LOAD 12 ; PARTNO DUP LOADC 8 LOADCP _BOUNDSCHECK CALL SHL 2 SHL 2 SHL 2 ADD LOADC 16 FPADJ -4 LOADCP _COPYWORDS CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 64 ADD LOAD 0 ; DEVID STOREI DROP LOADREG FP DEC 4 LOADI LOADC 68 ADD LOAD 12 ; PARTNO STOREI DROP LOADREG FP DEC 4 LOADI LOADC 72 ADD LOADC 0 STOREI DROP LOADREG FP DEC 4 LOADI LOADC 76 ADD LOADC 0 STOREI DROP LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADC 0 STOREI DROP LOADREG FP DEC 4 LOADI LOADC 84 ADD LOADC -1 STOREI DROP LOADREG FP DEC 4 LOADI LOADC 88 ADD LOADC 0 STOREI DROP LOADREG FP DEC 4 LOADI LOADC 92 ADD LOADC 0 STOREI DROP _IF_ELSE104_STDLIB: _IF_END104_STDLIB: LOAD 12 ; PARTNO INC 1 STORE 12 ; PARTNO .LBRANCH _FOR_START11_STDLIB _FOR_END11_STDLIB: DROP FPADJ 20 RET READPARTITIONS: LOADREG FP LOADC 528 SUB STOREREG FP STORE 0 ; DEVID ; PARTBLK LOADREG FP INC 8 LOADC 512 LOADCP _CLEARMEM CALL LOADC 0 STORE 4 ; BLKNO LOADC 0 STORE 520 ; ISLAST LOADC 0 STORE 524 ; ERROR LOADC 0 STORE 4 ; BLKNO LOADC 7 _FOR_START12_STDLIB: LOAD 4 ; BLKNO OVER CMP GT .LCBRANCH _FOR_END12_STDLIB LOAD 4 ; BLKNO ; PARTBLK LOADREG FP INC 8 ; ERROR LOADREG FP LOADC 524 ADD LOAD 0 ; DEVID LOADCP READPARTBLK CALL LOAD 524 ; ERROR LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE105_STDLIB LOAD 0 ; DEVID ; PARTBLK LOADREG FP INC 8 ; ISLAST LOADREG FP LOADC 520 ADD LOADCP ADDPARTITIONS CALL .LBRANCH _IF_END105_STDLIB .CPOOL _IF_ELSE105_STDLIB: LOADCP _C_S_8_STDLIB LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADC 0 LOADCP FWRITESTRING CALL LOAD 4 ; BLKNO OVER LOADC 0 LOADCP FWRITEINT CALL LOADCP NEWLINESTR OVER LOADC 0 LOADCP FWRITESTRING CALL DROP _IF_END105_STDLIB: LOAD 520 ; ISLAST LOAD 524 ; ERROR LOADC 0 CMP NE OR .LCBRANCHZ _IF_ELSE106_STDLIB .LBRANCH _FOR_END12_STDLIB _IF_ELSE106_STDLIB: _IF_END106_STDLIB: LOAD 4 ; BLKNO INC 1 STORE 4 ; BLKNO .LBRANCH _FOR_START12_STDLIB _FOR_END12_STDLIB: DROP LOADREG FP LOADC 528 ADD STOREREG FP RET READDEVICE: FPADJ -16 STORE 12 ; ERROR STORE 8 ; BUF STORE 4 ; BLOCKNO STORE 0 ; DEVICEID LOAD 4 ; BLOCKNO LOAD 8 ; BUF LOAD 12 ; ERROR LOAD 0 ; DEVICEID LOADCP READBLOCK CALL FPADJ 16 RET WRITEDEVICE: FPADJ -16 STORE 12 ; ERROR STORE 8 ; BUF STORE 4 ; BLOCKNO STORE 0 ; DEVICEID LOAD 4 ; BLOCKNO LOAD 8 ; BUF LOAD 12 ; ERROR LOAD 0 ; DEVICEID LOADCP WRITEBLOCK CALL FPADJ 16 RET GETPHYSBLOCKNO: FPADJ -12 STORE 4 ; BLOCKNO STORE 0 ; VOLUMEID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLUMEID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADC 44 ADD LOADI LOAD 4 ; BLOCKNO ADD STORE 8 ; GETPHYSBLOCKNO LOAD 8 ; GETPHYSBLOCKNO FPADJ 12 RET READVOLUMEBLKS: FPADJ -32 STORE 16 ; ERROR STORE 12 ; BLKCOUNT STORE 8 ; BLKNO STORE 4 ; DESTBUF STORE 0 ; VOLUMEID LOAD 0 ; VOLUMEID LOAD 8 ; BLKNO LOADCP GETPHYSBLOCKNO CALL STORE 20 ; DEVICEBLK LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLUMEID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADC 64 ADD LOADI STORE 24 ; DEVICEID LOADC 0 STORE 28 ; I _WHILE_START10_STDLIB: LOAD 12 ; BLKCOUNT LOADC 0 CMP GT .LCBRANCHZ _WHILE_END10_STDLIB LOAD 24 ; DEVICEID LOAD 20 ; DEVICEBLK ; DESTBUF LOADREG FP INC 4 LOADI LOAD 28 ; I DUP LOADC 8 LOADCP _BOUNDSCHECK CALL BROT LOADC -$100 AND SHL ADD LOAD 16 ; ERROR LOADCP READDEVICE CALL LOAD 12 ; BLKCOUNT LOADC 1 SUB STORE 12 ; BLKCOUNT LOAD 20 ; DEVICEBLK LOADC 1 ADD STORE 20 ; DEVICEBLK LOAD 28 ; I LOADC 1 ADD STORE 28 ; I .LBRANCH _WHILE_START10_STDLIB _WHILE_END10_STDLIB: FPADJ 32 RET WRITEVOLUMEBLKS: FPADJ -32 STORE 16 ; ERROR STORE 12 ; BLKCOUNT STORE 8 ; BLKNO STORE 4 ; SRCBUF STORE 0 ; VOLUMEID LOAD 0 ; VOLUMEID LOAD 8 ; BLKNO LOADCP GETPHYSBLOCKNO CALL STORE 20 ; DEVICEBLK LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLUMEID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADC 64 ADD LOADI STORE 24 ; DEVICEID LOADC 0 STORE 28 ; I _WHILE_START11_STDLIB: LOAD 12 ; BLKCOUNT LOADC 0 CMP GT .LCBRANCHZ _WHILE_END11_STDLIB LOAD 24 ; DEVICEID LOAD 20 ; DEVICEBLK ; SRCBUF LOADREG FP INC 4 LOADI LOAD 28 ; I DUP LOADC 8 LOADCP _BOUNDSCHECK CALL BROT LOADC -$100 AND SHL ADD LOAD 16 ; ERROR LOADCP WRITEDEVICE CALL LOAD 12 ; BLKCOUNT LOADC 1 SUB STORE 12 ; BLKCOUNT LOAD 20 ; DEVICEBLK LOADC 1 ADD STORE 20 ; DEVICEBLK LOAD 28 ; I LOADC 1 ADD STORE 28 ; I .LBRANCH _WHILE_START11_STDLIB .CPOOL _WHILE_END11_STDLIB: FPADJ 32 RET FINDVOLUME: FPADJ -96 ; NAME LOADREG FP SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL LOADCP INITDEVICES CALL LOADC 0 STORE 88 ; FINDVOLUME LOADC 1 STORE 92 ; VOLIDX LOADCP VOLUMECOUNT ; VOLUMECOUNT LOADI _FOR_START13_STDLIB: LOAD 92 ; VOLIDX OVER CMP GT .LCBRANCH _FOR_END13_STDLIB LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 92 ; VOLIDX DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD ; NAME LOADREG FP LOADCP _CMPSTRING CALL .LCBRANCHZ _IF_ELSE107_STDLIB LOAD 92 ; VOLIDX STORE 88 ; FINDVOLUME .LBRANCH _FOR_END13_STDLIB _IF_ELSE107_STDLIB: _IF_END107_STDLIB: LOAD 92 ; VOLIDX INC 1 STORE 92 ; VOLIDX .LBRANCH _FOR_START13_STDLIB _FOR_END13_STDLIB: DROP LOAD 88 ; FINDVOLUME FPADJ 96 RET FLUSHDIRCACHE: FPADJ -8 STORE 4 ; ERROR STORE 0 ; VOLUMEID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLUMEID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADI LOADC 0 CMP NE LOADREG FP DEC 4 LOADI LOADC 84 ADD LOADI LOADC 0 CMP GE AND LOADREG FP DEC 4 LOADI LOADC 88 ADD LOADI AND .LCBRANCHZ _IF_ELSE108_STDLIB LOAD 0 ; VOLUMEID LOADREG FP DEC 4 LOADI LOADC 84 ADD LOADI FPADJ -4 LOADCP GETPHYSBLOCKNO CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADI LOAD 4 ; ERROR LOADREG FP DEC 4 LOADI LOADC 64 ADD LOADI FPADJ -4 LOADCP WRITEDIRBLK CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 88 ADD LOADC 0 STOREI DROP _IF_ELSE108_STDLIB: _IF_END108_STDLIB: FPADJ 8 RET OPENVOLUMEID: FPADJ -4 STORE 0 ; VOLID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE109_STDLIB LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADC 512 FPADJ -4 LOADCP _MEM_ALLOC CALL FPADJ 4 DUP LOADC 512 LOADCP _CLEARMEM CALL FPADJ -4 LOADCP _CHECK_ALLOC CALL FPADJ 4 STOREI DROP _IF_ELSE109_STDLIB: _IF_END109_STDLIB: LOADREG FP DEC 4 LOADI LOADC 92 ADD LOADREG FP DEC 4 LOADI LOADC 92 ADD LOADI LOADC 1 ADD STOREI DROP FPADJ 4 RET CLOSEVOLUMEID: FPADJ -8 STORE 0 ; VOLID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOADC 92 ADD LOADREG FP DEC 4 LOADI LOADC 92 ADD LOADI LOADC 1 SUB STOREI DROP LOADREG FP DEC 4 LOADI LOADC 92 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE110_STDLIB LOAD 0 ; VOLID ; ERROR LOADREG FP INC 4 FPADJ -4 LOADCP FLUSHDIRCACHE CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 84 ADD LOADC -1 STOREI DROP LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADI FPADJ -4 LOADCP _MEM_FREE CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADC 0 STOREI DROP _IF_ELSE110_STDLIB: _IF_END110_STDLIB: FPADJ 8 RET .CPOOL LOADDIRBLOCK: FPADJ -12 STORE 8 ; ERROR STORE 4 ; DIRBLKNO STORE 0 ; VOLUMEID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLUMEID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOADC 84 ADD LOADI LOAD 4 ; DIRBLKNO CMP NE .LCBRANCHZ _IF_ELSE111_STDLIB LOAD 0 ; VOLUMEID LOAD 8 ; ERROR FPADJ -4 LOADCP FLUSHDIRCACHE CALL FPADJ 4 LOAD 0 ; VOLUMEID LOAD 4 ; DIRBLKNO FPADJ -4 LOADCP GETPHYSBLOCKNO CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADI LOAD 8 ; ERROR LOADREG FP DEC 4 LOADI LOADC 64 ADD LOADI FPADJ -4 LOADCP READDIRBLK CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 84 ADD LOAD 4 ; DIRBLKNO STOREI DROP _IF_ELSE111_STDLIB: _IF_END111_STDLIB: FPADJ 12 RET GETDIRSLOT: FPADJ -24 STORE 12 ; ERROR STORE 8 ; RESULT STORE 4 ; SLOTNO STORE 0 ; VOLUMEID LOAD 12 ; ERROR LOADC 0 STOREI DROP LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLUMEID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOAD 4 ; SLOTNO LOADC 8 FPADJ -4 LOADCP _DIV CALL FPADJ 4 STORE 16 ; DIRBLKNO LOAD 4 ; SLOTNO LOADC 8 FPADJ -4 LOADCP _MOD CALL FPADJ 4 STORE 20 ; SLOTOFFSET LOAD 0 ; VOLUMEID LOAD 16 ; DIRBLKNO LOAD 12 ; ERROR FPADJ -4 LOADCP LOADDIRBLOCK CALL FPADJ 4 LOAD 8 ; RESULT LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADI LOAD 20 ; SLOTOFFSET DUP LOADC 8 LOADCP _BOUNDSCHECK CALL SHL 2 SHL 2 SHL 2 ADD LOADC 16 FPADJ -4 LOADCP _COPYWORDS CALL FPADJ 4 FPADJ 24 RET PUTDIRSLOT: FPADJ -24 STORE 12 ; ERROR STORE 8 ; DIRSLOT STORE 4 ; SLOTNO STORE 0 ; VOLUMEID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLUMEID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOAD 4 ; SLOTNO LOADC 8 FPADJ -4 LOADCP _DIV CALL FPADJ 4 STORE 16 ; DIRBLKNO LOAD 4 ; SLOTNO LOADC 8 FPADJ -4 LOADCP _MOD CALL FPADJ 4 STORE 20 ; SLOTOFFSET LOAD 0 ; VOLUMEID LOAD 16 ; DIRBLKNO LOAD 12 ; ERROR FPADJ -4 LOADCP LOADDIRBLOCK CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 80 ADD LOADI LOAD 20 ; SLOTOFFSET DUP LOADC 8 LOADCP _BOUNDSCHECK CALL SHL 2 SHL 2 SHL 2 ADD LOAD 8 ; DIRSLOT LOADC 16 FPADJ -4 LOADCP _COPYWORDS CALL FPADJ 4 LOADREG FP DEC 4 LOADI LOADC 88 ADD LOADC 1 STOREI DROP FPADJ 24 RET FINDDIRSLOT: FPADJ -88 STORE 4 ; ERROR STORE 0 ; VOLID ; DIRSLOT LOADREG FP LOADC 20 ADD LOADC 64 LOADCP _CLEARMEM CALL LOADC -1 STORE 8 ; FINDDIRSLOT LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOADC 56 ADD LOADI STORE 16 ; MAXSLOTS LOADREG FP DEC 4 LOADI LOADC 72 ADD LOADI STORE 12 ; SLOTNO LOADC 0 STORE 84 ; DONE _REPEAT_START9_STDLIB: LOAD 0 ; VOLID LOAD 12 ; SLOTNO ; DIRSLOT LOADREG FP LOADC 20 ADD LOAD 4 ; ERROR FPADJ -4 LOADCP GETDIRSLOT CALL FPADJ 4 LOADC 0 LOAD 60 ; DIRSLOT LOADCP _TESTBIT CALL .LCBRANCHZ _IF_ELSE112_STDLIB LOAD 12 ; SLOTNO STORE 8 ; FINDDIRSLOT LOADC 1 STORE 84 ; DONE LOADREG FP DEC 4 LOADI LOADC 76 ADD LOAD 12 ; SLOTNO STOREI DROP _IF_ELSE112_STDLIB: _IF_END112_STDLIB: LOAD 12 ; SLOTNO LOADC 1 ADD STORE 12 ; SLOTNO LOAD 84 ; DONE LOAD 12 ; SLOTNO LOAD 16 ; MAXSLOTS CMP GE OR LOAD 4 ; ERROR LOADI LOADC 0 CMP NE OR .LCBRANCHZ _REPEAT_START9_STDLIB _REPEAT_END9_STDLIB: LOAD 8 ; FINDDIRSLOT FPADJ 88 RET .CPOOL READBUF: FPADJ -12 STORE 4 ; ERROR STORE 0 ; FIL LOAD 0 ; FIL LOADC 32 ADD LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 0 ; FIL LOADC 28 ADD LOADI LOADC 512 LOADCP _MOD CALL SUB STOREI DROP LOAD 0 ; FIL LOADC 32 ADD LOADI LOADC 512 LOADCP _DIV CALL LOAD 0 ; FIL LOADC 24 ADD LOADI LOAD 0 ; FIL LOADC 48 ADD LOADI LOADCP _MUL CALL ADD STORE 8 ; BLKNO LOAD 0 ; FIL LOADC 20 ADD LOADI LOAD 0 ; FIL LOADC 56 ADD LOADI LOAD 8 ; BLKNO LOAD 0 ; FIL LOADC 44 ADD LOADI LOAD 4 ; ERROR LOADCP READVOLUMEBLKS CALL FPADJ 12 RET FILEERROR: FPADJ -8 STORE 4 ; ERROR STORE 0 ; FIL LOAD 0 ; FIL INC 4 LOAD 4 ; ERROR STOREI DROP LOAD 0 ; FIL INC 8 LOADC 0 STOREI DROP FPADJ 8 RET IORESULT: FPADJ -8 STORE 0 ; FIL LOAD 0 ; FIL INC 4 LOADI STORE 4 ; IORESULT LOAD 0 ; FIL INC 8 LOADC 1 STOREI DROP LOAD 4 ; IORESULT FPADJ 8 RET ERRORSTR: FPADJ -8 STORE 4 ; ERRORSTR STORE 0 ; ERR LOAD 0 ; ERR LOADC 11 CMP LE .LCBRANCHZ _IF_ELSE113_STDLIB LOAD 4 ; ERRORSTR LOADCP IOERRORDESC ; IOERRORDESC LOAD 0 ; ERR DUP LOADC 12 LOADCP _BOUNDSCHECK CALL LOADC 28 LOADCP _MULU CALL ADD LOADCP _COPYSTRING CALL .LBRANCH _IF_END113_STDLIB _IF_ELSE113_STDLIB: LOAD 4 ; ERRORSTR LOADCP _C_S_9_STDLIB LOADCP _COPYSTRING CALL _IF_END113_STDLIB: LOAD 4 ; ERRORSTR FPADJ 8 RET EOF: FPADJ -8 STORE 0 ; FIL LOAD 0 ; FIL LOADC 16 ADD LOADI LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE114_STDLIB LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 0 ; FIL LOADC 36 ADD LOADI CMP GE STORE 4 ; EOF .LBRANCH _IF_END114_STDLIB _IF_ELSE114_STDLIB: LOAD 0 ; FIL LOADC 32 ADD LOADI STORE 4 ; EOF _IF_END114_STDLIB: LOAD 4 ; EOF FPADJ 8 RET EOLN: FPADJ -8 STORE 0 ; FIL LOAD 0 ; FIL LOADCP EOF CALL LOAD 0 ; FIL INC 12 LOADI OR STORE 4 ; EOLN LOAD 4 ; EOLN FPADJ 8 RET READFS: FPADJ -32 STORE 8 ; LEN STORE 4 ; DESTBUF STORE 0 ; FIL LOADC 0 STORE 28 ; ERROR LOADC 0 STORE 20 ; DESTPOS LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 8 ; LEN ADD LOAD 0 ; FIL LOADC 36 ADD LOADI CMP GT .LCBRANCHZ _IF_ELSE115_STDLIB LOAD 0 ; FIL LOADC 36 ADD LOADI LOAD 0 ; FIL LOADC 28 ADD LOADI SUB STORE 8 ; LEN _IF_ELSE115_STDLIB: _IF_END115_STDLIB: _WHILE_START12_STDLIB: LOAD 8 ; LEN LOADC 0 CMP GT LOAD 28 ; ERROR LOADC 0 CMP EQ AND .LCBRANCHZ _WHILE_END12_STDLIB LOAD 0 ; FIL LOADC 60 ADD LOADI LOAD 0 ; FIL LOADC 64 ADD LOADI CMP LT .LCBRANCHZ _IF_ELSE116_STDLIB LOAD 0 ; FIL LOADC 64 ADD LOADI LOAD 0 ; FIL LOADC 60 ADD LOADI SUB STORE 12 ; BUFLEFT LOAD 8 ; LEN LOAD 12 ; BUFLEFT CMP GT .LCBRANCHZ _IF_ELSE117_STDLIB LOAD 12 ; BUFLEFT STORE 16 ; PARTIAL .LBRANCH _IF_END117_STDLIB .CPOOL _IF_ELSE117_STDLIB: LOAD 8 ; LEN STORE 16 ; PARTIAL _IF_END117_STDLIB: LOAD 4 ; DESTBUF LOAD 20 ; DESTPOS LOAD 0 ; FIL LOADC 56 ADD LOADI LOAD 0 ; FIL LOADC 60 ADD LOADI LOAD 16 ; PARTIAL LOADCP COPYBUF CALL LOAD 8 ; LEN LOAD 16 ; PARTIAL SUB STORE 8 ; LEN LOAD 0 ; FIL LOADC 60 ADD LOAD 0 ; FIL LOADC 60 ADD LOADI LOAD 16 ; PARTIAL ADD STOREI DROP LOAD 0 ; FIL LOADC 28 ADD LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 16 ; PARTIAL ADD STOREI DROP LOAD 20 ; DESTPOS LOAD 16 ; PARTIAL ADD STORE 20 ; DESTPOS .LBRANCH _IF_END116_STDLIB _IF_ELSE116_STDLIB: LOAD 0 ; FIL ; ERROR LOADREG FP LOADC 28 ADD LOADCP READBUF CALL LOAD 0 ; FIL LOADC 60 ADD LOADC 0 STOREI DROP _IF_END116_STDLIB: .LBRANCH _WHILE_START12_STDLIB _WHILE_END12_STDLIB: LOAD 28 ; ERROR LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE118_STDLIB LOAD 0 ; FIL LOAD 28 ; ERROR LOADCP FILEERROR CALL _IF_ELSE118_STDLIB: _IF_END118_STDLIB: FPADJ 32 RET FLUSHFILE: FPADJ -12 STORE 0 ; FIL LOAD 0 ; FIL LOADC 32 ADD LOADI LOADC 512 LOADCP _DIV CALL LOAD 0 ; FIL LOADC 24 ADD LOADI LOAD 0 ; FIL LOADC 48 ADD LOADI LOADCP _MUL CALL ADD STORE 4 ; BLKNO LOAD 0 ; FIL LOADC 20 ADD LOADI LOAD 0 ; FIL LOADC 56 ADD LOADI LOAD 4 ; BLKNO LOAD 0 ; FIL LOADC 44 ADD LOADI ; ERROR LOADREG FP INC 8 LOADCP WRITEVOLUMEBLKS CALL LOAD 8 ; ERROR LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE119_STDLIB LOAD 0 ; FIL LOAD 8 ; ERROR LOADCP FILEERROR CALL _IF_ELSE119_STDLIB: _IF_END119_STDLIB: LOAD 0 ; FIL LOADC 68 ADD LOADC 0 STOREI DROP FPADJ 12 RET SEEK: FPADJ -16 STORE 4 ; POSITION STORE 0 ; FIL LOAD 0 ; FIL LOADCP CHECKERROR CALL LOAD 0 ; FIL LOADC 16 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE120_STDLIB LOAD 0 ; FIL LOADC 6 LOADCP FILEERROR CALL .LBRANCH _IF_END120_STDLIB _IF_ELSE120_STDLIB: LOAD 0 ; FIL LOADC 68 ADD LOADI .LCBRANCHZ _IF_ELSE121_STDLIB LOAD 0 ; FIL LOADCP FLUSHFILE CALL _IF_ELSE121_STDLIB: _IF_END121_STDLIB: LOAD 4 ; POSITION LOAD 0 ; FIL LOADC 36 ADD LOADI CMP GT LOAD 0 ; FIL LOADI LOADC 4 CMP EQ OR .LCBRANCHZ _IF_ELSE122_STDLIB LOAD 0 ; FIL LOADC 6 LOADCP FILEERROR CALL .LBRANCH _IF_END122_STDLIB _IF_ELSE122_STDLIB: LOAD 0 ; FIL LOADC 28 ADD LOAD 4 ; POSITION STOREI DROP LOAD 0 ; FIL LOADC 60 ADD LOAD 4 ; POSITION LOAD 0 ; FIL LOADC 64 ADD LOADI LOADCP _MOD CALL STOREI DROP LOAD 4 ; POSITION LOAD 0 ; FIL LOADC 32 ADD LOADI CMP LT LOAD 4 ; POSITION LOAD 0 ; FIL LOADC 32 ADD LOADI LOAD 0 ; FIL LOADC 64 ADD LOADI ADD CMP GE OR .LCBRANCHZ _IF_ELSE123_STDLIB LOAD 0 ; FIL ; ERROR LOADREG FP INC 12 LOADCP READBUF CALL LOAD 12 ; ERROR LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE124_STDLIB LOAD 0 ; FIL LOAD 12 ; ERROR LOADCP FILEERROR CALL _IF_ELSE124_STDLIB: _IF_END124_STDLIB: _IF_ELSE123_STDLIB: _IF_END123_STDLIB: _IF_END122_STDLIB: _IF_END120_STDLIB: FPADJ 16 RET .CPOOL FILEPOS: FPADJ -8 STORE 0 ; FIL LOAD 0 ; FIL LOADC 16 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE125_STDLIB LOADC 0 STORE 4 ; FILEPOS .LBRANCH _IF_END125_STDLIB _IF_ELSE125_STDLIB: LOAD 0 ; FIL LOADC 28 ADD LOADI STORE 4 ; FILEPOS _IF_END125_STDLIB: LOAD 4 ; FILEPOS FPADJ 8 RET FILESIZE: FPADJ -8 STORE 0 ; FIL LOAD 0 ; FIL LOADC 16 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE126_STDLIB LOADC -1 STORE 4 ; FILESIZE .LBRANCH _IF_END126_STDLIB _IF_ELSE126_STDLIB: LOAD 0 ; FIL LOADC 36 ADD LOADI STORE 4 ; FILESIZE _IF_END126_STDLIB: LOAD 4 ; FILESIZE FPADJ 8 RET EXTENDFILE: FPADJ -88 STORE 4 ; NEWSIZE STORE 0 ; FIL ; ENTRY LOADREG FP INC 12 LOADC 64 LOADCP _CLEARMEM CALL LOAD 4 ; NEWSIZE LOAD 0 ; FIL LOADC 36 ADD LOADI CMP GT .LCBRANCHZ _IF_ELSE127_STDLIB LOAD 4 ; NEWSIZE LOAD 0 ; FIL LOADC 48 ADD LOADI LOADC 512 LOADCP _MUL CALL LOADCP _DIV CALL LOADC 1 ADD STORE 8 ; NEWEXTENTS LOAD 8 ; NEWEXTENTS LOAD 0 ; FIL LOADC 40 ADD LOADI CMP GT .LCBRANCHZ _IF_ELSE128_STDLIB LOAD 0 ; FIL LOADC 24 ADD LOADI LOAD 8 ; NEWEXTENTS ADD LOADC 1 SUB STORE 76 ; ENDSLOT LOAD 0 ; FIL LOADC 24 ADD LOADI LOAD 0 ; FIL LOADC 40 ADD LOADI ADD STORE 80 ; I LOAD 76 ; ENDSLOT _FOR_START14_STDLIB: LOAD 80 ; I OVER CMP GT .LCBRANCH _FOR_END14_STDLIB LOAD 0 ; FIL LOADC 20 ADD LOADI LOAD 80 ; I ; ENTRY LOADREG FP INC 12 ; ERROR LOADREG FP LOADC 84 ADD LOADCP GETDIRSLOT CALL LOADC 0 LOAD 52 ; ENTRY LOADCP _TESTBIT CALL LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE129_STDLIB LOAD 0 ; FIL LOADC 7 LOADCP FILEERROR CALL .LBRANCH _FOR_END14_STDLIB .LBRANCH _IF_END129_STDLIB _IF_ELSE129_STDLIB: LOAD 52 ; ENTRY LOADC 0 LOADC 0 LOADCP _SETBIT CALL LOADC 3 LOADCP _SETBIT CALL NOT AND LOADC 0 LOADC 5 LOADCP _SETBIT CALL OR STORE 52 ; ENTRY LOAD 0 ; FIL LOADC 20 ADD LOADI LOAD 80 ; I ; ENTRY LOADREG FP INC 12 ; ERROR LOADREG FP LOADC 84 ADD LOADCP PUTDIRSLOT CALL LOAD 84 ; ERROR LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE130_STDLIB LOAD 0 ; FIL LOAD 84 ; ERROR LOADCP FILEERROR CALL _IF_ELSE130_STDLIB: _IF_END130_STDLIB: _IF_END129_STDLIB: LOAD 80 ; I INC 1 STORE 80 ; I .LBRANCH _FOR_START14_STDLIB _FOR_END14_STDLIB: DROP _IF_ELSE128_STDLIB: _IF_END128_STDLIB: LOAD 0 ; FIL INC 4 LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE131_STDLIB LOAD 0 ; FIL LOADC 36 ADD LOAD 4 ; NEWSIZE STOREI DROP LOAD 0 ; FIL LOADC 40 ADD LOAD 8 ; NEWEXTENTS STOREI DROP _IF_ELSE131_STDLIB: _IF_END131_STDLIB: _IF_ELSE127_STDLIB: _IF_END127_STDLIB: FPADJ 88 RET .CPOOL WRITEFS: FPADJ -36 STORE 8 ; LEN STORE 4 ; SRCBUF STORE 0 ; FIL LOAD 0 ; FIL LOADC 64 ADD LOADI LOAD 0 ; FIL LOADC 60 ADD LOADI SUB STORE 12 ; BUFLEFT LOAD 8 ; LEN STORE 16 ; SRCLEFT LOADC 0 STORE 20 ; SRCPOS LOADC 0 STORE 32 ; ERROR LOAD 0 ; FIL LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE132_STDLIB LOAD 0 ; FIL LOADC 8 LOADCP FILEERROR CALL .LBRANCH _L105ERREXIT_STDLIB _IF_ELSE132_STDLIB: _IF_END132_STDLIB: LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 8 ; LEN ADD STORE 28 ; NEWPOS LOAD 28 ; NEWPOS LOAD 0 ; FIL LOADC 36 ADD LOADI CMP GT .LCBRANCHZ _IF_ELSE133_STDLIB LOAD 0 ; FIL LOAD 28 ; NEWPOS LOADCP EXTENDFILE CALL LOAD 0 ; FIL INC 4 LOADI LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE134_STDLIB .LBRANCH _L105ERREXIT_STDLIB _IF_ELSE134_STDLIB: _IF_END134_STDLIB: _IF_ELSE133_STDLIB: _IF_END133_STDLIB: _WHILE_START13_STDLIB: LOAD 16 ; SRCLEFT LOADC 0 CMP GT LOAD 32 ; ERROR LOADC 0 CMP EQ AND .LCBRANCHZ _WHILE_END13_STDLIB LOAD 0 ; FIL LOADC 52 ADD LOADC 1 STOREI DROP LOAD 0 ; FIL LOADC 68 ADD LOADC 1 STOREI DROP LOAD 16 ; SRCLEFT LOAD 12 ; BUFLEFT CMP GT .LCBRANCHZ _IF_ELSE135_STDLIB LOAD 0 ; FIL LOADC 56 ADD LOADI LOAD 0 ; FIL LOADC 60 ADD LOADI LOAD 4 ; SRCBUF LOAD 20 ; SRCPOS LOAD 12 ; BUFLEFT LOADCP COPYBUF CALL LOAD 0 ; FIL LOADC 60 ADD LOADC 0 STOREI DROP LOAD 0 ; FIL LOADC 28 ADD LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 12 ; BUFLEFT ADD STOREI DROP LOAD 16 ; SRCLEFT LOAD 12 ; BUFLEFT SUB STORE 16 ; SRCLEFT LOAD 20 ; SRCPOS LOAD 12 ; BUFLEFT ADD STORE 20 ; SRCPOS LOAD 0 ; FIL LOADC 64 ADD LOADI STORE 12 ; BUFLEFT .LBRANCH _IF_END135_STDLIB _IF_ELSE135_STDLIB: LOAD 0 ; FIL LOADC 56 ADD LOADI LOAD 0 ; FIL LOADC 60 ADD LOADI LOAD 4 ; SRCBUF LOAD 20 ; SRCPOS LOAD 16 ; SRCLEFT LOADCP COPYBUF CALL LOAD 0 ; FIL LOADC 60 ADD LOAD 0 ; FIL LOADC 60 ADD LOADI LOAD 16 ; SRCLEFT ADD STOREI DROP LOAD 0 ; FIL LOADC 28 ADD LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 16 ; SRCLEFT ADD STOREI DROP LOAD 12 ; BUFLEFT LOAD 16 ; SRCLEFT SUB STORE 12 ; BUFLEFT LOADC 0 STORE 16 ; SRCLEFT _IF_END135_STDLIB: LOAD 0 ; FIL LOADC 28 ADD LOADI LOAD 0 ; FIL LOADC 32 ADD LOADI LOAD 0 ; FIL LOADC 64 ADD LOADI ADD CMP GE .LCBRANCHZ _IF_ELSE136_STDLIB LOAD 0 ; FIL LOADCP FLUSHFILE CALL LOAD 16 ; SRCLEFT LOAD 0 ; FIL LOADC 64 ADD LOADI CMP LT .LCBRANCHZ _IF_ELSE137_STDLIB LOAD 0 ; FIL ; ERROR LOADREG FP LOADC 32 ADD LOADCP READBUF CALL .LBRANCH _IF_END137_STDLIB .CPOOL _IF_ELSE137_STDLIB: LOAD 0 ; FIL LOADC 32 ADD LOAD 0 ; FIL LOADC 32 ADD LOADI LOAD 0 ; FIL LOADC 64 ADD LOADI ADD STOREI DROP _IF_END137_STDLIB: _IF_ELSE136_STDLIB: _IF_END136_STDLIB: LOAD 32 ; ERROR LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE138_STDLIB LOAD 0 ; FIL LOAD 32 ; ERROR LOADCP FILEERROR CALL _IF_ELSE138_STDLIB: _IF_END138_STDLIB: .LBRANCH _WHILE_START13_STDLIB _WHILE_END13_STDLIB: _L105ERREXIT_STDLIB: FPADJ 36 RET FINDFILE: FPADJ -36 STORE 12 ; ERROR STORE 8 ; DIRSLOT STORE 4 ; NAME STORE 0 ; VOLID LOADC -1 STORE 16 ; FINDFILE LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOADC 56 ADD LOADI STORE 24 ; MAXSLOTS LOADREG FP DEC 4 LOADI LOADC 72 ADD LOADI STORE 20 ; SLOTNO LOADC 0 STORE 28 ; DONE LOADC 0 STORE 32 ; FOUND _REPEAT_START10_STDLIB: LOAD 0 ; VOLID LOAD 20 ; SLOTNO LOAD 8 ; DIRSLOT LOAD 12 ; ERROR FPADJ -4 LOADCP GETDIRSLOT CALL FPADJ 4 LOADC 2 LOAD 8 ; DIRSLOT LOADC 40 ADD LOADI LOADCP _TESTBIT CALL LOADC 0 CMP EQ LOADC 4 LOAD 8 ; DIRSLOT LOADC 40 ADD LOADI LOADCP _TESTBIT CALL AND LOAD 4 ; NAME LOAD 8 ; DIRSLOT FPADJ -4 LOADCP _CMPSTRING CALL FPADJ 4 AND .LCBRANCHZ _IF_ELSE139_STDLIB LOAD 20 ; SLOTNO STORE 16 ; FINDFILE LOADC 1 STORE 28 ; DONE LOADC 1 STORE 32 ; FOUND _IF_ELSE139_STDLIB: _IF_END139_STDLIB: LOADC 3 LOAD 8 ; DIRSLOT LOADC 40 ADD LOADI LOADCP _TESTBIT CALL .LCBRANCHZ _IF_ELSE140_STDLIB LOADC 1 STORE 28 ; DONE _IF_ELSE140_STDLIB: _IF_END140_STDLIB: LOAD 20 ; SLOTNO LOADC 1 ADD STORE 20 ; SLOTNO LOAD 28 ; DONE LOAD 20 ; SLOTNO LOAD 24 ; MAXSLOTS CMP GE OR LOAD 12 ; ERROR LOADI LOADC 0 CMP NE OR .LCBRANCHZ _REPEAT_START10_STDLIB _REPEAT_END10_STDLIB: LOAD 12 ; ERROR LOADI LOADC 0 CMP EQ LOAD 32 ; FOUND LOADC 0 CMP EQ AND .LCBRANCHZ _IF_ELSE141_STDLIB LOAD 12 ; ERROR LOADC 1 STOREI DROP _IF_ELSE141_STDLIB: _IF_END141_STDLIB: LOAD 16 ; FINDFILE FPADJ 36 RET OPENFILE: FPADJ -24 STORE 16 ; MODE STORE 12 ; AFILE STORE 8 ; DIRSLOT STORE 4 ; SLOTNO STORE 0 ; VOLID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADC 52 ADD LOADI STORE 20 ; EXTENTSIZE LOAD 12 ; AFILE LOADC 16 ADD LOADC 1 STOREI DROP LOAD 12 ; AFILE LOAD 16 ; MODE STOREI DROP LOAD 12 ; AFILE LOADC 56 ADD LOADC 4095 INC 1 LOADCP _MEM_ALLOC CALL LOADCP _CHECK_ALLOC CALL STOREI DROP LOAD 12 ; AFILE LOADC 60 ADD LOADC 0 STOREI DROP LOAD 12 ; AFILE LOADC 64 ADD LOADC 4095 INC 1 STOREI DROP LOAD 12 ; AFILE LOADC 68 ADD LOADC 0 STOREI DROP LOAD 12 ; AFILE LOADC 52 ADD LOADC 0 STOREI DROP LOAD 12 ; AFILE INC 4 LOADC 0 STOREI DROP LOAD 12 ; AFILE INC 8 LOADC 0 STOREI DROP LOAD 12 ; AFILE LOADC 20 ADD LOAD 0 ; VOLID STOREI DROP LOAD 12 ; AFILE LOADC 24 ADD LOAD 4 ; SLOTNO STOREI DROP LOAD 12 ; AFILE LOADC 28 ADD LOADC 0 STOREI DROP LOAD 12 ; AFILE LOADC 32 ADD LOADC 1 STOREI DROP LOAD 12 ; AFILE LOADC 36 ADD LOAD 8 ; DIRSLOT LOADC 44 ADD LOADI STOREI DROP LOAD 12 ; AFILE LOADC 40 ADD LOAD 8 ; DIRSLOT LOADC 44 ADD LOADI LOAD 20 ; EXTENTSIZE LOADCP _DIV CALL LOADC 1 ADD STOREI DROP LOAD 12 ; AFILE LOADC 44 ADD LOADC 8 STOREI DROP LOAD 12 ; AFILE LOADC 48 ADD LOAD 20 ; EXTENTSIZE LOADC 512 LOADCP _DIV CALL STOREI DROP LOAD 12 ; AFILE LOADC 0 LOADCP SEEK CALL FPADJ 24 RET .CPOOL UPDATEDIRSLOT: FPADJ -72 STORE 0 ; AFILE ; DIRS LOADREG FP INC 4 LOADC 64 LOADCP _CLEARMEM CALL LOAD 0 ; AFILE LOADC 20 ADD LOADI LOAD 0 ; AFILE LOADC 24 ADD LOADI ; DIRS LOADREG FP INC 4 ; ERROR LOADREG FP LOADC 68 ADD LOADCP GETDIRSLOT CALL LOAD 68 ; ERROR LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE142_STDLIB LOAD 0 ; AFILE LOADC 36 ADD LOADI STORE 48 ; DIRS LOADCP GETCURTIMESTAMP CALL STORE 56 ; DIRS LOAD 0 ; AFILE LOADC 20 ADD LOADI LOAD 0 ; AFILE LOADC 24 ADD LOADI ; DIRS LOADREG FP INC 4 ; ERROR LOADREG FP LOADC 68 ADD LOADCP PUTDIRSLOT CALL _IF_ELSE142_STDLIB: _IF_END142_STDLIB: LOAD 0 ; AFILE LOAD 68 ; ERROR LOADCP FILEERROR CALL FPADJ 72 RET CLOSE: FPADJ -4 STORE 0 ; AFILE LOAD 0 ; AFILE LOADC 16 ADD LOADI LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE143_STDLIB LOAD 0 ; AFILE LOADC 68 ADD LOADI .LCBRANCHZ _IF_ELSE144_STDLIB LOAD 0 ; AFILE LOADCP FLUSHFILE CALL _IF_ELSE144_STDLIB: _IF_END144_STDLIB: LOAD 0 ; AFILE INC 4 LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE145_STDLIB LOAD 0 ; AFILE LOADC 5 LOADCP FILEERROR CALL LOAD 0 ; AFILE LOADC 56 ADD LOADI LOADCP _MEM_FREE CALL LOAD 0 ; AFILE LOADC 56 ADD LOADC 0 STOREI DROP LOAD 0 ; AFILE LOADC 52 ADD LOADI .LCBRANCHZ _IF_ELSE146_STDLIB LOAD 0 ; AFILE LOADCP UPDATEDIRSLOT CALL _IF_ELSE146_STDLIB: _IF_END146_STDLIB: _IF_ELSE145_STDLIB: _IF_END145_STDLIB: LOAD 0 ; AFILE LOADC 20 ADD LOADI LOADCP CLOSEVOLUMEID CALL _IF_ELSE143_STDLIB: _IF_END143_STDLIB: FPADJ 4 RET DELETEFILE: FPADJ -16 STORE 12 ; ERROR STORE 8 ; DIRSLOT STORE 4 ; SLOTNO STORE 0 ; VOLID LOAD 8 ; DIRSLOT LOADC 40 ADD LOAD 8 ; DIRSLOT LOADC 40 ADD LOADI LOADC 0 LOADC 4 LOADCP _SETBIT CALL NOT AND LOADC 0 LOADC 2 LOADCP _SETBIT CALL OR STOREI DROP LOAD 0 ; VOLID LOAD 4 ; SLOTNO LOAD 8 ; DIRSLOT LOAD 12 ; ERROR LOADCP PUTDIRSLOT CALL FPADJ 16 RET CREATEFILE: FPADJ -144 STORE 56 ; ERROR STORE 52 ; DIRSLOT STORE 48 ; SLOTNO STORE 44 ; OVERWRITE ; NAME LOADREG FP INC 4 SWAP LOADC 32 LOADCP _INITSTRINGFROM CALL STORE 0 ; VOLID ; OLDDIRSLOT LOADREG FP LOADC 72 ADD LOADC 64 LOADCP _CLEARMEM CALL LOADC 0 STORE 60 ; GENERATION LOAD 0 ; VOLID ; NAME LOADREG FP INC 4 ; OLDDIRSLOT LOADREG FP LOADC 72 ADD LOAD 56 ; ERROR LOADCP FINDFILE CALL STORE 68 ; OLDSLOTNO LOAD 44 ; OVERWRITE LOADC 0 CMP EQ LOAD 68 ; OLDSLOTNO LOADC 0 CMP GT AND .LCBRANCHZ _IF_ELSE147_STDLIB LOAD 56 ; ERROR LOADC 4 STOREI DROP LOAD 48 ; SLOTNO LOADC -1 STOREI DROP .LBRANCH _IF_END147_STDLIB _IF_ELSE147_STDLIB: LOADCP GETCURTIMESTAMP CALL STORE 140 ; NOWTS LOAD 44 ; OVERWRITE LOAD 68 ; OLDSLOTNO LOADC 0 CMP GT AND .LCBRANCHZ _IF_ELSE148_STDLIB LOAD 128 ; OLDDIRSLOT LOADC 1 ADD STORE 60 ; GENERATION LOAD 120 ; OLDDIRSLOT STORE 136 ; CREATETS .LBRANCH _IF_END148_STDLIB .CPOOL _IF_ELSE148_STDLIB: LOAD 140 ; NOWTS STORE 136 ; CREATETS _IF_END148_STDLIB: LOAD 48 ; SLOTNO LOAD 0 ; VOLID LOAD 56 ; ERROR LOADCP FINDDIRSLOT CALL STOREI DROP LOAD 48 ; SLOTNO LOADI LOADC 0 CMP LE .LCBRANCHZ _IF_ELSE149_STDLIB LOAD 56 ; ERROR LOADC 7 STOREI DROP .LBRANCH _IF_END149_STDLIB _IF_ELSE149_STDLIB: LOAD 48 ; SLOTNO LOADI LOADC 0 CMP GT LOAD 56 ; ERROR LOADI LOADC 0 CMP EQ AND .LCBRANCHZ _IF_ELSE150_STDLIB LOAD 0 ; VOLID LOAD 48 ; SLOTNO LOADI LOAD 52 ; DIRSLOT LOAD 56 ; ERROR LOADCP GETDIRSLOT CALL LOAD 52 ; DIRSLOT ; NAME LOADREG FP INC 4 LOADC 32 LOADCP _INITSTRINGFROM CALL LOAD 52 ; DIRSLOT LOADC 40 ADD LOADC 0 LOADC 4 LOADCP _SETBIT CALL STOREI DROP LOAD 52 ; DIRSLOT LOADC 44 ADD LOADC 0 STOREI DROP LOAD 52 ; DIRSLOT LOADC 56 ADD LOAD 60 ; GENERATION STOREI DROP LOAD 52 ; DIRSLOT LOADC 60 ADD LOADC 0 STOREI DROP LOAD 52 ; DIRSLOT LOADC 52 ADD LOAD 140 ; NOWTS STOREI DROP LOAD 52 ; DIRSLOT LOADC 48 ADD LOAD 136 ; CREATETS STOREI DROP LOAD 0 ; VOLID LOAD 48 ; SLOTNO LOADI LOAD 52 ; DIRSLOT LOAD 56 ; ERROR LOADCP PUTDIRSLOT CALL LOAD 44 ; OVERWRITE LOAD 68 ; OLDSLOTNO LOADC 0 CMP GT AND .LCBRANCHZ _IF_ELSE151_STDLIB LOAD 0 ; VOLID LOAD 68 ; OLDSLOTNO ; OLDDIRSLOT LOADREG FP LOADC 72 ADD LOAD 56 ; ERROR LOADCP DELETEFILE CALL _IF_ELSE151_STDLIB: _IF_END151_STDLIB: _IF_ELSE150_STDLIB: _IF_END150_STDLIB: _IF_END149_STDLIB: _IF_END147_STDLIB: FPADJ 144 RET INITDEVICES: LOADCP CARDCHANGED CALL .LCBRANCHZ _IF_ELSE152_STDLIB LOADCP DEVICESINITIALIZED ; DEVICESINITIALIZED LOADC 0 STOREI DROP _IF_ELSE152_STDLIB: _IF_END152_STDLIB: LOADCP DEVICESINITIALIZED ; DEVICESINITIALIZED LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE153_STDLIB LOADCP DEFAULTVOLUMEID ; DEFAULTVOLUMEID LOADC 0 STOREI DROP LOADCP INITSDCARD CALL LOADCP VOLUMECOUNT ; VOLUMECOUNT LOADC 0 STOREI DROP LOADC 0 LOADCP READPARTITIONS CALL LOADCP DEVICESINITIALIZED ; DEVICESINITIALIZED LOADC 1 STOREI DROP LOADCP DEFAULTVOLUME ; DEFAULTVOLUME LOADCP LENGTH CALL LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE154_STDLIB LOADCP DEFAULTVOLUMEID ; DEFAULTVOLUMEID LOADCP DEFAULTVOLUME ; DEFAULTVOLUME LOADCP FINDVOLUME CALL STOREI DROP _IF_ELSE154_STDLIB: _IF_END154_STDLIB: LOADCP DEFAULTVOLUMEID ; DEFAULTVOLUMEID LOADI LOADC 0 CMP EQ LOADCP VOLUMECOUNT ; VOLUMECOUNT LOADI LOADC 0 CMP GT AND .LCBRANCHZ _IF_ELSE155_STDLIB LOADCP DEFAULTVOLUMEID ; DEFAULTVOLUMEID LOADC 1 STOREI DROP _IF_ELSE155_STDLIB: _IF_END155_STDLIB: _IF_ELSE153_STDLIB: _IF_END153_STDLIB: RET READDIRNEXT: FPADJ -24 STORE 12 ; ERROR STORE 8 ; DIRSLOT STORE 4 ; INDEX STORE 0 ; VOLID LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADC 56 ADD LOADI LOADC 1 SUB STORE 16 ; LASTSLOT LOADC 0 STORE 20 ; FOUND _REPEAT_START11_STDLIB: LOAD 0 ; VOLID LOAD 4 ; INDEX LOADI LOAD 8 ; DIRSLOT LOAD 12 ; ERROR LOADCP GETDIRSLOT CALL LOAD 4 ; INDEX LOAD 4 ; INDEX LOADI LOADC 1 ADD STOREI DROP LOADC 4 LOAD 8 ; DIRSLOT LOADC 40 ADD LOADI LOADCP _TESTBIT CALL STORE 20 ; FOUND LOAD 20 ; FOUND LOADC 3 LOAD 8 ; DIRSLOT LOADC 40 ADD LOADI LOADCP _TESTBIT CALL OR LOAD 4 ; INDEX LOADI LOAD 16 ; LASTSLOT CMP EQ OR LOAD 12 ; ERROR LOADI LOADC 0 CMP NE OR .LCBRANCHZ _REPEAT_START11_STDLIB _REPEAT_END11_STDLIB: LOAD 20 ; FOUND LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE156_STDLIB LOAD 4 ; INDEX LOADC -1 STOREI DROP _IF_ELSE156_STDLIB: _IF_END156_STDLIB: FPADJ 24 RET .CPOOL READDIRFIRST: FPADJ -16 STORE 12 ; ERROR STORE 8 ; DIRSLOT STORE 4 ; INDEX STORE 0 ; VOLID LOADCP INITDEVICES CALL LOAD 4 ; INDEX LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 0 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADC 72 ADD LOADI STOREI DROP LOAD 0 ; VOLID LOAD 4 ; INDEX LOAD 8 ; DIRSLOT LOAD 12 ; ERROR LOADCP READDIRNEXT CALL FPADJ 16 RET CHARPOS: FPADJ -20 STORE 4 ; S STORE 0 ; SEARCHCHAR LOADC 0 STORE 8 ; CHARPOS LOADC 1 STORE 16 ; P LOAD 4 ; S DUP LOADI SWAP INC 8 _FOR_START15_STDLIB: OVER .LCBRANCHZ _FOR_END15_STDLIB DUP LOADI.S1.X2Y BSEL STORE 12 ; C LOAD 12 ; C LOAD 0 ; SEARCHCHAR CMP EQ .LCBRANCHZ _IF_ELSE157_STDLIB LOAD 16 ; P STORE 8 ; CHARPOS .LBRANCH _FOR_END15_STDLIB _IF_ELSE157_STDLIB: _IF_END157_STDLIB: LOAD 16 ; P LOADC 1 ADD STORE 16 ; P INC 1 SWAP DEC 1 SWAP .LBRANCH _FOR_START15_STDLIB _FOR_END15_STDLIB: DROP DROP LOAD 8 ; CHARPOS FPADJ 20 RET OPENVOLPATH: FPADJ -144 STORE 92 ; ERROR STORE 88 ; DIRS STORE 84 ; SLOTNO STORE 80 ; FNAME STORE 76 ; VOLID ; PATH LOADREG FP SWAP LOADC 68 LOADCP _INITSTRINGFROM CALL LOADC 32 ; VOLNAME LOADREG FP LOADC 104 ADD LOADCP _INITSTRINGF CALL LOADCP INITDEVICES CALL LOAD 84 ; SLOTNO LOADC 0 STOREI DROP LOAD 92 ; ERROR LOADC 0 STOREI DROP LOAD 76 ; VOLID LOADC 0 STOREI DROP ; PATH LOADREG FP LOADC 1 LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADC 35 CMP EQ .LCBRANCHZ _IF_ELSE158_STDLIB LOADC 58 ; PATH LOADREG FP LOADCP CHARPOS CALL STORE 100 ; SEPARATORPOS LOAD 100 ; SEPARATORPOS LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE159_STDLIB ; VOLNAME LOADREG FP LOADC 104 ADD ; PATH LOADREG FP LOADC 2 LOAD 100 ; SEPARATORPOS LOADC 2 SUB LOADC 80 LOADREG FP LOADC 88 SUB LOADCP _INITSTRINGF CALL LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP COPY CALL FPADJ 88 FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 LOAD 80 ; FNAME ; PATH LOADREG FP LOAD 100 ; SEPARATORPOS LOADC 1 ADD ; PATH LOADREG FP LOADCP LENGTH CALL LOAD 100 ; SEPARATORPOS SUB LOADC 80 LOADREG FP LOADC 88 SUB LOADCP _INITSTRINGF CALL LOADREG FP LOADC 88 SUB FPADJ -88 LOADCP COPY CALL FPADJ 88 FPADJ -88 LOADCP _COPYSTRING CALL FPADJ 88 LOAD 76 ; VOLID ; VOLNAME LOADREG FP LOADC 104 ADD LOADCP FINDVOLUME CALL STOREI DROP _IF_ELSE159_STDLIB: _IF_END159_STDLIB: .LBRANCH _IF_END158_STDLIB _IF_ELSE158_STDLIB: LOAD 76 ; VOLID LOADCP DEFAULTVOLUMEID ; DEFAULTVOLUMEID LOADI STOREI DROP LOAD 80 ; FNAME ; PATH LOADREG FP LOADCP _COPYSTRING CALL _IF_END158_STDLIB: LOAD 76 ; VOLID LOADI LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE160_STDLIB LOAD 76 ; VOLID LOADI LOADCP OPENVOLUMEID CALL LOAD 84 ; SLOTNO LOAD 76 ; VOLID LOADI LOAD 80 ; FNAME LOAD 88 ; DIRS LOAD 92 ; ERROR LOADCP FINDFILE CALL STOREI DROP .LBRANCH _IF_END160_STDLIB .CPOOL _IF_ELSE160_STDLIB: LOAD 92 ; ERROR LOADC 2 STOREI DROP _IF_END160_STDLIB: FPADJ 144 RET RENAME: FPADJ -264 STORE 80 ; ERROR ; NEWNAME LOADREG FP LOADC 40 ADD SWAP LOADC 32 LOADCP _INITSTRINGFROM CALL ; OLDNAME LOADREG FP SWAP LOADC 32 LOADCP _INITSTRINGFROM CALL ; OLDDIRS LOADREG FP LOADC 84 ADD LOADC 64 LOADCP _CLEARMEM CALL ; NEWDIRS LOADREG FP LOADC 148 ADD LOADC 64 LOADCP _CLEARMEM CALL LOADC 32 ; FNAME LOADREG FP LOADC 224 ADD LOADCP _INITSTRINGF CALL LOADC 0 STORE 212 ; VOLID ; NEWNAME LOADREG FP LOADC 40 ADD LOADC 1 LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADCP _C_A_8_STDLIB LOADC 2 LOADCP _ISINTINARRAY CALL .LCBRANCHZ _IF_ELSE161_STDLIB LOAD 80 ; ERROR LOADC 3 STOREI DROP .LBRANCH _IF_END161_STDLIB _IF_ELSE161_STDLIB: ; OLDNAME LOADREG FP ; VOLID LOADREG FP LOADC 212 ADD ; FNAME LOADREG FP LOADC 224 ADD ; OLDSLOTNO LOADREG FP LOADC 216 ADD ; OLDDIRS LOADREG FP LOADC 84 ADD LOAD 80 ; ERROR LOADCP OPENVOLPATH CALL LOAD 80 ; ERROR LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE162_STDLIB LOAD 212 ; VOLID ; NEWNAME LOADREG FP LOADC 40 ADD ; NEWDIRS LOADREG FP LOADC 148 ADD LOAD 80 ; ERROR LOADCP FINDFILE CALL STORE 220 ; NEWSLOTNO LOAD 80 ; ERROR LOADI LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE163_STDLIB LOAD 80 ; ERROR LOADC 0 STOREI DROP ; OLDDIRS LOADREG FP LOADC 84 ADD ; NEWNAME LOADREG FP LOADC 40 ADD LOADC 32 LOADCP _INITSTRINGFROM CALL LOAD 212 ; VOLID LOAD 216 ; OLDSLOTNO ; OLDDIRS LOADREG FP LOADC 84 ADD LOAD 80 ; ERROR LOADCP PUTDIRSLOT CALL .LBRANCH _IF_END163_STDLIB _IF_ELSE163_STDLIB: LOAD 80 ; ERROR LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE164_STDLIB LOAD 80 ; ERROR LOADC 4 STOREI DROP _IF_ELSE164_STDLIB: _IF_END164_STDLIB: _IF_END163_STDLIB: _IF_ELSE162_STDLIB: _IF_END162_STDLIB: LOAD 212 ; VOLID LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE165_STDLIB LOAD 212 ; VOLID LOADCP CLOSEVOLUMEID CALL _IF_ELSE165_STDLIB: _IF_END165_STDLIB: _IF_END161_STDLIB: FPADJ 264 RET ERASE: FPADJ -192 STORE 76 ; ERROR ; NAME LOADREG FP SWAP LOADC 68 LOADCP _INITSTRINGFROM CALL ; DIRS LOADREG FP LOADC 80 ADD LOADC 64 LOADCP _CLEARMEM CALL LOADC 32 ; FNAME LOADREG FP LOADC 152 ADD LOADCP _INITSTRINGF CALL LOAD 76 ; ERROR LOADC 0 STOREI DROP ; NAME LOADREG FP LOADC 1 LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADC 37 CMP EQ .LCBRANCHZ _IF_ELSE166_STDLIB LOAD 76 ; ERROR LOADC 3 STOREI DROP .LBRANCH _IF_END166_STDLIB _IF_ELSE166_STDLIB: ; NAME LOADREG FP ; VOLID LOADREG FP LOADC 144 ADD ; FNAME LOADREG FP LOADC 152 ADD ; SLOTNO LOADREG FP LOADC 148 ADD ; DIRS LOADREG FP LOADC 80 ADD LOAD 76 ; ERROR LOADCP OPENVOLPATH CALL LOAD 76 ; ERROR LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE167_STDLIB LOADC 6 LOAD 120 ; DIRS LOADCP _TESTBIT CALL .LCBRANCHZ _IF_ELSE168_STDLIB LOAD 76 ; ERROR LOADC 8 STOREI DROP .LBRANCH _IF_END168_STDLIB .CPOOL _IF_ELSE168_STDLIB: LOAD 144 ; VOLID LOAD 148 ; SLOTNO ; DIRS LOADREG FP LOADC 80 ADD LOAD 76 ; ERROR LOADCP DELETEFILE CALL _IF_END168_STDLIB: _IF_ELSE167_STDLIB: _IF_END167_STDLIB: LOAD 144 ; VOLID LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE169_STDLIB LOAD 144 ; VOLID LOADCP CLOSEVOLUMEID CALL _IF_ELSE169_STDLIB: _IF_END169_STDLIB: _IF_END166_STDLIB: FPADJ 192 RET WRITECHANNEL: FPADJ -8 STORE 4 ; ACHAR STORE 0 ; F LOAD 4 ; ACHAR LOADCP CONOUT CALL FPADJ 8 RET WRITECHANNELW: FPADJ -8 STORE 4 ; WORD STORE 0 ; F LOAD 4 ; WORD LOADCP CONOUTW CALL FPADJ 8 RET ECHOCHANNEL: FPADJ -8 STORE 4 ; ACHAR STORE 0 ; F LOAD 0 ; F LOADC 36 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE170_STDLIB LOAD 0 ; F LOADC 40 ADD LOADI .LCBRANCHZ _IF_ELSE171_STDLIB LOAD 0 ; F LOAD 4 ; ACHAR LOADCP WRITECHANNEL CALL .LBRANCH _IF_END171_STDLIB _IF_ELSE171_STDLIB: LOAD 4 ; ACHAR LOADC 8 CMP NE LOAD 4 ; ACHAR LOADC 9 CMP NE AND LOAD 4 ; ACHAR LOADC 4 CMP NE AND .LCBRANCHZ _IF_ELSE172_STDLIB LOAD 0 ; F LOAD 4 ; ACHAR LOADCP WRITECHANNEL CALL LOAD 4 ; ACHAR LOADC 13 CMP EQ .LCBRANCHZ _IF_ELSE173_STDLIB LOAD 0 ; F LOADC 10 LOADCP WRITECHANNEL CALL _IF_ELSE173_STDLIB: _IF_END173_STDLIB: _IF_ELSE172_STDLIB: _IF_END172_STDLIB: _IF_END171_STDLIB: _IF_ELSE170_STDLIB: _IF_END170_STDLIB: FPADJ 8 RET READCHANNEL: FPADJ -12 STORE 0 ; F LOAD 0 ; F LOADC 28 ADD LOADI LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE174_STDLIB LOAD 0 ; F LOADC 24 ADD LOADI STORE 8 ; ACHAR LOAD 0 ; F LOADC 28 ADD LOADC 0 STOREI DROP .LBRANCH _IF_END174_STDLIB _IF_ELSE174_STDLIB: LOADCP CONIN CALL STORE 8 ; ACHAR LOAD 0 ; F LOAD 8 ; ACHAR LOADCP ECHOCHANNEL CALL _IF_END174_STDLIB: LOAD 0 ; F LOADC 32 ADD LOAD 8 ; ACHAR LOADC 4 CMP EQ STOREI DROP LOAD 0 ; F LOADC 44 ADD LOADI LOADC 0 CMP EQ LOAD 8 ; ACHAR LOADC 3 CMP EQ AND .LCBRANCHZ _IF_ELSE175_STDLIB LOAD 0 ; F LOADC 11 LOADCP FILEERROR CALL LOAD 0 ; F LOADCP CHECKERROR CALL _IF_ELSE175_STDLIB: _IF_END175_STDLIB: LOAD 8 ; ACHAR STORE 4 ; READCHANNEL LOAD 4 ; READCHANNEL FPADJ 12 RET FREADCHAR: FPADJ -12 STORE 0 ; F LOAD 0 ; F LOADC 16 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE176_STDLIB LOAD 0 ; F LOADCP READCHANNEL CALL STORE 4 ; FREADCHAR .LBRANCH _IF_END176_STDLIB _IF_ELSE176_STDLIB: LOAD 0 ; F LOADCP READFSCHAR CALL STORE 4 ; FREADCHAR _IF_END176_STDLIB: LOAD 0 ; F INC 12 LOAD 4 ; FREADCHAR LOADC 13 CMP EQ LOAD 4 ; FREADCHAR LOADC 10 CMP EQ OR STOREI DROP LOAD 4 ; FREADCHAR FPADJ 12 RET FWRITECHAR: FPADJ -8 STORE 4 ; F STORE 0 ; ACHAR LOAD 4 ; F LOADC 16 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE177_STDLIB LOAD 4 ; F LOAD 0 ; ACHAR LOADCP WRITECHANNEL CALL .LBRANCH _IF_END177_STDLIB .CPOOL _IF_ELSE177_STDLIB: LOAD 4 ; F LOAD 0 ; ACHAR LOADCP WRITEFSCHAR CALL _IF_END177_STDLIB: FPADJ 8 RET FWRITESTRING: FPADJ -24 STORE 8 ; W STORE 4 ; F STORE 0 ; ASTRING LOAD 8 ; W LOAD 0 ; ASTRING LOADCP LENGTH CALL SUB STORE 16 ; MISSING LOAD 16 ; MISSING LOADC 0 CMP GT .LCBRANCHZ _IF_ELSE178_STDLIB LOADC 1 STORE 20 ; I LOAD 16 ; MISSING _FOR_START16_STDLIB: LOAD 20 ; I OVER CMP GT .LCBRANCH _FOR_END16_STDLIB LOADC 32 LOAD 4 ; F LOADCP FWRITECHAR CALL LOAD 20 ; I INC 1 STORE 20 ; I .LBRANCH _FOR_START16_STDLIB _FOR_END16_STDLIB: DROP _IF_ELSE178_STDLIB: _IF_END178_STDLIB: LOAD 4 ; F LOADC 16 ADD LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE179_STDLIB LOAD 0 ; ASTRING DUP LOADI SWAP INC 8 _FOR_START17_STDLIB: OVER .LCBRANCHZ _FOR_END17_STDLIB DUP LOADI.S1.X2Y BSEL STORE 12 ; CH LOAD 4 ; F LOAD 12 ; CH LOADCP WRITECHANNEL CALL INC 1 SWAP DEC 1 SWAP .LBRANCH _FOR_START17_STDLIB _FOR_END17_STDLIB: DROP DROP .LBRANCH _IF_END179_STDLIB _IF_ELSE179_STDLIB: LOAD 4 ; F LOAD 0 ; ASTRING LOADCP WRITEFSSTRING CALL _IF_END179_STDLIB: FPADJ 24 RET FWRITEINT: FPADJ -32 STORE 8 ; W STORE 4 ; F STORE 0 ; V LOADC 12 ; RBUF LOADREG FP INC 12 LOADCP _INITSTRINGF CALL LOAD 0 ; V LOADC 0 ; RBUF LOADREG FP INC 12 LOADCP INTSTR CALL ; RBUF LOADREG FP INC 12 LOAD 4 ; F LOAD 8 ; W LOADCP FWRITESTRING CALL FPADJ 32 RET FWRITEREAL: FPADJ -72 STORE 12 ; D STORE 8 ; W STORE 4 ; F STORE 0 ; V LOADC 48 ; RBUF LOADREG FP LOADC 16 ADD LOADCP _INITSTRINGF CALL LOAD 0 ; V LOAD 8 ; W LOAD 12 ; D ; RBUF LOADREG FP LOADC 16 ADD LOADCP REALSTR CALL ; RBUF LOADREG FP LOADC 16 ADD LOAD 4 ; F LOAD 8 ; W LOADCP FWRITESTRING CALL FPADJ 72 RET FWRITEWORDS: FPADJ -12 STORE 8 ; SIZE STORE 4 ; F STORE 0 ; WORDS LOAD 4 ; F LOADC 16 ADD LOADI LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE180_STDLIB LOAD 4 ; F LOAD 0 ; WORDS LOAD 8 ; SIZE LOADCP WRITEFS CALL .LBRANCH _IF_END180_STDLIB _IF_ELSE180_STDLIB: LOAD 4 ; F LOAD 0 ; WORDS LOAD 8 ; SIZE LOADC 2 LOADCP _SHRM CALL LOADCP WRITECHANWORDS CALL _IF_END180_STDLIB: FPADJ 12 RET FREADWORDS: FPADJ -20 STORE 8 ; SIZE STORE 4 ; F STORE 0 ; WORDS LOAD 4 ; F LOADC 16 ADD LOADI LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE181_STDLIB LOAD 4 ; F LOAD 0 ; WORDS LOAD 8 ; SIZE LOADCP READFS CALL .LBRANCH _IF_END181_STDLIB _IF_ELSE181_STDLIB: LOAD 4 ; F LOAD 0 ; WORDS LOAD 8 ; SIZE LOADC 2 LOADCP _SHRM CALL LOADCP READCHANWORDS CALL _IF_END181_STDLIB: FPADJ 20 RET PUSHBACK: FPADJ -8 STORE 4 ; ACHAR STORE 0 ; AFILE LOAD 0 ; AFILE LOADC 16 ADD LOADI LOADC 1 CMP EQ .LCBRANCHZ _IF_ELSE182_STDLIB LOAD 0 ; AFILE LOAD 0 ; AFILE LOADC 28 ADD LOADI LOADC 1 SUB LOADCP SEEK CALL .LBRANCH _IF_END182_STDLIB .CPOOL _IF_ELSE182_STDLIB: LOAD 0 ; AFILE LOADC 24 ADD LOAD 4 ; ACHAR STOREI DROP LOAD 0 ; AFILE LOADC 28 ADD LOADC 1 STOREI DROP _IF_END182_STDLIB: FPADJ 8 RET OPENCHANNEL: FPADJ -52 STORE 48 ; ERROR STORE 44 ; MODE STORE 40 ; F ; NAME LOADREG FP SWAP LOADC 32 LOADCP _INITSTRINGFROM CALL LOAD 40 ; F LOADC 16 ADD LOADC 0 STOREI DROP LOAD 40 ; F LOAD 44 ; MODE STOREI DROP LOAD 40 ; F LOADC 28 ADD LOADC 0 STOREI DROP LOAD 40 ; F LOADC 32 ADD LOADC 0 STOREI DROP LOAD 40 ; F LOADC 36 ADD LOADC 0 STOREI DROP LOAD 40 ; F LOADC 40 ADD LOADC 0 STOREI DROP LOAD 40 ; F LOADC 44 ADD LOADC 0 STOREI DROP ; NAME LOADREG FP LOADCP _C_S_10_STDLIB LOADCP _CMPSTRING CALL .LCBRANCHZ _IF_ELSE183_STDLIB LOAD 40 ; F LOADC 20 ADD LOADC 0 STOREI DROP .LBRANCH _IF_END183_STDLIB _IF_ELSE183_STDLIB: ; NAME LOADREG FP LOADCP _C_S_11_STDLIB LOADCP _CMPSTRING CALL .LCBRANCHZ _IF_ELSE184_STDLIB LOAD 40 ; F LOADC 20 ADD LOADC 0 STOREI DROP LOAD 40 ; F LOADC 36 ADD LOADC 1 STOREI DROP LOAD 40 ; F LOADC 40 ADD LOADC 1 STOREI DROP .LBRANCH _IF_END184_STDLIB _IF_ELSE184_STDLIB: ; NAME LOADREG FP LOADCP _C_S_12_STDLIB LOADCP _CMPSTRING CALL .LCBRANCHZ _IF_ELSE185_STDLIB LOAD 40 ; F LOADC 20 ADD LOADC 0 STOREI DROP LOAD 40 ; F LOADC 36 ADD LOADC 1 STOREI DROP LOAD 40 ; F LOADC 40 ADD LOADC 1 STOREI DROP LOAD 40 ; F LOADC 44 ADD LOADC 1 STOREI DROP .LBRANCH _IF_END185_STDLIB _IF_ELSE185_STDLIB: LOAD 48 ; ERROR LOADC 1 STOREI DROP _IF_END185_STDLIB: _IF_END184_STDLIB: _IF_END183_STDLIB: FPADJ 52 RET OPEN: FPADJ -212 STORE 80 ; MODE ; NAME LOADREG FP INC 4 SWAP LOADC 68 LOADCP _INITSTRINGFROM CALL STORE 0 ; F ; DIRS LOADREG FP LOADC 88 ADD LOADC 64 LOADCP _CLEARMEM CALL LOADC 32 ; FNAME LOADREG FP LOADC 172 ADD LOADCP _INITSTRINGF CALL ; NAME LOADREG FP INC 4 LOADC 1 LOADCP _INDEXSTRING CALL LOADI.S1.X2Y BSEL LOADC 37 CMP EQ .LCBRANCHZ _IF_ELSE186_STDLIB ; NAME LOADREG FP INC 4 LOAD 0 ; F LOAD 80 ; MODE ; ERROR LOADREG FP LOADC 84 ADD LOADCP OPENCHANNEL CALL .LBRANCH _IF_END186_STDLIB _IF_ELSE186_STDLIB: LOADC 0 STORE 156 ; VOLID LOAD 80 ; MODE LOADC 1 CMP EQ STORE 160 ; EXCLUSIVE LOAD 80 ; MODE LOADC 3 CMP EQ STORE 164 ; OVERWRITE LOAD 80 ; MODE LOADC 1 CMP EQ LOAD 80 ; MODE LOADC 3 CMP EQ OR LOAD 80 ; MODE LOADC 4 CMP EQ OR STORE 168 ; CREATEMISSING ; NAME LOADREG FP INC 4 ; VOLID LOADREG FP LOADC 156 ADD ; FNAME LOADREG FP LOADC 172 ADD ; SLOTNO LOADREG FP LOADC 152 ADD ; DIRS LOADREG FP LOADC 88 ADD ; ERROR LOADREG FP LOADC 84 ADD LOADCP OPENVOLPATH CALL LOAD 84 ; ERROR LOADC 0 CMP EQ LOAD 160 ; EXCLUSIVE AND .LCBRANCHZ _IF_ELSE187_STDLIB LOAD 0 ; F LOADC 4 LOADCP FILEERROR CALL LOADC 4 STORE 84 ; ERROR _IF_ELSE187_STDLIB: _IF_END187_STDLIB: LOAD 84 ; ERROR LOADC 1 CMP EQ LOAD 168 ; CREATEMISSING AND LOAD 84 ; ERROR LOADC 0 CMP EQ LOAD 164 ; OVERWRITE AND OR .LCBRANCHZ _IF_ELSE188_STDLIB LOAD 156 ; VOLID ; FNAME LOADREG FP LOADC 172 ADD LOAD 164 ; OVERWRITE ; SLOTNO LOADREG FP LOADC 152 ADD ; DIRS LOADREG FP LOADC 88 ADD ; ERROR LOADREG FP LOADC 84 ADD LOADCP CREATEFILE CALL _IF_ELSE188_STDLIB: _IF_END188_STDLIB: LOAD 84 ; ERROR LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE189_STDLIB LOAD 156 ; VOLID LOAD 152 ; SLOTNO ; DIRS LOADREG FP LOADC 88 ADD LOAD 0 ; F LOAD 80 ; MODE LOADCP OPENFILE CALL LOAD 80 ; MODE LOADC 4 CMP EQ .LCBRANCHZ _IF_ELSE190_STDLIB LOAD 0 ; F LOAD 0 ; F LOADC 36 ADD LOADI LOADCP SEEK CALL _IF_ELSE190_STDLIB: _IF_END190_STDLIB: _IF_ELSE189_STDLIB: _IF_END189_STDLIB: LOAD 84 ; ERROR LOADC 0 CMP NE LOAD 156 ; VOLID LOADC 0 CMP GT AND .LCBRANCHZ _IF_ELSE191_STDLIB LOAD 156 ; VOLID LOADCP CLOSEVOLUMEID CALL _IF_ELSE191_STDLIB: _IF_END191_STDLIB: LOAD 84 ; ERROR LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE192_STDLIB LOAD 0 ; F LOAD 84 ; ERROR LOADCP FILEERROR CALL _IF_ELSE192_STDLIB: _IF_END192_STDLIB: _IF_END186_STDLIB: FPADJ 212 RET .CPOOL NOECHO: FPADJ -12 STORE 8 ; OLD STORE 4 ; NOECHO STORE 0 ; F LOAD 0 ; F LOADC 16 ADD LOADI LOADC 0 CMP NE .LCBRANCHZ _IF_ELSE193_STDLIB LOAD 0 ; F LOADC 9 LOADCP FILEERROR CALL .LBRANCH _IF_END193_STDLIB _IF_ELSE193_STDLIB: LOAD 8 ; OLD LOAD 0 ; F LOADC 36 ADD LOADI STOREI DROP LOAD 0 ; F LOADC 36 ADD LOAD 4 ; NOECHO STOREI DROP _IF_END193_STDLIB: FPADJ 12 RET RANDOM: FPADJ -8 LOADCP RANDOM_STATE ; RANDOM_STATE LOADI STORE 4 ; X LOAD 4 ; X LOAD 4 ; X LOADC 13 LOADCP _SHLM CALL XOR STORE 4 ; X LOAD 4 ; X LOAD 4 ; X LOADC 17 LOADCP _SHRM CALL XOR STORE 4 ; X LOAD 4 ; X LOAD 4 ; X LOADC 5 LOADCP _SHLM CALL XOR STORE 4 ; X LOADCP RANDOM_STATE ; RANDOM_STATE LOAD 4 ; X STOREI DROP LOAD 4 ; X LOADC 0 CMP LT .LCBRANCHZ _IF_ELSE194_STDLIB LOAD 4 ; X LOADCP ABS CALL STORE 4 ; X _IF_ELSE194_STDLIB: _IF_END194_STDLIB: LOAD 4 ; X STORE 0 ; RANDOM LOAD 0 ; RANDOM FPADJ 8 RET RANDOMIZE: LOADCP RANDOM_STATE ; RANDOM_STATE LOADCP GETTICKS CALL LOADCP -1342256386 XOR STOREI DROP RET CLRSCR: LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_13_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL DROP LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_14_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL DROP RET CLREOL: LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_15_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL DROP RET CRTINIT: LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADC 99 OVER LOADCP FWRITECHAR CALL DROP RET GOTOXY: FPADJ -8 STORE 4 ; Y STORE 0 ; X LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADC 91 OVER LOADCP FWRITECHAR CALL LOAD 4 ; Y OVER LOADC 0 LOADCP FWRITEINT CALL LOADC 59 OVER LOADCP FWRITECHAR CALL LOAD 0 ; X OVER LOADC 0 LOADCP FWRITEINT CALL LOADC 72 OVER LOADCP FWRITECHAR CALL DROP FPADJ 8 RET INSLINE: LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_16_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL DROP RET DELLINE: LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_17_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL DROP RET GETTERMSIZE: FPADJ -16 STORE 4 ; MAXY STORE 0 ; MAXX ; X LOADREG FP INC 8 ; Y LOADREG FP INC 12 LOADCP GETCURSORPOS CALL LOADCP 9999 LOADCP 9999 LOADCP GOTOXY CALL LOAD 0 ; MAXX LOAD 4 ; MAXY LOADCP GETCURSORPOS CALL LOAD 8 ; X LOAD 12 ; Y LOADCP GOTOXY CALL FPADJ 16 RET .CPOOL TEXTCOLOR: FPADJ -4 STORE 0 ; COL LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_18_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL LOAD 0 ; COL OVER LOADC 0 LOADCP FWRITEINT CALL LOADC 109 OVER LOADCP FWRITECHAR CALL DROP FPADJ 4 RET TEXTBACKGROUND: FPADJ -4 STORE 0 ; BGCOL LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_19_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL LOAD 0 ; BGCOL OVER LOADC 0 LOADCP FWRITEINT CALL LOADC 109 OVER LOADCP FWRITECHAR CALL DROP FPADJ 4 RET TEXTDEFAULT: LOADC 27 LOADCP OUTPUT DUP LOADCP CHECKERROR CALL SWAP OVER LOADCP FWRITECHAR CALL LOADCP _C_S_20_STDLIB OVER LOADC 0 LOADCP FWRITESTRING CALL DROP RET PEXEC: FPADJ -216 STORE 84 ; ERROR STORE 80 ; ARGCOUNT STORE 76 ; ARGS ; PRGFILE LOADREG FP SWAP LOADC 68 LOADCP _INITSTRINGFROM CALL LOADC 32 ; FNAME LOADREG FP LOADC 92 ADD LOADCP _INITSTRINGF CALL ; DIRSLOT LOADREG FP LOADC 132 ADD LOADC 64 LOADCP _CLEARMEM CALL LOAD 80 ; ARGCOUNT LOADC 7 CMP GE LOAD 80 ; ARGCOUNT LOADC 0 CMP LT OR .LCBRANCHZ _IF_ELSE195_STDLIB LOAD 84 ; ERROR LOADC 9 STOREI DROP .LBRANCH _IF_END195_STDLIB _IF_ELSE195_STDLIB: ; PRGFILE LOADREG FP ; VOLID LOADREG FP LOADC 88 ADD ; FNAME LOADREG FP LOADC 92 ADD ; SLOTNO LOADREG FP LOADC 196 ADD ; DIRSLOT LOADREG FP LOADC 132 ADD LOAD 84 ; ERROR LOADCP OPENVOLPATH CALL LOAD 84 ; ERROR LOADI LOADC 0 CMP EQ .LCBRANCHZ _IF_ELSE196_STDLIB LOADCP VOLUMETABLE ; VOLUMETABLE LOAD 88 ; VOLID DEC 1 DUP LOADC 32 LOADCP _BOUNDSCHECK CALL LOADC 96 LOADCP _MULU CALL ADD LOADREG FP DEC 4 SWAP STOREI DROP LOADREG FP DEC 4 LOADI LOADC 64 ADD LOADI STORE 212 ; DEVID LOAD 196 ; SLOTNO LOADREG FP DEC 4 LOADI LOADC 52 ADD LOADI FPADJ -4 LOADCP _MUL CALL FPADJ 4 LOADC 512 FPADJ -4 LOADCP _DIV CALL FPADJ 4 STORE 204 ; STARTBLOCK LOAD 88 ; VOLID LOAD 204 ; STARTBLOCK LOADCP GETPHYSBLOCKNO CALL STORE 208 ; PHYSBLOCK LOAD 88 ; VOLID LOADCP CLOSEVOLUMEID CALL LOADCP PARGS ; PARGS LOADC 0 DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD ; PRGFILE LOADREG FP LOADC 80 LOADCP _INITSTRINGFROM CALL LOADC 1 STORE 200 ; I LOAD 80 ; ARGCOUNT _FOR_START18_STDLIB: LOAD 200 ; I OVER CMP GT .LCBRANCH _FOR_END18_STDLIB LOADCP PARGS ; PARGS LOAD 200 ; I DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD LOAD 76 ; ARGS LOAD 200 ; I LOADC 1 SUB DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD LOADC 80 LOADCP _INITSTRINGFROM CALL LOAD 200 ; I INC 1 STORE 200 ; I .LBRANCH _FOR_START18_STDLIB .CPOOL _FOR_END18_STDLIB: DROP LOAD 80 ; ARGCOUNT LOADC 1 ADD STORE 200 ; I LOADC 7 _FOR_START19_STDLIB: LOAD 200 ; I OVER CMP GT .LCBRANCH _FOR_END19_STDLIB LOADCP PARGS ; PARGS LOAD 200 ; I DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD LOADCP _C_S_3_STDLIB LOADC 80 LOADCP _INITSTRINGFROM CALL LOAD 200 ; I INC 1 STORE 200 ; I .LBRANCH _FOR_START19_STDLIB _FOR_END19_STDLIB: DROP LOADCP PARGCOUNT ; PARGCOUNT LOAD 80 ; ARGCOUNT STOREI DROP LOAD 212 ; DEVID LOAD 208 ; PHYSBLOCK LOAD 176 ; DIRSLOT LOADCP CORELOAD CALL _IF_ELSE196_STDLIB: _IF_END196_STDLIB: _IF_END195_STDLIB: FPADJ 216 RET PEXEC2: LOADREG FP LOADC 872 SUB STOREREG FP STORE 164 ; ERROR ; ARG1 LOADREG FP LOADC 76 ADD SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL ; PRGFILE LOADREG FP SWAP LOADC 68 LOADCP _INITSTRINGFROM CALL ; ARGS LOADREG FP LOADC 168 ADD LOADC 704 LOADCP _CLEARMEM CALL ; ARGS LOADREG FP LOADC 168 ADD LOADC 0 DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD ; ARG1 LOADREG FP LOADC 76 ADD LOADC 80 LOADCP _INITSTRINGFROM CALL ; PRGFILE LOADREG FP ; ARGS LOADREG FP LOADC 168 ADD LOADC 1 LOAD 164 ; ERROR LOADCP PEXEC CALL LOADREG FP LOADC 872 ADD STOREREG FP RET PEXEC3: LOADREG FP LOADC 960 SUB STOREREG FP STORE 252 ; ERROR ; ARG2 LOADREG FP LOADC 164 ADD SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL ; ARG1 LOADREG FP LOADC 76 ADD SWAP LOADC 80 LOADCP _INITSTRINGFROM CALL ; PRGFILE LOADREG FP SWAP LOADC 68 LOADCP _INITSTRINGFROM CALL ; ARGS LOADREG FP LOADC 256 ADD LOADC 704 LOADCP _CLEARMEM CALL ; ARGS LOADREG FP LOADC 256 ADD LOADC 0 DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD ; ARG1 LOADREG FP LOADC 76 ADD LOADC 80 LOADCP _INITSTRINGFROM CALL ; ARGS LOADREG FP LOADC 256 ADD LOADC 1 DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD ; ARG2 LOADREG FP LOADC 164 ADD LOADC 80 LOADCP _INITSTRINGFROM CALL ; PRGFILE LOADREG FP ; ARGS LOADREG FP LOADC 256 ADD LOADC 2 LOAD 252 ; ERROR LOADCP PEXEC CALL LOADREG FP LOADC 960 ADD STOREREG FP RET PARAMSTR: FPADJ -8 STORE 4 ; PARAMSTR STORE 0 ; I LOAD 0 ; I LOADC 0 CMP LT LOAD 0 ; I LOADC 7 CMP GT OR .LCBRANCHZ _IF_ELSE197_STDLIB LOAD 4 ; PARAMSTR LOADCP _C_S_3_STDLIB LOADCP _COPYSTRING CALL .LBRANCH _IF_END197_STDLIB _IF_ELSE197_STDLIB: LOAD 4 ; PARAMSTR LOADCP PARGS ; PARGS LOAD 0 ; I DUP LOADC 8 LOADCP _BOUNDSCHECK CALL LOADC 88 LOADCP _MULU CALL ADD LOADCP _COPYSTRING CALL _IF_END197_STDLIB: LOAD 4 ; PARAMSTR FPADJ 8 RET PARAMCOUNT: FPADJ -4 LOADCP PARGCOUNT ; PARGCOUNT LOADI STORE 0 ; PARAMCOUNT LOAD 0 ; PARAMCOUNT FPADJ 4 RET SETSHELLCMD: FPADJ -52 STORE 48 ; ARG ; CMD LOADREG FP SWAP LOADC 40 LOADCP _INITSTRINGFROM CALL LOADCP SHELLCMD ; SHELLCMD ; CMD LOADREG FP LOADCP _COPYSTRING CALL LOADCP SHELLARG ; SHELLARG LOAD 48 ; ARG STOREI DROP FPADJ 52 RET .CPOOL DELAY: FPADJ -8 STORE 0 ; MS LOAD 0 ; MS STORE 4 ; COUNT _WHILE_START14_STDLIB: LOAD 4 ; COUNT LOADC 0 CMP GT .LCBRANCHZ _WHILE_END14_STDLIB LOADCP WAIT1MSEC CALL LOAD 4 ; COUNT LOADC 1 SUB STORE 4 ; COUNT .LBRANCH _WHILE_START14_STDLIB _WHILE_END14_STDLIB: FPADJ 8 RET .CPOOL INPUT: .BLOCK 18 OUTPUT: .BLOCK 18 DEFAULTVOLUMEID: .WORD 0 VOLUMETABLE: .BLOCK 768 VOLUMECOUNT: .WORD 0 DEVICESINITIALIZED: .WORD 0 RANDOM_STATE: .WORD 0 _C_S_0_STDLIB: .WORD 1,0 .BYTE "0" _C_S_1_STDLIB: .WORD 1,0 .BYTE ":" _C_S_2_STDLIB: .WORD 1,0 .BYTE "-" _C_S_3_STDLIB: .WORD 0,0 _C_S_4_STDLIB: .WORD 10,0 .BYTE "8463847412" _C_S_5_STDLIB: .WORD 1,0 .BYTE " " _C_S_6_STDLIB: .WORD 1,0 .BYTE "E" _C_S_7_STDLIB: .WORD 2,0 .BYTE "0." _C_S_8_STDLIB: .WORD 30,0 .BYTE "Error reading partition block " _C_S_9_STDLIB: .WORD 18,0 .BYTE "Invalid error code" _C_S_10_STDLIB: .WORD 4,0 .BYTE "%CON" _C_S_11_STDLIB: .WORD 4,0 .BYTE "%KBD" _C_S_12_STDLIB: .WORD 4,0 .BYTE "%RAW" _C_S_13_STDLIB: .WORD 3,0 .BYTE "[2J" _C_S_14_STDLIB: .WORD 2,0 .BYTE "[H" _C_S_15_STDLIB: .WORD 2,0 .BYTE "[K" _C_S_16_STDLIB: .WORD 2,0 .BYTE "[L" _C_S_17_STDLIB: .WORD 2,0 .BYTE "[M" _C_S_18_STDLIB: .WORD 6,0 .BYTE "[38;5;" _C_S_19_STDLIB: .WORD 6,0 .BYTE "[48;5;" _C_S_20_STDLIB: .WORD 3,0 .BYTE "[0m" IOERRORDESC: _C_A_1_STDLIB: .WORD 8,20 .BYTE "No error" .BLOCK 3 .WORD 14,20 .BYTE "File not found" .BLOCK 1 .WORD 16,20 .BYTE "Volume not found" .BLOCK 1 .WORD 12,20 .BYTE "Path invalid" .BLOCK 2 .WORD 19,20 .BYTE "File already exists" .WORD 11,20 .BYTE "File closed" .BLOCK 2 .WORD 12,20 .BYTE "Seek invalid" .BLOCK 2 .WORD 8,20 .BYTE "No space" .BLOCK 3 .WORD 16,20 .BYTE "File is readonly" .BLOCK 1 .WORD 17,20 .BYTE "Invalid operation" .WORD 14,20 .BYTE "Invalid format" .BLOCK 1 .WORD 19,20 .BYTE "Interrupted by user" MATHERROR: _C_A_2_STDLIB: .WORD 37,38 .BYTE "Invalid argument to sqrt/ln/tan/cotan" PEXECERROR: _C_A_3_STDLIB: .WORD 27,28 .BYTE "Invalid arguments for PExec" DATETIMEMTAB: _C_A_4_STDLIB: .WORD 31,28,31,30,31,30,31,31 .WORD 30,31,30,31,31,29,31,30 .WORD 31,30,31,31,30,31,30,31 _C_A_5_STDLIB: .WORD 32,9,13,10 _C_A_6_STDLIB: .WORD 10,13,32,9 _C_A_7_STDLIB: .WORD 43,45,46,69,101 _C_A_8_STDLIB: .WORD 35,37