Creating Really Teensy ELF Executables for Linux
muppetlabs.com
muppetlabs.com
Originally, the "a.out" executable format, and hence, the "a.out" file name were due to being the "assembler output" of Ken Thompson's assembler in 1968. Most all UNIX-based systems have moved to using newer ELF format, but there are a few hold-outs still using the older a.out format. As for why ELF formatted executable files are still given the file name "a.out" by default, even when they are not in the "a.out" executable format, it's just a historic artifact (or annoyance) due to compilers and linkers.
int 20;
which got translated into CDh 20h (4 bytes!)