Under AMOS, INMEMO is fully reentrant and may be loaded into either user memory or system memory (to be shared by several users). In addition to the memory required to load the routine itself, INMEMO requires a significant amount of workspace. The complete requirements are shown below:
Description |
Requirment |
Module Size |
23000 bytes (system or user memory) |
Semaphore Module |
12 bytes (system memory) |
Work Area |
500 bytes (user memory) |
Buffer |
* based on window size (user memory) |
* The buffer size is at least equal to the size of the window, and may be much larger if the paging option is used (see Paging).
Note that the work area and buffer memory requirements are only applicable while INMEMO is actually executing. Between INMEMO calls, the memory is relinquished to BASIC and is available for use by other routines.
Under A-Shell and Softworks Basic, INMEMO is linked into the executable so it does not require extra runtime memory, other than for the work buffer.