>>397
> data = &HF000
ここで integer から long への型変換が行われるのが原因ですね。
integer型の&HF000 は -4096 ですから、longへのキャストの際、
符号拡張され &HFFFFF000 (=-4096)になります。

data=&HF000&
とすれば期待通りの動作になりますよ。