Данные в ассемблерных программах

В ассемблерных программах используются в основном простые данные, т. е. ячейки памяти. Применяются также массивы. Для правильного отображения простых данных отладчику нужно "знать":

—имя объекта;

—адрес объекта в памяти;

—адресное пространство МК, в котором располагается объект. Многие МК имеют более одной области данных. Например, в МК семейства MCS-51 есть внутренняя память данных, внешняя память данных и битовое пространство;

—разрядность объекта, т. е. занимаемое им число байт. 16-битные МК, такие как представители семейства MCS-96, "умеют" оперировать 8-, 16-, 32-битными данными. Здесь необходимо отметить один существенный момент. Для разработчика важно, какой логический размер имеет объект. Например, восьмиразрядные МК семейства PIC (Microchip) оперируют только байтами. Если же необходимо иметь в программе, например, 16-битный счетчик, то манипулировать каждым байтом приходится в отдельности. Но программисту при отладке хотелось бы видеть не каждый байт счетчика в отдельности, а оба байта сразу, в виде 16-битной переменной. Популярные кросс-ассемблеры такой возможности не предоставляют. Исключение — кросс-ассемблер PASM-PIC фирмы "Фитон", который позволяет объявлять в программе данные размером байт, слово, двойное слово, а также массивы таких объектов. При отладке программ, написанных с помощью PASM-PIC, все объекты отображаются в виде, соответствующем их логическому размеру и структуре;

— область видимости объекта. Если программа состоит из нескольких модулей, у программиста есть возможность локализовать область видимости имени в пределах одного модуля. Таким образом, в разных модулях могут существовать объекты с одинаковыми именами, но разными остальными атрибутами. Отладчик должен "разбираться", когда какой объект активен, и правильно отображать его. Заметим, однако, что практика использования одинаковых имен в разных модулях часто приводит к путанице и ошибкам. В случае, если объект объявлен глобальным (PUBLIC) и виден во всех модулях, трудностей с интерпретацией не возникает.

Обладая вышеизложенной информацией, отладчик должен, получив от пользователя имя объекта, отобразить его значение в соответствии с типом. Наиболее "продвинутые" отладчики дополнительно могут отображать остальные атрибуты объекта.

ДАННЫЕ В ПРОГРАММАХ


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: