Память


Check Extended Memory Size by Int $15

Использование прерывания 15h для определения размера расширенной памяти (Extended).
This small program uses Intr($15) to determine the size of the extended memory - not expanded memory.

DPMI.PAS 1.0 - Routines for DPMI Management

Простейшие функции для работы с DPMI.
DPMI.PAS 1.00 (c) TurboPower Software 1992. Primitive routines for DPMI management.

EMS TOOLKIT for C Developers with Pascal Samples

Набор функций для работы с EMS на C и Pascal.
The EMS TOOLKIT for C developers. Included LIM EMS Specification, MemLib and EmmLib for C, Pascal example how to use EMM

MemMap - Map of DOS Memory Blocks Using Turbo Pascal

Программа выводит список занятых системой и драйверами блоков памяти.
The MemMap utility displays all allocated memory blocks, including program and environment blocks, and optionally all the variables in the environment blocks.

VMM - Virtual Memory Manager for Turbo Pascal

Менеджер виртуальной памяти для Turbo Pascal. Позволяет динамически выделять блоки памяти, суммарный размер которых превышает размер стандартной "кучи". Осуществляет при необходимости автоматическое перемещение блоков памяти на диск или в EMS и обратно.
The Virtual Memory Manager object (VMM) allows you to allocate memory for dynamic variables without being limited by the size of the Turbo Pascal heap. That is, VMM is not a replacement system for the Turbo Pascal memory manager but it provides you with an easy-to-use complementary package able to temporarily store allocated blocks in EMS or on disk and to automatically move them into RAM when they are needed. Required: Object Professional from TurboPower Software.

Аллокация локальных переменных в стеке

Процедуры для выделения и освобождения памяти для локальных переменных в стеке. Работают быстрее, чем GetMem и FreeMem

Отслеживание цепочки блоков памяти

Chain.pas - программа прослеживания цепочки блоков памяти

4GB Memory Addressing in DOS Real Mode

Этот пример показывает как адресовать всю память компьютера в реальном режиме под ДОС. Работает исключительно в ДОС, в реальном режиме и не любит драйверов памяти (himem.sys, emm.exe, qemm.exe, и т.п.)!!!

DPMI in BP 7.0

Некоторые особенности применения DPMI в BP7

Moves 1.0 - 16-bit Move Transfers Unit for TP.

Две процедуры для копирования блоков памяти (замена команды MOVE). Скорость копирования примерно в два раза выше, чем в TP.
Two routines to make a copy of one array of bytes to another. Overlapping is accounted for for. Both routines are about twice as fast the original TP move, because 16-bit transfers are used in lieu of the 8-bit.