|
размера наибольшего регистра. В связи с
тем, что большинство переменных имеют тенденцию использоваться в
виде байтов или слов, ограниченный размер регистра не является
серьезной проблемой. Когда передаваемые данные превышают размер
регистра, вместо данных вызывающая программа может передать их
адрес в памяти. Конечно, для правильного использования данных вы-
зывающая программа должна знать, какой был указан тип данных. При
вызове функций MS-DOS всякий раз, когда они требуют большого ко-
личества данных, используется этот механизм передачи данных, с
заключающимся в указании адреса данных в памяти.
Передача данных через общую область памяти
Следующим способом передачи данных является использование за-
ранее подготовленной области памяти. Понятие "заранее подготов-
ленная" используется в том смысле, что и вызывающая и вызываемая
программы "договорились" между собой о том, что их данные переда-
ются в некоторую область основной памяти. Программа А знает, что
вывела квитанции об оплате за последний месяц в область памяти,
помеченную как FOO, и программа В знает как выглядит эта информа-
ция в области памяти FOO. Поэтому область памяти FOO называется
общей областью памяти.
Передача данных через общую область памяти имеет, по крайней
мере, один существенный момент. В пределах физических возможнос-
тей используемого компьютера можно передать столько данных,
сколько необходимо. Передача данных через общую область памяти
позволяет передавать и принимать целую гамму свободных регистров
и допускает передачу данных любого размера от буфера в один байт
до нескольких килобайт.
Кроме того, передача данных через общую область памяти делает
- 2-9 -
доступными передаваемые данные любому модулю, которому они требу-
ются.
|