2 // output ///////////////////////////////////////////////////////////////////
5 // program //////////////////////////////////////////////////////////////////
8 #ship bitfifo : BitFifo
11 // dumb configurations
12 debug.in: [*] take, deliver;
13 memory.inAddrRead: [*] take, deliver;
14 memory.inAddrWrite: [*] take, deliver;
15 memory.inDataWrite: [*] take, deliver;
18 fifo.in: deliver, notify fifo.out;
21 fifo.in: literal 5263;
22 fifo.out: wait, take, sendto debug.in;
25 literal 0; deliver; // six bits of leading zero (to wash out the codebag size)
26 literal FRED; deliver; // FRED = { address_of_fred[31], size_of_fred[6] }
28 // strip off bottom 6 bits
30 literal BitFifo.inOp[take=6]; deliver;
31 literal BitFifo.inOp[take=37]; deliver;
33 literal BitFifo.outOp[take=37]; deliver;
35 bitfifo.out: take, sendto memory.inAddrRead;
37 // value read out will be the instruction at FRED
38 memory.out: take, send;