Article View: comp.lang.asm370
Article #872DCSS
From: Bruce Crabill
Date: Thu, 07 Jan 1988 23:13
Date: Thu, 07 Jan 1988 23:13
17 lines
1614 bytes
1614 bytes
Talking to a DCSS is quite simple, you just use Diagnose X'64'. Use the
LOADSYS function to attach it to your virtual machine (making sure that it
isn't overlaying something important like CMS) and branch to the appropriate
place in the DCSS. Exactly how you use the DCSS is up to the person who
put the code in the DCSS. I would recommend that if you are doing one from
scratch to use a branch vector table at the beginning of the DCSS. This is
a table of branch statements (you could also use an ACON table) that contains
the proper address within the DCSS of the desired routine. To use it, you
would branch into the branch table at a fixed offset for a given routine
(or load the ACON for a given entry point) and this would branch to the
proper location in the DCSS. This has the advantage that the user code
doesn't have to change if you update the DCSS and things move around.
The segment loader could also be a bit fancier and do a FINDSYS to find the
starting address of the segment, in case you want to move it later.
If it is a shared DCSS, make sure that all of your code is reenterant.
Bruce
Technical Details
Message-ID:
<8801080100.AA07823@jade.berkeley.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!sdcsvax!ucbvax!UMDD.BITNET!BRUCEShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!sdcsvax!ucbvax!UMDD.BITNET!BRUCE From: BRUCE@UMDD.BITNET (Bruce Crabill) Newsgroups: comp.lang.asm370 Subject: DCSS Message-ID: <8801080100.AA07823@jade.berkeley.edu> Date: 7 Jan 88 23:13:48 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: IBM 370 Assembly Programming Discussion List <ASM370%UCF1VM.bitnet@jade.berkeley.edu> Distribution: inet Organization: The ARPA Internet Lines: 17