Регистры
32- разрядные микропроцессоры имеют следующие группы регистров:
- регистры общего назначения (РОН) - 8 регистров (Данные регистры имеют 32 разрядную длину и содержат адреса и данные);
- сегментные регистры - 6 регистров(Сегментные регистры реализуют сегментное управление памятью.Сегментные регистры в защищенном режиме содержат информацию только о дескрипторе, который полностью описывает сегмент);
- указатели команд и флаги - 2 регистра(Указатель команд (EIP) - это 32-разрядный регистр, который содержит относительный адрес подлежащей выполнению (следующей) команды. Регистр флагов тоже стал 32 - разрядным (EFLAGS). Младшие 16 разрядов регистра флагов EFLAGSсовпадают с соответствующими разрядами FLAGS16 - разрядных МП.);
- системные регистры(служат для ссылок на системные сегменты и таблицы защищенного режима), которые включают:
- управляющие регистры - 5 регистров (один зарезервирован)(хранят управляющие признаки процессора, общие для всех задач);
- регистры системных адресов и системных сегментов - 4 регистра;
- отладочные регистры - 8 регистров(предназначенные для задания и управления отладочными точками останова);
- тестовые регистры - 8 регистров(предназначены для тестирования отдельных модулей процессора (в основном кэша));
- модельно-специфические регистры - число регистров зависит от модели процессора(предназначены для управления расширениями отладки, мониторингом производительности, машинным контролем, кэшированием областей физической памяти и другими функциями. Их назначение привязывается к архитектуре конкретного процессора, состав меняется от модели к модели, доступ привилегирован).
Абстрактные типы данных
Типы данных, которые рассматриваются независимо от контекста и реализации в конкретном языке программирования. Абстракция в математическом смысле означает, что алгебра данных рассматривается с точностью до изоморфизма. Абстрактные типы находят широкое применение в методологии программирования, основанной на пошаговой разработке программ. На этапе построения спецификации проектируемой программы алгебра данных моделирует объекты предметной области, в терминах решаемой задачи. В процессе пошагового уточнения данные конкретизируются путём перехода к промежуточным представлениям до тех пор, пока не будет найдена их реализация с помощью базовой алгебры данных используемого языка программирования. Существует несколько способов определения абстрактных типов: алгебраический, модельный и аксиоматический. При модельном подходе элементы данных определяются явным образом. При алгебраическом используются методы алгебраических отношений, а при аксиоматическом подходе используется логическая формализация.
Целочисленные типы
Целочисленные типы содержат в себе значения, интерпретируемые как числа (знаковые и беззнаковые).
BYTE
Cоответствует байту, 8 бит, беззнаковое.
Используется в API Win32 (64), в основном в качестве указателя на блок двоичных данных (BYTE *).
В спецификации Ogg Media используется для хранения однобайтных значений
Логические типы
Логические переменные, BOOL или boolean, содержат одно из двух значений (истина или ложь). В зависимости от реализации, истина может обозначаться как единица или «true», так и любым ненулевым числом (Си). Ложь, соответственно, обозначается инверсно к правде. Для реализации типа достаточно одного бита, однако на практике для ускорения размер bool равен размеру машинного слова.
Типы с плавающей запятой
Используются для представления вещественных (не обязательно целых) чисел. В этом случае число записывается в виде x=a*10^b. Где 0<=a<1, а b-некоторое целое число из определённого диапазона. a называют мантиссой, b - порядком. У мантиссы хранятся несколько цифр после запятой, а b - хранится полностью.
Строковые типы
Последовательность символов, которая рассматривается как единое целое в контексте переменой. В разных языках программирования накладываются разные ограничения на строковые переменные. Строки могут содержать управляющие последовательности.
Идентификационные типы
Идентификационные типы интерпретируются не как число, а как уникальный идентификатор объекта.
FOURCC
FOURCC - 32 бита, интерпретируется как идентификатор кодека для воспроизведения содержимого в файлах-медиаконтейнерах (RIFF (AVI), Ogg Media). В оригинальной спецификации [источник не указан 1124 дня] было указано ограничение на использование "псевдо ASCII" представления кода (при записи в little-endian порядке байт при побайтовом выводе данных должна была получаться ASCII строка).
ATOM
Atom (от греческого "неделимый") - общесистемный идентификатор строки в операционной системе Windows. Приложение может "поместить" (соответствующим вызовом) строку в таблицу (англ. atom table), вызов возвращает число. По указанному числу любое приложение может получить значение строки. Используется для межпроцессного взаимодействия и уникальных идентификаторов (напр., классов окон).
Сложносоставные типы
COLORREF
В операционных системах Windows COLORREF служит для хранения значения трёх цветов (R, G, B — красный, зелёный, синий), размер 32 бита.