Если вы решили купить себе планшетный компьютер, то мы расскажем вам, на что в 2014 году нужно обратить внимание при покупке, какие характеристики стоит принимать во внимание, а какие нет.
Когда подпрограмма должна обращаться к данным систематическим образом, то самый лучший подход - разместить данные в справочной таблице. Таблица - это блок данных в подпрограмме или блоке памяти EEPROM.
Она может содержать набор числовых значений (например, переменные, используемые в подпрограмме playit) или кодов для различных конфигураций фигур на доске, или же закодированные результаты попыток прохождения лабиринта. К данным, хранимым в справочной таблице, осуществляется быстрый доступ. Здесь мы говорим о том, как поместить данные в подпрограмму. Для получения доступа к данным мы объявляем переменную, которая сообщает микроконтроллеру PIC, какой конкретно элемент данных должен быть считан. Поскольку эта переменная указывает на некоторый элемент, она называется указателем. Указатель сохраняется в регистре общего назначения и инициализируется нулевым значением: pointer equ 30h Подходит любой неиспользуемый адрес clrf pointer Подпрограмму лучше всего размещать в начале листинга (особенно, если в ней много данных). Это устраняет риск, что таблица распространится на два блока памяти программ. Первая строка имеет вид: addwf pel, w Перед вызовом подпрограммы значение указателя помещается в рабочий регистр. Для того чтобы считать первый байт, указателю присваивается значение 00h. Для чтения второго значения - Olh и т.д В первой строке подпрограммы, счетчик команд таким образом увеличивается в соответствии со значением указателя. Обычно микроконтроллер PIC продолжает автоматически увеличивать счетчик команд и переходит к второй строке подпрограммы. Если значение указателя равно 00h, то именно это и произойдет, однако, если указатель больще нуля, то микроконтроллер PIC переходит дальше: к строке, на которую указывает указатель. Все строки подпрограммы, кроме первой, имеют форму: retlw, Oah Эта строка загружает значение (в данном случае - Oah) в рабочий регистр и возвращает процессор назад к главной программе. В данном случае значение в регистре w используется в программе, которая вызвала подпрограмму. Пример справочной таблицы кодов, используемых в семисегментном индикаторе. Данная подпрограмма ориентирована на семисегментный индикатор, управляемый через восьмиразрядный порт (например, С). Для использования семисегментного индикатора мы загружаем в регистр w отображаемое число и вызываем подпрограмму sevenseg. После возврата из подпрограммы соответствующий код окажется в регистре w. Этот код затем загружается в порт С, и число отображается на индикаторе. Практический пример использования справочной таолицы - программа воспроизведения мелодии робота "Андроид".