b265025dc5e48bfe6b5d9cdac568fbfe3a431541
[fleet.git] / tests / pump / send-without-destination.fleet
1 // output ///////////////////////////////////////////////////////////////////
2 #expect 5263
3
4 // program //////////////////////////////////////////////////////////////////
5 #ship debug        : Debug
6 #ship memory       : Memory
7 #ship bitfifo      : BitFifo
8 #ship fifo         : Fifo
9
10 // dumb configurations
11 debug.in:           [*] take, deliver;
12 memory.inAddrRead:  [*] take, deliver;
13 memory.inAddrWrite: [*] take, deliver;
14 memory.inDataWrite: [*] take, deliver;
15
16 FRED: {
17   fifo.in: deliver, notify fifo.out;
18 }
19
20 fifo.in: literal 5263;
21 fifo.out: wait, take, sendto debug.in;
22
23 bitfifo.in:
24   literal 0; deliver;     // six bits of leading zero (to wash out the codebag size)
25   literal FRED; deliver;  // FRED = { address_of_fred[31], size_of_fred[6] }
26
27 // strip off bottom 6 bits
28 bitfifo.inOp:
29    literal BitFifo.inOp[take=6]; deliver;
30    literal BitFifo.inOp[take=37]; deliver;
31 bitfifo.outOp:
32    literal BitFifo.outOp[take=37]; deliver;
33
34 bitfifo.out:            take, sendto memory.inAddrRead;
35
36 // value read out will be the instruction at FRED
37 memory.out:             take, send;
38
39