Obscure 6502 question
Pages: 1 2
Rick Murray (539) 13840 posts |
Just had a rummage under my various “Learn fluent Japanese in thirty seconds” books, and… The thin one is ARM ARM First Edition issue B. 1996. £30 from Amazon, shipped from Wisconsin. The pages are going yellowy-brown, makes it look sort of rustic. The bigger one is ARM ARM Second Edition issue E. £25 from Amazon, from Devon (I think). Great condition. Couldn’t believe the price. Poor bloke paid half that in flamin’ postage (Amazon only added a flat €2,99). If we should ever meet some day, I’ll buy him a beer… I tend to refer to the first edition. Partly because it is lighter on my lap, and partly because I think it is a clearer layout in some respects. Here’s a scan of my favourite instruction (note for newbies – this had a lot more relevance on 26bit ARMs than it does on modern hardware!). First, the issue 1 version, scaled to be roughly the same size as the issue 2 pages:
And here is the issue 2/E version:
Issue 2 benefits from better use of whitespace. The instruction descriptions have been shortened and the additional information moved to a new category – in this case, the new Issue 1 benefits from a clear and compact layout, a nicer diagram of the instruction bits, and those ‘tabs’ on the upper outsides of the pages made it easy to tell the class of the instruction, plus for which processor famil[y|ies] the instruction was appropriate. |
Clive Semmens (2335) 3276 posts |
I loved that Issue 1 as well. I’m sure I’ve got one somewhere, but I don’t know where – certainly used to have it. But I’m obviously rather a lot more familiar with the new one now! I’ve only recently taken to using the PDFs of it instead of the paperware. The main reason I do that is really very trivial: I’ve got a big portrait monitor on the PC right next to my Pi set up, but little space on the desk for the book – and the book won’t lie flat open at the page I’m using without help, whereas the image on the monitor will just sit there. Too silly. All that applies with even more force to the PRMs, which are what I’m using more at the moment, writing BBC BASIC. I only use assembler where speed is an issue. |
Trevor Johnson (329) 1645 posts |
Would you happen to know of any reviews or other third party documentation regarding the ARM ARM, with a view to making the potential Wikipedia article a blue link rather than red? |
Clive Semmens (2335) 3276 posts |
I don’t, I’m afraid. The ARM ARM itself is available for free download from ARM – you have to register, but it costs nowt and there are no special conditions. I’m still in touch with people at ARM who might know of reviews if that’s any use, but I’m not sure that technical manuals often get reviews, other than rather ephemeral ones. |
Trevor Johnson (329) 1645 posts |
I’ve got a feeling I may have downloaded it once, not that I’d really know where to start with it!
If not reviews (yes, unlikely) then references to it within other publications could be sufficient to sustain an encyclopedic entry. Examples of some such references1 (which don’t have to be available offline, although Wikipedia editors need to have actually seen the material themselves) could be:
What I think could be most useful is texts explaining (to novices, as well as to experienced programmers) what the ARM ARM is for, what it contains and why one would refer to it.2 Some reference to its origins and history would also obviously be of encyclopedic interest. As I’m sure everyone appreciates, this is a side issue, and I wouldn’t want to think of you wasting time chasing things down for the sake of it. However, gathering such references may facilitate the creation of a short stub as a starting point. 1 Notes can be dropped at WikiProject Computing. 2 If an article of some sort has validity, then it would exist to be further expanded (via the inclusion of additional references and in a neutral manner) by anyone. |
Clive Semmens (2335) 3276 posts |
The ARM ARM is really intended for people like hardware designers, compiler writers and folks writing low-level driver software – but it’s pretty useful for anyone writing in assembly language. But mostly use the documentation that belongs to the assembler you’re using! The ARM Assembler Guide I also wrote while I was at ARM matches the ARM Assembler, not the BBC BASIC (ARM) Assembler… |
Jeffrey Lee (213) 6048 posts |
As far as I can see both pages give the same restrictions over PC usage:
But this doesn’t mean that something like “LDMIA R13,{R0-PC}^” is an invalid instruction. It just means that it won’t assemble to a “load user mode registers” instruction – it’ll assemble to the “exception return” version of the instruction, which will be documented on another page. The encoding of the two forms only differs by one bit (bit 15 will be one), but the behaviour of the instruction is different enough that ARM figured it warranted its own entry instead of shoehorning it into an existing one. |
Clive Semmens (2335) 3276 posts |
Exactly so. Well, almost. People are writing things like R0-PC which would imply all 16 registers being loaded. Really it’s more likely to be things like R0-R3, R7, R8, R11, PC – you shouldn’t be loading both the LR and the PC in the same instruction, and you shouldn’t be loading the SP at all. Deprecated but not illegal, of course – but pretty daft anyway. |
Rick Murray (539) 13840 posts |
How about – it is the official datasheet for the ARM processor described within.
Description of the ARM instruction set, and related instruction sets (Thumb, VFP, etc). Specifically, also notes on what is and is not legal (for example you can’t MUL with PC, and there are restrictions on how you can use registers with MUL due to how the MUL itself is implemented).
More reliable than the piles of rubbish floating around them there intertubes… |
Clive Semmens (2335) 3276 posts |
Rick – you’re describing my bit of it! There’s loads of stuff about debug registers and suchlike too, which I know virtually nuffink about, and memory architectures. Really, the TRMs (Technical Reference Manuals) are the official datasheets for the particular processors; the ARM ARM is the official reference manual for the architecture. But programmers need the ARM ARM – the TRMs deal with things like electrical characteristics, pin-outs etc, and don’t cover the architecture material much at all. (I’m probably virtually unbeatable at opcode-scrabble… 8~) …not the most useful accomplishment…) |
Pages: 1 2