comparisons

package
v0.0.0-...-26bd4cb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2019 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DCmp_

func DCmp_(frame *rtda.Frame, gFlag bool)

func FCmp_

func FCmp_(frame *rtda.Frame, gFlag bool)

func SignDouble

func SignDouble(val float64, gFlag bool) int32

func SignFloat

func SignFloat(val float32, gFlag bool) int32

func SignInt

func SignInt(val int32) int32

func SignLong

func SignLong(val int64) int32

Types

type DCmpG

type DCmpG struct {
	base.NoOperandsInstruction
}

..., value2, value1 -> ..., (value2-value1的符号),当 其中有不能比较的数值时,根据指令后缀的 G/L 决定比较结果是 1/-1

func (*DCmpG) Execute

func (this *DCmpG) Execute(frame *rtda.Frame)

type DCmpL

type DCmpL struct {
	base.NoOperandsInstruction
}

func (*DCmpL) Execute

func (this *DCmpL) Execute(frame *rtda.Frame)

type FCmpG

type FCmpG struct {
	base.NoOperandsInstruction
}

..., value2, value1 -> ..., (value2-value1的符号),当 其中有不能比较的数值时,根据指令后缀的 G/L 决定比较结果是 1/-1

func (*FCmpG) Execute

func (this *FCmpG) Execute(frame *rtda.Frame)

type FCmpL

type FCmpL struct {
	base.NoOperandsInstruction
}

func (*FCmpL) Execute

func (this *FCmpL) Execute(frame *rtda.Frame)

type IfACmpEQ

type IfACmpEQ struct {
	base.BranchInstruction
}

..., value2, value1 -> ... // 引用比较,如果和指令期待结果相同,则进行跳转

func (*IfACmpEQ) Execute

func (this *IfACmpEQ) Execute(frame *rtda.Frame)

type IfACmpNE

type IfACmpNE struct {
	base.BranchInstruction
}

func (*IfACmpNE) Execute

func (this *IfACmpNE) Execute(frame *rtda.Frame)

type IfEQ

type IfEQ struct {
	base.BranchInstruction
}

..., value -> // 如果 value 与 0 的关系和指令相匹配,则进行分支跳转 ...

func (*IfEQ) Execute

func (this *IfEQ) Execute(frame *rtda.Frame)

type IfGE

type IfGE struct {
	base.BranchInstruction
}

func (*IfGE) Execute

func (this *IfGE) Execute(frame *rtda.Frame)

type IfGT

type IfGT struct {
	base.BranchInstruction
}

func (*IfGT) Execute

func (this *IfGT) Execute(frame *rtda.Frame)

type IfICmpEQ

type IfICmpEQ struct {
	base.BranchInstruction
}

..., value1, value2 -> ... // 弹出两个操作数,如果和指令期待的比较结果相同则进行跳转

func (*IfICmpEQ) Execute

func (this *IfICmpEQ) Execute(frame *rtda.Frame)

type IfICmpGE

type IfICmpGE struct {
	base.BranchInstruction
}

func (*IfICmpGE) Execute

func (this *IfICmpGE) Execute(frame *rtda.Frame)

type IfICmpGT

type IfICmpGT struct {
	base.BranchInstruction
}

func (*IfICmpGT) Execute

func (this *IfICmpGT) Execute(frame *rtda.Frame)

type IfICmpLE

type IfICmpLE struct {
	base.BranchInstruction
}

func (*IfICmpLE) Execute

func (this *IfICmpLE) Execute(frame *rtda.Frame)

type IfICmpLT

type IfICmpLT struct {
	base.BranchInstruction
}

func (*IfICmpLT) Execute

func (this *IfICmpLT) Execute(frame *rtda.Frame)

type IfICmpNE

type IfICmpNE struct {
	base.BranchInstruction
}

func (*IfICmpNE) Execute

func (this *IfICmpNE) Execute(frame *rtda.Frame)

type IfLE

type IfLE struct {
	base.BranchInstruction
}

func (*IfLE) Execute

func (this *IfLE) Execute(frame *rtda.Frame)

type IfLT

type IfLT struct {
	base.BranchInstruction
}

func (*IfLT) Execute

func (this *IfLT) Execute(frame *rtda.Frame)

type IfNE

type IfNE struct {
	base.BranchInstruction
}

func (*IfNE) Execute

func (this *IfNE) Execute(frame *rtda.Frame)

type LCmp

type LCmp struct {
	base.NoOperandsInstruction
}

..., value2, value1 -> ..., (value2-value1的符号)

func (*LCmp) Execute

func (this *LCmp) Execute(frame *rtda.Frame)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL