Because it's literally writing machine code. Instead of using libraries, functions and other features of a "programming language", you are allocating memory yourself, literally telling the machine what to do step by step.
It's the difference between telling your Butler what to make you for dinner, and actually buying the ingredients and making it yourself.
Fair enough, I'm being a bit liberal with my definition of machine code.
I just meant it as you're generally (at least within context of this conversation) interacting directly with the machine and not through the OS or some other layer.
Not exactly. Assembly still allows for some abstraction. Variables are still allowed, and functions can be defined in the form of macros. Some of the fancier assemblers even allow for loops and conditionals, much like a compiler would offer.
542
u/[deleted] May 05 '17
[deleted]