C# Класс CodeGeneration.CGenState

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
label_idx System.Int32
reg_strs String>.Dictionary

Открытые методы

Метод Описание
ADDL ( Int32 er, System.Reg ee, String comment = "" ) : void
ADDL ( System.Reg er, System.Reg ee, String comment = "" ) : void
ADDL ( String er, String ee, String comment = "" ) : void

ADDL: add long

ALIGN ( Int32 align ) : void
ANDB ( Int32 er, System.Reg ee ) : void
ANDB ( String er, String ee ) : void
ANDL ( Int32 er, System.Reg ee ) : void
ANDL ( System.Reg er, System.Reg ee ) : void
ANDL ( String er, String ee ) : void

ANDL er, ee ee = er & ee

BYTE ( Int32 value ) : void
CALL ( String addr ) : void
CGenConvertFloatToLong ( ) : void
CGenConvertLongToFloat ( ) : void
CGenExpandStackBy ( Int32 nbytes ) : void
CGenExpandStackBy4Bytes ( String comment = "" ) : void
CGenExpandStackBy8Bytes ( String comment = "" ) : void
CGenExpandStackTo ( Int32 size, String comment = "" ) : void
CGenExpandStackWithAlignment ( Int32 nbytes, Int32 align ) : void
CGenForceStackSizeTo ( Int32 nbytes ) : void
CGenFuncStart ( String name ) : void
CGenLabel ( Int32 label ) : void
CGenLabel ( String label ) : void
CGenLongConst ( Int32 val ) : String
CGenLongLongConst ( Int32 lo, Int32 hi ) : String
CGenMemCpy ( ) : void

Fast Memory Copy using assembly. Make sure that 1) %esi = source address 2) %edi = destination address 3) %ecx = number of bytes

CGenMemCpyReversed ( ) : void

Fast Memory Copy using assembly. Make sure that 1) %esi = source address 2) %edi = destination address 3) %ecx = number of bytes

CGenPopDouble ( Int32 saved_size ) : void
CGenPopFloat ( Int32 saved_size ) : void
CGenPopLong ( Int32 saved_size, System.Reg dst ) : void
CGenPushDouble ( ) : Int32
CGenPushDoubleP ( ) : Int32
CGenPushFloat ( ) : Int32
CGenPushFloatP ( ) : Int32
CGenPushLong ( Int32 imm ) : Int32
CGenPushLong ( System.Reg src ) : Int32
CGenShrinkStackBy ( Int32 nbytes ) : void
CGenShrinkStackBy4Bytes ( String comment = "" ) : void
CGenShrinkStackBy8Bytes ( String comment = "" ) : void
CGenState ( ) : System
CGenString ( String str ) : String
CLD ( ) : void
CLTD ( ) : void

CLTD: used before division. clear %edx.

CMPL ( Int32 imm, System.Reg ee ) : void
CMPL ( System.Reg er, System.Reg ee ) : void
CMPL ( String er, String ee ) : void

CMPL: compare based on subtraction. Note that the order is reversed, i.e. ee comp er.

COMM ( String name, Int32 size, Int32 align ) : void
COMMENT ( String comment ) : void
CaseLabel ( Int32 value ) : Int32
DATA ( ) : void
DIVL ( System.Reg er ) : void
DIVL ( String addr ) : void

IDIVL: unsigned division. %eax = %edx:%eax / {addr}.

FADD ( Int32 op1, Int32 op2 ) : void

FADD: calculate %st(op1) + %st(op2) and rewrite %st(op2).

FADDP ( ) : void

FADDP: pop operands from %st(0) and %st(1), push addition result back to %st(0).

FCHS ( ) : void

FCHS: %st(0) = -%st(0)

FDIVP ( ) : void

FDIVP: pop operands from %st(0) and %st(1), push %st(0) / %st(1) back to %st(0).

FLD1 ( ) : void

FLD1: push 1.0 to FPU stack.

FLDL ( Int32 imm, System.Reg from ) : void
FLDL ( String addr ) : void

FLDL: load double to FPU stack.

FLDS ( Int32 imm, System.Reg src ) : void
FLDS ( String src ) : void

FLDS: load float to FPU stack.

FLDZ ( ) : void

FLD0: push 0.0 to FPU stack.

FMULP ( ) : void

FMULP: pop operands from %st(0) and %st(1), push multiplication result back to %st(0).

FSTL ( Int32 imm, System.Reg to ) : void
FSTL ( String addr ) : void

FSTL: store double from FPU stack.

FSTP ( System.Reg dst ) : void
FSTP ( String dst ) : void

FSTP: copy %st(0) to dst, then pop %st(0).

FSTPL ( Int32 imm, System.Reg to ) : void
FSTPL ( String addr ) : void

FSTPL: pop from FPU and store *double*.

FSTPS ( Int32 imm, System.Reg to ) : void
FSTPS ( String addr ) : void

FSTPS: pop float from FPU stack, and store to {addr}.

FSTS ( Int32 imm, System.Reg to ) : void
FSTS ( String addr ) : void

FSTS: store float from FPU stack.

FSUB ( Int32 op1, Int32 op2 ) : void

FADD: calculate %st(op1) + %st(op2) and rewrite %st(op2).

FSUBP ( ) : void

FSUBP: pop operands from %st(0) and %st(1), push %st(0) / %st(1) back to %st(0).

FUCOMIP ( ) : void

FUCOMIP: unordered comparison: %st(0) vs %st(1).

GLOBL ( String name ) : void
GotoLabel ( String label ) : Int32
IDIVL ( System.Reg er ) : void
IDIVL ( String addr ) : void

IDIVL: signed division. %eax = %edx:%eax / {addr}.

IMUL ( System.Reg er ) : void
IMUL ( String addr ) : void

IMUL: signed multiplication. %edx:%eax = %eax * {addr}.

InFunction ( IReadOnlyList goto_labels ) : void
InLoop ( Int32 continue_label, Int32 break_label ) : void
InSwitch ( Int32 break_label, Int32 default_label, Int32>.Dictionary value_to_label ) : void
JMP ( Int32 label ) : void
JNZ ( Int32 label ) : void
JZ ( Int32 label ) : void
LEA ( Int32 offset, System.Reg src, System.Reg dst ) : void
LEA ( String addr, System.Reg dst ) : void
LEA ( String addr, String dst ) : void
LEAVE ( ) : void
LOCAL ( String name ) : void
LONG ( Int32 value ) : void
MOVB ( System.Reg from, Int32 imm, System.Reg to ) : void
MOVB ( System.Reg from, System.Reg to ) : void
MOVB ( String src, String dst ) : void

MOVB: move a byte

MOVL ( Int32 imm, System.Reg dst ) : void
MOVL ( Int32 offset, System.Reg src, System.Reg dst ) : void
MOVL ( Int32 imm, String dst ) : void
MOVL ( System.Reg src, Int32 offset, System.Reg dst ) : void
MOVL ( System.Reg src, System.Reg dst ) : void
MOVL ( String src, System.Reg dst ) : void
MOVL ( String src, String dst ) : void

MOVL: move a 4-byte long

MOVSBL ( Int32 offset, System.Reg src, System.Reg dst ) : void
MOVSBL ( System.Reg src, System.Reg dst ) : void
MOVSBL ( String src, System.Reg dst ) : void
MOVSBL ( String src, String dst ) : void

MOVSBL: move a byte and sign-extend to a 4-byte long

MOVSWL ( Int32 offset, System.Reg from, System.Reg to ) : void
MOVSWL ( System.Reg src, System.Reg dst ) : void
MOVSWL ( String from, System.Reg to ) : void
MOVSWL ( String from, String to ) : void

MOVSWL: move a 2-byte word and sign-extend to a 4-byte long

MOVW ( System.Reg from, Int32 imm, System.Reg to ) : void
MOVW ( String from, String to ) : void

MOVW: move a 2-byte word

MOVZBL ( Int32 offset, System.Reg src, System.Reg dst ) : void
MOVZBL ( System.Reg src, System.Reg dst ) : void
MOVZBL ( String src, System.Reg dst ) : void
MOVZBL ( String src, String dst ) : void

MOVZBL: move a byte and zero-extend to a 4-byte long

MOVZWL ( Int32 offset, System.Reg from, System.Reg to ) : void
MOVZWL ( System.Reg src, System.Reg dst ) : void
MOVZWL ( String from, System.Reg to ) : void
MOVZWL ( String from, String to ) : void

MOVZWL: move a 2-byte word and zero-extend to a 4-byte long

MUL ( System.Reg er ) : void
MUL ( String addr ) : void

MUL: unsigned multiplication. %edx:%eax = %eax * {addr}.

NEG ( System.Reg dst ) : void
NEG ( String addr ) : void

NEG addr: addr = -addr

NEWLINE ( ) : void
NOT ( System.Reg dst ) : void
NOT ( String addr ) : void

NOT: bitwise not

ORL ( System.Reg er, System.Reg ee, String comment = "" ) : void
ORL ( String er, String ee, String comment = "" ) : void

ORL er, ee ee = ee | er

OutFunction ( ) : void
OutLabels ( ) : void
RET ( ) : void
RegToString ( System.Reg reg ) : String
RequestLabel ( ) : Int32
SALL ( System.Reg er, System.Reg ee ) : void
SALL ( String er, String ee ) : void

SALL er, ee ee = ee << er Note that there is only one Kind of lshift.

SARL ( System.Reg er, System.Reg ee ) : void
SARL ( String er, String ee ) : void

SARL er, ee (arithmetic shift) ee = ee >> er (append sign bit)

SETA ( System.Reg dst ) : void
SETA ( String dst ) : void

SETA: set if above (unsigned).

SETB ( System.Reg dst ) : void
SETB ( String dst ) : void

SETB: set if below (unsigned).

SETE ( System.Reg dst ) : void
SETE ( String dst ) : void

SETE: set if equal to.

SETG ( System.Reg dst ) : void
SETG ( String dst ) : void

SETG: set if greater than (signed).

SETGE ( System.Reg dst ) : void
SETGE ( String dst ) : void

SETGE: set if greater or equal to (signed).

SETL ( System.Reg dst ) : void
SETL ( String dst ) : void

SETL: set if less than (signed).

SETLE ( System.Reg dst ) : void
SETLE ( String dst ) : void

SETLE: set if less than or equal to (signed).

SETNA ( System.Reg dst ) : void
SETNA ( String dst ) : void

SETNA: set if not above (unsigned).

SETNB ( System.Reg dst ) : void
SETNB ( String dst ) : void

SETNB: set if not below (unsigned).

SETNE ( System.Reg dst ) : void
SETNE ( String dst ) : void

SETNE: set if not equal to.

SHRL ( Int32 er, System.Reg ee ) : void
SHRL ( System.Reg er, System.Reg ee ) : void
SHRL ( String er, String ee ) : void

SHRL er, ee (logical shift) ee = ee >> er (append 0)

STD ( ) : void
SUBL ( Int32 er, System.Reg ee, String comment = "" ) : void
SUBL ( System.Reg er, System.Reg ee, String comment = "" ) : void
SUBL ( String er, String ee, String comment = "" ) : void

SUBL: subtract long

TESTL ( System.Reg er, System.Reg ee ) : void
TESTL ( String er, String ee ) : void

TESTL: used like testl %eax, %eax: compare %eax with zero.

TEXT ( ) : void
ToString ( ) : String
VALUE ( Int32 value ) : void
XORL ( System.Reg er, System.Reg ee ) : void
XORL ( String er, String ee ) : void

XORL er, ee ee = ee ^ er

ZERO ( Int32 size ) : void

Приватные методы

Метод Описание
FILDL ( Int32 offset, System.Reg dst ) : void
FILDL ( String dst ) : void
FISTL ( Int32 offset, System.Reg dst ) : void
FISTL ( String dst ) : void
POPL ( System.Reg dst ) : void
POPL ( String dst ) : void

POPL: pop long from stack.

POPL changes the size of the stack, which should be tracked carefully. So, POPL is set private. Consider using CGenPopLong

PUSHL ( Int32 imm ) : void
PUSHL ( System.Reg src ) : void
PUSHL ( String src ) : void

PUSHL: push long into stack.

PUSHL changes the size of the stack, which should be tracked carefully. So, PUSHL is set private. Consider using CGenPushLong

SUBL ( Int32 er, String ee, String comment = "" ) : void

Описание методов

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

public ADDL ( Int32 er, System.Reg ee, String comment = "" ) : void
er System.Int32
ee System.Reg
comment String
Результат void

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

public ADDL ( System.Reg er, System.Reg ee, String comment = "" ) : void
er System.Reg
ee System.Reg
comment String
Результат void

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

ADDL: add long
public ADDL ( String er, String ee, String comment = "" ) : void
er String
ee String
comment String
Результат void

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

public ALIGN ( Int32 align ) : void
align System.Int32
Результат void

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

public ANDB ( Int32 er, System.Reg ee ) : void
er System.Int32
ee System.Reg
Результат void

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

public ANDB ( String er, String ee ) : void
er String
ee String
Результат void

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

public ANDL ( Int32 er, System.Reg ee ) : void
er System.Int32
ee System.Reg
Результат void

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

public ANDL ( System.Reg er, System.Reg ee ) : void
er System.Reg
ee System.Reg
Результат void

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

ANDL er, ee ee = er & ee
public ANDL ( String er, String ee ) : void
er String
ee String
Результат void

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

public BYTE ( Int32 value ) : void
value System.Int32
Результат void

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

public CALL ( String addr ) : void
addr String
Результат void

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

public CGenConvertFloatToLong ( ) : void
Результат void

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

public CGenConvertLongToFloat ( ) : void
Результат void

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

public CGenExpandStackBy ( Int32 nbytes ) : void
nbytes System.Int32
Результат void

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

public CGenExpandStackBy4Bytes ( String comment = "" ) : void
comment String
Результат void

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

public CGenExpandStackBy8Bytes ( String comment = "" ) : void
comment String
Результат void

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

public CGenExpandStackTo ( Int32 size, String comment = "" ) : void
size System.Int32
comment String
Результат void

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

public CGenExpandStackWithAlignment ( Int32 nbytes, Int32 align ) : void
nbytes System.Int32
align System.Int32
Результат void

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

public CGenForceStackSizeTo ( Int32 nbytes ) : void
nbytes System.Int32
Результат void

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

public CGenFuncStart ( String name ) : void
name String
Результат void

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

public CGenLabel ( Int32 label ) : void
label System.Int32
Результат void

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

public CGenLabel ( String label ) : void
label String
Результат void

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

public CGenLongConst ( Int32 val ) : String
val System.Int32
Результат String

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

public CGenLongLongConst ( Int32 lo, Int32 hi ) : String
lo System.Int32
hi System.Int32
Результат String

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

Fast Memory Copy using assembly. Make sure that 1) %esi = source address 2) %edi = destination address 3) %ecx = number of bytes
public CGenMemCpy ( ) : void
Результат void

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

Fast Memory Copy using assembly. Make sure that 1) %esi = source address 2) %edi = destination address 3) %ecx = number of bytes
public CGenMemCpyReversed ( ) : void
Результат void

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

public CGenPopDouble ( Int32 saved_size ) : void
saved_size System.Int32
Результат void

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

public CGenPopFloat ( Int32 saved_size ) : void
saved_size System.Int32
Результат void

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

public CGenPopLong ( Int32 saved_size, System.Reg dst ) : void
saved_size System.Int32
dst System.Reg
Результат void

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

public CGenPushDouble ( ) : Int32
Результат System.Int32

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

public CGenPushDoubleP ( ) : Int32
Результат System.Int32

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

public CGenPushFloat ( ) : Int32
Результат System.Int32

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

public CGenPushFloatP ( ) : Int32
Результат System.Int32

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

public CGenPushLong ( Int32 imm ) : Int32
imm System.Int32
Результат System.Int32

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

public CGenPushLong ( System.Reg src ) : Int32
src System.Reg
Результат System.Int32

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

public CGenShrinkStackBy ( Int32 nbytes ) : void
nbytes System.Int32
Результат void

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

public CGenShrinkStackBy4Bytes ( String comment = "" ) : void
comment String
Результат void

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

public CGenShrinkStackBy8Bytes ( String comment = "" ) : void
comment String
Результат void

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

public CGenState ( ) : System
Результат System

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

public CGenString ( String str ) : String
str String
Результат String

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

public CLD ( ) : void
Результат void

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

CLTD: used before division. clear %edx.
public CLTD ( ) : void
Результат void

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

public CMPL ( Int32 imm, System.Reg ee ) : void
imm System.Int32
ee System.Reg
Результат void

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

public CMPL ( System.Reg er, System.Reg ee ) : void
er System.Reg
ee System.Reg
Результат void

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

CMPL: compare based on subtraction. Note that the order is reversed, i.e. ee comp er.
public CMPL ( String er, String ee ) : void
er String
ee String
Результат void

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

public COMM ( String name, Int32 size, Int32 align ) : void
name String
size System.Int32
align System.Int32
Результат void

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

public COMMENT ( String comment ) : void
comment String
Результат void

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

public CaseLabel ( Int32 value ) : Int32
value System.Int32
Результат System.Int32

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

public DATA ( ) : void
Результат void

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

public DIVL ( System.Reg er ) : void
er System.Reg
Результат void

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

IDIVL: unsigned division. %eax = %edx:%eax / {addr}.
public DIVL ( String addr ) : void
addr String
Результат void

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

FADD: calculate %st(op1) + %st(op2) and rewrite %st(op2).
public FADD ( Int32 op1, Int32 op2 ) : void
op1 System.Int32
op2 System.Int32
Результат void

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

FADDP: pop operands from %st(0) and %st(1), push addition result back to %st(0).
public FADDP ( ) : void
Результат void

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

FCHS: %st(0) = -%st(0)
public FCHS ( ) : void
Результат void

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

FDIVP: pop operands from %st(0) and %st(1), push %st(0) / %st(1) back to %st(0).
public FDIVP ( ) : void
Результат void

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

FLD1: push 1.0 to FPU stack.
public FLD1 ( ) : void
Результат void

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

public FLDL ( Int32 imm, System.Reg from ) : void
imm System.Int32
from System.Reg
Результат void

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

FLDL: load double to FPU stack.
public FLDL ( String addr ) : void
addr String Address.
Результат void

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

public FLDS ( Int32 imm, System.Reg src ) : void
imm System.Int32
src System.Reg
Результат void

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

FLDS: load float to FPU stack.
public FLDS ( String src ) : void
src String
Результат void

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

FLD0: push 0.0 to FPU stack.
public FLDZ ( ) : void
Результат void

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

FMULP: pop operands from %st(0) and %st(1), push multiplication result back to %st(0).
public FMULP ( ) : void
Результат void

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

public FSTL ( Int32 imm, System.Reg to ) : void
imm System.Int32
to System.Reg
Результат void

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

FSTL: store double from FPU stack.
public FSTL ( String addr ) : void
addr String
Результат void

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

public FSTP ( System.Reg dst ) : void
dst System.Reg
Результат void

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

FSTP: copy %st(0) to dst, then pop %st(0).
public FSTP ( String dst ) : void
dst String
Результат void

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

public FSTPL ( Int32 imm, System.Reg to ) : void
imm System.Int32
to System.Reg
Результат void

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

FSTPL: pop from FPU and store *double*.
public FSTPL ( String addr ) : void
addr String
Результат void

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

public FSTPS ( Int32 imm, System.Reg to ) : void
imm System.Int32
to System.Reg
Результат void

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

FSTPS: pop float from FPU stack, and store to {addr}.
public FSTPS ( String addr ) : void
addr String
Результат void

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

public FSTS ( Int32 imm, System.Reg to ) : void
imm System.Int32
to System.Reg
Результат void

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

FSTS: store float from FPU stack.
public FSTS ( String addr ) : void
addr String
Результат void

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

FADD: calculate %st(op1) + %st(op2) and rewrite %st(op2).
public FSUB ( Int32 op1, Int32 op2 ) : void
op1 System.Int32
op2 System.Int32
Результат void

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

FSUBP: pop operands from %st(0) and %st(1), push %st(0) / %st(1) back to %st(0).
public FSUBP ( ) : void
Результат void

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

FUCOMIP: unordered comparison: %st(0) vs %st(1).
public FUCOMIP ( ) : void
Результат void

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

public GLOBL ( String name ) : void
name String
Результат void

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

public GotoLabel ( String label ) : Int32
label String
Результат System.Int32

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

public IDIVL ( System.Reg er ) : void
er System.Reg
Результат void

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

IDIVL: signed division. %eax = %edx:%eax / {addr}.
public IDIVL ( String addr ) : void
addr String
Результат void

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

public IMUL ( System.Reg er ) : void
er System.Reg
Результат void

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

IMUL: signed multiplication. %edx:%eax = %eax * {addr}.
public IMUL ( String addr ) : void
addr String
Результат void

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

public InFunction ( IReadOnlyList goto_labels ) : void
goto_labels IReadOnlyList
Результат void

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

public InLoop ( Int32 continue_label, Int32 break_label ) : void
continue_label System.Int32
break_label System.Int32
Результат void

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

public InSwitch ( Int32 break_label, Int32 default_label, Int32>.Dictionary value_to_label ) : void
break_label System.Int32
default_label System.Int32
value_to_label Int32>.Dictionary
Результат void

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

public JMP ( Int32 label ) : void
label System.Int32
Результат void

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

public JNZ ( Int32 label ) : void
label System.Int32
Результат void

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

public JZ ( Int32 label ) : void
label System.Int32
Результат void

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

public LEA ( Int32 offset, System.Reg src, System.Reg dst ) : void
offset System.Int32
src System.Reg
dst System.Reg
Результат void

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

public LEA ( String addr, System.Reg dst ) : void
addr String
dst System.Reg
Результат void

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

public LEA ( String addr, String dst ) : void
addr String
dst String
Результат void

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

public LEAVE ( ) : void
Результат void

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

public LOCAL ( String name ) : void
name String
Результат void

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

public LONG ( Int32 value ) : void
value System.Int32
Результат void

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

public MOVB ( System.Reg from, Int32 imm, System.Reg to ) : void
from System.Reg
imm System.Int32
to System.Reg
Результат void

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

public MOVB ( System.Reg from, System.Reg to ) : void
from System.Reg
to System.Reg
Результат void

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

MOVB: move a byte
public MOVB ( String src, String dst ) : void
src String
dst String
Результат void

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

public MOVL ( Int32 imm, System.Reg dst ) : void
imm System.Int32
dst System.Reg
Результат void

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

public MOVL ( Int32 offset, System.Reg src, System.Reg dst ) : void
offset System.Int32
src System.Reg
dst System.Reg
Результат void

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

public MOVL ( Int32 imm, String dst ) : void
imm System.Int32
dst String
Результат void

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

public MOVL ( System.Reg src, Int32 offset, System.Reg dst ) : void
src System.Reg
offset System.Int32
dst System.Reg
Результат void

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

public MOVL ( System.Reg src, System.Reg dst ) : void
src System.Reg
dst System.Reg
Результат void

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

public MOVL ( String src, System.Reg dst ) : void
src String
dst System.Reg
Результат void

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

MOVL: move a 4-byte long
public MOVL ( String src, String dst ) : void
src String
dst String
Результат void

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

public MOVSBL ( Int32 offset, System.Reg src, System.Reg dst ) : void
offset System.Int32
src System.Reg
dst System.Reg
Результат void

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

public MOVSBL ( System.Reg src, System.Reg dst ) : void
src System.Reg
dst System.Reg
Результат void

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

public MOVSBL ( String src, System.Reg dst ) : void
src String
dst System.Reg
Результат void

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

MOVSBL: move a byte and sign-extend to a 4-byte long
public MOVSBL ( String src, String dst ) : void
src String
dst String
Результат void

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

public MOVSWL ( Int32 offset, System.Reg from, System.Reg to ) : void
offset System.Int32
from System.Reg
to System.Reg
Результат void

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

public MOVSWL ( System.Reg src, System.Reg dst ) : void
src System.Reg
dst System.Reg
Результат void

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

public MOVSWL ( String from, System.Reg to ) : void
from String
to System.Reg
Результат void

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

MOVSWL: move a 2-byte word and sign-extend to a 4-byte long
public MOVSWL ( String from, String to ) : void
from String
to String
Результат void

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

public MOVW ( System.Reg from, Int32 imm, System.Reg to ) : void
from System.Reg
imm System.Int32
to System.Reg
Результат void

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

MOVW: move a 2-byte word
public MOVW ( String from, String to ) : void
from String
to String
Результат void

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

public MOVZBL ( Int32 offset, System.Reg src, System.Reg dst ) : void
offset System.Int32
src System.Reg
dst System.Reg
Результат void

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

public MOVZBL ( System.Reg src, System.Reg dst ) : void
src System.Reg
dst System.Reg
Результат void

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

public MOVZBL ( String src, System.Reg dst ) : void
src String
dst System.Reg
Результат void

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

MOVZBL: move a byte and zero-extend to a 4-byte long
public MOVZBL ( String src, String dst ) : void
src String
dst String
Результат void

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

public MOVZWL ( Int32 offset, System.Reg from, System.Reg to ) : void
offset System.Int32
from System.Reg
to System.Reg
Результат void

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

public MOVZWL ( System.Reg src, System.Reg dst ) : void
src System.Reg
dst System.Reg
Результат void

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

public MOVZWL ( String from, System.Reg to ) : void
from String
to System.Reg
Результат void

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

MOVZWL: move a 2-byte word and zero-extend to a 4-byte long
public MOVZWL ( String from, String to ) : void
from String
to String
Результат void

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

public MUL ( System.Reg er ) : void
er System.Reg
Результат void

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

MUL: unsigned multiplication. %edx:%eax = %eax * {addr}.
public MUL ( String addr ) : void
addr String
Результат void

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

public NEG ( System.Reg dst ) : void
dst System.Reg
Результат void

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

NEG addr: addr = -addr
public NEG ( String addr ) : void
addr String
Результат void

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

public NEWLINE ( ) : void
Результат void

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

public NOT ( System.Reg dst ) : void
dst System.Reg
Результат void

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

NOT: bitwise not
public NOT ( String addr ) : void
addr String
Результат void

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

public ORL ( System.Reg er, System.Reg ee, String comment = "" ) : void
er System.Reg
ee System.Reg
comment String
Результат void

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

ORL er, ee ee = ee | er
public ORL ( String er, String ee, String comment = "" ) : void
er String
ee String
comment String
Результат void

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

public OutFunction ( ) : void
Результат void

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

public OutLabels ( ) : void
Результат void

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

public RET ( ) : void
Результат void

RegToString() публичный статический Метод

public static RegToString ( System.Reg reg ) : String
reg System.Reg
Результат String

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

public RequestLabel ( ) : Int32
Результат System.Int32

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

public SALL ( System.Reg er, System.Reg ee ) : void
er System.Reg
ee System.Reg
Результат void

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

SALL er, ee ee = ee << er Note that there is only one Kind of lshift.
public SALL ( String er, String ee ) : void
er String
ee String
Результат void

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

public SARL ( System.Reg er, System.Reg ee ) : void
er System.Reg
ee System.Reg
Результат void

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

SARL er, ee (arithmetic shift) ee = ee >> er (append sign bit)
public SARL ( String er, String ee ) : void
er String
ee String
Результат void

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

public SETA ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETA: set if above (unsigned).
public SETA ( String dst ) : void
dst String
Результат void

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

public SETB ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETB: set if below (unsigned).
public SETB ( String dst ) : void
dst String
Результат void

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

public SETE ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETE: set if equal to.
public SETE ( String dst ) : void
dst String
Результат void

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

public SETG ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETG: set if greater than (signed).
public SETG ( String dst ) : void
dst String
Результат void

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

public SETGE ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETGE: set if greater or equal to (signed).
public SETGE ( String dst ) : void
dst String
Результат void

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

public SETL ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETL: set if less than (signed).
public SETL ( String dst ) : void
dst String
Результат void

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

public SETLE ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETLE: set if less than or equal to (signed).
public SETLE ( String dst ) : void
dst String
Результат void

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

public SETNA ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETNA: set if not above (unsigned).
public SETNA ( String dst ) : void
dst String
Результат void

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

public SETNB ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETNB: set if not below (unsigned).
public SETNB ( String dst ) : void
dst String
Результат void

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

public SETNE ( System.Reg dst ) : void
dst System.Reg
Результат void

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

SETNE: set if not equal to.
public SETNE ( String dst ) : void
dst String
Результат void

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

public SHRL ( Int32 er, System.Reg ee ) : void
er System.Int32
ee System.Reg
Результат void

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

public SHRL ( System.Reg er, System.Reg ee ) : void
er System.Reg
ee System.Reg
Результат void

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

SHRL er, ee (logical shift) ee = ee >> er (append 0)
public SHRL ( String er, String ee ) : void
er String
ee String
Результат void

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

public STD ( ) : void
Результат void

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

public SUBL ( Int32 er, System.Reg ee, String comment = "" ) : void
er System.Int32
ee System.Reg
comment String
Результат void

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

public SUBL ( System.Reg er, System.Reg ee, String comment = "" ) : void
er System.Reg
ee System.Reg
comment String
Результат void

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

SUBL: subtract long
public SUBL ( String er, String ee, String comment = "" ) : void
er String
ee String
comment String
Результат void

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

public TESTL ( System.Reg er, System.Reg ee ) : void
er System.Reg
ee System.Reg
Результат void

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

TESTL: used like testl %eax, %eax: compare %eax with zero.
public TESTL ( String er, String ee ) : void
er String
ee String
Результат void

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

public TEXT ( ) : void
Результат void

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

public ToString ( ) : String
Результат String

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

public VALUE ( Int32 value ) : void
value System.Int32
Результат void

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

public XORL ( System.Reg er, System.Reg ee ) : void
er System.Reg
ee System.Reg
Результат void

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

XORL er, ee ee = ee ^ er
public XORL ( String er, String ee ) : void
er String
ee String
Результат void

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

public ZERO ( Int32 size ) : void
size System.Int32
Результат void

Описание свойств

label_idx публичное свойство

public Int32,System label_idx
Результат System.Int32

reg_strs публичное статическое свойство

public static Dictionary reg_strs
Результат String>.Dictionary