Dear list
I am working on an SBASIC editing tool (initially in SBASIC itself)
under SMSQ/E (QPC 2).
I'm currently trying to find my way around the SBASIC (Job0 or
otherwise) job area and am confused by the locations of the various
areas within the SBASIC job itself.
Here's an example from a fairly long SBASIC daughter job (sorry about
the possibly screwed-up spacing):
Area Length St End
Input buf 10 256 266
Token buf 6 1280 1286
Program 23830 123544 147374
Name table 2856 89800 92656
Name list 2889 59848 62737
Variables 4080 -3110136 -3106056
Channels 200 -179720 -179520
Return 24 -790456 -790432
Lines 0 0 0
How is it that some of these areas lie well outside of the traditional
SBASIC job area?
I have my own ideas, but hoped someone here (Marcel?) might be able to
shed some light on how and where SBASIC is laid-out in SMSQ/E.
Also, the Job 0 pointed-to from the system variables appears to be a
'dummy' job header+job area (640 bytes, regardless of whats loaded in
Job 0).
I supoose all I really need to know (beyond satisfying my curiosity) is:
a) Can I rely on the pointers above - from peek_l(\\...) - to find
the actual table data?
b) Is there a SBASIC job-size stored in any _one_ place (as opposed
to adding up the 'Length' bits above)
Thanks for any insights ;-)
Martyn Hill
London.
--
"There are 10 types of people in this world. Those who understand binary and those
who don't."
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm