|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 28, 2004 21:15:06 Как запросить в tasm'e память на время выполнения программы? То бишь, что бы у меня допустим buffer db 64000 dup(0) не занимал место в .exe-шнике. Спасибо. |
|
|
Дата: Сен 28, 2004 21:36:03 А на что секция .DATA? ? |
|
|
Дата: Сен 28, 2004 21:57:07 Ну так я и пишу: .data buffer db 64000 dup(0) .... бла бла бла Только вот exe-файл в результате занимает 65кб. А если убрать обьявление buffer, то 1кб. Потому и спрашиваю. |
|
|
Дата: Сен 28, 2004 22:01:29 В масме .data - инициализированные, а .data? - неинициализированные "?" в тасме тоже че нить должно быть с "?" |
|
|
Дата: Сен 28, 2004 22:24:18 И это вы называете ДИНАМИЧЕСКОЙ памятью??? Брысь за парты. В первый класс. Программеры, ха-ха. |
|
|
Дата: Сен 28, 2004 22:40:31 Для выделения памяти на 64к целесообразно использовать функции типа VirtualAlloc. А также не лишним будет почитать Рихтера, хотя бы разделы про использование памяти. А использовать виртуальную секцию под такие объемы по меньшей мере непрактично. Я в нее обычно пишу хэндлы кусков, но никак не сами куски. |
|
|
Дата: Сен 28, 2004 22:58:32 Тогда скажите как это правильно называется? Я и так, если можно так выразится, "в первом классе". Потому и вопросы такие задаю. |
|
|
Дата: Сен 28, 2004 23:41:47 Правильно называется как n0p сказал - это виртуальная секция. Но сама концепция в корне не верна. Память надо ЗАПРАШИВАТЬ у операционной системы по необходимости! Для этого служат специальные функции типа упомянутой уже VirtualAlloc. |
|
|
Дата: Сен 29, 2004 01:29:52 Хорошо, а как запросить память у DOS'a? |
|
|
Дата: Сен 29, 2004 01:43:34 · Поправил: infern0 mov ah,48h ;get memory mov bx, needed_size_in_para ; 16-bytes int 21h jc @@error ; ax -> SEGMENT of allocated memory block ptr mov [allocDataSeg], ax push ax pop es ... push [allocDataSeg] pop es mov ah,49h ; free memory int 21h ... |
|
|
Дата: Сен 29, 2004 01:50:03 Вот спасибо! : ) А не подскажешь, где взять описание всех ф-ий 21го прерывания? |
|
|
Дата: Сен 29, 2004 07:04:41 |
|
|
Дата: Сен 29, 2004 09:03:34 volodya Ты прав, не подумал, надо дважды было прочитать :( |
|
|
Дата: Сен 29, 2004 09:24:46 env0der есть такая штука - ralf braun's interrupt list - рулез неимоверный. А на русском есть отличная штука - thelp - типа теперешних chm-ок. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.072 |