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
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- Announcing the TIB 2024 Advent Calendar (News:1)
- Code GCC produces that makes you cry #12684 (Prog:39)
- RISCOSbits releases a new laptop solution (News:)
- Rougol November 2024 meeting on monday (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
- WROCC November 2024 talk o...ay - Andrew Rawnsley (ROD) (News:2)
- October 2024 News Summary (News:3)
- RISC OS London Show Report 2024 (News:1)
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
Acorn Arcade forums: 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 ]
 

Acorn Arcade forums: Programming: RM's and 32 bit code