![]() |
![]() |
Help for PIPPIN
NOTE: Open, Save and Save As... will only work in Browsers that allow these actions with applets!
The simulator has two modes. The simulator can express assembly code instructions, memory addresses, and variable values as either symbolic (ASCII) or binary formats. You can switch between these modes using the switch in the bottom center of the screen. Instructions are carried out by routing them through the appropriate portion of the CPU, and the movement of instructions will be indicated by flashing color change as the signal moves through the processor when the unit is in run mode.
| Binary | Opcode | Meaning |
| Data Flow | ||
| 00010100 | LOD X (or #X) | Load from Memory location X (or number X) to the accumulator |
| 00000100 | STO Y | Store contents of accumulator in Memory location Y |
| Control | ||
| 00001100 | JMP P | Jump to instruction P |
| 00001101 | JMZ P | If Acc = 0, go to instruction number P, otherwise, go to next instruction. |
| 00001110 | NOP | No operation, but go to next instruction. |
| 00001111 | HLT | Halt execution, do nothing more. |
| Arithmetic-logic | ||
| 00000000 | ADD X (or #X) | Add contents of memory location X (or #X) to Acc. |
| 00000001 | SUB X (or #X) | Subtract contents of memory location X (or #X) to Acc. |
| 00000010 | MUL X (or #X) | Multiply Acc. by contents of memory location X (or #X) |
| 00000011 | DIV X (or #X) | Divide Acc. by contents of memory location X (or #X) |
| 00001000 | AND X (or #X) | If contents of Acc. and memory location X (or number X) are both 0, put 1 into Acc., otherwise put 0 into Acc. |
| 00001001 | NOT | If Acc. contains 0, set Acc. to 1, otherwise set to 0. |
| 00001010 | CPZ X (Compare zero) | If X = 0, set Acc. to 1, otherwise set A to 0. |
| 00001011 | CPL X (Compare less) | If X < 0, set Acc. to 1, otherwise set Acc. to 0. |
Clicking Play will simulate the execution of all the assembly code in RAM, until the last line of code or a HLT instruction is encountered. Signals from travelling from one component of the CPU to another will be highlighted along the wires, and component displays will update as new addresses and values are loaded into them. Clicking Next Step will step through the execution one line at a time. Reset will reset the PC.