Заправка картриджей и ремонт принтеров Марксистская Автоматика и регуляторы оборотов для систем вентиляции в Полтаве .наклейки на лодочные моторы

Оперативная память (ОЗУ RAM)


Оперативная память
Оперативная память...
Оперативная память (ОЗУ RAM) является
Оперативная память (ОЗУ, RAM) является одним из важнейших ресурсов персонального компьютера. В англоязычной технической литературе вы можете встретить три термина, характеризующие тип пам...
Работа с расширенной памятью
Работа с расширенной памятью...
После резервирования блока и отображения
После резервирования блока и отображения части или всех его логических страниц с расширенной памятью могут работать все без исключения команды микропроцессора. В данном разделе описан при...
Способ пересылки большого блока
Способ пересылки большого блока При выполнении графических задач может потребоваться сохранение содержимого всего рабочего пространства видеопамяти. Учитывая его большие размеры, сохра...
Подпрограмма пересыки блока
Подпрограмма пересыки блока Программная реализация пересылки показана в примере Б.7. Перед вызовом подпрограммы в регистрах es и fs указываются коды видеобуфера и сегмента EMS, в приме...
Пример Б 7 Пересылка содержимого рабочей области экрана
Пример Б.7. Пересылка содержимого рабочей области экрана movebl: push Cur_win pusha mov ax, BaseWin mov Cur_win, ax call Setwin mov ax, bperline mul versize mov bisize, dx...
Сохранение и восстановление рабочей области экрана
Сохранение и восстановление рабочей области экрана В примере Б. 7 основные действия выполняет строковая операция movs, у которой расположение источника задает регистр fs, а приемника —...
Пример Б 8 Сохранение или восстановление рабочей области экрана
Пример Б.8. Сохранение или восстановление рабочей области экрана scrsave: PushReg <fs,es,vbuff,ebuff>; размещение в стеке jmp short @F обход макровызова scrrest: PushReg <...
Несколько блоков в расширенной памяти
Несколько блоков в расширенной памяти При работе с обычной памятью каждому блоку соответствует свой уникальный код сегмента. В отличие от обычной, при работе с расширенной памятью досту...
Расширенная память (Extended Memory)
Расширенная память (Extended Memory)...
Термин Extended memory относится
Термин Extended memory относится к тому же пространству памяти, которое описано в предыдущем разделе, но обозначает другой способ доступа, а именно, непосредственную работу с его адресами...
Менеджер Extended memory
Менеджер Extended memory В состав DOS входит драйвер, хранящийся в файле himem.sys, его спецификация обязательно указывается в первой строке файла config.sys. Этот драйвер выполняет не...
Поддержка BIOS
Поддержка BIOS После выпуска микропроцессора Intel 286 в состав BIOS была включена группа функций с названием AT services, доступных через прерывание int ish. Две из них имеют отношение...
Пример Б 9 Структура таблицы GDI
Пример Б.9. Структура таблицы GDI GDtab: db 16 dup (0) 16 пустых байтов dw ? размер источника в байтах (2*[сх]+1) dw ? младшая часть адреса источника db ? старшая часть адреса источник...
Виртуальный диск
Виртуальный диск Если на компьютере установлен достаточно большой объем оперативной памяти, то часть его можно использовать для размещения виртуального (или электронного) диска. Большой...
Обычная память (Conventional Memory)
Обычная память (Conventional Memory)...
Conventional — общепринятый обычный
Conventional — общепринятый, обычный. Так называют младшую часть ОЗУ, занимающую первые 640 Кбайт пространства адресов и имеющую большое значение в обеспечении работоспособности ПК. В ней...
Сегменты оперативной памяти
Сегменты оперативной памяти...
Первые компьютеры IBM PC имели
Первые компьютеры IBM PC имели 16-разрядную шину данных, что соответствовало пространству адресов 64 Кбайт. У IBM PC/XT, собранного на базе процессора Intel 8086, адресная шина увеличилас...
Сегменты оперативной памяти
Сегменты оперативной памяти В реальном режиме работы процессора пространство оперативной памяти делится на сегменты, размер которых не превышает 64 Кбайт, а адрес начала обязательно кра...
Таблица Б 1 иллюстрирует схему
15 14 13 ... c м е щ е н и е ... 2 1 0 15 14 13 12 ... с е г м е н...
Расположение адресов в регистрах
Расположение адресов в регистрах Микропроцессор выбирает части адреса из двух разных регистров. Коды сегментов хранятся в специальных сегментных регистрах, которые предназначены только...
Сегментирование текстов программ
Сегментирование текстов программ Составленные на языке Макроассемблера программы обязательно сегментируются. В простейшем случае вся программа может состоять только из одного сегмента....
Пример Б 1 Структура программы состоящей из трех сегментов
Пример Б.1. Структура программы, состоящей из трех сегментов stack Segment word stack "stack"; начало стекового сегмента db 10Oh dup (?) ; размер области стека 10Oh байтов stac...
Пример Б 2 Специальные директивы описания основных сегментов |
Пример Б.2. Специальные директивы описания основных сегментов | Dosseg ; задает расположение сегментов .Model small ; описание модели памяти .Stack 100h ; описание стекового сегмента...
Работа с именами сегментов
Работа с именами сегментов Макроассемблер рассматривает имя сегмента как константу (а не как переменную), ее прямая пересылка в сегментный регистр невозможна, поэтому приходится использ...
Динамическое управление памятью
Динамическое управление памятью...
Перед началом выполнения задачи
Перед началом выполнения задачи DOS выделяет для нее всю свободную часть пространства обычной памяти. Задача может произвольно распоряжаться выделенным пространством ОЗУ, но она не должна...
Блок задачи
Блок задачи Пространство, выделенное DOS для выполнения задачи, в технической документации принято называть блоком задачи. Он состоит из трех основных частей. Первые юоь (256) байтов бл...
Адрес свободного пространства
Адрес свободного пространства Для определения адреса свободного пространства надо знать, где заканчивается последний сегмент задачи. Для этого, в свою очередь, необходимо выяснить, како...
Размер свободного пространства
Размер свободного пространства В PSP слово со смещением 2 содержит последний доступный для задачи адрес оперативной памяти, выраженный в параграфах, т. е. это код последнего доступного...
Вычисление SwpSeg и GenSeg
Вычисление SwpSeg и GenSeg В приведенных в основной части книги примерах использовались буфер обмена и буфер общего назначения. Мы предполагали, что код сегмента, содержащего буфер обме...
Пример Б З Вычисление значений переменных SwpSeg и GenSeg 1
Пример Б.З. Вычисление значений переменных SwpSeg и GenSeg 1 .Alpha порядок расположения сегментов Dosseg порядок расположения сегментов stack Segment word stac : "stack" ;...
Использование функций DOS
Использование функций DOS...
Для того чтобы DOS могла распределять
Для того чтобы DOS могла распределять оперативную память, ей надо вернуть все свободное пространство, расположенное за пределами сегментов, образующих тело задачи. Иначе говоря, надо сокр...
Определение размера задачи
Определение размера задачи Будем предполагать, что стековый сегмент расположен в теле задачи последним. В таком случае нас интересует расстояние от начала PSP до конца стекового сегмен...
Функции DOS
Функции DOS По запросам прикладных программ DOS выполняет несколько функций, связанных с распределением оперативной памяти. Нас будут интересовать только три из них. Все обращения к...
Вычисление SwpSeg и GenSeg
Вычисление SwpSeg и GenSeg В примере Б.4 показан фрагмент начала текста программы, в котором производится сокращение размера блока задачи и выделение двух блоков для размещения буферов...
Пример Б 4 Получение от DOS значений переменных SwpSeg и GenSeg
Пример Б.4. Получение от DOS значений переменных SwpSeg и GenSeg dosseg задаем расположение сегментов .model small выбор модели памяти .stack 200h задаем стековый сегмент .data нач...
Контроль выполнения запросов
Контроль выполнения запросов При описании функций говорилось, что при возврате из DOS состояние С-разряда указывает, успешно или неудачно завершилось выполнение запроса. Контролировать...
Освобождение блоков
Освобождение блоков Освободившийся блок возвращается DOS по запросу 49h (Free Allocated Memory Block), но с этим действием можно не спешить. В среде DOS задача, как правило, выполняетс...
Расширенная память (Expanded Memory)
Расширенная память (Expanded Memory)...
Очень скоро после начала массового
Очень скоро после начала массового производства IBM PC XT стало ясно, что заложенная в нем возможность работы с адресным пространством в 1 Мбайт является серьезным препятствием для создан...
Спецификация расширенной памяти
Спецификация расширенной памяти...
Спецификация расширенной памяти
Спецификация расширенной памяти (Expanded Memory Specification ИЛИ EMS) содержит перечень требований к оборудованию, предназначенному для работы с дополнительным пространством адресов...
Примерно в это же время Microsoft
Примерно в это же время Microsoft в связи с разработкой Windows заинтересовалась EMS и принимала активное участие в разработке ее последующих версий. В 1987 году была опубликована верс...
Использование функций драйвера
Использование функций драйвера...
Для корректной работы с расширенной
Для корректной работы с расширенной памятью задачи должны выполнять определенную последовательность действий, а именно: 1. Проверить наличие менеджера, поддерживающего функции EMS...
Специальные переменные
Специальные переменные При работе с Expanded memory обязательно используются код сегмента расширенной памяти и идентификаторы выделенных блоков. В некоторых случаях могут быть нужны ном...
Резервирование блока
Резервирование блока Предположим, что для выполнения задачи требуется непрерывное пространство расширенной памяти (блок) размером в 1 Мбайт. Для резервирования такого блока задача должн...
Пример Б 5 Создание в расширенной памяти блока размером 1 Мбайт
Пример Б. 5. Создание в расширенной памяти блока размером 1 Мбайт mov ax, 4100h код функции запроса сегмента int 67h обращение к драйверу or ah, ah функция выполнена ? je @F ->...
Отображение страниц
Отображение страниц Для отображения логической страницы блока на одну из физических страниц сегмента EMS запрашивается функция 44h. Мы рассмотрим универсальный вариант подпрограммы отоб...
Пример Б 6 Подпрограмма отображения 4х страниц сегмента EMS
Пример Б.6. Подпрограмма отображения 4-х страниц сегмента EMS mapseg: mov ex, 04 ; количество повторов цикла xor al, al нулевая физическая страница maplp : reov ah, 44h код функции о...
Освобождение памяти
Освобождение памяти Для освобождения выделенного задаче блока выполняются следующие действия: mov dx, Ehndlr ; dx = идентификатор блока mov ax, 4500h ; ах = код функции освобождения...


- Начало -