2 ms·
To the sibling [dead] comment: > You are probably thinking of assembly code generated by a compiler, not by a human An understandable response, but no as it h
by jlokier 6y ago
To the sibling [dead] comment:
> You are probably thinking of assembly code generated by a compiler, not by a human
An understandable response, but no as it happens I'm not.
At various times I've been an expert-level assembly language programmer and have programmed at least 20 architectures. I forget, some are quite obscure, especially non-descript Qualcomm DSPs :-) At one time I won an informal competition to make the smallest ELF executable, and I used to write games engines, back when every cycle counted, and artfully hand-tuned, clever texture mapping techniques, tuned for each generation of processor, alongside higher-level mathematical algorithms to get the best out of the low-level loops were the sort of thing needed. So I'm familiar with Michael Abrash, and "human-optimised" dense assembly.
I've written 100% assembly programs on the order of 10,000s of instructions long, which corresponds to 100s of "pages".
I wouldn't do that these days without a good reason, in fact I'm into very high level architecture and optimisation methods, and designing languages around problems, but I do know my way around an assembler when needed.
I've also reverse engineered a number of things from machine code back to C, sometimes to fix bugs in the machine code and create binary patches, sometimes to port it, and sometimes to reverse engineer how to operate a device. So I've read and analysed large amounts of assembler too, but to be fair that code does tend to be mostly compiler generated.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]