Блин во что ни как не воткну почему fasm ругается на assume edi:IMAGE_SECTION_HEADER описание структуры есть файл masm.inc подключен и если указать любую другую структуру то все работает норм а на этой структуре пишет invalid value/=
А разве в FASM ввели "assume"? Просто объявляешь структуру (в твоем случае она уже объявлена в заголовочном файле) и пишешь 'mov eax, [edi + IMAGE_SECTION_HEADER.name]', например. В edi надо положить адрес структуры.
ох олололололололо в папке с мокросами есть файл masm.inc где описан макрос assume вот его я и использую. Кто может помочь мне по сабжу?
Код (Text): macro assume reg, struct { virtual at reg local ..foo reg equ ..foo reg struct restore reg end virtual } assume edi, IMAGE_SECTION_HEADER
предпочитаю типа Код (Text): struct qwertyui name dd ? surname dd ? ends .. local asd qwertyui ? ... lea edi,asd virtual at edi qwertyui1 qwertyui end virtual mov eax,[qwertyui1.surname]
litrovith теперь когда пытаюсь вывести элемент структуры в messagebox: invoke MessageBox,0,0,[edi.Name1],0 пишет invalid size of operand
litrovith ояебу..... не масмовские .inc а фасмовские люди зайдите в папку с макросами фасма пожалуйста тогда все поймете......... а что там кода ? у меня в edi адрес IMAGE_NT_HEADERS затем прибавляю к нему 78h в результате у меня должен буть указательна таблицу секций я указываю компилятору что edi указывает на IMAGE_SECTION_HEADER и пытаюсь вывести имя секции....
qwertyui, ияебу что такое [edi.Name1]? Иди кури msdn. Ну, пытаешься, и чё трудно в оле посмотреть что ты суёшь в MessageBox? тфу, онож не компилится ))) тс код давай или ето секретнся разработка?)
на фасме ты никому ничего не указываешь. фасм не позволяет с собой так поступать, тем более ему указывать! а edi у тебя просто указатель. ты сам решаешь, что в это памяти находится.
лан кароче.... догадаца видимо сложно edi.Name1 имя секции.... Хотя если структуру IMAGE_SECTION_HEADER в глаза не видеть ни разу в жизни то да.... Если еще кто что знает по существу отпишите пожалуйста