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

Long AddEnum(long idx,char name,long flag);

Функция добавляет новое перечисление. . Для этого необходимо указать его имя (которое впоследствии может быть изменено) и тип представления констант в перечислении.

Индекс задает положение перечисления в списке. Если он равен BADADDR, то новое перечисление будет добавлено в конец списка, иначе же старое перечисление будет затерто! Подробнее об этом рассказано в описании функции AddStrucEx

Флаг определяет представление констант в перечислении. Может принимать значения, перечисленные ниже в таблице:

FF_0NUMH

0x00100000

шестнадцатеричное представление первого операнда

FF_0NUMD

0x00200000

десятичное представление первого операнда

FF_0CHAR

0x00300000

символьное представление первого операнда

FF_0SEG

0x00400000

первый операнд – сегмент

FF_0OFF

0x00500000

первый операнд – смещение

FF_0NUMB

0x00600000

Представление первого операнда в бинарном виде

FF_0NUMO

0x00700000

Представление первого операнда в восьмеричном виде

FF_0ENUM

0x00800000

Представление первого операнда в виде перечисления

FF_0FOP

0x00900000

Принудительный первый операнд

FF_0STRO

0x00A00000

Представление первого операнда как смещения в структуре

FF_0STK

0x00B00000

первый операнд стековая переменная

FF_1VOID

0x00000000

тип второго операнда Void

FF_1NUMH

0x00100000

Шестнадцатеричное представление второго операнда

FF_1NUMD

0x00200000

десятичное представление второго операнда

FF_1CHAR

0x00300000

символьное представление второго операнда

FF_1SEG

0x00400000

второй операнд – сегмент

FF_1OFF

0x00500000

второй операнд – смещение

FF_1NUMB

0x00600000

Представление второго операнда в бинарном виде

FF_1NUMO

0x00700000

Представление второго операнда в восьмеричном виде

FF_1ENUM

0x00800000

Представление второго операнда в виде перечисления

FF_1FOP

0x00900000

Принудительный второй операнд

FF_1STRO

0x00A00000

Представление второго операнда как смещения в структуре

FF_1STK

0x00B00000

второй операнд стековая переменная

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

FFFFFFFF enum_1_0 = 1

FFFFFFFF enum_1_2 = 2

AddEnum(-1,”MyNewEnum”,0);

FFFFFFFF enum_1_0 = 1

FFFFFFFF enum_1_2 = 2

FFFFFFFF

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

FFFFFFFF

FFFFFFFF ; enum MyNewEnum

Операнд

Пояснения

index

==index

Действие

[0,MaxIdx]

Индекс перечисления (старое перечисление при этом будет затерто)

MaxIdx+1

Индекс нового перечисления

BADADDR

Индекс нового перечисления

name

Имя перечисления

Return

Завершение

Пояснения

!=BADADDR

Идентификатор перечисления

==BADADDR

Ошибка

Интерактивно структуру добавить можно, вызвав список командой меню ~ View \ Structures и нажав клавишу <INS>

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