X86 Assembly

{{language}}{{assembler language}}


Quote from Wikipedia article:

x86 assembly language is a family of backward-compatible assembly languages, which provide some level of compatibility all the way back to the Intel 8008 introduced in April 1972. x86 assembly languages are used to produce object code for the x86 class of processors. Like all assembly languages, it uses short mnemonics to represent the fundamental instructions that the CPU in a computer can understand and follow. Compilers sometimes produce assembly code as an intermediate step when translating a high level program into machine code. Regarded as a programming language, assembly coding is machine-specific and low level. Assembly languages are more typically used for detailed and time critical applications such as small real-time embedded systems or operating system kernels and device drivers. ==See also== Wikipedia Article: https://en.wikipedia.org/wiki/X86_assembly_language

Intel manuals: https://software.intel.com/en-us/articles/intel-sdm

Brief introduction: http://cs.lmu.edu/~ray/notes/x86assembly/

GNU assembler: https://sourceware.org/binutils/docs/as/

SSE: https://en.wikibooks.org/wiki/X86_Assembly/SSE

64 bit Linux assembly: http://rayseyfarth.com/asm/

Linux system calls: http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/

YASM manual: http://www.tortall.net/projects/yasm/manual/html/index.html

NASM manual: http://www.nasm.us/xdoc/2.12.02/html/nasmdoc0.html

8086 assembly: http://www.stevemorse.org/8086/

32 bit: http://pacman128.github.io/pcasm/

64 bit: https://www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf

Linux procedure calls: https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-r252.pdf