Calculating the Fibonacci sequence using 16 bit words on ATTARC 1.0

 This video demonstrates the ATTARC CPU calculating the Fibonacci sequence using 16 bit words.

You'll probably want to speed it up.


Source code for assembly program (assembler & linker & ROM programmer implemented in JavaScript)

// calculate 16 bit Fibonacci sequence

import {
ZERO, NULL, INVERT, ISZERO, ADD1_C, R0JC, R1, R2, R3, R4, R5, R6, R7SC, PC, LOG_A, LOG_B, ADD1_A, ADD1_B, XOR, AND, OR, ADD1, RNG, Program
} from "../asm";

const P = new Program();
export default P;
P
.clear(ADD1_A)
.clear(ADD1_B)
.clear(ADD1_C)
.clear(R0JC) // 1L
.clear(R1) // 1L
.clear(R2) // 1H
.move(1, R3) // 2L
.clear(R4) // 2H

.add(R1, R3, R1)
.label('loop')
.addc(R2, R4, R2)
.jumpcnz('halt')
.add(R1, R3, R3)
.addc(R2, R4, R4)
.jumpcnz('halt')
.add(R1, R3, R1)
.addc(R2, R4, R2)
.jumpcnz('halt')
.add(R1, R3, R3)
.addc(R2, R4, R4)
.jumpcz('loop', [
() => P.add(R1, R3, R1)
])
.label('halt')
.jump('halt')
;

Comments

Popular posts from this blog

Introducing ATTARC: Advanced Transport Triggered Architecture for Redstone Computing

Simulating ATTARC With Logisim-Evolution