Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DCMPL ¶
type DCMPL struct{ base.NoOperandsInstruction }
type FCMPG ¶
type FCMPG struct{ base.NoOperandsInstruction }
FCMPG Compare float * 。由于浮点数计算有可能产生NaN(Not a Number)值,所以比较两个浮点数时,除了大于、等于、小于之外, 还有第4种结果:无法比较。
当两个float变量中至少有一个是NaN时,用fcmpg指 令比较的结果是1,而用fcmpl指令比较的结果是-1。
type FCMPL ¶
type FCMPL struct{ base.NoOperandsInstruction }
type IFEQ ¶
type IFEQ struct{ base.BranchInstruction }
IFEQ Branch if int comparison with zero succeeds * if<cond>指令把操作数栈顶的int变量弹出,然后跟0进行比较, 满足条件则跳转。假设从栈顶弹出的变量是x,则指令执行跳转操 作的条件如下:
·ifeq : x==0 ·ifne : x!=0 ·iflt : x<0 ·ifle : x<=0·ifgt:x>0 ·ifge : x>=0
由于比较指令最终表现为跳转指令。故继承 base.BranchInstruction
type IFGE ¶
type IFGE struct{ base.BranchInstruction }
type IFGT ¶
type IFGT struct{ base.BranchInstruction }
type IFLE ¶
type IFLE struct{ base.BranchInstruction }
type IFLT ¶
type IFLT struct{ base.BranchInstruction }
type IFNE ¶
type IFNE struct{ base.BranchInstruction }
type IF_ACMPEQ ¶
type IF_ACMPEQ struct{ base.BranchInstruction }
IF_ACMPEQ Branch if reference comparison succeeds
type IF_ACMPNE ¶
type IF_ACMPNE struct{ base.BranchInstruction }
type IF_ICMPEQ ¶
type IF_ICMPEQ struct{ base.BranchInstruction }
IF_ICMPEQ Branch if int comparison succeeds
type IF_ICMPGE ¶
type IF_ICMPGE struct{ base.BranchInstruction }
type IF_ICMPGT ¶
type IF_ICMPGT struct{ base.BranchInstruction }
type IF_ICMPLE ¶
type IF_ICMPLE struct{ base.BranchInstruction }
type IF_ICMPLT ¶
type IF_ICMPLT struct{ base.BranchInstruction }
type IF_ICMPNE ¶
type IF_ICMPNE struct{ base.BranchInstruction }
Click to show internal directories.
Click to hide internal directories.