프로퍼티 | 타입 | 설명 | |
---|---|---|---|
label_idx | |||
reg_strs | String>.Dictionary |
메소드 | 설명 | |
---|---|---|
ADDL ( |
||
ADDL ( System.Reg er, System.Reg ee, String comment = "" ) : void | ||
ADDL ( String er, String ee, String comment = "" ) : void |
ADDL: add long
|
|
ALIGN ( |
||
ANDB ( |
||
ANDB ( String er, String ee ) : void | ||
ANDL ( |
||
ANDL ( System.Reg er, System.Reg ee ) : void | ||
ANDL ( String er, String ee ) : void |
ANDL er, ee ee = er & ee
|
|
BYTE ( |
||
CALL ( String addr ) : void | ||
CGenConvertFloatToLong ( ) : void | ||
CGenConvertLongToFloat ( ) : void | ||
CGenExpandStackBy ( |
||
CGenExpandStackBy4Bytes ( String comment = "" ) : void | ||
CGenExpandStackBy8Bytes ( String comment = "" ) : void | ||
CGenExpandStackTo ( |
||
CGenExpandStackWithAlignment ( |
||
CGenForceStackSizeTo ( |
||
CGenFuncStart ( String name ) : void | ||
CGenLabel ( |
||
CGenLabel ( String label ) : void | ||
CGenLongConst ( |
||
CGenLongLongConst ( |
||
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 ( |
||
CGenPopFloat ( |
||
CGenPopLong ( |
||
CGenPushDouble ( ) : |
||
CGenPushDoubleP ( ) : |
||
CGenPushFloat ( ) : |
||
CGenPushFloatP ( ) : |
||
CGenPushLong ( |
||
CGenPushLong ( System.Reg src ) : |
||
CGenShrinkStackBy ( |
||
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 ( |
||
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, |
||
COMMENT ( String comment ) : void | ||
CaseLabel ( |
||
DATA ( ) : void | ||
DIVL ( System.Reg er ) : void | ||
DIVL ( String addr ) : void |
IDIVL: unsigned division. %eax = %edx:%eax / {addr}.
|
|
FADD ( |
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 ( |
||
FLDL ( String addr ) : void |
FLDL: load double to FPU stack.
|
|
FLDS ( |
||
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 ( |
||
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 ( |
||
FSTPL ( String addr ) : void |
FSTPL: pop from FPU and store *double*.
|
|
FSTPS ( |
||
FSTPS ( String addr ) : void |
FSTPS: pop float from FPU stack, and store to {addr}.
|
|
FSTS ( |
||
FSTS ( String addr ) : void |
FSTS: store float from FPU stack.
|
|
FSUB ( |
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 ) : |
||
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 |
||
InLoop ( |
||
InSwitch ( |
||
JMP ( |
||
JNZ ( |
||
JZ ( |
||
LEA ( |
||
LEA ( String addr, System.Reg dst ) : void | ||
LEA ( String addr, String dst ) : void | ||
LEAVE ( ) : void | ||
LOCAL ( String name ) : void | ||
LONG ( |
||
MOVB ( System.Reg from, |
||
MOVB ( System.Reg from, System.Reg to ) : void | ||
MOVB ( String src, String dst ) : void |
MOVB: move a byte
|
|
MOVL ( |
||
MOVL ( |
||
MOVL ( |
||
MOVL ( System.Reg src, |
||
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 ( |
||
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 ( |
||
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, |
||
MOVW ( String from, String to ) : void |
MOVW: move a 2-byte word
|
|
MOVZBL ( |
||
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 ( |
||
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 ( ) : |
||
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 ( |
||
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 ( |
||
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 ( |
||
XORL ( System.Reg er, System.Reg ee ) : void | ||
XORL ( String er, String ee ) : void |
XORL er, ee ee = ee ^ er
|
|
ZERO ( |
메소드 | 설명 | |
---|---|---|
FILDL ( |
||
FILDL ( String dst ) : void | ||
FISTL ( |
||
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 ( |
||
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 ( |
public ADDL ( |
||
er | ||
ee | System.Reg | |
comment | String | |
리턴 | void |
public ADDL ( System.Reg er, System.Reg ee, String comment = "" ) : void | ||
er | System.Reg | |
ee | System.Reg | |
comment | String | |
리턴 | void |
public ADDL ( String er, String ee, String comment = "" ) : void | ||
er | String | |
ee | String | |
comment | String | |
리턴 | void |
public ANDL ( System.Reg er, System.Reg ee ) : void | ||
er | System.Reg | |
ee | System.Reg | |
리턴 | void |
public CGenExpandStackBy ( |
||
nbytes | ||
리턴 | void |
public CGenExpandStackBy4Bytes ( String comment = "" ) : void | ||
comment | String | |
리턴 | void |
public CGenExpandStackBy8Bytes ( String comment = "" ) : void | ||
comment | String | |
리턴 | void |
public CGenExpandStackTo ( |
||
size | ||
comment | String | |
리턴 | void |
public CGenExpandStackWithAlignment ( |
||
nbytes | ||
align | ||
리턴 | void |
public CGenForceStackSizeTo ( |
||
nbytes | ||
리턴 | void |
public CGenLongLongConst ( |
||
lo | ||
hi | ||
리턴 | String |
public CGenPopDouble ( |
||
saved_size | ||
리턴 | void |
public CGenPopFloat ( |
||
saved_size | ||
리턴 | void |
public CGenPopLong ( |
||
saved_size | ||
dst | System.Reg | |
리턴 | void |
public CGenShrinkStackBy ( |
||
nbytes | ||
리턴 | void |
public CGenShrinkStackBy4Bytes ( String comment = "" ) : void | ||
comment | String | |
리턴 | void |
public CGenShrinkStackBy8Bytes ( String comment = "" ) : void | ||
comment | String | |
리턴 | void |
public CMPL ( |
||
imm | ||
ee | System.Reg | |
리턴 | void |
public CMPL ( System.Reg er, System.Reg ee ) : void | ||
er | System.Reg | |
ee | System.Reg | |
리턴 | void |
public COMM ( String name, |
||
name | String | |
size | ||
align | ||
리턴 | void |
public FLDL ( |
||
imm | ||
from | System.Reg | |
리턴 | void |
public FLDS ( |
||
imm | ||
src | System.Reg | |
리턴 | void |
public FSTL ( |
||
imm | ||
to | System.Reg | |
리턴 | void |
public FSTPL ( |
||
imm | ||
to | System.Reg | |
리턴 | void |
public FSTPS ( |
||
imm | ||
to | System.Reg | |
리턴 | void |
public FSTS ( |
||
imm | ||
to | System.Reg | |
리턴 | void |
public InFunction ( IReadOnlyList |
||
goto_labels | IReadOnlyList |
|
리턴 | void |
public InLoop ( |
||
continue_label | ||
break_label | ||
리턴 | void |
public InSwitch ( |
||
break_label | ||
default_label | ||
value_to_label | Int32>.Dictionary | |
리턴 | void |
public LEA ( |
||
offset | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVB ( System.Reg from, |
||
from | System.Reg | |
imm | ||
to | System.Reg | |
리턴 | void |
public MOVB ( System.Reg from, System.Reg to ) : void | ||
from | System.Reg | |
to | System.Reg | |
리턴 | void |
public MOVL ( |
||
imm | ||
dst | System.Reg | |
리턴 | void |
public MOVL ( |
||
offset | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVL ( System.Reg src, |
||
src | System.Reg | |
offset | ||
dst | System.Reg | |
리턴 | void |
public MOVL ( System.Reg src, System.Reg dst ) : void | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVSBL ( |
||
offset | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVSBL ( System.Reg src, System.Reg dst ) : void | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVSBL ( String src, System.Reg dst ) : void | ||
src | String | |
dst | System.Reg | |
리턴 | void |
public MOVSWL ( |
||
offset | ||
from | System.Reg | |
to | System.Reg | |
리턴 | void |
public MOVSWL ( System.Reg src, System.Reg dst ) : void | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVSWL ( String from, System.Reg to ) : void | ||
from | String | |
to | System.Reg | |
리턴 | void |
public MOVW ( System.Reg from, |
||
from | System.Reg | |
imm | ||
to | System.Reg | |
리턴 | void |
public MOVZBL ( |
||
offset | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVZBL ( System.Reg src, System.Reg dst ) : void | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVZBL ( String src, System.Reg dst ) : void | ||
src | String | |
dst | System.Reg | |
리턴 | void |
public MOVZWL ( |
||
offset | ||
from | System.Reg | |
to | System.Reg | |
리턴 | void |
public MOVZWL ( System.Reg src, System.Reg dst ) : void | ||
src | System.Reg | |
dst | System.Reg | |
리턴 | void |
public MOVZWL ( String from, System.Reg to ) : void | ||
from | String | |
to | System.Reg | |
리턴 | void |
public ORL ( System.Reg er, System.Reg ee, String comment = "" ) : void | ||
er | System.Reg | |
ee | System.Reg | |
comment | String | |
리턴 | void |
public ORL ( String er, String ee, String comment = "" ) : void | ||
er | String | |
ee | String | |
comment | String | |
리턴 | void |
public static RegToString ( System.Reg reg ) : String | ||
reg | System.Reg | |
리턴 | String |
public SALL ( System.Reg er, System.Reg ee ) : void | ||
er | System.Reg | |
ee | System.Reg | |
리턴 | void |
public SARL ( System.Reg er, System.Reg ee ) : void | ||
er | System.Reg | |
ee | System.Reg | |
리턴 | void |
public SHRL ( System.Reg er, System.Reg ee ) : void | ||
er | System.Reg | |
ee | System.Reg | |
리턴 | void |
public SUBL ( |
||
er | ||
ee | System.Reg | |
comment | String | |
리턴 | void |
public SUBL ( System.Reg er, System.Reg ee, String comment = "" ) : void | ||
er | System.Reg | |
ee | System.Reg | |
comment | String | |
리턴 | void |
public SUBL ( String er, String ee, String comment = "" ) : void | ||
er | String | |
ee | String | |
comment | String | |
리턴 | void |
public TESTL ( System.Reg er, System.Reg ee ) : void | ||
er | System.Reg | |
ee | System.Reg | |
리턴 | void |
public XORL ( System.Reg er, System.Reg ee ) : void | ||
er | System.Reg | |
ee | System.Reg | |
리턴 | void |