emul

command module
v0.0.0-...-64c6b13 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: AGPL-3.0 Imports: 11 Imported by: 0

README

emul - emulator for WUT-4 instruction set

The emulator executes binary programs in the file format produced by the WUT-4 assembler. It loads a kernel mode binary and an optional user mode binary specified with -u and then begins execution in kernel mode at address 0 (the reset vector). When the program halts for any reason, it produces a register dump (unless -q was given) and then exits.

If -d is given, the emulator produces a register dump before each instruction executes and then pauses with a prompt. Single letter commands may be entered, including h for a definition of the single letter commands.

The emulator normally measures its own emulation time and produces an estimate of instructions emulated per second when it exits. This display is suppressed if the emulator has prompted during execution.

Execution of the brk instruction in WUT-4 code turns on the debug flag, causing an immediate register dump and prompt. The r command can be used to continue execution.

The emulated program halts if the hlt instruction is executed or if an interrupt, trap, fault, or exception (ITFE) occurs with interrupts disabled (a "double fault"). Execution begins with interrupts disabled. ITFEs are enabled when the WUT-4 enters user mode and disabled if a TFE occurs. No hardware interrupts are currently emulated.

For more information, see the ISA documentation.

Documentation

Overview

Copyright © 2024 Jeff Berkowitz (pdxjjb@gmail.com)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Copyright © 2024 Jeff Berkowitz (pdxjjb@gmail.com)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Jump to

Keyboard shortcuts

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