В каком ассемблере можно писать "field_name structure_name ?" ? - Assembler
Формулировка задачи:
Уважаемые господа!
IDA Pro version 6.8 генерит ассемблерный код и создает определение структуры:
и определение структуры B:
B struct
field_1 dd ?
field_2 A ?
B ends
Вопрос: Какой ассемблер допускает такое определение (строка красного цвета) поля структуры?
У меня masm 10. Он выдает ошибку "неверная инициализация структуры".
С уважением,
Радмир
A struct field_1 dd ? field_2 dd ? A ends
Решение задачи: «В каком ассемблере можно писать "field_name structure_name ?" ?»
textual
Листинг программы
A struct field_1 dd ? field_2 dd ? A ends B struct field_1 dd ? field_2 A <> B ends
Объяснение кода листинга программы
В представленном коде:
- Объявляется структура с именем
struct_name(1). - В структуре
struct_nameобъявляются поля:field_1иfield_2(2). - Тип данных полей
field_1иfield_2-dd(3). - В поле
field_2записывается значение переменнойA(4). - Завершается объявление структуры (5).
- Объявляется структура с именем
B(6). - В структуре
Bобъявляются поля:field_1иfield_2(7). - Тип данных поля
field_1-dd, а поляfield_2-A(8). - Завершается объявление структуры (9).
В итоге, в памяти будет выделено две структуры:
struct_nameиB. В полеfield_2структурыstruct_nameбудет содержаться значение переменнойA, а в полеfield_2структурыB- значение переменнойA.