Форматы данных: Базовые форматы данных |
Программирование - Архитектура и система команд микропроцессоров x86 | |||
В своей работе процессор может оперировать разнообразными данными, которые в зависимости от режима работы и применяемых команд могут быть представлены в нескольких различных формах (форматах). Различные форматы данных отличаются длиной (количеством бит, отводимых для числа) и назначением отдельных битов или групп битов. В современных процессорах, которые поддерживают несколько наборов команд, соответственно, поддерживается и несколько наборов различных форматов. К таким наборам относятся:
Все рассматриваемые в данном разделе процессоры поддерживают стандартные команды целочисленной арифметики (ADD, ADC, SUB, SBB, IMUL, MUL, IDIV, DIV, INC, DEC, NEG, CMP), команды двоично-десятичной арифметики (DAA, DAS, AAA, AAS, AAM, AAD), а также некоторые другие группы команд, которые предназначены для обработки целочисленных и строковых данных. В этих командах могут использоваться представленные ниже форматы данных (рис. 4.1.).
Рис. 4.1. Базовые форматы данных
Целые числа могут занимать байт, слово или двойное слово. Они могут быть знаковыми и беззнаковыми. В знаковых целых самый старший бит байта, слова или двойного слова, занимаемого числом, отводится для индикации знака числа. Нуль соответствует плюсу, 1 — минусу. Таким образом, возможный диапазон представляемых значений для знаковых целых составляет: от –128 до +127 для байтовых величин, от –32768 до +32767 для слов, от –231 до 231-1 для двойных слов. Беззнаковые целые могут принимать значения: от 0 до 255 для байтовых величин, от 0 до 65535 для слов, от 0 до 232-1 для двойных слов.
Двоично-десятичные целые числа Двоично-десятичные целые — это набор четырехбитовых беззнаковых величин, каждая из которых может принимать значения от 0 до 9. Двоично-десятичные числа могут быть в неупакованном (обычном) или упакованном формате. Неупакованный формат использует только младшие четыре бита байта, в этом формате каждая цифра представляется одним байтом так же, как и целочисленные беззнаковые значения от 0 до 9. Упакованный формат предусматривает использование старших четырех бит байта для представления более старшей значащей цифры десятичного числа, т.е. в упакованном формате требуется в два раза меньше байт для представления десятичных чисел одинаковой разрядности.
Битовые поля — это непрерывные последовательности битов, которые могут располагаться в любом месте памяти и начинаться с любого бита любого байта по любому адресу. Началом битового поля считается самый младший используемый бит самого младшего байта. Битовые поля могут иметь длину до 32 бит.
Строки — это непрерывные последовательности битов, байтов, слов или двойных слов в памяти. Битовые строки могут располагаться в любом месте памяти и начинаться с любого бита любого байта по любому алресу. Максимальная длина битовых строк 232-1 бит. Строки байт, слов и двойных слов могут занимать до 232-1 байт (4 Гб).
|
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru