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