Здравствуйте. Требуется создать резидентную программу, которая будет находиться в ПЗУ материнской платы и вызываться горячей клавишей. Для работы ей необходим временный буфер под данные. Где можно разместить буфер, так чтоб не изменить данные основной программы? Программу планируется вызывать на этапе начальной загрузки и из под ДОС.
Очевидно, что где-то в оперативной памяти. Проблема лишь в том, что нельзя повредить данные загруженной ОС. Если на этапе начальной загрузки это не страшно (ОС нет - с памятью можно делать почти всё что угодно), то когда DOS уже загружен нужны дополнительные ухищрения.
В видеобуфер лучше не писать: 1) Он может использоваться другими приложениями по прямому назначению 2) Чтение из него достаточно медленная операция. ОЗУ намного быстрее. Может быть уже после загрузки ОС (надо это только как-то определить) использовать её же функции для выделения себе кусочка памяти?
KIV Программа должна работать как в ОС, так и до нее, BIOS Setup, loading MBR, loading boot sector, loading OS. ДОС можно обмануть, уменьшив значение в ячейке 0:413, а вот как быть с БИОС?
Имеется в виду программа BIOS Setup. Она тоже использует ОЗУ. Нет гарантии, что размерстив свой буфер на верхушке BaseMem, не затеру каки-либо ее данные.