Witam
Napisalem w Builderze 6.0 funkcje w asmie no i okazuje sie ze sa problemy z zapisem w pamieci ---- tak wiem wiem tryb chroniony, tylko dlaczego standardowe funkcje C moga bez przeszkod pisac w obszarze pamieci do ktorego spod asma nie mam dostepu.
Aby wszystko bylo jasne wstawie ktotki kod:
moja_funkcja ()
{
char bufor[200]
asm
{
mov eax, offset bufor
mov [eax], 'a' // tu sie wykrzacza
}
}
Fnkcja jes znacznie bardziej rozbudowana, ale tutaj dla celow pogladowych ograniczylem sie tylko do ktotkiego kodu miejsca gdzie program sygnalizuje blad.
Przy czym standardowe funkcje, metody C/C++ moga bez przeszkod korzystac z tego bufora.
Czy istnieje sposob, a moze jest jakas funkcja lub API ktore zmienia domyslne prawa dostepu do obszaru pamieci zajmowanego przez zmienna, tablice.
Nie znam dobrze praw jakimi zadzi sie tryb chroniony, wiec grzebanie sie przy deskryptorach zabezpieczen raczej odpada. -- chyba ze nie ma innej metody aby to obejsc, coz wtedy sie poswiece i moze nawet cos na ten temat poczytam :P
Takwiec prosze o rady, linki, i dobre slowo :)
Pozdrawiam marcel