Wolfram Language Paclet Repository
Community-contributed installable additions to the Wolfram Language
Run virtual machines in the Wolfram Language
Contributed by: Wolfram Research
To install this paclet in your Wolfram Language environment,
evaluate this code:
PacletInstall["Wolfram/VirtualMachine"]
To load the code after installation, evaluate this code:
Needs["Wolfram`VirtualMachine`"]
Create an instance of the "PDP-8" virtual machine:
| In[1]:= |
| Out[1]= | ![]() |
Get information about the object:
| In[2]:= |
| Out[2]= | ![]() |
Load a program that fills the machine's memory with the value 8^^3333:
| In[3]:= |
| Out[3]= | ![]() |
Run the machine until it executes the halt instruction:
| In[4]:= |
| Out[4]= | ![]() |
Obtain the state of the processor after the machine has halted:
| In[5]:= |
| Out[5]= | ![]() |
Verify the program has filled the entire memory:
| In[6]:= |
| Out[6]= | ![]() |
Use the Association in the second argument to create an instance of a "RegisterMachine" defined by a simple program:
| In[7]:= |
| Out[7]= | ![]() |
Run the register machine for 10 steps:
| In[8]:= |
| Out[8]= | ![]() |
Get the state of the machine:
| In[9]:= |
| Out[9]= | ![]() |
Get a Dataset representing the evolution of the register machine:
| In[10]:= |
| Out[10]= | ![]() |
Create a new instance of the "PDP-8" virtual machine:
| In[11]:= |
| Out[11]= | ![]() |
Use the PDP-8's front panel to interact with the computer:
| In[12]:= |
| Out[12]= | ![]() |
Create a customized instance of the "Intel4004" virtual machine by setting the number of ROM and RAM chips to use:
| In[13]:= |
| Out[13]= | ![]() |
Use the following resource function to assemble a subroutine that computes the 4-bit AND of two numbers:
| In[14]:= | ![]() |
| Out[14]= |
Use the debugger to load the subroutine into ROM memory and debug it:
| In[15]:= |
| Out[15]= | ![]() |
Wolfram Language Version 12.3