
*******************************************************************
*                            					  *
* This is a demo for a 2911,2903 bit slice microprocessor system. *
* The microcode calculates Fibonacci numbers. The first two #s    *
* '01' are read from a direct port(DA) into two 2903 regs. The    *
* Fibonacci numbers are calculated by a subroutine called from    *
* the main program. As the numbers are calculated, they are stored*
* serially in memory for later inspection.....                    *
*                                                                 *
* The demo uses a single reference element for the two instances  *
* of the 2903 (4 bit) slice and one for the 2911 sequencer.       *
* Both the devices are modelled as static parts......             * 
*                                                                 *
*******************************************************************

   SEQ_CNTRL                       ALU_CNTRL
   ---------                       ---------

   R P F S S              I<8..0> A<3..0> B<3..0> E W           
   E U E 1 0                                      A E
   * P *                                          * *
-----------------------------------------------------------------------

   0 0 1 0 0  ;En Reg Ld    1EC      X       0    1 0  ;R+Cn-->R0
	      ;Continue                                ;R from DB<7..0>

   1 1 0 0 1  ;Call SUBR    1EC      X       1    1 0  ;R+Cn-->R1
	      ;Push Stack                              ;R from DB<7..0>

   1 1 0 0 1  ;Call SUBR    1E6      1       0    0 1  ;R0+R1+Cn-->XX
	      ;Push Stack                              ;Dummy inst

   1 1 0 0 1  ;Call SUBR    1E6      1       0    0 1  ;R0+R1+Cn-->XX
	      ;Push Stack                              ;Dummy inst


 SUBR:...

   1 0 1 0 0  ;Continue     1E6      1       0    0 0  ;R0+R1+Cn-->R0
				  
   1 0 1 1 1  ;Jump to ADR  1E6      0       1    0 0  ;R1+R0+Cn-->R1
              ;on D<3..0>

   
 ADR Ch: ...

   1 0 0 1 0  ;Return       1E6      0       1    0 1  ;R1+R0+Cn-->XX
	      ;Pop Stack                               ;Dummy inst



    NOTE: RAM_A<2> is tied to D<2> hence when Ram address reaches 0100
	  the sequencer jumps to addr Ch and returns. If RAM_A<2> is
	  not asserted the sequencer jumps back to beginning of Subr.

