SadKo Может, лучше провести эксперимент тупо по созданию файла в 4гб на fat32 файловой системе? - уже 8 лет веду такие эксперименты, даже прожку написал по генерации файлов (1...65536 - количество) длиной каждый от 0 до 2**32-1, с заполнением кодом и без заполнения. _edge Команду copy file1+file2 file3 и BAT-файлы уже отменили? Если в задании не указано, каким образом создавать файл. - вчера проверил как в ДОС-окне, так и в чистом ДОСе (Вин98СЕ) - успешно создаются файлы на 3 и 4 Гига. Метода работает.
уточнил сегодня задание у препода.. вообщем смысл такой: необходимо научиться работать под DOS в защищенном режиме. те самостоятельно туда переключатьсяФайловая система FAT 32. Просто в защиченном режиме неполучиться адресовать память больше метра (кажется). т.е мы переходим в защищ. режим, аресуем кусок допустим 400 мб, переключаемся в реальный режим записываем в файл, ...... переключаемся в защ. режим итд.. пока не запишем файл размером нужного объема...говорит в литературе такое есть.. где именно специально не сказал чтобы поискал... так вот... мне непонятно следующее : вот я переключился в реальный режим... и че мне в нем делать... что я там должен получить.... может кто подскажет... ....пошел искать литературу.....
Q_sam Больше мегабайта нельзя адресовать в реальном режиме, а не в защищённом. В защищённом можно как раз адресовать всё. Про переключение туда-сюда есть много где, в т.ч. и в интеловских мануалах (в третьем томе). Ну а задание, как я понимаю, состоит в том, чтобы научиться читать или записывать данные, находящиеся за пределами первого мегабайта (прямо доступного в ДОС) в файл на диске, используя средства ДОС. Т.е., грубо говоря, надо: 1) переключиться в защищённый режим; 2) скопировать данные в буфер, лежащий в младшем мегабайте; 3) вернуться в реальный режим; 4) записать данные из буфера в файл на диске; 5) повторять до тех пор, пока всё не будет записано.
извиняюсь заговорился... а на русском есть инфа? И я так понял буфер это просто массив данных? например buf db 4000000 dup(0) ;??????
Q_sam Буфер -- не совсем массив данных. Технически, конечно, это массив, но его назначение -- промежуточное хранение данных. Например, он нужен для того, чтобы записать на диск с помощью файловых сервисов ДОСа данные из областей памяти, лежащих выше мегабайта: добраться к самим данным можно только в защищённом режиме, однако в нём не работают функции ДОСа и БИОСа, поэтому и приходится заниматься извращениями: переключаться в защищённый, копировать данные из верхних адресов в промежуточный буфер, наодящийся в нижних адресах, возвращаться в реальный режим и уже из этого буфера выполнять запись на диск. Если говорить точнее, добраться до памяти выше мегабайта можно ещё в "нереальном" режиме (и это даже проще), но это нештатный, хотя и всегда работающий режим, да к тому же Вам задали использовать именно защищённый режим. На русском полно всяких книг по ассемблеру, там обычно что-нибудь пишется и про защищённый. Но тут ничего не посоветую: учебной литературы у меня нет, только справочная.
Q_sam Если нужно только дотянуться до памяти за пределами 1Мб есть такая клаасная штука как унреал, и в том примере чтобы его установить как раз есть вход-выход в защищённый режим, но и теория тебе тоже явно не помешает