Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ida.final.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6 Mб
Скачать

Long GetConstByName(char name);

Функция возвращает идентификатор константы по ее имени. Все перечисления разделяют общее пространство имен, другими словами одно и то же имя не может быть повторено дважды, поэтому является уникальным.

Например:

FFFFFFFF enum_1_0 = 1

FFFFFFFF enum_1_2 = 2

FFFFFFFF

FFFFFFFF ; ---------------------------

FFFFFFFF

FFFFFFFF ; enum enum_2

FFFFFFFF MyEnum = 16h

Message("0x%X \n",

GetConstByName("MyEnum")

);

0xFF000136

Идентификатор обеспечивает доступ к константе. Что бы, например, получить ее значение необходимо воспользоваться функцией long GetConstValue(long const_id), которая описана ниже.

Операнд

Пояснения

name

Имя константы

Return

==return

Пояснения

!=0

Идентификатор константы

==0

Ошибка

Long GetConstValue(long const_id);

Функция возвращает значение константы по ее идентификатору или ноль в результате ошибки. Поэтому часто возникает неопределенность, – то ли действительно имела место ошибка (например, был указан несуществующий идентификатор) или же просто константа имеет такое значение.

Пример использования:

FFFFFFFF enum_1_0 = 1

FFFFFFFF enum_1_2 = 2

FFFFFFFF

FFFFFFFF ; ---------------------------

FFFFFFFF

FFFFFFFF ; enum enum_2

FFFFFFFF MyEnum = 16h

Message("0x%X \n",

GetConstValue(

GetConstByName("MyEnum")

)

);

0x16

Операнд

Пояснения

Const_id

Идентификатор константы

Return

==return

Пояснения

!=0

Значение константы

==0

Ошибка

Значение константы

Char GetConstName(long const_id);

Функция возвращает имя константы, заданной идентификатором. Если идентификатор указан неправильно, то возвращается пустая строка

Например:

FFFFFFFF ; enum enum_1

FFFFFFFF enum_1_0 = 1

FFFFFFFF enum_1_2 = 2

FFFFFFFF

FFFFFFFF ; -----------------------------

FFFFFFFF

FFFFFFFF ; enum enum_2

FFFFFFFF MyEnum = 16h

FFFFFFFF

Message("%s \n",

GetConstName(

GetConstByName("MyEnum")

)

);

MyEnum

Операнд

Пояснения

Const_id

ID константы

Return

==return

Пояснения

!=””

Имя константы

==””

Ошибка

Char GetConstCmt(long const_id,long repeatable);

Возвращает комментарий константы, заданной идентификатором. Комментарии бывают двух типов – постоянные и повторяемые. Постоянные отображаются только справа от константы, а повторяемые при каждом обращении к ней.

FFFFFFFF ;

FFFFFFFF ; FFFFFFFF enum_1_0 = 1 ; My regulag commnet

FFFFFFFF enum_1_2 = 2

seg000:0046 rol bx, enum_1_0

Message(“%s \n”,

GetConstCmt(

GetConstByName("enum_1_0"),

0);

My regulag commnet

FFFFFFFF

FFFFFFFF ; enum enum_1

FFFFFFFF enum_1_0 = 1 ; My Enum repeatable commnet

FFFFFFFF enum_1_2 = 2

seg000:0046 rol bx, enum_1_0 ; My Repeatable commnet

Message(“%s \n”,

GetConstCmt(

GetConstByName("enum_1_0"),

1);

My Repeatable commnet

Операнд

Пояснения

id

Идентификатор (ID) константы

Repeatable

Флаг

Пояснения

0

Неповторяемый комментарий

1

Повторяемый комментарий

Return

Завершение

Пояснения

!=””

Комментарий

“”

Ошибка

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]