This document defines the operations supported by the Little Dan Computer and their respective descriptions.
Instruction | Operand | Machine Code (DEC) | Description |
---|---|---|---|
LDA | Address | 06XXX | Loads the value from the specified memory address into the accumulator. |
LDD | Value | 07XXX | Loads the immediate value into the accumulator. |
ADD | Address | 01XXX | Adds the value from the specified memory address to the accumulator. |
SUB | Address | 02XXX | Subtracts the value from the specified memory address from the accumulator. |
MUL | Address | 03XXX | Multiplies the accumulator by the value from the specified memory address. |
DIV | Address | 04XXX | Divides the accumulator by the value from the specified memory address. |
MOD | Address | 05XXX | Calculates the modulus of the accumulator by the value from the specified memory address. |
STA | Address | 08XXX | Stores the value of the accumulator into the specified memory address. |
JMP | Address | 09XXX | Sets the program counter to the specified memory address. |
JEQ | Address | 10XXX | Jumps to the specified memory address if the accumulator equals zero. |
JNE | Address | 11XXX | Jumps to the specified memory address if the accumulator is not zero. |
JGT | Address | 12XXX | Jumps to the specified memory address if the accumulator is greater than zero. |
JLT | Address | 13XXX | Jumps to the specified memory address if the accumulator is less than zero. |
INP | None | 14000 | Reads an input value and loads it into the accumulator. |
OUT | None | 15000 | Outputs the value in the accumulator. |
OTC | None | 16000 | Outputs the character represented by the value in the accumulator (use an ASCII chart for reference). |
CLR | None | 17000 | Clears the output display. |
HLT | None | 00000 | Halts program execution. |
DAT | Label (prefix) Value (postfix) |
Allocates memory for data to be stored. During assembly, data labels are replaced with their memory addresses. Example usage: ONE DAT 1 |
|
FN | Label (prefix) | A procedure/function label which could be used by a jump instruction. |