Saturn ASM question
12-28-2017, 04:32 PM
Post: #3
 DavidM Senior Member Posts: 848 Joined: Dec 2013
RE: Saturn ASM question
The exact syntax may vary depending on how you are compiling your code. I use the Debug4x environment (which in turn uses HP's SASM compiler), and loading a previously defined address constant into C.A inside a MASD code object would look like this:

Code:
 CODEM    LC(5) =%1 ENDCODE

The "(5)" specifies the width (in nibbles) of the data to be loaded into C. "=" designates that the constant ID which follows is a global label (as opposed to local). The "%" isn't interpreted here as a comment token by the parser.

Also, a word of caution: pushing new stack items in your relocatable Saturn code requires care. In this particular situation, your chance for a problem is remote since about the only thing that could cause a (memory-related) problem is the stack being completely full prior to execution. The more common scenario, though, is that of a TEMPOB allocation occurring as a result of some process. I generally try to allocate "placeholders" at SysRPL-time prior to calling the Saturn code, which then simply updates the placeholder objects as needed (and drops no-longer-needed stack items).
 « Next Oldest | Next Newest »

 Messages In This Thread Saturn ASM question - grsbanks - 12-28-2017, 03:32 PM RE: Saturn ASM question - pier4r - 12-28-2017, 03:53 PM RE: Saturn ASM question - DavidM - 12-28-2017 04:32 PM RE: Saturn ASM question - grsbanks - 12-28-2017, 04:51 PM RE: Saturn ASM question - DavidM - 12-28-2017, 05:48 PM RE: Saturn ASM question - grsbanks - 12-28-2017, 05:57 PM RE: Saturn ASM question - grsbanks - 12-28-2017, 05:14 PM RE: Saturn ASM question - grsbanks - 12-28-2017, 06:03 PM RE: Saturn ASM question - DavidM - 12-29-2017, 04:56 PM RE: Saturn ASM question - grsbanks - 12-30-2017, 12:11 AM

User(s) browsing this thread: 1 Guest(s)