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