LEX 'DIRLEX' TITLE DIRALL UTILITIES ver <861222>, M Markov * *********************************************************** * CON(2) #5E last scratch, see MMTOKEN for asnmt CON(2) #C5 low token, in hex CON(2) #CA high token CON(5) 0 NO LINKS NIBHEX F no speed table REL(4) (TxTbSt)+1 offset to TEXT Table CON(4) 0 no message table REL(5) POLHND offset to poll handler * *********************************************************** * EQUATES * HEXASC EQU #17148 convert hex-->ASCII FILXQ$ EQU #09B95 execute a file specifier eFSPEC EQU #0003A file spec error FINDF+ EQU #09F63 find file HDFLT EQU #1B31B convert hex to 12 form FNRTN2 EQU #0F219 Fn Rtn w/A=PC, C=arg eNORDY EQU #0FF22 pil device not ready eMEM EQU #00018 memory error eDATTY EQU #0001F data type error FORSTK EQU #2F59E Forstack pointer DEST EQU #0F7B0 save variable destination info DVCSPp EQU #07925 parse pil device spec t@ EQU #000F4 the @ token tSEMIC EQU #000F2 the ; token OUTBYT EQU #02CE8 output byte during parse/decompile READP5 EQU #0323B parse variable STORE EQU #0F5F8 store from stack into a variable GETDev EQU #00B5B test controller/device mode GETX EQU #066B0 get data from loop FRAME- EQU #0073B decode I/O processor message type DDL EQU #06B25 send DDL frame DDT EQU #06B34 send DDT frame PRMSGA EQU #00CB9 send bytes from C SEEKA EQU #04232 seek to a record PUTD EQU #06AAE put a data byte TSTAT EQU #041FE check tape status PUTARL EQU #00E25 put bytes from A DROPDC EQU #05470 decompile FILDC* EQU #05759 decompile a filespec NTOKEN EQU #0493B fetch next parse token GETDID EQU #06D84 fetch device info during Stmt exec EXPEX- EQU #0F178 collapse then evaluate COLLAP EQU #091FB collapse math to for stack WRITE# EQU #0453F write a massmem record STMTR0 EQU #2F871 Statement scratch FSPECp EQU #03CC5 parse for file spec, polls pil SYNTXe EQU #02E2B parse syntax error tCOMMA EQU #000F1 comma token OUT1TK EQU #02CEB output token STRNGP EQU #0379D parse string READR# EQU #044FF read a mass memory record ENDTAP EQU #044D9 rewind, unt, unl AVMEMS EQU #2F594 available memory start GETD EQU #067C8 read a data frame DEVPAR EQU #01BF0 parse device spec from stack EXPEXC EQU #0F186 the expression execution controller XYEX EQU #0C697 exchange AB/CD uRES12 EQU #0C994 pack 15 form in AB to 12 form in C MP2-15 EQU #0C43A multiply two 15s BF2STK EQU #18663 push string to stack FNRTN1 EQU #0F216 push C(W) to stack at bottom TRFMBF EQU #2F8C5 the transform buffer REV$ EQU #1B38E reverse string on stack VAL00 EQU #1AD8F convert string to number, ST10=1 for rtn GETMBX EQU #03B62 set D0 to ^MBOX value SCRTCH EQU #2F901 scratch ram, 64d nibs FNRTN4 EQU #0F238 pushes C(W) at D1, assumes D1 ready SPLITA EQU #0C6BF split A(W) to AB SPLITC EQU #0C940 split C(W) to CD DV2-15 EQU #0C4AC divide two 15s, AB=AB/CD LGT15 EQU #0D1AE AB=LOGbase10(AB) POP1N EQU #0BD1C pop number to A(W) FLTDH EQU #1B223 convert 12 form to hex integer SNAPBF EQU #2F7F0 the snapshot buffer bLEX EQU #00BFC the LEX buffer ID # I/OFND EQU #118BA finds an I/O buffer given the ID # LEXPIL EQU #000FF the HPIL ROM ID # eXWORD EQU #00023 mainframe error # for XWORD BSERR EQU #0939A the BASIC error reporting routine WRDSCN EQU #02C2A scan table for token match & output tON EQU #000E0 the ON token tOFF EQU #000E1 the OFF token MSPARe EQU #02E5C parse error for missing parm TRACDC EQU #052FC decompile for ON/OFF OUTELA EQU #05303 keyword only decompile eIVARG EQU #0000B Invalid Argument error START EQU #007E8 searchs the loop for a device MTYL EQU #00C83 make me talk, device listen PRASCI EQU #00FEA send bytes to setup device UTLEND EQU #007CC untalk, unlisten the loop NXTSTM EQU #08A48 BASIC Statement return EXPR EQU #0F23C expression execution reentry READSU EQU #0663D read bytes from loop, sends sot frame FUNCR0 EQU #2F89B Function scratch RAM FUNCD0 EQU (FUNCR0)+32 YTML EQU #00C9B make device talk, 71 listen NUMCK EQU #0369D parse numeric expression RESPTR EQU #03172 restore parse input pointer FIXDC EQU #05493 decompile numeric expression PUTE EQU #06AC0 put a frame to the mailbox from C 5:0 POP1S EQU #0BD38 pop a string on stack STRGCK EQU #036BA parse a string expression REVPOP EQU #0BD31 reverse a string then pop eNOFND EQU #0FF20 device not found error eEOTAP EQU #0FF11 end of tape eSTALL EQU #0FF12 stall error eNOLIF EQU #0FF13 medium not LIF eNOTAP EQU #0FF14 no media installed eNEWTA EQU #0FF17 new media installed eBLANK EQU #0FF18 unformatted media eRECRD EQU #0FF19 record number error eCHSUM EQU #0FF1A bad checksum on medium error eTSIZE EQU #0FF1C bad vector address SWPBYT EQU #17A24 swap A(3:2) and A(1:0) FNDCHK EQU #00B86 find mailbox & check status GLOOP# EQU #02D5A fetch loop# at D0 during execution LOOP#p EQU #076A7 parse loop # LOOP#d EQU #07CAA decompile loop # OUTEL1 EQU #05300 decompile exit CHKMAS EQU #0425C check device for mass storage * *********************************************************** STITLE Language tables * * STITLE MAIN Table * CON(3) (TxEn01)-(TxTbSt) REL(5) Start DT2DOT$( CON(1) #F * CON(3) (TxEn02)-(TxTbSt) REL(5) ESC ESCP$($) CON(1) #F * CON(3) (TxEn03)-(TxTbSt) REL(5) HXTA HEXTOA$($) CON(1) #F * CON(3) (TxEn04)-(TxTbSt) REL(5) HEX HEX$($) CON(1) #F * CON(3) (TxEn05)-(TxTbSt) REL(5) INH INHEX$($) CON(1) #F * CON(3) (TxEn06)-(TxTbSt) REL(5) TYPE MMTYPE$($) CON(1) #F * * CON(3) (TxEn13)-(TxTbSt) * REL(5) VOL VOLUME ,