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.
Introduction to ARM Assembly Basics
41–48 of 48 posts
Re: Introduction to ARM Assembly Basics
#42Does any one here use a lot of assembly in their job? If so, what do you do? I started getting fascinated about computer architecture a while back, but then I saw how dead embedded programming was in my area.
Re: Introduction to ARM Assembly Basics
#43Earlier quoted context omitted.
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. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc....
Easy to miss, particularly if you are scanning through.
Re: Introduction to ARM Assembly Basics
#44Earlier quoted context omitted.
AT&T syntax is a uniquely X86 thing.
No it isn't, as AT&T syntax is used on SPARC and Motorola 68000, for example. It has nothing whatsoever to do with any processor in particular.
Re: Introduction to ARM Assembly Basics
#45Earlier quoted context omitted.
What are you talking about??? https://static.docs.arm.com/ddi0403/e/DDI0403E_B_armv7m_arm.... http://infocenter.arm.com/help/topic/com.arm.doc.dui0553a/BA... There is also the old cheat sheet: http://users.ece.utexas.edu/~valvano/Volume1/QuickReferenceC...
None of these are the correct document? I think you've inadvertently just helped make my case for me. I don't have a link to share unfortunately, the only way i could get access was by going to ST directly.
The chapter after that even includes instruction encoding.
Maybe you were looking for something else?
Re: Introduction to ARM Assembly Basics
#46Earlier quoted context omitted.
I've also been working with DSP processors in audio processing. The only time I've used actual inline assembly was storing stack pointer to measure stack usage. For saturating arithmetic and other stuff we used compiler intrinsics, which freed us from handling register allocation, stack management etc by hand. On that processor there weren't special instructions for saturating arithmetic but a flag was used instead,…
Technically, assembly is not required for measuring stack: just use regular C address of any local variable/function argument (minus an address of some local variable in main) to have some approximation of stack usage.
Re: Introduction to ARM Assembly Basics
#47I'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.
Re: Introduction to ARM Assembly Basics
#48Earlier quoted context omitted.
No it isn't, as AT&T syntax is used on SPARC and Motorola 68000, for example. It has nothing whatsoever to do with any processor in particular.
What do you mean by "AT&T syntax"? Neither 68000 nor SPARC use it, because it's an x86 thing. Do you really mean "operand order"? There's more to an assembly language syntax than just the order of the operands.