anchor.diff:             {stop,PID}
       end.
   
  +% INCREMENT
  +
  +inc(N) when N < 16#80  ->  (N + 1) rem 16#80;
  +inc(N) when N < 16#100 -> ((N + 1) rem 16#80) + 16#80;
  +inc(N) -> N.
  +
   % PUSH
   
   push(ds,CPU) ->
  
positive.code:    ?assertEqual(Word,array:get(Addr,CPU#cpu.ram)),
     assert(T,CPU);
  
  assert([X|T],CPU) ->
     ?debugFmt("*** WARNING: UNIMPLEMENTED ASSERT (~p)",[X]),
     assert(T,CPU).
  
negative.code:                      [{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]}]}
                      ]).
  
  % TODO: ADD TESTS FOR INCREMENTING OVER RAM/ROM BOUNDARIES 
  % TODO: ADD TESTS FOR I/O
  -define(TEST_STORE_PLUS,[{?STORE_PLUS,
                           [{ram,0,0},{a,0},{t,1},{s,2},{ds,0,[3,4,5,6,7,8,9,10]}],
                           [{ram,0,1},{a,1},{t,2},{s,3},{ds,1,[3,4,5,6,7,8,9,10]}]}
  