github.com/zxy12/go_duplicate_112_new@v0.0.0-20200807091221-747231827200/markdown/asm.md (about)

     1  # asm 命令到底干了什么
     2  
     3  lexer:
     4  
     5  parser:
     6  
     7  ctxt
     8  
     9  ## 依赖的包介绍
    10  
    11  ### cmd/asm/internal/arch
    12  arch.go:
    13  
    14      定义伪寄存器	RFP = -(iota + 1) RSB、RSP、RPC
    15      asm.internal.arch -> obj.LinkArch -> sys.Arch
    16      设置指令集 x86.Anames
    17      寄存器 x86.Register
    18      architecture(Arch).linkarch x86.Linkamd64
    19      ctxt: Link
    20      Arch.Init -> cmd.internal.obj.x86.asm6.instinit
    21      Plist: 包含Curfn, Prog 一条机器指令
    22      As: Opcode
    23      For example, MOVL R1, R2 encodes using only As=MOVL, From=R1, To=R2.
    24      Addr:
    25      LSym:
    26  
    27  ### cmd/internal/sys/ 
    28  arch.go: 
    29      
    30      ArchFamily: byte 环境,指针长度、寄存器长度、大小端
    31  
    32  
    33