mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-23 20:02:22 +00:00
30 lines
1.9 KiB
Plaintext
30 lines
1.9 KiB
Plaintext
Go's Assembler pseudo registers
|
|
|
|
+----------+ +---------+ +--------------------+
|
|
| cYEL | | FLAGS | | MOV/LEA |
|
|
| heap | +---------+ +---------+ +--------------------+
|
|
| | | PC cBLU+-----+ IP cBLU| | CMP/TEST/JMP/J[CC] |
|
|
+----------+ +---------+ +---------+ +--------------------+
|
|
| cRED | | PUSH/POP |
|
|
| stack | +---------+ +--------------------+
|
|
+----------+ | AX | | CALL/RET |
|
|
| cRED | a+0(FP)+---------+ +---------+ +--------------------+
|
|
| frame | <-=----+ FP cRED| | BX |
|
|
+----------+ +---------+ +---------+ +--------------------+
|
|
| cRED | <-=----+ SP cRED| | CX | | ADD/SUB/MUL/DIV |
|
|
| local | t-8(SP)+---------+ +---------+ +--------------------+
|
|
| | | | DX | | AND/OR/XOR/NOT |
|
|
| : | +---------+ +--------------------+
|
|
| v | <-=--------+ | SI | | SHL/SHR |
|
|
+----------+ +0(SP) | +---------+ +--------------------+
|
|
| cGRE | | | DI |
|
|
| data | | +---------+ +--------------------+
|
|
+----------+ | | BP | | |
|
|
| cGRE | | +---------+ | |
|
|
| rodata | +-=---------+ SP cPNK| | ...more ins... |
|
|
+----------+ +---------+ +---------+ | |
|
|
| cBLU | +--+ SB cBLU| | R8~R15 | | |
|
|
| text | | +---------+ +---------+ +--------------------+
|
|
+----------+ <-=-+
|
|
Memory Pseudo Registers Real Register Instructions
|