Some programs run so often we take special efforts to make sure that only one copy of the program needs to be loaded into memory, no matter how many users are running it concurrently. That’s what reentrant programming is all about. We can do this by dynamically allocating storage for all the parts of our program that might change. Each user gets their own copy of dynamic storage.
Want to get your assembler program to run in the Language Environment? It needs to be reentrant. Future posts will cover COBOL calling Assembler and Assembler calling COBOL in the Language Environment, but to follow along, you first have to learn how to write assembler reentrantly.
Some programmers write all their programs in a reentrant style. There’s not a lot of extra overhead. Want to give it a try? I’ve posted a video about how it works here and in the assembler video course. There’s also a sample reentrant program you can start with here. The video explains in detail how the program works.
It can be fun to take a look at the assembly language listing of a Cobol program. Geeky, admittedly, but still fun. If you have never given the listings much thought, take a look at this video. You might be surprised what the Cobol compiler gets up to, and what you can learn about Cobol and assembler. In this video I examine whether to COMPUTE or not to COMPUTE, whether to PERFORM or to PERFORM THRU, and what happens when you tell the optimizer to give it the old college try.
If you are looking to improve your enterprise System Z computing skills including Networking, Security, COBOL, Assembler, DB2 and IMS, check out the Institute for Data Center Professionals that is sponsored by Marist College in Poughkeepsie, NY. They have an excellent System Z online program that is designed for anyone trying to advance their technical skills. The curriculum is extensive and unique. I taught a couple of assembler courses in the program last year. The program is very hands-on and you receive lots of personal assistance. If you are interested in this year’s program, you will need to hurry, though. Classes start in September. Here’s the link: http://idcp.marist.edu/
MVO is an old instruction that has fallen out of use, replaced by SRP. Still, you will see it in older programs. This video will get you up to speed on this “odd” instruction. You will also find the code from the video here.