Извините перепутал тему... Где то слишал что под WIN32 код и данные (и ресурсы) раздельно и мешать их нильзя. Но я сделал несколько прог (ер. влепил код в ресурсы, данные - в секцию кода) и они у меня работали. До какой степени это все можно мешать? В некрых чужих прогах это тоже работает - между сs и ds разницы нет что-ли ? Что вообще записывыатся в регистры при старте ?
zzzyab сs и ds разницы нет что-ли? Название модели памяти flat говорит о чем-нибудь? CS == DS == ES == SS. Как tiny только размер сегмента гораздо больше.
мешать можно. кстати, где-то слышал, что в 64разрядных процах запись в код (будет?) запрещена - это правда?
antifatum Не знаю как у интел, а у АМД такие битики(NX) есть, только вот воспользуется ли ими микрософт? Данный бит присутствует в строках таблиц трансляции всех уровней: PML4E, PDPE, PDE, PTE. Только вот на рисунке 5-25 из раздела 5.3.4 второго тома "AMD x86-64 Architecture Programmer’s Manual", где объясняется трансляция для 2х мегабайтных страниц, вместе с PT исчезает и этот бит из PDE и получается что битом NX в PDPE контролируется одногигабайтная область(не многовато ли?!). Наверно его просто забыли нарисовать 8)