Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!apple!rutgers!pyrnj!pyrdc!uunet!mcvax!cernvax!ethz!pasche
From: pasche@ethz.UUCP (Stephan Pasche)
Newsgroups: comp.os.os9
Subject: Re: Shared Data Modules
Keywords: OS-9, Shared Data, RMA
Message-ID: <626@ethz.UUCP>
Date: 23 Sep 88 10:37:28 GMT
References: <707@cseg.uucp> <6799@ihlpl.ATT.COM>
Reply-To: pasche@bernina.UUCP (Stephan Paschedag)
Organization: ETH Zuerich, Switzerland
Lines: 42

If you don't want to load big data modules, why don't you create them in
runtime ? Here is another example how to create datamodules :

Edition equ 1          current edition number

 use /r0/defs/oskdefs.d

Typ_Lang set (Prgrm<<8)+Objct
Attr_Rev set (ReEnt<<8)
 psect create_datmod,Typ_Lang,Attr_Rev,Edition,0,Entry

StackSiz equ 1000

 vsect
DatMod: ds.l 1         ^data module
DatEnt: ds.l 1         ^entry of datamodule
Stack: ds.b StackSiz   reserved for stack
 ends

Entry: move.l #5000,d0 size of data entries
 move.w #(ReEnt<<8),d1 set attr/revs
 move.w #$0333,d2      set access permission
 lea.l Name(pc),a0     ^name of data module
 os9 F$DatMod          create module
 bcs Error             ..failed
 move.l a2,DatMod(a6)  save ^module
 move.l a1,DatEnt(a6)  save ^entry
 clr.w d1              no error !
Error: os9 F$Exit

Name: dc.b "DataModule",0
 ends

Assembling : r68 create_datmod.a -o=create_datamod.r
             l68 create_datmod.r -l=/dd/lib/sys.l -O=create_datmod

==============================================================================
OS/2 & PS/2 : half an operating system for half a computer

Stephan Paschedag           pachedag@strati.ethz.ch  or  pasche@ifi.ethz.ch
Federal Institute Of Technologie Zurich
______________________________________________________________________________