char Text [16384]; word pText; word nText; word nLine; byte Code [16384]; word nCode; word hFile; char Heap [ 2048]; word pHeap; word nHeap; word nData; word Name [ 128]; word Cls [ 128]; word Type [ 128]; word Size [ 128]; word Ofs [ 128]; word pName; word nName; word Stk [ 32]; word pStk; char Buff [ 256]; word pBuff; word open() is inline $B4, $3D; inline $B0, $00; inline $BA, $4A, $C1; inline $CD, $21; end word create() is inline $B4, $3C; inline $B9, $00, $00; inline $BA, $50, $C1; inline $CD, $21; end word read() is inline $B4, $3F; inline $8B, $1E, $08, $C1; inline $B9, $00, $40; inline $BA, $00, $41; inline $CD, $21; end word write() is inline $B4, $40; inline $8B, $1E, $08, $C1; inline $8B, $0E, $06, $C1; inline $BA, $06, $81; inline $CD, $21; end word close() is inline $B4, $3E; inline $8B, $1E, $08, $C1; inline $CD, $21; end word Init() is Heap[ 0]:='0'; Heap[ 1]:='1'; Heap[ 2]:='2'; Heap[ 3]:='3'; Heap[ 4]:='4'; Heap[ 5]:='5'; Heap[ 6]:='6'; Heap[ 7]:='7'; Heap[ 8]:='8'; Heap[ 9]:='9'; Heap[10]:='A'; Heap[11]:='B'; Heap[12]:='C'; Heap[13]:='D'; Heap[14]:='E'; Heap[15]:='F'; Heap[16]:='c'; Heap[17]:='h'; Heap[18]:='a'; Heap[19]:='r'; Heap[20]:= char(0); Heap[21]:='b'; Heap[22]:='y'; Heap[23]:='t'; Heap[24]:='e'; Heap[25]:= char(0); Heap[26]:='w'; Heap[27]:='o'; Heap[28]:='r'; Heap[29]:='d'; Heap[30]:= char(0); Heap[31]:='b'; Heap[32]:='e'; Heap[33]:='g'; Heap[34]:='i'; Heap[35]:='n'; Heap[36]:= char(0); Heap[37]:='i'; Heap[38]:='f'; Heap[39]:= char(0); Heap[40]:='w'; Heap[41]:='h'; Heap[42]:='i'; Heap[43]:='l'; Heap[44]:='e'; Heap[45]:= char(0); Heap[46]:='i'; Heap[47]:='n'; Heap[48]:='l'; Heap[49]:='i'; Heap[50]:='n'; Heap[51]:='e'; Heap[52]:= char(0); Heap[53]:='r'; Heap[54]:='e'; Heap[55]:='t'; Heap[56]:='u'; Heap[57]:='r'; Heap[58]:='n'; Heap[59]:= char(0); Heap[60]:='e'; Heap[61]:='n'; Heap[62]:='d'; Heap[63]:= char(0); Heap[64]:='c'; Heap[65]:='.'; Heap[66]:='p'; Heap[67]:='r'; Heap[68]:='g'; Heap[69]:= char(0); Heap[70]:='c'; Heap[71]:='.'; Heap[72]:='c'; Heap[73]:='o'; Heap[74]:='m'; Heap[75]:= char(0); nHeap :=76; Name[ 0]:=16; Cls [ 0]:= 1; Size[ 0]:= 1; Name[ 1]:=21; Cls [ 1]:= 1; Size[ 1]:= 1; Name[ 2]:=26; Cls [ 2]:= 1; Size[ 2]:= 2; nName := 3; pStk := 0; nCode := 0; nData := 16640; end word I; word Push() is Stk[pStk]:=I; pStk:=pStk+1; end word Pop () is pStk:=pStk-1; I:=Stk[pStk]; end word Stop() is pStk:=0; while nLine!=0 do I:=nLine%10; I:=I+48; Push(); nLine:=nLine/10; end while pStk!=0 do Pop(); inline $92; inline $B4, $02; inline $CD, $21; end inline $B8, $00, $4C; inline $CD, $21; end word E; word J; word K; word N; word val () is E:=10; J:= 0; if Buff[0]='$' then E:=16; J:= 1; end N:=0; while Buff[J]!=char(0) do K:=0; while Heap[K]!=Buff[J] do if K=E then Stop(); end K:=K+1; end N:=E*N; N:=N+K; J:=J+1; end return N; end char Read() is if pText