Продвижение сайта стоимость самая доступная.
Лучшие книги интернета
Материалы предоставлены только для просмотра. Любое использование материалов в коммерческих целях запрещено

45Робер Журден



    80H 128 байтов область DTA по умолчанию/получает
    командную строку программы
    1.3.1 Манипуляции с памятью.
    Когда MS DOS загружает программу, то она помещается в младшую
    область памяти, сразу же за COMMAND.COM и установленными драйве-
    рами устройств или другими утилитами, которые резидентны в памя-
    ти. В этот момент времени вся память за программой отведена этой
    программе. Если программе нужна память для создания области дан-
    ных, то она может приближенно вычислить где в памяти кончается ее
    код и затем поместить требуемую область данных в любое место за
    концом кода. Для определения адреса конца программы поместите в
    конце программы псевдосегмент типа:
    ZSEG SEGMENT
    ;
    ZSEG ENDS
    В ассемблере IBM PC ZSEG будет последним сегментом, так как
    сегменты располагаются в алфавитном порядке. С другими ассембле-
    рами нужно действительно поместить эти строки в конце программы.
    В самой программе достаточно поставить оператор MOV AX,ZSEG и AX
    будет указывать на первый свободный сегмент памяти за программой.
    Такой подход будет работать до тех пор, пока программа не
    будет предполагать о наличии памяти, которой на самом деле нет.
    Он не будет также работать в многопользовательской среде, когда
    несколько программ могут делить между собой одну и ту же область
    адресов. Для решения этой проблемы MS DOS имеет возможность отс-
    леживать 640K системной памяти и отводить по требованию программы
    блоки памяти любого размера. Блок памяти - это просто непрерывная

Предыдущая страница    45    Следующая страница




564650596