$G

Включает или выключает генерацию объектного кода для 286-х процессоров.

Синтаксис:
{$G+} или {$G-}


Тип: Глобальная

Название на английском языке: Generate 80286 Code

Значение по умолчанию: 

{$G-} для реального режима

{$G+} для защищенного режима и среды Windows

Команда меню: Options|Compiler|286 Instructions

Описание:

В состоянии $G- генерируются только основные инструкции процессора 8086.

Программы, компилируемые в этом состоянии можно выполнять на любом процессоре семейства 80x86.

Состояние $G+:

В состоянии $G+, компилятор использует дополнительные команды процессора 80286 для улучшений генерации объектного кода.

Программы, компилируемые в этом состоянии нельзя выполнять на процессорах 8088 и 8086.

Дополнительные команды, используемые в режиме $G+ включают:

  • ENTER
  • LEAVE
  • PUSH непосредственное значение
  • Расширенная IMUL
  • Расширенная SHL
  • Расширенная SHR

ВНИМАНИЕ: (Для Windows), если программа или библиотека или любой модуль, используемый программой или библиотекой, компилируется в состоянии {$G+}, то в заголовке возникающего в результате EXE или DLL будет установлен флаг защищенного режима, и Windows не будет выполнять его в реальном режиме.