4 ms·
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 prog
by sjtgraham 9y ago
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.
- morisGue 9y agoLol, 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.
- sjtgraham 9y agoI 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.den0024a/BABHDEEJ.html http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc....
- mordnis 9y agoYou do realise you are comparing 32 bit ARM and 64 bit ARM, which are very different ISAs?
- sjtgraham 9y agoYes, that is exactly my point. This is something I think the guide should mention.
- deleted 9y ago[deleted]
- DigitalJack 9y agoPage 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.
- bobsam 9y agoIot often use a slightly modified thumb2 which is actually a pretty recent addition to arm ISA.
- repiret 9y agoit matches ARMv8-A's AArch32 quite well :)
- repiret 9y agoit matches ARMv8-A's AArch32 quite well :)
- shepardrtc 9y agoThumb mode is mentioned, and in Part 3 its covered more in-depth.