· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Что таоке блоки MCB?

Посл.отвђт Сообщенiе


Дата: Апр 30, 2004 19:48:43

Я в книге Пирогова читал об управляющих блоках памяти и функции 52h int21h, но ничего не понял. Не могли бы более понятно объяснитть об их использовании (в резидентах и других прогах).


Дата: Апр 30, 2004 22:50:36

Вся память начиная от некоторого адреса разбивается на блоки. При чем каждый блок имеет заголовок - 16 байт. В каждом блоке его размер. Следующий блок начинается сразу же за предидущим (без дырок).
формат блока:
addr size what description
0 1 type Тип блока MCB (M или Z) Z - блок последний
1 2 owner Сегмент владельца блока
3 2 size Число параграфов в этом блоке
5 11 avl Зарезервировано

вроде все что вспомнил | copy&paste.


Дата: Май 1, 2004 07:50:41

Uri2
Большое спасибо!


Дата: Май 1, 2004 20:27:10

Кстати, для чего вообще нужна функция 52h и что она возвращает. Вот пример кода:
mov ah,52h
int 21h
mov es,es:[bx-2]
Что в итоге будет находиться в es я не понимаю. Объясните.


Дата: Май 2, 2004 02:58:51

Функция 52h возвращает указатель на список внутренних
значений доса,или "список списков" в es:bx.Перед этим
списком в слове(на него указывает es:[bx-2])находиться
сегментный адрес первого MCB.В твоем случае в es будет сегментный адрес первого MCB.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.052