arm64

package
v0.0.0-...-444551c Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package arm64 allows to generate and mutate arm64 machine code.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(insns []*Insn)

Types

type Insn

type Insn struct {
	Name       string
	OpcodeMask uint32
	Opcode     uint32
	Fields     []InsnField
	AsUInt32   uint32
	Operands   []uint32
	Pseudo     bool
	Priv       bool
	Generator  func(cfg *iset.Config, r *rand.Rand) []byte // for pseudo instructions
}

func ParseInsn

func ParseInsn(val uint32) (Insn, error)

func (*Insn) Encode

func (insn *Insn) Encode(cfg *iset.Config, r *rand.Rand) []byte

func (*Insn) Info

func (insn *Insn) Info() (string, iset.Mode, bool, bool)

type InsnField

type InsnField struct {
	Name   string
	Start  uint // Little endian bit order.
	Length uint
}

type InsnSet

type InsnSet struct {
	Insns []*Insn
	// contains filtered or unexported fields
}

func (*InsnSet) Decode

func (insnset *InsnSet) Decode(mode iset.Mode, text []byte) (int, error)

func (*InsnSet) DecodeExt

func (insnset *InsnSet) DecodeExt(mode iset.Mode, text []byte) (int, error)

func (*InsnSet) GetInsns

func (insnset *InsnSet) GetInsns(mode iset.Mode, typ iset.Type) []iset.Insn

Directories

Path Synopsis
gen generates instruction tables (ifuzz_types/insns.go) from ARM64 JSON.
gen generates instruction tables (ifuzz_types/insns.go) from ARM64 JSON.

Jump to

Keyboard shortcuts

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