| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ram address | binary | name | @name | description | |||||||||||||||||||||
2 | #0 | %000000 | alu input A | @aluA | the first input for the ALU | |||||||||||||||||||||
3 | #1 | %000001 | alu input B | @aluB | the second input for the ALU | |||||||||||||||||||||
4 | #2 | %000010 | alu mode | @aluMode | settings for the ALU. See alu mode refrence for more info | |||||||||||||||||||||
5 | #3 | %000011 | alu output | @aluOut | the output for the ALU | |||||||||||||||||||||
6 | #4 | %000100 | jump | @jump | write to here to jump to a different line of code | |||||||||||||||||||||
7 | #5 | %000101 | user input/output | @userIO | write to set the output, read to set the input. Doesn't automatically pause the computer to wait for user input this has to be done manually, but is not neccecary. | |||||||||||||||||||||
8 | #6 | %000110 | lognet own address | @netOwnAddr | the address of the comuter for recieving. | |||||||||||||||||||||
9 | #7 | %000111 | lognet send to address | @netSendAddr | the address of the device a message should be sent to | |||||||||||||||||||||
10 | #8 | %001000 | lognet data to send | @netSendData | write to specify the data that should be sent. sends the message when it is being written to | |||||||||||||||||||||
11 | #9 | %001001 | lognet got data | @netGotData | the first bit (least significant, on the right) specifies if a message has been recieved scince the last time @netRecData has been read from. The second but is a setting. by default (0) it says that a halted computer should resume automatically when a message has been recieved. if set to 1, this feature is turned off. | |||||||||||||||||||||
12 | #10 | %001010 | lognet recieved data | @netRecData | the recieved data can be read form here | |||||||||||||||||||||
13 | #11 | %001011 | disk address | @diskAddr | specifies the selected address of the disc read/write (temporarily stops the computer for 0-6secs to load data from the timer memory) | |||||||||||||||||||||
14 | #12 | %001100 | disk data to write | @diskWriteData | write here to write some data to the disk (temporairly stops the computer for 0-6 secs to write the data to the timer memory) | |||||||||||||||||||||
15 | #13 | %001101 | disk read data | @diskReadData | read form here to read the data (does not pause the computer, scince this data is already being loaded when @diskAddr is changed) | |||||||||||||||||||||
16 | #14 | %001110 | stack write data | @stackWrite | writes a byte to the stack and increments the stack counter | |||||||||||||||||||||
17 | #15 | %001111 | stack read data | @stackRead | read a byte from the stack en decrements the stack counter | |||||||||||||||||||||
18 | #16 and over | %010000 | regular memory | - | regular memory for programs and variables (there are 48 bytesof regular memory) | |||||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | the alu mode bytes is subdivided in 3 parts: %CCCBAAAA | |||||||||||||||||||||||||
21 | AAAA (4 bytes) is the mode of the calculation (se table for more info) | |||||||||||||||||||||||||
22 | when B is set to 1, the computer halts/pauses. This is handy to turn the compyter off when a program is complete, or to give the user time to enter a value in the input | |||||||||||||||||||||||||
23 | CCC is the if-condition for jumping (see the table for more info) | |||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||
26 | mode of the calculation | |||||||||||||||||||||||||
27 | value | binary | name | used inputs | description | |||||||||||||||||||||
28 | #0 | %0000 | add | alu A, alu B | adds A and B | |||||||||||||||||||||
29 | #1 | %0001 | subtract | alu A, alu B | subtracts B from A (A-B) (will be negative/overflow when B>A) | |||||||||||||||||||||
30 | #2 | %0010 | and | alu A, alu B | will and each bit of A and B individually, and put these anded bits in the output byte. | |||||||||||||||||||||
31 | #3 | %0011 | or | alu A, alu B | same, except its for OR | |||||||||||||||||||||
32 | #4 | %0100 | xor | alu A, alu B | same, except its for XOR | |||||||||||||||||||||
33 | #5 | %0101 | not | alu A | just inverts aluA, without caring about aluB | |||||||||||||||||||||
34 | #6 | %0110 | nand | alu A, alu B | will and each bit of A and B individually, nand put these anded bits in the output byte. | |||||||||||||||||||||
35 | #7 | %0111 | nor | alu A, alu B | same, except its for nor | |||||||||||||||||||||
36 | #8 | %1000 | nxor | alu A, alu B | same, except its for nxor | |||||||||||||||||||||
37 | #9 | %1001 | shift right | alu A | shifts all bits in aluA to the right (least significant bit) once, and puts this in the output | |||||||||||||||||||||
38 | #10 | %1010 | shift right + wraparound | alu A | same, except the first bit that would normally dissapear will now wrap around back to the left (most significant bit) | |||||||||||||||||||||
39 | #11 | %1011 | shift left | alu A | same as shift right, except in the other direction | |||||||||||||||||||||
40 | #12 | %1100 | shift left + wraparound | alu A | same as shift right, except in the other direction shift right + wraparound, except in the other direction | |||||||||||||||||||||
41 | #13 | %1101 | flip a | alu A | flips all the bits in alu A to the other side of the byte, so for example %00110110 becomes %01101100 | |||||||||||||||||||||
42 | #14 | %1110 | delete a part | alu A, alu B | deletes (sets to 0) the left (most significant) par of aluA. The amount of bits is specified with the aluB input. This of course shouldn't be more than 8. | |||||||||||||||||||||
43 | #15 | %1111 | randomiser | nothing | a time-based randomiser that is always random. cannot be controlled. always random. | |||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | if-condition for jumping | the jump instruction will only work if the selected if-condition returns true | ||||||||||||||||||||||||
47 | value | binary | name | used inputs | description | |||||||||||||||||||||
48 | #0 | %000 | always true | - | always true, its the default if-condition | |||||||||||||||||||||
49 | #1 | %001 | a<b | alu A, alu B | true if A<B | |||||||||||||||||||||
50 | #2 | %010 | a=b | alu A, alu B | true if A=B | |||||||||||||||||||||
51 | #3 | %011 | a>b | alu A, alu B | true if A>B | |||||||||||||||||||||
52 | #4 | %100 | a=0 | alu A | true if A=0 | |||||||||||||||||||||
53 | #5 | %101 | alu out=0 | alu out | true if alu out=0 | |||||||||||||||||||||
54 | #6 | %110 | alu under/overflow | allu carry out | true if the alu under/overflows | |||||||||||||||||||||
55 | #7 | %111 | LSB of A | alu A | true if A is odd, which is the same as the right bit of A being 1 | |||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |