Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_otmp / Keil_51_v750a_OK_work / gs51_ch5_rus.doc
Скачиваний:
36
Добавлен:
14.04.2015
Размер:
477.18 Кб
Скачать

Имена модулей

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

Имя модуля образуется из имени файла с исходным текстом программы. Если, например, в вашем проекте содержится исходный файл с именем MCOMMAND.C и Си-компилятор сгенерировал объектный файл с именем MCOMMAND.OBJ, то имя модуля будет MCOMMAND.

Правила образования символических имен

Следующие правила используются при образовании символических имен:

  • Регистр букв в имени не различается. SYMBOL эквивалентно Symbol.

  • Первый символ в имени должен быть: ‘A’-’Z’, ‘a’-’z’, ‘_’, или ‘?’.

  • Последующими символами могут быть: ‘A’-’Z’, ‘a’-’z’, ‘0’-’9’, ‘_’, или ‘?’.

ПРИМЕЧАНИЕ

Когда используется условный тернарный оператор (“?:”) в отладчике µVision2 с символическим именем, которое начинается со знака вопроса (“?”), вы должны вставить пробел между тернарным оператором и именем. Например, R5 = R6 ? ?symbol : R7.

Полное указание имени

Символические имена могут быть записаны с использованием полного указания имени, которое включает в себя имя модуля и имя функции, в которой символическое имя определено. Для полного указания имени используются следующие компоненты:

  • Module Name (имя модуля) определяет имя модуля, в котором определено символическое имя.

  • Line Number (номер строки) определяет адрес участка кода, сгенерированного для отдельной строки модуля.

  • Function Name (имя функции) определяет функцию, в которой определено локальное символическое имя.

  • Symbol Name (символическое имя) определяет собственно имя символа.

Эти компоненты могут комбинироваться, как показано в следующей таблице:

Компоненты имени

Полностью указанное имя адресует…

\ModuleName\LineNumber

… номер строки LineNumber в модуле ModuleName.

\ModuleName\FunctionName

… функцию FunctionName в модуле ModuleName.

\ModuleName\SymbolName

… глобальное имя SymbolName в модуле ModuleName.

\ModuleName\FunctionName\SymbolName

… локальное символическое имя SymbolName в функции FunctionName в модуле ModuleName.

Примеры полностью указанных имен:

Полностью указанное имя

Определяет …

\MEASURE\clear_records\idx

… локальный символ idx в теле функции clear_records в модуле MEASURE.

\MEASURE\MAIN\cmdbuf

… локальный символ cmdbuf в теле функции MAIN в модуле MEASURE.

\MEASURE\sindex

… символ sindex в модуле MEASURE.

\MEASURE\225

… строка номер 225 в модуле MEASURE.

\MCOMMAND\82

… строка номер 82 в модуле MCOMMAND.

\MEASURE\TIMER0

… символическое имя TIMER0 в модуле MEASURE. Это символическое имя может быть функцией или глобальной переменной.

Соседние файлы в папке Keil_51_v750a_OK_work