Hacker News new | ask | show | jobs
by evincarofautumn 3236 days ago
I’ve used crappy compilers where there’s essentially no optimisation, and moderately complex expressions produce absurd code, so if you want reasonable output, you end up writing the assembly you want in the notation of the higher-level language, like:

    /* a = (b * 2) + 1 */

    a = b;    /* mov a, b */
    a <<= 1;  /* shl a, 1 */
    a |= 1;   /* or a, 1 */
1 comments

TI used to have an Assembler that was exactly like that, don't recall for which processor though.