The idea that you'd need Docker to compile ARM64 assembly on macOS (an operating system which now primarily runs on ARM64 computers) is very funny to me.
You might be able to use clang (install Xcode or Xcode command line tools): the flags might be different here and there, but it should support the same assembly syntax.
> Granted, ARMv8 AArch64 is not the ideal Assembly Language to learn as someone's first. However, if a true Beginner can learn ARMv8 AArch64, then all other Assembly Languages will be easy work.
That's funny, I thought x86 had the title for "Not The Ideal Assembly Language To Learn"
x86 was designed/developed back when a lot of programs were written in assembly, so writing assembly for it isn't terrible especially if you focus on the simpler instructions. Things like accessing global variables or manipulating the stack tend to be easier on x86 than on a load/store architecture because of all the addressing modes available.
I personally would nominate POWER/PowerPC for Not The Ideal Assembly Language To Learn. Lots of confusing mnemonics, like two addressing modes, and registers identified by number instead of by name. It was not designed to be written by humans
How do people who do things like this - get the time to do it? Did he do it in his personal time with or without a job? If anyone else does something like this - can you give your insights. I would love to be able to do something like this.
I'm not saying this is not awesome, but it's pretty much what any undergrad computer architecture course will teach you.
It should be pretty standard for CS undergrads to be at least familiar with some ISA.
edit: undergrand -> undergrad
PS: I highly recommend Patterson and Hennessy Computer Organization and Architecture (pick the Arm, RISCV or MIPS edition... any will do) to actually learn about all these things and more.
Back in 2008 I would hang out in the wiihomebrew irc channels and some of the people in there were 15 or 16 year olds just figuring out how this works on their own after/instead of doing homework.
Some of them have gone on to be names you've heard of.
Everyone does something with their time. The neighbor is always taking his motorcycle apart and putting it back together. Aunt Liz paints. I sit on the couch and stare at the TV. I'm sure if your thing is writing assembly tutorials, you can turn those other activities down to make room.
Looks useful for a beginner to asm in general, but for someone like me who've been coding asm for other processors for decades it might a bit too basic.
I have been using this other "tutorial" for AArch64 assembly, which I think might be more useful for someone coming from asm on another processor: https://github.com/pkivolowitz/asm_book
Thanks for this resource!
Even though i have been able to collect enough resources for Neon/simd programming but having a proper guide is indispensable and arm official documentation doesn't make it easy in any way!
18 comments
[ 3.6 ms ] story [ 50.5 ms ] threadWhat's the equivalent step of this for macOS? Perhaps: brew install --cask gcc-aarch64-embedded
?
> You must have a Linux Machine and understand how to run basic Terminal commands (sorry I don't use Windows or Mac)
Perhaps VM/docker or something could help you?
That's funny, I thought x86 had the title for "Not The Ideal Assembly Language To Learn"
I personally would nominate POWER/PowerPC for Not The Ideal Assembly Language To Learn. Lots of confusing mnemonics, like two addressing modes, and registers identified by number instead of by name. It was not designed to be written by humans
It should be pretty standard for CS undergrads to be at least familiar with some ISA.
edit: undergrand -> undergrad
PS: I highly recommend Patterson and Hennessy Computer Organization and Architecture (pick the Arm, RISCV or MIPS edition... any will do) to actually learn about all these things and more.
Some of them have gone on to be names you've heard of.
I have been using this other "tutorial" for AArch64 assembly, which I think might be more useful for someone coming from asm on another processor: https://github.com/pkivolowitz/asm_book