anchor.diff:                       [{ram,15,678},{a,15},{t,678},{s,1},{ds,7,[3,4,5,6,7,8,9,2]}]}
                      ]).
   
  -% TODO: ADD TESTS FOR INCREMENTING OVER RAM/ROM BOUNDARIES 
   % TODO: ADD TESTS FOR I/O
   -define(TEST_STOREP,[{?STOREP,
                         [{ram,0,0},{p,0},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  -                      [{ram,0,1},{p,1},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]}
  +                      [{ram,0,1},{p,1},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]},
  +
  +                     {?STOREP,
  +                      [{ram,16#3f,0},{p,16#3f},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{ram,16#3f,1},{p,16#40},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]},
  +
  +                     {?STOREP,
  +                      [{ram,16#3f,0},{p,16#7f},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{ram,16#3f,1},{p,16#00},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]},
  +
  +                     {?STOREP,
  +                      [{rom,15,0},{p,16#8f},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,15,1},{p,16#90},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]},
  +
  +                     {?STOREP,
  +                      [{rom,0,0},{p,16#80},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,0,1},{p,16#81},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]},
  +
  +                     {?STOREP,
  +                      [{rom,16#3f,0},{p,16#bf},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,16#3f,1},{p,16#c0},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]},
  +
  +                     {?STOREP,
  +                      [{rom,16#3f,0},{p,16#ff},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
  +                      [{rom,16#3f,1},{p,16#80},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]}
                       ]).
   
   % TODO: ADD TESTS FOR INCREMENTING OVER RAM/ROM BOUNDARIES 
  
positive.code:    P = CPU#cpu.p,     
     T = CPU#cpu.t,
     case write(CPU,P,T) of 
          {ok,RAM} ->
              {ok,pop(ds,
                      CPU#cpu{ p=inc(P),
                               ram=RAM 
                             },
                      CPU#cpu.s)};
  
          Other ->
              Other
  
negative.code: 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.rom]),
  %  ?debugFmt("ACTUAL:   ~p",[Actual#cpu.rom]),
     ?assertEqual(Expected,Actual).
  
  assert ([],_CPU) ->
  