Segmentation
Menu
16it CPU 8086 では、Segment register は4つ(CS,DS,ES,SS)あり、アドレスを指示できるアドレスレジスタは6つである(BX,SI,DI,BP,SP,IP)。それぞれ16bit幅であり、Segment register は 4bit shiftされてアドレスレジスタに加算される。CS:IP で CS segemnet を使って、segment の中で IP のoffset を持つアドレスを指示することになる。
![](fig/segement.gif)
8086 で表すことのできる最大のメモリ空間の大きさはいくつか? CS の内容は、0x1234, IP の内容は、0x0ffe であった。CS:IP で表される論理アドレスはいくつか?
(80186 という 8086 をちょっとだけ改良したCPU が、ワンダースワンというゲーム機で使われている)