Re: A86: Merging basic and asm


[Prev][Next][Index][Thread]

Re: A86: Merging basic and asm



As long as the ASM routine executes a 'ret' with the stack at the proper 
level the calling program will continue on executing normally, assuming
that nothing too damaging was done. 

While on this subject :

 The execution area for ASM programs is 9000 bytes in length most of the time.
 The APPs that I am writing, Finance and soon to be released statistics will
 when loaded cut down that size. These APPs store tables and other info
starting
 at the bottom of the ASM execution area and grow towards the top. This is info
 is used to extend the system of the 86, new function names and menu
extensions.
 I myself am trying to keep all of my ASM modules to around 4000 or so bytes.
 I don't want to not have enough room if these APPS use a large portion of the
 execution area for tables and stuff. 
 
 Don't worry I will not try to execute an ASM program that does not fit in
 the available space, I give some kiond of an error. 

 The Stat package that I am finishing will consist of 4 ASM modules totaling
 a little over 16k. I did allow ASM modules to 'call' other ASM modules very
 easily and also take care of loading the called module and also reloading the
 caller when the called module finishes. It's as easy as basic programs calling
 to another and you don't have to worry about it coming back. 

 If you think that you might be writing some 'package' that is > 9000 bytes or
 just want to write packages with modules then i could document this feature.
 
 I hope I gave more info than confusion.

 Later,
 Pat

------------------
Original text

From: UrD14me <joemama@minot.com>, on 10/14/97 8:39 PM:
Dan Eble wrote:
> 
> On Tue, 14 Oct 1997, UrD14me wrote:
> 
> > the only way to do asm and basic together is to make a program that does
> > something and stores where its at and then returns to basic, does stuff
> > there, opens the program restores the place where it left off.... that
> 
> What are you talking about?  It's very easy to execute an asm program with
> the Asm() command.
> 

i was saying that in order to go from asm to basic and back,etc. that
you would need to do something like that



Follow-Ups: References: