<<
>>

Глава 13 Сложные структуры данных

Р? Понятие сложного типа данных в ассемблере ^ Средства ассемблера для создания и обработки сложных структур данных ► Массивы ⅝* Структуры Ц» Объединения ⅜» Записи В предыдущих главах при разработке программ мы использовали данные двух типов.
Ж Непосредственные данные, представляющие собой числовые или символьные значения и являющиеся частью команды. Непосредственные данные форми- руются программистом в процессе написания программы для конкретной ко- манды ассемблера. * Данные, описываемые с помощью ограниченного набора директив резервиро- вания памяти, позволяют выполнять самые элементарные операции по разме- щению и инициализации числовой и символьной информации. При обработке этих директив ассемблер сохраняет в своей таблице символов информацию о ме- стоположении данных (значения сегментной составляющей адреса и смеще- ния) и типе данных, то есть единицах памяти, выделяемых для размещения дан- ных в соответствии с директивой резервирования и инициализации данных. Эти два типа данных являются элементарными, или базовыми; работа с ними поддерживается на уровне системы команд процессора.
Используя данные этих типов, можно формализовать и запрограммировать практически любую задачу. Но насколько это будет удобно — вот вопрос. Обработка информации в общем случае — процесс очень сложный. Это кос- венно подтверждает популярность языков высокого уровня. Одно из несомнен- ных достоинств языков высокого уровня — поддержка развитых структур данных. При их использовании программист освобождается от решения конкретных про- блем, связанных с представлением числовых или символьных данных, и получает возможность оперировать информацией, структура которой в большей степени отражает особенности предметной области решаемой задачи. В то же самое время, чем выше уровень такого абстрагирования от конкретного представления данных в компьютере, тем большая нагрузка должна ложиться на компилятор для созда- ния действительно эффективного кода. Ведь нам уже известно, что в конечном итоге все написанное на языке высокого уровня в компьютере будет представлено на уровне машинных команд, работающих только с базовыми типами данных. Та- ким образом, самая эффективная программа — программа, написанная в машин- ных кодах, но писать сегодня большую программу в машинных кодах — занятие довольно бессмысленное. С целью облегчения разработки программ в язык ассемблера на уровне его ди- ректив была введена поддержка нескольких сложных типов данных. Это позволи- ло несколько сгладить различия между языками высокого уровня и ассемблером. У программиста появилась возможность сочетать достоинства языка ассемблера и языков высокого уровня (в направлении абстрагирования от конкретного пред- ставления данных), что в итоге повышает эффективность конечной программы. TASM поддерживает следующие сложные типы данных: и массивы; структуры; объединения; записи. Разберемся более подробно с тем, как определить данные этих типов в программе и организовать работу с ними.
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме Глава 13 Сложные структуры данных:

  1. ГЛАВА ТРЕТЬЯ СЛОЖНЫЕ И СОВОКУПНЫЕ ОБЯЗАТЕЛЬСТВА
  2. Глава 8 Просто о сложном
  3. Глава 9 Создание экспертной базы данных
  4. ГЛАВА 18 ПРАВОВОЕ РЕГУЛИРОВАНИЕ ИНФОРМАЦИОННЫХ ОТНОШЕНИЙ В ОБЛАСТИ ПЕРСОНАЛЬНЫХ ДАННЫХ
  5. Глава 3 ВНУТРЕННЯЯ СТРУКТУРА ОРГАНИЗАЦИИ
  6. Вторая глава ИСКАЗИТЕЛИ В СТРУКТУРЕ ЖЕНСКОЙ ПСИХИКИ
  7. Глава 7 СОЦИАЛЬНАЯ СТРУКТУРА И МОБИЛЬНОСТЬ
  8. Глава 3 ПОНЯТИЕ СЕМЬИ. ФУНКЦИИ И СТРУКТУРЫ
  9. ГЛАВА 3. СОЦИОЖУРНАЛИСТИКА: ПОНЯТИЕ, СТРУКТУРА, ПРАКТИКА
  10. Глава 3. Социожурналистика: понятие, структура, практика (С.Г. Корконосенко)
  11. Глава 13 МОДЕЛИ АУРЫ И ЧАКР, СООТВЕТСТВУЮЩИЕ ОСНОВНЫМ СТРУКТУРАМ ХАРАКТЕРА
  12. Сложные общества
  13. Статья 188. Сложные вещи
  14. сложные умения
  15. 1.7. Сложные вопросы
  16. Простая сложная работа
  17. Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
  18. простые и сложные умения