vm

package
v0.0.0-...-839b23a Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2021 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Disassemble

func Disassemble(prog []int) []string

Disassemble permet de desassembler des instructions hexadécimal vers un code lisible pour les humains

func LoadProgFromFile

func LoadProgFromFile(filename string) []int

LoadProgFromFile charge une liste d'instruction dans le programme de la VM à partir d'un fichier binaire

func ReverseBinaryComplement

func ReverseBinaryComplement(number int, size int) int

ReverseBinaryComplement permet de retourner un entier signé a partir d'un nombre binaire en complément à 2

Types

type Benchmark

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

Benchmark est une structure contenant le résultat d'exécution de la machine virtuelle

func StartBenchmark

func StartBenchmark(program []int, nbRuns int) *Benchmark

StartBenchmark permet de lancer le benchmark d'une suite d'instructions et retourne un objet capable de faire les statistiques

func (*Benchmark) PrintResults

func (bm *Benchmark) PrintResults()

PrintResults permet d'afficher les résultat d'un benchmark

type VM

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

VM est une machine virtuelle

func NewVM

func NewVM(numReg int, numMemReg int) VM

NewVM permet de créer une nouvelle machine virtuelle

func (VM) GetCycles

func (vm VM) GetCycles() int

GetCycles retourne le nombre du cycle de programme

func (*VM) GetCyclesPerSec

func (vm *VM) GetCyclesPerSec() int

GetCyclesPerSec permet de récupérer le nombre d'opérations effectuées en une seconde à partir des données récupérées par la machine virtuelle

func (VM) GetMemory

func (vm VM) GetMemory() []int

GetMemory le contenu de la mémoire

func (VM) GetPC

func (vm VM) GetPC() int

GetPC retourne le compteur du programme

func (VM) GetProg

func (vm VM) GetProg() []int

GetProg retourne le contenu du programme chargé

func (VM) GetRegs

func (vm VM) GetRegs() []int

GetRegs le contenu des registres

func (*VM) LoadProg

func (vm *VM) LoadProg(prog []int)

LoadProg charge une liste d'instruction dans le programme de la VM

func (*VM) Run

func (vm *VM) Run(showRegs bool, showMem bool, debug bool)

Run permet de lancer l'exécution de la machine virtuelle

func (*VM) RunWithCallback

func (vm *VM) RunWithCallback(callback func())

RunWithCallback permet de lancer l'exécution de la machine virtuelle en appelant une fonction à chaque itération

func (*VM) Step

func (vm *VM) Step()

Step permet de faire une itération du programme

Jump to

Keyboard shortcuts

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