なぜか動いたけど、これ安全?

#define SetRegister(ADDR, DATA) Address=ADDR;*Address=DATA;

数年前、ARMのCコンパイラで動かしたらうまく行かなかったんだが、
なぜかBCCでは動いとる。