ATLAS Assembly Homepage (original) (raw)
This page consolidates some assembly references I've found handy in my ATLAS programming. You may also find theATLAS architecture page useful.
Basic assembly starting points:
- register & stack frame usage for various assemblies directly supported by ATLAS.
- Gnu assembly manual.
- x86 assembly from the manual (including unix (AT&T)/MASM differences).
- IBM's introduction to PowerPC assembly.
- Linux assembly page.
ISA references:
- x86-32 (up to and including SSE3) ISAVolume 1 andVolume 2.
- IA-64 ISA
- PowerPC ISA [local copy].
- Sun UltraSPARC assembly manual [online] [pdf] [local]
- MIPS IV ISA.
ABI references:
- System V ABI for x86
- System V ABI for AMD64 (NOTE: Intel calls AMD64 EM64T, and it is also known as x86-64).
- System V ABI for PowerPC (Unix/Linux)
- MIPS ABIs are numerous and confusing:
- System V ABI for 32-bit MIPS describes original MIPS32 (MIPS1 and MIPS2) platform. Uses only 16 fp regs, integer regs are always 32 bits.
- Pages 23-29 amend 32-bit ABI for 64 bits. This is full 64 bit ABI.
- MIPSpro N32 ABI Handbook.
- SGI assembly reference manual. Pages 2-7 describe register usage for three ABIs (-32, -n32 -64, where these latter two are running on 64bit hardware, and get to use 32 fp regs).
- Mach-O ABI for PowerPC (Mac OS X)
- System V ABI for SPARC
SIMD Vectorization references:
- MMX primer
- Clive's excellent online SSE1 reference.
- SSE2 intro.
- Intel SSE3 developer paper [local].
- Intel whitepaper on using SSE3 for complex arithmetic.
- AltiVec references: [ apple] [motorolla] [IBM]
- SPARC VIS whitepaper.
Etc.:
- AMD64 docs.
- IA-32 Intel Arch & ISA Manuals. Also includes Intel's description of EM64T instructions (oh my gosh, some of this looks almost exactly like the AMD64 docs! Whatever could be going on?).
- cpuid: site with simple SSE instructions lists, as well as some arch info.
- AMD block fetch whitepaper.
In addition to the above links, I had some actual paper books for learning various assemblies. They include:
- 80x86 Assembly Language and Computer Architecture, by Richard C. Detmer.
- Optimizing PowerPC Code by Gary Kacmarcik.