logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

Новые типы сегментов

Возможность процессора 80386 поддерживать сегменты размером 64К (как в процессоре 80286) или линейные сегменты до 4 гигабайт потребовала двух новых типов сегментов - USE16 и USE32.

При ссылке на сегмент размером 64К 16-разрядное смещение может храниться либо в базовом или индексном регистре (BX, SI, DI или BP), либо использоваться в качестве непосредственного смещения. В этом режиме работает процессор 80286 (и 8086). В процессоре 80386 сегментам, имеющим максимальный размер 64К, дается тип использования USE16.

Для ссылки на любую ячейку в 4 гигабайтовом сегменте нужно использовать 32-разрядное смещение записанное в любом из 32-разрядных регистров или указываемое непосредственно. Сегментам процессора 80386, которые имеют максимальную длину 4 гигабайта, дается тип USE32. Процессор 80386 позволяет использовать в качестве базового регистра или в индексного регистра все восемь 32-разрядных общих регистров (EAX, EBX, ECX, EDX, ESI, EDI, EBP и ESP).