CS107 Guide to x86-64
x86-64 (also known as just x64 and/or AMD64) is the 64-bit version of the x86/IA32 instruction set. Below is our overview of its features that are relevant to CS107. There is more extensive coverage on these topics in Chapter 3 of the B&O textbook. See also our x86-64 sheet for a compact reference. The table below lists the commonly used registers (sixteen general-purpose plus two special). Each register is 64 bits wide; the lower 32-, 16- and 8-bit portions are selectable by a pseudo-register name. Some registers are designated for a certain purpose, such as %rsp being used as the stack pointer or %rax for the return value from a function. Other registers are all-purpose, but have a conventional use depending on whether caller-owned or callee-owned. If the function binky calls winky, we refer to binky as the caller and winky as the callee. For example, the registers used for the first 6 arguments and return value are all callee-owned. The callee can freely use those registers, overwri
CS107 Guide to x86-64 Guide to x86-64 --> A CS107 joint staff effort (Erik, Julie, Nate) x86-64 (also known as just x64 and/or AMD64) is the 64-bit version of the x86/IA32 instruction set. Below is our overview of its features that are relevant to CS107. There is more extensive coverage on these topics in Chapter 3 of the B&O textbook. See also our x86-64 sheet for a compact reference. Registers The table below lists the commonly used registers (sixteen general-purpose plus two special). Each register is 64 bits wide; the lower 32-, 16- and 8-bit portions are selectable by a pseudo-register na
Explore this link on the map →related reading
- CS107 Guide to x86-64web.stanford.edu
- A fundamental introduction to x86 assembly programmingnayuki.io
- Guide to x86 Assemblyflint.cs.yale.edu
- Guide to x86 Assemblycs.virginia.edu
- x86 Assembly and Call Stack | Computer Securitytextbook.cs161.org
- Machine Code Isn't Scary — Jimmy Millerjimmyhmiller.com
- The little book about OS developmentlittleosbook.github.io
- CS107 Lab 6: Runtime Stackweb.stanford.edu
- The "Basics" | Putting the "You" in CPUcpu.land
- Assembly Language - Algorithmicaen.algorithmica.org
- Introduction to reverse engineering and Assembly. | KaKaRoTo's Blogkakaroto.homelinux.net
- Zenbleedlock.cmpxchg8b.com