anchor.diff:  -define(RND(N),random:uniform(N+1) - 1).
   
   ret_test()    -> test_opcode(?TEST_RET).
  +call_test()   -> test_opcode(?TEST_CALL).
  +jump_test()   -> test_opcode(?TEST_JUMP).
   fetchp_test() -> test_opcode(?TEST_FETCHP).
   fetchb_test() -> test_opcode(?TEST_FETCHB).
  +storeb_test() -> test_opcode(?TEST_STOREB).
   store_test()  -> test_opcode(?TEST_STORE).
   shl_test()    -> test_opcode(?TEST_SHL).
  +plus_test()   -> test_opcode(?TEST_PLUS).
   dup_test()    -> test_opcode(?TEST_DUP).
   nop_test()    -> test_opcode(?TEST_NOP).
   bstore_test() -> test_opcode(?TEST_BSTORE).
  
positive.code:                    {?SHL,[{t,16#20000}],[{t,16#00000}]}
                   ]).
  
  -define(TEST_DUP,[ {?DUP,
                      [{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
                      [{t,1},{s,1},{ds,7,[3,4,5,6,7,8,9,2 ]}]
  
negative.code:    assert([{r,7},{rs,{7,[1,2,3,4,5,6,7,8]}}],pop(rs,#cpu{r=0,rs={6,Stack}})),
     assert([{r,8},{rs,{0,[1,2,3,4,5,6,7,8]}}],pop(rs,#cpu{r=0,rs={7,Stack}})).
  
  -define(TEST_RET,[{?RET,
                     [{p,1},{r,2},{rs,0,[3,4,5,6,7,8,9,10]},{i,[?NOP,?NOP,?NOP,?NOP]}],
                     [{p,2},{r,3},{rs,1,[3,4,5,6,7,8,9,10]},{i,[]}] }
                   ]).
  
  -define(TEST_CALL,[{{?CALL,16#03,16#0000},
                      [{p,16#0a9},{r,16#000},{rs,0,[1,2,3,4,5,6,7,8]},{i,[?RET,?RET,?RET,?RET]}],
                      [{p,16#003},{r,16#0a9},{rs,7,[1,2,3,4,5,6,7,0]},{i,[]}] }
                    ]). 
  
  -define(TEST_JUMP,[{{?JUMP,16#03,16#0000},
                      [{p,16#0a9}],
                      [{p,16#003}] } 
                    ]).
  
  -define(TEST_FETCHP,[{?FETCHP,
                        [{ram,15,678},{p,15},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
                        [{ram,15,678},{p,16},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]}
  