Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Armulator ¶
type Armulator struct { RegistersBank *RegistersBank Memory *mem.Mem ELF *elf.File Log *log.Logger // contains filtered or unexported fields }
Armulator is the main structure of this project. It is used to emulate arm programs and run them in a platform idependant way
func NewArmulator ¶
Creates a new armulator object from an ELF file
func (*Armulator) Run ¶
Starts the execution of the program and wait for it to finish. Allocate the memory regions specified in the ELF file, set PC to the entrypoint and start execution.
func (*Armulator) Start ¶
Starts the execution of the program. Allocate the memory regions specified in the ELF file, set PC to the entrypoint and start execution.
func (*Armulator) StartContext ¶
Starts the execution of the program with a context. Allocate the memory regions specified in the ELF file, set PC to the entrypoint and start execution.
type RegistersBank ¶
type RegistersBank struct {
// contains filtered or unexported fields
}
Interface for interacting with registers Aarch64 defines 31 general-purpose registers (W0..W30), SP register and PC. Each register can be accessed as X (64bit), or W (32bit, lsb).
func NewAarch64RegistersBank ¶
func NewAarch64RegistersBank() *RegistersBank