Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 [ 96 ] 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

Операнд

Пояснения

Const id

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

==return

Пояснения

Return

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

Ошибка

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

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

FFFFFFFF enum 1 2 = 2

seg000:0046

Message("%s \n",

GetConstCmt(

= 1 ; My regulag commnet bx, enum 1 0



GetConstByName("enum 1 0"), 0);

My regulag commnet

FFFFFFFF

FFFFFFFF ; enum enum 1 FFFFFFFF enum 1 0 FFFFFFFF enum 1 2

= 1 ; My Enum repeatable commnet

seg000:0046 Repeatable commnet

bx, enum 1 0

; My

Message("%s \n",

GetConstCmt(

GetConstByName("enum 1 0"), 1);

My Repeatable commnet

Операнд

Пояснения

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

Флаг

Пояснения

Repeatable

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

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

Завершение

Пояснения

Return

Комментарий

Ошибка

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 FFFFFFFF enum 1 2

= 1 = 2

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

FFFFFFFF enum 1 0 FFFFFFFF enum 1 2

FFFFFFFF FFFFFFFF ; FFFFFFFF

FFFFFFFF ; enum MyNewEnum

= 1 = 2

Операнд

Пояснения

index

==index

Действие

[0,MaxIdx]

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

MaxIdx+1

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

BADADDR

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

name

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

Return

Завершение

Пояснения "

!=BADADDR

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

==BADADDR

Ошибка

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 [ 96 ] 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140