What type of I/O? VSAM I/O can have everything above the line, including ACBs. The only below-the-line restriction since *mumbles some long past version of MVS* for non-VSAM is the DCB itself. Buffers can be placed above the line if you use a DCBE with RMODE31=BUFF and associated it with the DCB. OPENs and CLOSEs use the MODE=31 keyword to generate the SVC parm list for executing AMODE 31.
What you have to do is obtain storage below the line for your DCBs and build them manually, usually by having model DCBs in your source and moving them into the below-the-line storage. Get familiar with the DCBD macro, the mapping macro for the DCB, because you will have to probably have to store the DCBE address manually into the DCB. (You mention threads, and that implies reentrant code (for the most part)). There are some other things you should be aware of since you are doing multitasking/threading. You may want to consider translating the assembler routines into equivalent C run-time library calls, if possible. This can make sharing of I/O much easier when multiple threads could be writing to the same ACB or DCB (FILE in C-speak). There are routines for both VSAM and non-VSAM. Also, I believe Enterprise COBOL does have some multitasking capability or it came in with the 5.1 compiler. I am not familiar with it, though, just like I am not familiar with OO COBOL. :) On 2013-11-04 10:23, Scott Ford wrote:
Guys: I am in the process of rewriting a STC from single thread Cobol into threaded C. I have some Assembler routines that perform disk I/O , so I assume they are doing I/O below 'the line'. Can someone point me the direction how I can modify the Assembler routines to perform I/O above the line ?
-- M. Ray Mullins Roseville, CA, USA http://www.catherdersoftware.com/ German is essentially a form of assembly language consisting entirely of far calls heavily accented with throaty guttural sounds. ---ilvi French is essentially German with messed-up pronunciation and spelling. --Robert B Wilson English is essentially French converted to 7-bit ASCII. ---Christophe Pierret [for Alain LaBonté]