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

Справочник программиста на персональном компьютере фирмы IBM30



    Низкий уровень.
    Первый пример проверяет число банков памяти по 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'
    NEXT:
    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 ;обрабатываем следующий банк

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




2140663828