public void CmpIntegers(SingleArgCmd jmpIftrue)
        {
            G(Pop, Rbx());
            G(Pop, Rax());
            G(Cmp, Rax(), Rbx());

            var trueLabel = GetUniqueLabel();
            var endLabel  = GetUniqueLabel();

            G(jmpIftrue, trueLabel);
            PushImm64(0);
            G(Jmp, endLabel);

            Label(trueLabel);
            PushImm64(1);

            Label(endLabel);
        }
 public void G(SingleArgCmd cmd, int arg)
 {
     _out.WriteLine($"{cmd.ToString().ToLowerInvariant()} {arg.ToString()}");
 }
 public void G(SingleArgCmd cmd, string str)
 {
     _out.WriteLine($"{cmd.ToString().ToLowerInvariant()} {str}");
 }