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
- WROCC Newsletter Volume 41:11 reviewed (News:)
- WROCC March 2024 meeting o... Hughes and Peter Richmond (News:1)
- Rougol March 2024 meeting on monday with Bernard Boase (News:)
- Drag'n'Drop 13i2 edition reviewed (News:)
- South-West Show 2024 talks (News:4)
- February 2024 News Summary (News:1)
- Next developer fireside chat (News:)
- DDE31d released (News:)
- South-West Show 2024 Report (News:)
- South-West Show 2024 in pictures (News:)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: Programming: RM's and 32 bit code
 
  RM's and 32 bit code
  (18:02 9/4/2001)
  Matthew (20:37 9/4/2001)
    ams (18:06 10/4/2001)
 
ams Message #4753, posted at 18: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 20: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 18: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