Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Who uses x86 assemblers?

  1. Feb 13, 2007 #1
    Just curious about how many forum members use assembler programming, and:
    1. what sort of assembler they may use,
    2. the pros and cons of various assemblers,
    3. capability of assemblers vs HLL's,
    4. their thoughts on 16 vs 32 bit,
    5. and why they may use assemblers at all?

  2. jcsd
  3. Feb 13, 2007 #2


    User Avatar
    Homework Helper

    Not something I know much about but I would imagine that it'd only be used for the tightest of loops, things like shader routines for video processors and stuff. An interesting use of assembler was the graphic system in Quake, they couldn't quite get it to run well on a 486 but nevertheless I think it was a great achievement.
  4. Feb 13, 2007 #3


    User Avatar
    Science Advisor
    Homework Helper

    A good optimizing compiler (and there are a lot of bad ones!) should be able to generate code that runs tighter than "simple-minded" hand-optimised assembler, because the compiler writers should know more details about exactly how the CPU works than most application programmers. For example, reordering instructions to get maximum overlap of fetch-execute, look-ahead branch resolution, optimum use of the cache, etc.

    I suspect the main reason for using an assembler now would be if you need to generate some precise sequence of machine code instructions for some reason - for example at power on reset, or putting the CPU into "sleep mode" and waking it up again.
  5. Feb 13, 2007 #4

    Dr Transport

    User Avatar
    Science Advisor
    Gold Member

    My brother-in-law used assembly for chip level programing, if you ahve to make a process work in micro-seconds you use assembly. Th Linux compilers are pretty good, last time i tried the microsoft version of assembly lanuguage wasn't too bad either.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook