# DON'T TRY THIS TEST YET, NOT READY!
- pipeline test for Assignment #1
-- Assume data mem contains:
--   loc 20:   16
--   loc 21:   80
--   loc 22:   127
--   loc 23:   0
--   loc 24:   255
--
	storage(i) := (ADDREG, 3, 0, 0, 0); i := i+1;    --add  r3,r0,r0    ; r3 = 0
	storage(i) := (ADDIMM, 3, 3, 0, 20); i := i+1;    --addui r3,r3,#20  ; r3 = 20
        storage(i) := (ADDIMM, 4, 3, 0, 10); i := i+1;    --addu r4,r3,#10     ;r4 = 30
        storage(i) := (ADDREG, 10, 4, 0, 0); i := i+1;    --addu r10,r4,r0   ;r10 = 30
        storage(i) := (ADDREG, 11, 4, 0, 0); i := i+1;    --addu r11,r4,r0   ;r11 = 30
        storage(i) := (ADDREG, 1,  4, 0, 0); i := i+1;    --addu r1,r4,r0    ;r1 = 30
        storage(i) := (ADDREG, 12, 0, 3, 0); i := i+1;    --addu r12,r0,r3   ;r12 = 20
        storage(i) := (ADDREG, 13, 0, 12, 0); i := i+1;    --addu r13,r0,r12  ; r13 = 20
        storage(i) := (ADDREG, 14, 0, 12, 0); i := i+1;    --addu r14,r0,r12  ; r14 = 20
        storage(i) := (ADDREG, 2, 0, 12, 0); i := i+1;    --addu r2,r0,r12  ;r2 = 20
	storage(i) := (ADDREG, 7, 12, 0, 0); i := i+1;    --add r7,r12,r0      ;
	storage(i) := (ADDIMM, 7, 0, 0, 1); i := i+1;    --add r7,r0,#1  ; if fwding wrong, 
	                                                       --r7 may end up as 0 instead of 1
         -- ;; r3,r4 should now have address of "data"
	storage(i) := (LOAD,   5, 3, 0, 0); i := i+1;   -- load r5,0(r3) ; r5 = 16, fwd of mem value
  	storage(i) := (NOP, 0, 0, 0, 0);i := i+1;       -- NOP needed for load stall - do NOT remove!
        storage(i) := (ADDIMM, 8, 5, 0, 48); i := i+1;   -- addui r8,r5,#48  ; r8 = 64
        storage(i) := (LOAD, 15, 3, 0, 0); i := i+1;   -- load r15,0(r3)    ; r15 = 16
  	storage(i) := (NOP, 0, 0, 0, 0);i := i+1;       -- NOP needed for load stall - do NOT remove!
        storage(i) := (ADDREG, 16, 8, 15, 0); i := i+1;   --  add r16,r8,r15  ; r16 = 80
        storage(i) := (LOAD, 6, 3, 0, 1); i := i+1;      --  load r6,1(r3)    ; r6 = 80
  	storage(i) := (NOP, 0, 0, 0, 0);i := i+1;       -- NOP needed for load stall - do NOT remove!  
        storage(i) := (STORE, 0, 3, 6, 5); i := i+1;     --  store 5(r3),r6    ; loc 25  = 80
        storage(i) := (LOAD, 9, 3, 0, 5); i := i+1;      --  load r9,5(r3)     ; r9 = 80
	storage(i) := (ADDIMM, 17, 0, 0, 33); i := i+1;   --  add r17,r0,#0x21 ; r17 = 33
        storage(i) := (STORE, 0, 3, 17, 6); i := i+1;      -- store 6(r3),r17  ; loc 26 = 33
        storage(i) := (STORE, 0, 3, 17, 7); i := i+1;     --  store 7(r3),r17 ; loc 27 = 33
        storage(i) := (STORE, 0, 3, 17, 8); i := i+1;     --  store 8(r3),r17 ; loc 28 = 33
        storage(i) := (LOAD, 18, 3, 0, 6); i := i+1;       --  load r18,6(r3)  ; r18 = 33
        storage(i) := (LOAD, 19, 3, 0, 7); i := i+1;       --  load  r19,7(r3) ; r19 = 33
        storage(i) := (LOAD, 22, 3, 0, 8); i := i+1;       --  load  r22,8(r3) ; r22 = 33
        storage(i) := (STORE, 0, 3, 5, 4); i := i+1;     -- sw 4(r3),r5  ; loc 24 = 16
        storage(i) := (ADDREG, 20, 0, 5, 0); i := i+1;    -- 	add r20,r0,r5 ; r20 = 16
        storage(i) := (ADDREG, 21, 5, 0, 0); i := i+1;     -- 	add r21,r5,r0 ; r21 = 16

<div align="center"><br /><script type="text/javascript"><!--
google_ad_client = "pub-7293844627074885";
//468x60, Created at 07. 11. 25
google_ad_slot = "8619794253";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />&nbsp;</div>