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