long *R2;
R2 = R2 + 4; //または、R2 += 4;
と書いている人が何人かいました。
long * (long型へのポインタ)は、+1で4バイト進むので、
R2 = R2 + 1; //または、R2 += 1;
が正解です(long型を記憶するための領域は4バイト必要)。
また、
*R2 += 4;
のようにしている人もいましたが、これは、
ADD #4, (R2)
の意味になり、R2の値は変化しません。()や@の意味は次の項を参照してください。
(R2) や @R2は、レジスタR2の保持している値をアドレスと解釈して、 そのメモリアドレス(番地)に記憶されている値をメモリから読み出します。 (又は、そのアドレスへ書き込みます)
例えば、次の2行のコードは、メモリの0x123456番地に、987という数値を書き込みます。