Re:Introduction to ARM Assembly Basics
by sjtgraham on Sunday May 28, 2017 @07:36AM
(#14433977)
I'm only a couple of pages in but already a lot of this guide is incorrect for ARMV8-A (A64). Much is different, e.g. no thumb mode, no directly accessible program counter, no load multiple, no PUSH/POP, different stack pointer, etc. Looks good if you're interested in older ARM ISAs, which is probably more applicable for IoT etc.
[ Parent
| on HN ]
Lol, that's because it's about ARMv6. She even points it out in Part 1 or so (not sure where but I saw it somewhere). If you wanna include all differences of ARM that would be a long tutorial.
I think you'll find the only reference to v6 is where the register names are explained, e.g. <= v7: r0, r1, etc. This is another thing it gets wrong, i.e. A64 registers can be x0, X1, etc, but also the lower 32 bits can be addressed via w0, w1, etc. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc....
Re:Introduction to ARM Assembly Basics
by DigitalJack on Sunday May 28, 2017 @01:59PM
(#14435396)
Page 1, right before the table cross-referencing ISA with ARM family. "The examples in this tutorial were created on an 32-bit ARMv6 (Raspberry Pi 1)."
Easy to miss, particularly if you are scanning through.
You do realise you are comparing 32 bit ARM and 64 bit ARM, which are very different ISAs?
Yes, that is exactly my point. This is something I think the guide should mention.
Re:Introduction to ARM Assembly Basics
by shepardrtc on Monday May 29, 2017 @04:58PM
(#14441386)
Thumb mode is mentioned, and in Part 3 its covered more in-depth.
Iot often use a slightly modified thumb2 which is actually a pretty recent addition to arm ISA.