Post Reply 
Saturn ASM question
12-28-2017, 04:32 PM
Post: #3
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).
Find all posts by this user
Quote this message in a reply
Post Reply 


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)