06 ¦Слово ¦ Количество элементов корневого каталога
08 ¦Слово ¦ Общее количество секторов
0A ¦Байт ¦ Байт описания среды
0B ¦Слово ¦ Количество секторов в таблице FAT
ДДДДДДДДДБДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Функция 55h(85): Создать блок PSP
Функция 55h используется для создания порожденного сегмента
программного префикса (PSP). Эта функция аналогична функции 26h
прерывания 21h за исключением того, что новый PSP создается вмес-
то копирования текущего PSP.
Вход: AH = 55h
DX = адрес сегмента, в который должен быть уста-
новлен PSP
Возврат: ничего
Функция 58h(88): Получить/установить стратегию
распределения памяти
Вход : AH = 58h
AL = код функции
AL = 0 - получить стратегию распределения
AL = 1 - установить стратегию распределения
BL = код стратегии
BL = 0, если используется метод первого подходя-
щего (использует первый блок в списке
свободной памяти, размер которого больше
запрошенного или равен запрошенному
- П-51 -
BL = 1, если используется метод наилучшего при-
ближения: (использует наименьший блок па-
мяти, достаточно большой по отношению к
запрошенному)
BL = 2, если используется метод последнего подхо-
дящего (использует старшие адреса послед-
него пригодного для использования блока
памяти)
Возврат: Признак переноса = 1 в случае ошибки, причем
код ошибки в регистре AX. Признак переноса =
= 0, если нет ошибки, причем код стратегии в
регистре AX.
Примечание: Подфункция установки воспринимает любое значение
в регистре BL (2 или больше) как "метод послед-
него подходящего". Подфункция возвращает уста-
новку последнего значения с тем, чтобы програм-
мы, осуществляющие проверку, смогли распознать
равно ли это значение 2, а также больше или
меньше 2.
Функция 60h(96): Разложить строку пути доступа на строку
с полностью уточненным путем доступа
Функция 60h принимает строку с указанием пути доступа, кото-
рая указывает на и возвращает полностью уточненную версию того же
пути доступа.
Вход: AH = 60h
DI:SI = указатель на строку пути доступа
ES:DI = указатель на область, в которой должна
храниться возвращенная строка с полностью
уточненным путем доступа
Возврат: Строка с полностью уточненным путем доступа
возвращается в область, первоначально ука-
занную с помощью ES:DI. Не известны возвращен-
ные коды ошибок.
Функция 63h(99): Получить таблицы начального байта
Вход : AH = 63h
AL = подфункция
AL = 0 - получить системную таблицу начального байта
DL = 0 - очистить флаг
DL = 1 - установить флаг
AL = 2 установить временный флаг консоли
Возврат: DS:SI = указатель на таблицу начального байта
(если вызывается с AL = 0)
DL = временный флаг консоли (если вызывается
при AL = 2)
- П-52 -
Приложение В. ЛИТЕРАТУРА
Книги
Статьи
Ниже приведен список книг и статей, используемых авторами в
качестве ссылок. Вы, возможно, захотите обратиться к этим текстам
для дальнейшей информации по указанным темам.
Книги
ДДДДД
Abel, P. Programming Assembler Language.2d ed. Reston,
VA: Reston, 1984.
Allworth, S. T. Introduction to Real-Time Software
Design. New-York: Springer-Verlag, 1981.
Angermeyer, J., R. Fahringer,K. Jaeger, and D. Shafer.
Tricks of the MS-DOS Masters. Indianapolis: Howard W. Sams,
1987.
Demarco, T. Structured Analysis and Specification. New
York: Yourdon, 1978.
Disk Operating System. Boca Raton, FL: International
Business Mashines, 1982 (for DOS 1.10),1983 (for DOS 2.00),
1983 (for DOS 2.10), 1984 ( for DOS 3.00), 1984 and 1985 (
for DOS 3.10).
Disk Operating System Technical Reference. Boca Raton,
FL: International Business Mashines, 1983 ( for DOS 2.10),
1984 (for DOS 3.00), 1984 and 1985 ( for DOS 3.10).
Duncan, Ray. Advanced MS-DOS. Redmond, WA; Microsoft
Press, 1986.
Hyman, Michael. Memory Resident Utilities, Interrupts,
and Disk Management with MS & PC DOS. Portland, OR: MIS
Press, 1986.
IAPX 86/88, 186/188 User's Manual: Programmer's
Reference. Santa Clara, CA: Intel, 1983.
Kane, G., D. Hawkins, and L. Leventhal. 68000 Assembly
Language Programming. Berkeley, Osborne/McGraw-Hill,1981.
Kernighan, Brian, and Dennis Ritchie. The C
Programming Language. Englewood Cliffs, NJ: Prentice-Hall,
1978.
Lafore, R. Assembly Language Primer for the IBM PC and
XT. New York and Scarborough, Ontario: New American Library,
1984.
Lai, S. Robert. Writing MS-DOS Device Drivers. New
York: Addison-Wesley, 1987.
Lattice 8086/8088 C Compiler Manual. New york: Lifeboat
Associates, 1982.
Microsoft C Compiler: User's Guide. Bellevue, WA:
Microsoft, 1984 and 1985 ( for C 3.00).
Microsoft C: Run-Time Library Reference. Bellevue, WA:
Microsoft, 1984 and 1985 ( for C 3.00).
Microsoft Macro Assembler User's Manual. Bellevue, WA:
Microsoft, 1981 and 1983 ( for MASM 2.00), 1984 and 1985
for MASM 4.00).
- П-53 -
Microsoft MS-DOS Programmer's Reference. Bellevue, WA:
Microsoft, 1981 and 1983 ( for MS-DOS 2.10 ).
Morgan, C. L. Bluebook of Assembly Language Routines
for the IBM PC & XT. New York and Scarborough, Ontario: New
American Library, 1984.
Morgan, C. L. and M. Waite. 8086/8088 16-Bit
Microprocessor Primer. Peterborough, NH: BYTE/McGraw-Hill,1982.
Norton, P. Inside the IBM PC. Bowie, MD: Robert J. Brady
Co., 1983.
Savitzky, Stephen. Real-Time Microprocessor Systems. New
York: Van Nostrand Reinhold, 1985.
Simrin, Steven. The Waite Group's MS-DOS Bible. rev.
ed. Indianapolis: Howard W. Sams, 1988.
Tausworthe, R.C. Standardized Development of Computer
Software. Pt. I. Englewood Cliffs, NJ: Prentice-Hall, 1977.
Turbo Pascal Reference Manual Version 2.0. Scotts
Valley, CA: Borland International, 1984.
Turbo Pascal Reference Manual Version 3.0. Scotts
Valley, CA: Borland International, 1983, 1984, and 1985.
Waite Group, The. The Waite Group's MS-DOS
Papers.Indianapolis: Howard W. Sams, 1988.
Yourdon, E. U. and L. L. Constantine. Structured
Design. Englewood Cliffs, NJ: Prentice-Hall, 1977.
Yourdon, E. U. Techniques of Program Structure and
Design. Englewood Cliffs, NJ: Prentice- Hall, 1975.
Статьи
ДДДДДДД
Duncan, Ray. "Lotus/Intel/Microsoft Expanded Memory", Byte
11, no. 11, 1986 ( Special IBM Edition).
Kaк писать программы,используя LIM EMS 3.2. Пример кус-
ков программы RAMDISK, использующей расширенную память.
Hansen, Marion, and John Driscoll. "LIM EMS 4.0: A
Definition for Next Generation of Expanded Memory", MSJ 3,
no. 1, Jan 88.
Описание особенностей, вводимых LIM EMS 4.0. Пример
программ на "C" и на языке Ассемблера демонстрируют улучшен-
ные методы сохранения экрана, разделения данных между прог-
раммами, а также выполнения программы в расширенной памяти.
Lefor, John A., and Karen Lund. "Reaching into Expanded
Memory." PCTJ 5, no.5, May 86.
Пояснение LIM EMS 3.2 и AQA EEMS, ориентированных на
приложения.Законченные образцы программ для получения пара-
метров расширенной памяти и дампа данных расширенной памяти.
Lotus, Intel,Microsoft. "Lotus/Intel/Microsoft Expanded
Memory Specification, Version 4.0, " Document number
300275-005, Oct 87.
Полная спецификация последней версии спецификации рас-
ширенной памяти. Включает образцы программ на языке Turbo
Pascal и на языке ассемблера.
Mirecki, Ted. " Expandable Memory," PCTJ, no. 2, Feb 86.
Описание LIM EMS 3.2 и AQA EEMS. Тесты продуктов расши-
ренной памяти фирм "Интел" и " Эй-ЭС-ТИ".
Yao, Paul. "EMS Support Improves Microsoft Windows 2.0
Application Performance," MSJ 3, no. 1, Jan 88.
Обсуждение техники использования LIM EMS 4.0 в Windows
2.0 для управления несколькими одновременными приложениями.
- П-54 -
Приложение Г. СПРАВОЧНИК ПО КОДАМ ASCII
И ПРЕОБРАЗОВАНИЯ ЧИСЕЛ
Описания непечатаемых символов ASCII
Преобразование шестнадцатиричного кода в десятичный
Преобразование десятичного кода в шестнадцатиричный
Таблица Г-1 является таблицей соответствия значений клавиш
терминала в десятичном (основание 10), шестнадцатиричном (основа-
ние 16), восьмиричном (основание 8), а также в коде ASCII (Амери-
канский стандартный код для обмена информацией). Последователь-
ности клавиш, включающие клавишу "Control" вводятся одновременным
нажатием клавиши "Control" и указанной клавиши. Эти последова-
тельности основаны на тех последовательностях, которые описаны
для большинства стандартных терминалов, таких как клавиатура
"Diablo 1640" и серия терминалов "Televideo" и может быть описана
иначе на других терминалах.
Таблица Г-1
Перекрестные ссылки в коде ASCII
ДДДДДДВДДДДДДДДВДДДДДДДДВДДДДДДДДВДДДДДДДДДВДДДДДДДДДДДДДДДДД