anchor.diff:  
   -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]}]}
  +                      [{ram,15,678},{p,16},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]},
  +
  +                     {?FETCHP,
  +                      [{ram,0,678},{p,0},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{ram,0,678},{p,1},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]},
  +
  +                     {?FETCHP,
  +                      [{ram,16#3f,678},{p,16#3f},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{ram,16#3f,678},{p,16#40},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]},
  +
  +                     {?FETCHP,
  +                      [{ram,16#3f,678},{p,16#7f},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{ram,16#3f,678},{p,16#00},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]},
  +
  +                     {?FETCHP,
  +                      [{rom,15,876},{p,16#8f},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,15,876},{p,16#90},{t,876},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]},
  +
  +                     {?FETCHP,
  +                      [{rom,0,678},{p,16#80},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,0,678},{p,16#81},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]},
  +
  +                     {?FETCHP,
  +                      [{rom,16#3f,678},{p,16#bf},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,16#3f,678},{p,16#c0},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]},
  +
  +                     {?FETCHP,
  +                      [{rom,16#3f,678},{p,16#ff},{t,1},  {s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,16#3f,678},{p,16#80},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]}
                       ]).
   
   -define(TEST_FETCHB,[{?FETCHB,
  
positive.code:            {stop,PID}
      end.
  
  % PUSH
  
  push(ds,CPU) ->
  
negative.code: test_init(CPU,[{i,X}     |T]) -> test_init(CPU#cpu{i=X},T);
  test_init(CPU,[{ds,X,Y}  |T]) -> test_init(CPU#cpu{ds={X,array:from_list(Y)}},T);
  test_init(CPU,[{rs,X,Y}  |T]) -> test_init(CPU#cpu{rs={X,array:from_list(Y)}},T);
  test_init(CPU,[{ram,A,W} |T]) -> test_init(CPU#cpu{ram=array:set(A,W,CPU#cpu.ram)},T);
  test_init(CPU,[{rom,A,W} |T]) -> test_init(CPU#cpu{rom=array:set(A,W,CPU#cpu.rom)},T).
  
  test_verify(Expected,Actual) ->
  %  ?debugFmt("EXPECTED: ~p",[Expected#cpu.p]),
  %  ?debugFmt("ACTUAL:   ~p",[Actual#cpu.p]),
     ?assertEqual(Expected,Actual).
  
  assert ([],_CPU) ->
  