ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
Intel x86シリーズにおける、当初の16ビットアーキテクチャーの、Intel非公式の俗称。
16ビット動作モードでは「セグメント:オフセット」という特殊な形式でアドレッシングが行なわれていた。おのおの16ビットであり、セグメントは16倍して加算されるため、総計で20ビット(1Miバイト)のアドレッシングが可能だった。
セグメントはセグメントレジスターと呼ばれる専用レジスターが用意され、メモリーアクセス時にセグメントレジスターをつければ20ビットでアクセスでき、さもなくば16ビットの範囲内のみでアクセスできた。
但しセグメントを指定するとプログラムサイズが増え、かつまた処理速度も遅くなるため、必要時以外はセグメントを指定しない、という使い分けが必要だった。
Cで、このアドレッシング方式をポインター変数として実現する必要があったが、Cの標準仕様の範囲内では不可能だったため、特殊な方式が使われた。以下のように呼ばれている。
このポインターを区別するため、far/near/hugeというCの規格外となる独自の予約語を定義し、以下のように使用した。
unsigned char near *np;
unsigned char far *fp;
unsigned char huge *hp;
規格の流儀に則るならば、__far や __near などとするべきだったが、最初にこの方式を考案したCコンパイラー実装者(おそらくMicrosoft)が作った仕様は、他と互換性がなくなる方式だったようである。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます