ポインターの勉強: C のアスタリスク演算子 * は、Z80 のアセンブラーの括弧に類似していると言えますか?
言い換えれば、この2つの文は似たような意味を持っていますか?
LOAD (HL),a; VS *HL=a;
常に正しいとは限らないため、そのような仮定をしないことをお勧めします。あなたの言うことは場合によっては正しいかもしれませんが、これは一般化できないので、正しいとは思いません。これは、C がアセンブリよりも高水準の言語であるため、アセンブリにはない抽象化がいくつかあるためです。ポインターが 1 つのレジスターに収まらないデータを指している場合はどうなりますか? 構造体または共用体へのポインターの場合はどうなりますか?
コンパイラを使用して、さまざまなポインター型に対して生成されたアセンブリをチェックし、自分で確認することをお勧めします。
そうです。別の例 (実際のプログラムには型キャストがあるはずです!):
LD DE,HL -- DE=HL
LD DE,(HL) -- DE=*HL (add typecast: DE=(int *)*HL
LD DE,((HL)) -- DE=**HL (add typecasts: DE=(int *)**(int **)HL