"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автораAT использует функцию 88H прерывания 15H для проверки наличия расширенной памяти, которая ищет память вне адресного пространст- ва процессора в обычном режиме адресации. Говорят, что она ищет память за отметкой 1 мегабайта. При этом на системной плате дол- жно быть от 512 до 640 килобайт памяти, чтобы эта функция рабо- тала. Число килобайтных блоков расширенной памяти возвращается в AX. Низкий уровень. Первый пример проверяет число банков памяти по 64K в первых десяти 64-килобайтных сегментах памяти. Если Вы будете проверять старшие 6 банков памяти, то имейте ввиду, что имеются видеобуфер, начиная с B000:0000 (и, возможно, A000:0000) и ПЗУ, начиная с F000:0000 (и, возможно, C000:0000). ;---проверка каждого банка памяти: CLI ;запрет аппаратных прерываний MOV AX,CS ;получаем значение кодового сегмента AND AX,0FFFH ;сбрасываем старшие 4 бита MOV ES,AX ;помещаем указатель в ES MOV DI,0 ;DI считает число банков памяти MOV CX,10 ;будем проверять 10 банков MOV BL,'X' ;для проверки используем 'X' MOV DL,ES:[0] ;сохраняем значение тестируемой ячейки MOV ES:[0],BL ;помещаем 'X' в эту ячейку MOV DH,ES:[0] ;читаем тестируемую ячейку MOV ES:[0],DL ;восстанавливаем значение CMP DH,'X' ;совпадает с тем, что писали? JNE GO_AHEAD ;если нет, то банк отсутствует INC DI ;увеличиваем число банков GO_AHEAD: MOV AX,ES ;готовим увеличение указателя ADD AX,1000H ;указываем на следующие 64K MOV ES,AX ;возвращаем указатель в ES LOOP NEXT ;обрабатываем следующий банк STI ;разрешаем аппаратные прерывания .h2 Раздел 2. Управление прерываниями. -------------------------------------- Прерывания это готовые процедуры, которые компьютер вызывает для выполнения определенной задачи. Существуют аппаратные и прог- раммные прерывания. Аппаратные прерывания инициируются аппарату- рой, либо с системной платы, либо с карты расширения. Они могут быть вызваны сигналом микросхемы таймера, сигналом от принтера, нажатием клавиши на клавиатуре и множеством других причин. Аппа- |
|
|