malloc i BC

0

Dlaczego nie mogę przydzielić mallociem 64000 bajtów :\ Po wywołaniu instrukcji zawsze wyrzuca błąd. Czy muszę to robić farmalloc?? Słyszałem, że dalekie wskaźniki są wolne :\ Próbowałem także allocmem oraz setblock ale w setblock trzeba podać argument segment i nie wiem co wpisać. W asmie najpierw modyfikowałem rozmiar a potem przydzielałem pamięć. A tu widzę że to nie jest takie proste:|

0

sprubuj zmienic model pamieci w ustawieniach kompilatora, najlepiej na huge

0

zmaina modelu pamięci nie pomogła :\

0

a sprubuj skompilowac program i nie uruchamiac go przez F9 tylko zewnetrznie, tzn: normalnie w oknie exploratora windows go uruchom...

0

Segment w rmode ma 65536 bajtów.

// ale w bc zaalokować da sie ino 60572, sam jestem ciekaw skad roznica 4kB [mf]

0

hmm moze dlatego ze segmenty czesciowo zachodza na siebie...? :-|

0

segmenty czesciowo zachodza na siebie...? :-|

To nie ma nic do rzeczy... Segmenty w trybie rzeczywistym zaczynają sie co 16 bajtów (paragraf) ;]

Zobacz sam, wpisz np. cos pod ades 0xa000:0x0010 , a potem odczytaj spod 0xa001:0x0000

0

heh moze, ja jak pisalem czasem pod 13h i trza bylo zrobic bufor 64kb to wlasnie dzialalo tylko wtedy jak model pamieci byl huge a program byl uruchamiany normalnie a nie za posrednictwem ide

0

A rozwiązanie jest proste :) Przypomniałem sobie, że pod win 98 nie było taich problemów niezależnie od sposobu uruchamiania programu ;) System... xp (pro na pewno).

1 użytkowników online, w tym zalogowanych: 0, gości: 1