CodeGeneration.CGenState.LEA C# (CSharp) Метод

LEA() публичный Метод

public LEA ( Int32 offset, System.Reg src, System.Reg dst ) : void
offset System.Int32
src System.Reg
dst System.Reg
Результат void
        public void LEA(Int32 offset, Reg src, Reg dst) => LEA($"{offset}({RegToString(src)})", RegToString(dst));

Same methods

CGenState::LEA ( String addr, System.Reg dst ) : void
CGenState::LEA ( String addr, String dst ) : void

Usage Example

Пример #1
0
        public override void CGenAddress(CGenState state) {
            Env.Entry entry = this.Env.Find(this.Name).Value;
            Int32 offset = entry.Offset;

            switch (entry.Kind) {
                case Env.EntryKind.FRAME:
                case Env.EntryKind.STACK:
                    state.LEA(offset, Reg.EBP, Reg.EAX);
                    return;

                case Env.EntryKind.GLOBAL:
                    state.LEA(this.Name, Reg.EAX);
                    return;

                case Env.EntryKind.ENUM:
                case Env.EntryKind.TYPEDEF:
                default:
                    throw new InvalidProgramException("cannot get the address of " + entry.Kind);
            }
        }
All Usage Examples Of CodeGeneration.CGenState::LEA