Skip to main content
2 of 2
added 2 characters in body
Johan
  • 1.1k
  • 10
  • 27

Assembly = machine code
Some people keep harping on about how assembly language is different from the numeric codes that the CPU understands.
This (whilst true) completely misses the point.
As far as translation goes assembly language and the numeric (binary, hex whatever) are one and the same thing.

Grok it or drop it
If you grok assembly you know how an actual computer works.
grokking assembly involves:

If you grok assembly you well have a nearly complete picture of how the CPU connected to your keyboard works.
You need to use this knowledge like a brain surgeon uses his scalpel.

Don't need no stinking abstractions
Unless you grok assembly (and thus the CPU on the operating table) you will never be free of the clutches of the abstractions of the RAM machine (or god forbid the Turing machine the horror).

L33t Hax0r 5k1llz
Assembly also helps to you understand how the 133thax0r manages to defeat the protection schemes. (Q: why does ASLR not work? because mov rax,fs:[28h] breaks it).

The 0.1%
It is not the knowledge of assembly that matters, but knowledge of the machine your working on that matters.
If you want to know the machine, you must understand it and that means speaking the language of the machine.

If you don't then you're stuck with the abstraction.
That's science and that's good, but that's never the complete picture.

It's like learning to speak Xhosa
Unless you aim for guru level, best stick with what you know, those clicks will complicate your life.

Because it's fun.

Johan
  • 1.1k
  • 10
  • 27