Реклама на сайте | Помощь сайту   English version | Free likes 
KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Часто задаваемые вопросы по MPLAB

Вопрос   Как определить один бит для обращения и модификации в тексте исходного файла?

Ответ  Ответ: Наверх [Вернуться в категорию "Часто задаваемые вопросы по MPLAB"]

При написании исходного текста программы на ассемблере в командах, оперирующих отдельными битами (bcf, bsf, btfsc, btfss и др.) приходится указывать не только имя регистра или переменной, но и, через запятую, номер бита, например: btfsc PORTA, 3 или btfsc PORTA,Snd (определив заранее как: Snd equ 3).

Однако, написание таких команд можно упростить, воспользовавшись директивой ассемблера замены текстовой последовательности #DEFINE. Вот пример ее использования:

; определение переменных, констант, регистров

PortSnd equ 0x05 ; определим порт вывода звука

#define Snd PortSnd, 3 ; определим Snd как третий бит PortSnd

; непосредственно текст программы

bsf Snd ; установим 3-й бит PortSnd в лог. "1"

movlw 0xF0 ; одна из многих команд

bcf Snd ; а теперь сбросим 3-й бит PortSnd

Синтаксис этой директивы: #define <name> [<string>]

Везде, где в тексте программы встретится надпись <name>, она будет заменена на <string>. Применение этой директивы без <string>, определит <name> для внутреннего использования при проверке директивой #IFDEF. Надо заметить, что просмотр в окне Watch Window, определенной таким образом переменной невозможен. В окне придется указывать имя регистра и номер бита.

И последнее, директива #DEFINE может начинаться с любой позиции в строке, кроме первой. Все, что начинается с первой позиции воспринимается при компилировании как метка. Если это команда, то выдается предупреждающее сообщение: найдена команда в первой позиции строки.

[Часто задаваемые вопросы по MPLAB]

Новости
[06/02/2019] Конференция в МГТУ им. Баумана «Технологии разработки и отладки сложных технических систем» 2019
[09/05/2018] Грандиозная майская распродажа на Gearbest!
[16/05/2017] С 15 по 17 мая в магазине Gearbest проходит грандиозный флэшсейл
[10/05/2017] Так что же такое Спиннер?
[05/12/2016] Новый Год и Рождество с GearBest!
Читать все новости >>
Каталог схем
PDA - интерфейсы и схемы Автозвук Автомобиль Аудио Безопасность Бытовая электроника Видео Видеокамеры Высоковольтные Генераторы Игры, развлечения Измерения Интерфейсы Коммутация Компьютер Медицина Моделирование/ Роботы Музыка Передатчики Питание Получение и накопление данных Предусилители Радио Разное Ремонт Ретро Свет/Лазер/ Cветодиоды/IR Сети Солнечная энергия Сотовая связь ТВ-Мониторы Телефония Управление двигателями Фильтры Цифровые/ Микроконтроллеры Electronic circuits Datasheets Каталог схем Принципиальные схемы
Мicrocontrollers
Drivers for LED dispays Data Logger for iButton LCD-module with MCS-51 Thermometers Dallas Semiconductor Work with EEPROM 24LCxx MSP430 with Flash-memory ATmega169 and AVR-Baterfly CAN interface USB interface
Избранные схемы
Arduino Аудио В Вашу мастерскую Видео Для автомобиля Для дома и быта Для начинающих Зарядные устройства Измерительные приборы Источники питания Компьютер Медицина и здоровье Микроконтроллеры Музыкантам Опасные, но интересные конструкции Охранные устройства Программаторы Радио и связь Радиоуправление моделями Световые эффекты Связь по проводам и не только... Телевидение Телефония Узлы цифровой электроники Фототехника Шпионская техника
Пользователи
Создано аккаунтов:
Сегодня: 0
Вчера: 0
Всего: 146276

Статистика:

 © 2003—2024 «Электронный портал»Обр@тная связь