projects:archevo:asia16
                Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:archevo:asia16 [2021/04/26 18:52] – Owen Mellema | projects:archevo:asia16 [2021/05/02 04:30] (current) – Owen Mellema | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| * Compare-and-execute. Cell operations have options for inlining comparisons. For example, in ASIA, RNE would take at least three cycles. Now, it takes one. | * Compare-and-execute. Cell operations have options for inlining comparisons. For example, in ASIA, RNE would take at least three cycles. Now, it takes one. | ||
| - | ^ GB ^ OpCode ^ Mnemonic  | + | An instruction looks like this: | 
| - | | 0 | 0000 | INC C | Increment C. C = C + 1 | | + | < | 
| - | | 0 | 0001 | DEC C | Decrement C. C = C - 1 | | + | OOOOAAAABBBBCCCC | 
| - | | 0 | 0010 | ICC x C | Increment C by x. C = C + x | | + | O - Opcode | 
| - | | 0 | 0011 | DCC x C | Decrement C by x. C = C - x | | + | A - Register A | 
| - | | 0 | 0100 | ADD A B C | Add. C = A + B | | + | B - Register B | 
| - | | 0 | 0101 | SUB A B C | Subtract. C = A - B | | + | C - Register C | 
| - | | 0 | 0110 | MUL A B C | Multiply. C = A*B | | + | </ | 
| - | | 0 | 0111 | DIV A B C | Divide (Round down). C = A/B| | + | or, like this: | 
| - | | 0 | 1000 | AND A B C | And. C = A and B | | + | < | 
| - | | 0 | 1001 | OR A B C | Or. C = A or B | | + | OOOOxxxxxxxxCCCC | 
| - | | 0 | 1010 | INV A C | Invert. C = not A | | + | O - Opcode | 
| - | | 0 | 1011 | XOR A B C | Exclusive Or. C = B xor A | | + | x - Constant | 
| - | | 0  | 1100   | SRL C      | + | C - Register C | 
| - | | 0  | 1101   | SLL C      | + | </ | 
| - | | 0 | 1110 | MOV A C | Move A to C. C = A | | + | |
| - | | 0 | 1111 | LOD x C | Loads a value. C = x | | + | Of the possible 65335 instructions, | 
| - | | 1  | 0000   | REP       | Reproduce.  | + | |
| - | | 1  | 0001   | ATK       | Attack.  | + | ^ GB ^ OpCode ^ Mnemonic  | 
| - | | 1 | 0010 | MOV | Move. | | + | | 0  | 0000   | INC C     | Increment C. C = C + 1       | 
| - | | 1 | 0011 | JMP | Jump. | | + | | 0  | 0001   | DEC C     | Decrement C. C = C - 1       | 
| - | | 1 | 0100 | JLT A B | Jump if A < B. | | + | | 0  | 0010   | ICC x C   | Increment C by x. C = C + x | 1792                   | 
| - | | 1 | 0101 | JGT A B | Jump if A > B. | | + | | 0  | 0011   | DCC x C   | Decrement C by x. C = C - x | 1792                   | 
| - | | 1 | 0110 | JET A B | Jump if A == B. | | + | | 0  | 0100   | ADD A B C | Add. C = A + B               | 
| - | | 1 | 0111 | JNE A B | Jump if A != B. | | + | | 0  | 0101   | SUB A B C | Subtract. C = A - B         | 1792                   | 
| - | | 1 | 1000 | RET A B | Reproduce if A == B. | | + | | 0  | 0110   | MUL A B C | Multiply. C = A*B           | 1792                   | 
| - | | 1 | 1001 | RNE A B | Reproduce if A != B. | | + | | 0  | 0111   | DIV A B C | Divide (Round down). C = A/B| 1792                   | 
| - | | 1 | 1010 | AET A B | Attack if A == B. | | + | | 0  | 1000   | AND A B C | And. C = A and B             | 
| - | | 1 | 1011 | ANE A B | Attack if A != B. | | + | | 0  | 1001   | OR A B C  | Or. C = A or B               | 
| - | | 1 | 1100 | MET A B | Move if A == B. | | + | | 0 | 1010 | INV A C | Invert. C = not A | 112 | | 
| - | | 1 | 1101 | MNE A B | Move if A != B. | | + | | 0  | 1011   | XOR A B C | Exclusive Or. C = B xor A   | 1792                   | 
| - | | 1 | 1110 | NPA | NOP A. | | + | | 0  | 1100   | SRL A C    | 
| - | | 1 | 1111 | NPB | NOP B. | | + | | 0  | 1101   | SLL A C    | 
| + | | 0  | 1110   | MOV A C   | Move A to C. C = A           | ||
| + | | 0  | 1111   | LOD x C   | Loads a value. C = x         | ||
| + | | 1  | 0000   | REP       | Reproduce.  | ||
| + | | 1  | 0001   | ATK       | Attack.  | ||
| + | | 1 | 0010 | MOV | Move. | 1 | | ||
| + | | 1 | 0011 | JMP | Jump. | 1 | | ||
| + | | 1  | 0100   | JLT A B   | Jump if A < B.               | ||
| + | | 1  | 0101   | JGT A B   | Jump if A > B.               | ||
| + | | 1 | 0110 | JET A B | Jump if A == B. | 256 | | ||
| + | | 1 | 0111 | JNE A B | Jump if A != B. | 256 | | ||
| + | | 1  | 1000   | RET A B   | Reproduce if A == B.         | ||
| + | | 1  | 1001   | RNE A B   | Reproduce if A != B.         | ||
| + | | 1 | 1010 | AET A B | Attack if A == B. | 256 | | ||
| + | | 1 | 1011 | ANE A B | Attack if A != B. | 256 | | ||
| + | | 1 | 1100 | MET A B | Move if A == B. | 256 | | ||
| + | | 1 | 1101 | MNE A B | Move if A != B. | 256 | | ||
| + | | 1  | 1110   | NPA       | NOP A.                       | ||
| + | | 1  | 1111   | NPB       | NOP B.                       | ||
projects/archevo/asia16.1619463143.txt.gz · Last modified: 2021/04/26 18:52 by Owen Mellema
                
                