예제 #1
0
 public override void Visit(LocalVariableNode node)
 {
     this.ComputeLocalVariableAddress(node);
     this.Add("   pop rax");
     this.Add("   mov rax, [rax]");
     this.Add("   push rax");
 }
예제 #2
0
        public void ComputeLocalVariableAddress(LocalVariableNode node)
        {
            var lvar = node.LocalVariable;

            this.Add("   mov rax, rbp");
            this.Add($"   sub rax, {lvar.Offset}");
            this.Add("   push rax");
        }
예제 #3
0
 public abstract void Visit(LocalVariableNode node);