Сделать свой сайт бесплатно

Реклама

Создай свой сайт в 3 клика и начни зарабатывать уже сегодня.

@ADVMAKER@

41. Сегмент данных

21.01.2012

41. Сегмент данных

Сегмент данных предназначен для определения констант, рабочих переменных и областей ввода-вывода.

С этим сегментом связан регистр DS, который содержит адрес текущего сегмента данных.

В модели SMALL описание сегмента данных производится с помощью упрощенной директивы сегментации      . DATA.

!  Замеч.  Из трех сегментных регистров CS, DS, SS необходимо проинициализировать в программе только регистр DS. Регистры CS, SS инициализирует сама операционная система, так как именно она определяет местоположение сегментов кода и стека и «знает», какое значение должно быть записано в соответствующие регистры.

!! Загрузка базового адреса сегмента данных в регистр DS должна  быть выполнена в программе до того, как произойдет первое обращение к данным.

Обычно инициализация сегмента DS производится следующими командами:

            MOV  AX,@data  ; значением @data явл. Физ.адрес сегмента данных

            MOV DS,AX         ;вместо ax можно использ. любой регистр общ.назначения

Для описания простых типов данных в программе используются специальные директивы резервирования и инициализации данных, которые, по сути, являются указаниями транслятору на выделение определенного объема памяти.

! Машинного эквивалента этим директивам нет; просто транслятор, обрабатывая каждую такую директиву, выделяет необходимое количество байт памяти и при необходимости инициализирует эту область некоторым значением.

Директивы резервирования и инициализации данных простых типов:

 

•db — резервирование памяти для данных размером 1 байт.

•dw — резервирование памяти для данных размером 2 байта.

•dd — резервирование памяти для данных размером 4 байта.

•df — резервирование памяти для данных размером 6 байт;

•dp — резервирование памяти для данных размером 6 байт.

•dq — резервирование памяти для данных размером 8 байт.

•dt — резервирование памяти для данных размером 10 байт. 

Комментарии (0)Просмотров (524)


Зарегистрированный
Анонимно