log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- I want to digitise some A3010 software - ONLY COPY (Gen:4)
- RISC OS ports website (News:5)
- For Swaps/Trade Acorn User/Archi World Magazine Collection (Gen:5)
- More Acorn Magazine nostalgia (News:)
- RISC OS London Show 2018 (News:)
- NetSurf or Iconbar? (Site:3)
- September News round-up (News:)
- DDE tools updated to DDE28c (News:)
- Orpheus hits crowdfunding target (News:2)
- Orpheus launch crowdfunding campaign (News:5)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
Site Search
 
Article archives
The Icon Bar: Programming: RM's and 32 bit code
 
  RM's and 32 bit code
  (19:02 9/4/2001)
  Matthew (21:37 9/4/2001)
    ams (19:06 10/4/2001)
 
ams Message #4753, posted at 19:02, 9/4/2001
Unregistered user I am doing some work on Relocatable modules at the moment (in good 'ol ARM assembler) and before I get too much written is there any precautions or rules concerning RM's specifically wrt to 32 bit ready coding.

If anyone out there has a short set of rules for coding RMs to be 32 bit ready through assembler I'd appreciate it.

Thanks all !

  ^[ Log in to reply ]
 
Matthew Message #4754, posted at 21:37, 9/4/2001, in reply to message #4753
Unregistered user
If anyone out there has a short set of rules for coding RMs to be 32 bit ready through assembler I'd appreciate it.

I recommend you download the 32-bit library from
http://www.riscos.com/download/ - that has sections about 32-bit safe module (and other code) writing. Basically, from what I can gather, avoid <dop>S PC,... and LDM {...,PC}^ and assume SWIs no longer preserve flags. Most module entry points seem unchanged, apart from the SWI handler, which no longer contains the flags in R14, just the return address.

One thing - there is a new module header entry at &30, which is an offset to the module flags word(s). Set bit 0 in the first module flag word to say your module is 32-bit compatible. The other bits are currently reserved.

ATB,
Matthew

  ^[ Log in to reply ]
 
ams Message #4755, posted at 19:06, 10/4/2001, in reply to message #4754
Unregistered user Thanks for the help Matthew.
  ^[ Log in to reply ]
 

The Icon Bar: Programming: RM's and 32 bit code