4 ms·
Is anyone still programming in assembly in 2018? Maybe some embedded systems people?
by joker3 9y ago
Is anyone still programming in assembly in 2018? Maybe some embedded systems people?
- faragon 9y agoOnly for SIMD-optimized code. For remaining cases, you can help the compiler so it can generate very fast code (with current OoOE CPUs, the generated code may be suboptimal, but as fast as hand-tuned assembly because of the abundance of ALUs and load/store units in the CPU; also, current compilers are better than back in 1996).
- spc476 9y agoI wrote an implementation of coroutines for C in both x86-32 and x86-64 bit assembly [1] last year. It's amazing just how few instructions it actually took (by taking advantage of the calling convention, not all registers need to be saved). [1] https://github.com/spc476/C-Coroutines https://github.com/spc476/C-Coroutines
- nickpsecurity 9y agoIn embedded, using a cheaper microcontroller or HW offloading can bring big benefits. The former might boost profit a lit across high volume of units sold. 8-16 bit MCU's still account for a huge chunk of what's sold with it being over a billion dollar market. People will use C and/or assembly. For same reason, there's even still a market for 4-bit MCU's used in things like watches and Gilette razors. Like to see demoscene take on 4bitters. http://www.ganssle.com/rants/is4bitsdead.htm http://www.ganssle.com/rants/is4bitsdead.htm Far as non-embedded, his company does: https://news.ycombinator.com/item?id=9948749 https://news.ycombinator.com/item?id=9948749 Past that, it's still good for leveraging hardware features directly, highly-optimized code, and in high-assurance to be sure binary matches source. For latter, you can verify compiler output or just write it by hand to be verifiable. There are even so-called typed assembly languages that are safer than C. TALx86 and CoqASM that build on x86 come to mind. SIFTAL addresses non-interference that combats things like side channels on top of obvious stuff. https://www.cs.cornell.edu/talc/papers/talx86-wcsss.pdf https://www.cs.cornell.edu/talc/papers/talx86-wcsss.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/coqasm.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/... https://www.researchgate.net/publication/228726704_SIFTAL_A_typed_assembly_language_for_secure_information_flow_analysis https://www.researchgate.net/publication/228726704_SIFTAL_A_...
- souprock 9y agoOf course! Seriously, if you're good at it, want a job? (see appropriate post if so) I think assembly has only gotten less popular in a relative sense. Sure, there are now many jobs doing high-level stuff, but the low-level stuff hasn't gone away. It really can't go away, because all that high-level stuff is built upon it.
- wilsonnb 9y agoLots of people still use IBM's high level assembler for mainframe programming, unfortunately in my opinion.
- anta40 9y agoI work on a local smartcard manufacturer company. My friends who are assigned to develop our smart card OS ocasionally dabble with assembly code. Most of the code is C, though.
- glangdale 9y agoNot really, but I'm writing C code and reading the asm with the expectation of seeing exactly the asm I expect. About the only major thing I want from the compiler is register allocation and scheduling, but it's way more maintainable to let the compiler make these decisions based on its machine model than have me do it. Note that I'm a heavy user of intrinsics and SIMD, so I'm writing a lot of code where I've pretty much already done instruction selection, often at algorithm design time.
- shpx 9y agohttps://2ton.com.au/Products/ https://2ton.com.au/Products/ https://news.ycombinator.com/from?site=2ton.com.au https://news.ycombinator.com/from?site=2ton.com.au