Discussion:
Passing Strings To Assembly Procedure
(too old to reply)
Bruce Lay
2003-12-01 08:33:19 UTC
Permalink
Does VB/Dos set up the string descriptor in the
same manor as QuickBASIC, first word contains
the string length and then the pointer to the first
character?

This does not seem to be the case. I am working
on a procedure that receives a string as one of the
arguments and I haven't been able to get it to work.
I have traced the problem to the descriptor. I was
assuming the it was set up like QuickBASIC but
that does not seem to be the case.

Anyone know how VB/Dos sets up the descriptor?
Ethan Winer, MVP
2003-12-01 15:57:19 UTC
Permalink
Bruce,
Does VB/Dos set up the string descriptor in the same manor as QuickBASIC,
first word contains the string length and then the pointer to the first
character? <

No, VB/DOS uses Far Strings, which stores the string data outside the usual
64k DGROUP data area. A complete description (sorry) of Near and Far string
descriptors is in my BASIC Techniques book, which is a free download at my
web site:

www.ethanwiner.com

If you're interested in BASIC internals, you're going to like my book a lot.
:->)

--Ethan
Bruce Lay
2003-12-01 17:12:58 UTC
Permalink
I have your book already but I have been reading
the wrong chapter. Thank you very much.

Bruce
Post by Ethan Winer, MVP
Bruce,
Does VB/Dos set up the string descriptor in the same manor as QuickBASIC,
first word contains the string length and then the pointer to the first
character? <
No, VB/DOS uses Far Strings, which stores the string data outside the usual
64k DGROUP data area. A complete description (sorry) of Near and Far string
descriptors is in my BASIC Techniques book, which is a free download at my
www.ethanwiner.com
If you're interested in BASIC internals, you're going to like my book a lot.
:->)
--Ethan
Loading...