アドレッシングモード
CPUの命令セットアーキーテクチャにおいて、命令のオペランド部(演算の対象となるデータのこと)を表すための方法のこと。オペランドが格納されている場所(実効アドレス)を指し示すため、実効アドレッシング・モードということもある。
例えば加算演算を行う場合、加算命令のほかに、加算される2つのデータ(オペランド)が置かれている場所と、結果を格納する場所の3カ所を指定する必要がある(ただし多くのプロセッサ・アーキテクチャでは、加算されるオペランドの場所に結果を書き戻すことにして、オペランドの指定を2つで済ませている)。
この場所の指定方法のことを「アドレッシング・モード」という。代表的なアドレッシング・モードとしては、イミディエイト(即値)モードやレジスタ直接モード、レジスタ間接モード、スケールド・インデックス・モードなどがある。
引用
https://atmarkit.itmedia.co.jp/icd/root/55/5784555.html
命令セット 【ISA】 Instruction Set Architecture
( 命令セットアーキテクチャ)
命令セットとは、あるマイクロプロセッサ(CPU/MPU)を動作させるための命令語の体系。プロセッサが直に解釈して実行できる機械語(マシン語)の仕様を定めたもの。
cのポインタ型のサイズ
アドレッシングモードのサイズが、ポインタ型のサイズとなる。
32bitのOSの場合、32ビットのアドレス番地を持つ。つまり0~0xFFFF FFFFまで。
64bitのOSの場合、64ビットのアドレス番地を持つ。つまり0~0xFFFF FFFF FFFF FFFFまで。
なので、ポインタ型を宣言すると、その最大値を格納できるサイズが確保される。
void* ptr;
printf("%d", sizeof(ptr)); // 8