forked from withlin/advanced-go-programming-book
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathch3-2-arch-amd64-01.ditaa.txt
29 lines (28 loc) · 1.49 KB
/
ch3-2-arch-amd64-01.ditaa.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
X86/AMD64 Architecture
+----------+ +---------+ +--------------------+
| cRED | high | FLAGS | | MOV/LEA |
| stack | ^ +---------+ +--------------------+
| | | | | IP | | CMP/TEST/JMP/J[CC] |
| | | | +---------+ +--------------------+
| v | | | PUSH/POP |
+----------+ | +---------+ +--------------------+
| | | | AX | | CALL/RET |
| cAAA | | +---------+ +--------------------+
| unused | | | BX |
| | | +---------+ +--------------------+
| | | | CX | | ADD/SUB/MUL/DIV |
+----------+ | +---------+ +--------------------+
| cYEL | | | DX | | AND/OR/XOR/NOT |
| heap | | +---------+ +--------------------+
| | | | SI | | SHL/SHR |
+----------+ | +---------+ +--------------------+
| cGRE | | | DI |
| data | | +---------+ +--------------------+
+----------+ | | BP | | |
| cGRE | | +---------+ | |
| rodata | | | SP | | ...more ins... |
+----------+ | +---------+ | |
| cBLU | | | R8~R15 | | |
| text | low +---------+ +--------------------+
+----------+
Memory Register Instructions