arm64

package
v0.1.13 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Operand

func Operand(i interface{}) string

Types

type Arm64

type Arm64 struct {
	// contains filtered or unexported fields
}

func NewArm64

func NewArm64(w io.Writer) *Arm64

func (*Arm64) ADC

func (arm64 *Arm64) ADC(op1, op2, dst interface{}, comment ...string)

func (*Arm64) ADCS

func (arm64 *Arm64) ADCS(op1, op2, dst interface{}, comment ...string)

func (*Arm64) ADDS

func (arm64 *Arm64) ADDS(op1, op2, dst interface{}, comment ...string)

func (*Arm64) CMP

func (arm64 *Arm64) CMP(a, b interface{}, comment ...string)

func (*Arm64) CSEL

func (arm64 *Arm64) CSEL(condition string, ifTrue, ifFalse, dst interface{}, comment ...string)

func (*Arm64) Comment

func (arm64 *Arm64) Comment(s string)

func (*Arm64) FnHeader

func (arm64 *Arm64) FnHeader(funcName string, stackSize, argSize int, reserved ...Register) Registers

func (*Arm64) GlobalOffset

func (arm64 *Arm64) GlobalOffset(name string, offset int) string

func (*Arm64) LABEL

func (arm64 *Arm64) LABEL(l Label)

func (*Arm64) LDP

func (arm64 *Arm64) LDP(address string, x, y interface{}, comment ...string)

func (*Arm64) MOVD

func (arm64 *Arm64) MOVD(src, dst interface{}, comment ...string)

func (*Arm64) MUL

func (arm64 *Arm64) MUL(op1, op2, dst interface{}, comment ...string)

func (*Arm64) ORR

func (arm64 *Arm64) ORR(op1, op2, dst interface{}, comment ...string)

func (*Arm64) RET

func (arm64 *Arm64) RET()

func (*Arm64) RegisterOffset

func (arm64 *Arm64) RegisterOffset(r Register, offset int) string

func (*Arm64) SBCS

func (arm64 *Arm64) SBCS(subtrahend, minuend, difference interface{}, comment ...string)

func (*Arm64) STP

func (arm64 *Arm64) STP(x, y interface{}, address string, comment ...string)

func (*Arm64) SUBS

func (arm64 *Arm64) SUBS(subtrahend, minuend, difference interface{}, comment ...string)

func (*Arm64) TST

func (arm64 *Arm64) TST(a, b interface{}, comment ...string)

func (*Arm64) UMULH

func (arm64 *Arm64) UMULH(op1, op2, dst interface{}, comment ...string)

func (*Arm64) Write

func (arm64 *Arm64) Write(s string)

func (*Arm64) WriteLn

func (arm64 *Arm64) WriteLn(s string)

type Label

type Label string

type Register

type Register uint

func (Register) At

func (r Register) At(wordOffset int) string

func (Register) Name

func (r Register) Name() string

type Registers

type Registers uint32

Registers 1 means available to use

func NewRegisters

func NewRegisters() Registers

func (Registers) Available

func (r Registers) Available() int

func (*Registers) Pop

func (r *Registers) Pop() Register

func (*Registers) PopN

func (r *Registers) PopN(n int) []Register

func (*Registers) Push

func (r *Registers) Push(rIn ...Register)

func (*Registers) Remove

func (r *Registers) Remove(registers ...Register)

Jump to

Keyboard shortcuts

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