<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Fri, 04 Feb 2005 00:42:11 +0000
From   : jgh@... (Jonathan Graham Harston)
Subject: Re: ON...

"A.Weston" <a.weston2@...> wrote:
> > FORa=1TO3:PROCa:NEXT:END
> > DEFPROCa:PRINT"A";:?(PAGE+12)=ASC"b":ENDPROC
> > DEFPROCb:PRINT"B";:ENDPROC
> >
> > This will print AAA, not ABB as expected, as on the second and later
> > passes of the loop, BASIC V searches the FN/PROC table for the address of
> > the PROC in the first line, ignoing it's actual name.
> >
> Is PAGE+12 where the 'b' of DEF PROCb is stored?
 
Yes.
 
> Is the FN/PROC table stored below PAGE on BASIC V and is there any
 
No, in the heap (LOMEM to VAREND), just like with BASIC I-IV and
BBC BASIC on other processors.
 
> reference on what BASIC V uses below PAGE workspace for and how?
 
mdfs.net/Docs/Comp/BBCBasic/ArmWS:
 
Application workspace starts at &8000:
 
&8000  Returned error string buffer
&8100  Command input buffer
&8200  String accumulator
&8300  ????
&8400  ????
&8500  Variable list initial pointers, PROC, A, B, C... etc., FN
 &8500: PROC
 &8504: A
 &8508: B
 ..etc..
 &8568: Z
 &856C: ???? (occupies '[')
 &8570: ???? (occupies '\')
 &8574: ???? (occupies ']')
 &8578: ???? (occupies '^')
 &857C: _
 &8580: `
 &8584: a
 ..etc..
 &85E8: z
EC
 &85F0: FN
 &85F4: Copy of PAGE
 &85F8: ????
 &85FC: ????
&8600  @%, A%, B%, ..., variable names list
 &8600: @%
 &8604: A%
 ..etc..
 &8668: Z%
&8700
 :
 : - can't remember
 :
&8F00 Lowest default PAGE level
 
-- 
J.G.Harston - jgh@...                - mdfs.net/User/JGH
Badly formed email is deleted unseen as spam
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>