Вопрос состоит в том чтобы разместить структуру в секции .code , ранее переменные находились в структуре в дата , и программа все отлично выполняла и работала , теперь же , если разместить структуру в коде начинаются проблемы. Кто сталкивался с размещением структур в секции кода ? Одна из проблем например компиляция кода , компилится все супер а в демаге такой вот код ... Код (Text): mov dword ptr [ecx], ebx add REG.r_EIP, 4 popad jmp @exit и вот он какой Код (Text): 0040148D 8919 MOV DWORD PTR DS:[ECX],EBX 0040148F 8305 00000000 0>ADD DWORD PTR DS:[0],4 00401496 61 POPAD Собственно выравнивание пробовал делать , и много чего пробовал не выходит. Подскажите что за проблема такая ? Заранее спасибо.
calidus А она у тебя в секции кода ? Наверно ты её в .data и оставил.. Ну в любом случае явно сегмент укажи в инструкции, например так: mov dword ptr cs:[ecx],ebx Кстати не забудь что в сегмент кода нельзя писать, только читать(если у тебя Cs = 0x18 | 0x3).
calidus Наверное, ты чо-то не то делаешь. Код (Text): REG struct r_eax dd ? r_ebx dd ? r_esp dd ? r_eip dd ? REG ends .code start: jmp @f rg REG <0> @@: mov rg.r_esp, esp ret end start
Clerk У меня стоят права на запись , а вот с идеей явно указать в код сегмент , чето не допер) ..Попробую отпишусь что вышло. Сэнкс
Для страницы наверное.. а нужно в дескрипторе. Наверно будет падать на исключении, если ты по дефолту из GDT дескриптор юзоешь.