Опции компоновщика (редактора связей) TLINK
III. Типы данных С точки зрения размерности, микропроцессор аппаратно поддерживает следующие основные типы данных: байт — восемь последовательно расположенных битов, пронумерованных от 0 до 7, при этом бит 0 является самым младшим значащим битом; слово — последовательность из двух байт, имеющих последовательные адреса. Размер слова — 16 бит; биты в слове нумеруются от 0 до 15. Байт, содержащий нулевой бит, называется младшим байтом, а байт, содержащий 15-й бит - старшим байтом. Микропроцессоры Intel имеют важную особенность — младший байт всегда хранится по меньшему адресу. Адресом слова считается адрес его младшего байта. Адрес старшего байта может быть использован для доступа к старшей половине слова. двойное слово — последовательность из четырех байт (32 бита), расположенных по последовательным адресам. Нумерация этих бит производится от 0 до 31. Слово, содержащее нулевой бит, называется младшим словом, а слово, содержащее 31-й бит, - старшим словом. Младшее слово хранится по меньшему адресу. Адресом двойного слова считается адрес его младшего слова. Адрес старшего слова может быть использован для доступа к старшей половине двойного слова. Для описания простых типов данных в программе используются специальные директивы резервирования и инициализации данных, которые, по сути, являются указаниями транслятору на выделение определенного объема памяти. Машинного эквивалента этим директивам нет; просто транслятор, обрабатывая каждую такую директиву, выделяет необходимое количество байт памяти и при необходимости инициализирует эту область некоторым значением. Директивы резервирования и инициализации данных простых типов имеют формат, показанный на рис. 3. Рис. 3. Директивы описания данных простых типов На рис. 3 использованы следующие обозначения: ? показывает, что содержимое поля не определено значение инициализации — значение элемента данных, которое будет занесено в память после загрузки программы. выражение — итеративная конструкция с синтаксисом, описанным на рис. 1. Эта конструкция позволяет повторить последовательное занесение в физическую память выражения в скобках n раз. имя — некоторое символическое имя метки или ячейки памяти в сегменте данных, используемое в программе. TASM поддерживает следующие директивы резервирования и инициализации данных: db —резервирование памяти для данных размером 1 байт. Директивой db можно задавать следующие значения: - выражение или константу, принимающую значение из диапазона: - для чисел со знаком –128...+127; - для чисел без знака 0...255; - символьную строку из одного или более символов. Строка заключается в кавычки. В этом случае определяется столько байт, сколько символов в строке. dw —резервирование памяти для данных размером 2 байта. Директивой dw можно задавать следующие значения: - выражение или константу, принимающую значение из диапазона: - для чисел со знаком –32 768...32 767; - для чисел без знака 0...65 535; - выражение, занимающее 16 или менее бит, в качестве которого может выступать смещение в 16-битовом сегменте или адрес сегмента. dd —резервирование памяти для данных размером 4 байта. Директивой dd можно задавать следующие значения: - выражение или константу, принимающую значение из диапазона: - для чисел со знаком –2 147 483 648...+2 147 483 647; - для чисел без знака 0...4 294 967 295; - относительное или адресное выражение, состоящее из 16-битового адреса сегмента и 16-битового смещения. df — резервирование памяти для данных размером 6 байт. dp — резервирование памяти для данных размером 6 байт. dq — резервирование памяти для данных размером 8 байт. dt — резервирование памяти для данных размером 10 байт.
|