Acorn Arcade forums: Programming: Load multiple
|
Load multiple |
|
swirlythingy (19:03 27/1/2013) sirbod (23:35 27/1/2013) Phlamethrower (13:36 28/1/2013)
|
|
Martin Bazley |
Message #121827, posted by swirlythingy at 19:03, 27/1/2013 |
Posts: 460
|
Quick question: what's the etiquette for "LDMIA Rn,{...Rn...}"? Is it OK as long as you don't use writeback (which I don't need)? The Debugger module seems to think so, but I don't know if there are any common half-arsed subtly-broken dodgy implementations of the ARM architecture which I need to be taking account of (hello again, StrongARM).
On a related note, does anyone know where the ARM ARM's got to? I swear the site never used to ask you to register to see them. I downloaded and read the ARMv5 one once (to prove a point in a mailing list argument, if I remember rightly), but sadly didn't think to keep it... |
|
[ Log in to reply ] |
|
Jon Abbott |
Message #121829, posted by sirbod at 23:35, 27/1/2013, in reply to message #121827 |
Member
Posts: 563
|
It depends on what chip you're coding for, there's so many errata for the many variations of ARM, it's near impossible to avoid them all specifically. Having said that, most are not easy to reproduce in everyday code, so probably not worth worrying about, use LDM as you would any other instruction.
Here are the errata I know about, which occur on one or all between the SA and ARM9, some I've coded around, but only because I'm triggering and handling aborts.
The errata I think you're referring to is the K series bug, where loading the PC was unpredictable depending on the alignment of the LDM
Avoid using ^ if you're in a privileged mode and using R8 or above in the base register as it will overwrite the wrong register set
When loading two registers from an un-cached region immediately after a delayed buffered write, it may not load the second register
Loading over memory boundaries is unpredictable, ie RAM to ROM
Page faults occurring mid load are unpredictable on both the registers that are loaded and updating the base register in the case of writeback
[Edited by sirbod at 23:37, 27/1/2013] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #121830, posted by Phlamethrower at 13:36, 28/1/2013, in reply to message #121827 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
On a related note, does anyone know where the ARM ARM's got to? I swear the site never used to ask you to register to see them. I downloaded and read the ARMv5 one once (to prove a point in a mailing list argument, if I remember rightly), but sadly didn't think to keep it... The ARMv7 ARM has always required you to register. Not sure about the ARMv5 ARM though; I think it used to be available without registration. Last time I tried registration was pretty painless, so you shouldn't have much to worry about. There's also a few different versions of the ARM ARM available here, if you don't feel like registering with ARM's site. |
|
[ Log in to reply ] |
|
|
Acorn Arcade forums: Programming: Load multiple |