|
|
Компьютеры - Low Level Virtual Machine - Типы данных02 мая 2011
Оглавление: 1. Low Level Virtual Machine 2. Особенности 3. Типы данных 4. Операции 5. Память 6. Операции с указателями
Простые типы
Целые числа произвольной разрядности |
iразрядность |
- i1 — булево значение — 0 или 1
- i32 — 32-разрядное целое
- i17
- i256
|
- Генерация машинного кода для типов очень большой разрядности не поддерживается. Но для промежуточного представления никаких ограничений нет.
- Числа считаются представленными в дополнительном коде. Различий между знаковыми и беззнаковыми целыми на уровне типов не делается: в тех случаях, когда это имеет значение, с ними работают разные инструкции.
|
Числа с плавающей точкой |
float, double, типы, специфичные для конкретной платформы |
Пустое значение |
void |
Производные типы
Указатели |
тип* |
i32* — указатель на 32-битное целое |
Массивы |
|
|
Структуры |
|
{ i32, i32, double } |
Вектор — специальный тип для упрощения SIMD-операций. Вектор состоит из 2n значений примитивного типа — целого или с плавающей точкой. |
|
< число элементов x тип > |
< 4 x float > — вектор XMM |
Функции |
|
|
Система типов рекурсивна, то есть можно использовать многомерные массивы, массивы структур, указатели на структуры и функции и т. д.
Просмотров: 5342
|