19 ms·
This also reminds me of something C programmers have all witnessed at least once: inline assembly. Outside of bare metal programming, pretty much anything done
by ksaj 4y ago
This also reminds me of something C programmers have all witnessed at least once: inline assembly.
Outside of bare metal programming, pretty much anything done with inline assembly can already have been done with straight-up C. BUT by using inline assembly, the coder has (nearly) direct control over what the compiler spits out.
And the reason I say "nearly," before someone corrects me, is that there are multiple ways to express the same operations in assembly.
For example, ADD AX,BX can be compiled as C303h or D801h... the end result is exactly the same, but the binary code is not at all the same. Incidentally, this is one of a few methods forensic agents heuristically determine what compiler was used for a given malware sample.
It's abstraction all the way down. Even at the Assembly Language level.