КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
BADRAM - Идентификация нереализованного ОЗУ
5.4.1 Синтаксис _ _badram <expr>[-<expr>][, <ехрг>[-<ехрг>]] 5.4.2 Описание Директивы _ _MAXRAM и _ _BADRAM определяют адреса нереализованных регистров ОЗУ. _ _BADRAM определяет индивидуальный адрес нереализованного регистра. Данная директива предназначена для использования совместно с директивой _ _MAXRAM. Каждое значение <ехрг>, директивы _ J3ADRAM, должно быть меньше указанного в _ _MAXRAM. После директивы _ _MAXRAM, в тексте программы, точная карта нереализованного ОЗУ создается директивами _ J3ADRAM. Для указания диапазона адресов нереализованного ОЗУ используйте синтаксис <minloc> - <maxloc>. 5.4.3 Пример См. пример для _ _MAXRAM 5.4.4 См. также __MAXRAM 5.5 BANKISEL - Выбор банка для косвенной адресации 5.5.1 Синтаксис bankieel <label> 5.5.2 Описание Используется при генерации объектного файла. Директива дает команду компилятору сгенерировать код настройки банка памяти данных для косвенного обращения к регистру <label>. Только одна метка может быть указана в директиве. Предварительно метка <label> должна быть объявлена, и соответствовать назначению директивы. Линкер генерирует соответствующий код для выбора банка памяти. Для 14 - разрядных микроконтроллеров выполняется воздействие на бит IRP в регистре STATUS в соответствии с банком размещения регистра. Для 16-разрядных микроконтроллеров генерируются команда MOVLB или MOVLR. Если пользователь сам выбирает рабочий банк памяти, то никаких дополнительных инструкций в код программы добавлено не будет. Дополнительную информацию смотрите в главе 6. 5.5.3 Пример movlw Varl movwf FSR bankisel Varl movwf INDF 5.5.4 См. также BANKSEL, PAGESEL 5.6 BANKSEL - Выбор банка для прямой адресации 5.6.1 Синтаксис banksel <label> 5.6.2 Описание Используется при генерации объектного файла. Директива дает команду компилятору сгенерировать код настройки банка памяти данных для прямого обращения к регистру <label>. Только одна метка может быть указана в директиве. Предварительно метка <label> должна быть объявлена, и соответствовать назначению директивы. Линкер генерирует соответствующий код для выбора банка памяти. Для 12-разрядных микроконтроллеров устанавливает/сбрасывает бит в регистре FSR. Для 14-разрядных микроконтроллеров - изменяются биты в регистре STATUS. Для 16-разрядных микроконтроллеров генерируются команда MOVLB или MOVLR. Для усовершенствованных 16-разрядных микроконтроллеров будет сгенерированна команда MOVLB. Если в микроконтроллере только один банк памяти никакой дополнительный код генерироваться не будет. Дополнительную информацию смотрите в главе 6. 5.6.3 Пример banksel Varl movwf Varl 5.6.4 См. также BANKISEL, PAGESEL 5.7 CBLOCK - Определение блока констант 5.7.1 Синтаксис cblock [<expr>] <label>[:<increment>] [,<label> [:<increment>] ] endc 5.7.2 Описание Определить список именованных констант. Каждая именованная константа <label> имеет некоторое значение, описанное выше по тексту программы. Цель данной директивы состоит в том, чтобы указать адреса размещения нескольких констант. Список именованных констант заканчивается директивой ENDC. <expr> - указывает стартовый адрес для первой константы. Если адрес не указан, то используется заключительное значение предыдущего CBLOCK. Если первый CBLOCK не имеет никакого значения <ехрг>, то размещение начинается с нулевого адреса. <increment> - указывает приращения адреса для текущей именованной константы. Именованные константы в одной строке разделяются запятыми. Директива CBLOCK используется для размещения констант в памяти программ и памяти данных. 5.7.3 Пример cblock 0х20; name_1 будет иметь; адрес 20 name_l, name_2; name_2, 21 name_3, name_4; name_4 адрес 23. endc cblock 0х30 TwoByteVar: 0, TwoByteHigh, TwoByteLow Queue: QUEUE_SIZE QueueHead, QueueTail Doublel:2, Double2:2 endc 5.7.4 См. также ENDC 5.8 CODE - Начало кода объектного файла в памяти программ 5.8.1 Синтаксис [<label>] code [<ROM address>] 5.8.2 Описание Используется при генерации объектного файла. Объявляет начало секции кода программы. Если <label> не указана, секции присваивается имя.code. Если не указан адрес секции, то ей будет присвоено текущее значение адреса в памяти программ. Примечание. Не допускается использование двух одинаковых имен секций. Дополнительную информацию смотрите в главе 6. 5.8.3 Пример RESET code H'OIFF' goto START 5.8.4 См. также EXTERN, GLOBAL, IDATA, UDATA, UDATA ACS, UDATA OVR, UDATA SHR 5.9 _ _CONFIG - Установка битов конфигурации микроконтроллера 5.9.1 Синтаксис _ _config <expr> OR _ _config <addr>, <expr> 5.9.2 Описание Устанавливает биты конфигурации микроконтроллера в соответствии со значением <ехрг>. Для микроконтроллеров семейства Р1С18СХХХ дополнительно указывается адрес <addr> размещения конфигурационных битов. Подробное описание конфигурационных битов смотрите в технической документации на соответствующий микроконтроллер. Предварительно, перед директивой _ _CONFIG, надо указать тип микроконтроллера с помощью директивы LIST или PROCESSOR. Для микроконтроллеров семейства Р1С17СХХХ в директиве LIST необходимо указать выходной формат HEX файла INHX32. 5.9.3 Пример list p=17c42,f=INHX32 _ _config h'ffff'; Конфигурация по умолчанию 5.9.4 См. также __IDLOCS, LIST, PROCESSOR
Дата добавления: 2014-11-29; Просмотров: 780; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |