On Sun, 6 May 2018 18:07:02 -0500, Mike Schwab <mike.a.sch...@gmail.com> wrote:
>So, you will have a load module marked AM32. That doesn't exist as far as I know. The module can either be marked AM64 or the program can switch to AM64 at startup. My preference is for the module to be marked AM64. >All instructions use >only the lower half of the registers, no grande or high portion >instructions. Yes, it's a 32-bit program so only uses the bottom 32 bits of all registers. > The program loader gets memory at x'0000 0000 80000 >0000' (or the next location not in use) I'm not expecting the program to be loaded above 2 GiB. Only data would come from above that. That way you can still switch to AM31 so that you can invoke the READ macro etc. At a later date, when READ is made AM64-capable, the module can potentially be loaded into RM32 space. In addition, my intention was that when LOC=32 memory is allocated, it starts at the 4 GiB location and works down, rather than starting at the 2 GiB location and working up. That way you can do a GETMAIN for 3 GiB and it should work. > and loads your program, sets >AM64 and calls your entry point. Any interrupts or calls save all 64 >bits and when your program is resumed all 64 bits until it exits. Calls to subroutines would not save all 64-bits. They are 32-bit applications and only have 72-byte save areas. The upper 32 bits of each register are 0 so there is no need to save them. >Should work just fine if the starting address is x'0000 0001 0000 >0000' or x'0000 0002 0000 0000' Those addresses are above 4 GiB, so that is not part of the plan. > since all calls should be in the 4GiB >area. Any instruction that loads an address into a register is >controlled by the AMODE. The loading of addresses are governed by whether you use "L" or "LG", not the AMODE. I am talking about 32-bit programs, so no "LG" will ever be used, just a 32-bit "L". BFN. Paul. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN