infmachine_exec

Crates.ioinfmachine_exec
lib.rsinfmachine_exec
version0.1.0
created_at2025-05-31 13:28:36.712601+00
updated_at2025-05-31 13:28:36.712601+00
descriptionThe Infinite Machine Executor and Debugger.
homepage
repositoryhttps://github.com/matszpk/infmachine_exec
max_upload_size
id1696363
size119,451
Mateusz Szpakowski (matszpk)

documentation

README

InfMachine Exec

This is program to execute and debug the Infinite Machines. Typical usage of program is:

infmachine -t opencl:0 -o memout my_machine.toml memdump0

This command just loads machine defined in TOML file my_machine.toml, loads memory from memory file memdump0 to start address into memory, execute machine and store final memory into memout file.

To debug machine just can enter similar command:

infmachine -t opencl:0 -D my_machine.toml memdump0

This command loads machine defined in TOML file my_machine.toml, loads memory from memory file memdump0 to start address into memory and run interactive debugger.

Interactive debugger.

After run program in debugger mode, program just show prompt and waits for user commands. It provides similar interface to Unix shell and it provides command history. It possible to get help about commands by using help command. Help for given command is available by command help COMMAND or COMMAND --help where COMMAND is name of command.

Typical commands in debugger mode.

  • loadmem PATH [START] - loads memory from file given in PATH.
  • savemem PATH [START] - saves memory into file given in PATH.
  • exec [CYCLES] - executes machine.
  • cycle - executes single cycle.
  • stage - executes single cycle stage.
  • mem [START] [END] [FORMAT] - prints memory.
  • states [START] [END] [FORMAT] - prints internal states (STATE field).
  • intdata [START] [END] [FIELDS]... - prints internal data of processors (proc_int_data).
  • exit - exits from debugger.

List of all commands available in debugger help.

Commands that prints some data (for example mem, intdata) prints addresess or number of processors in hexadecimal. Other parts of data can be printed in format specified by user. Addresses and processor ids in command line and in debugger commands can be given in decimal or hexadecimal format.

Commit count: 90

cargo fmt