Cтраница 3
Команда ZAP ( ZERO AND ADD) предназначена для подготовки рабочей области памяти, чтобы в дальнейшем производить в ней арифметические операции. [31]
В секции рабочей памяти описываются области оперативной памяти, в которых хранятся промежуточные результаты и константы во время выполнения программы. Секция рабочей памяти может быть спущена, если надобность в рабочих областях памяти не возникает. [32]
Существует много других причин для разделения возможных сегментов. Сегмент может быть слишком длинным с точки зрения буферизации или размещения его в рабочих областях памяти. Проектировщику может потребоваться помести ть некоторые поля в отдельный сегмент для обеспечения их защиты либо для того, чтобы отделить поля фиксированной длины от полей переменной длины или часто используемые поля от редко используемых. С другой стороны, проектировщик может объединить несколько сегментов ( рискуя при этом, правда, увеличить избыточность данных) для того, чтобы уменьшить число уровней иерархии или число обращений к данным, находящимся на некотором уровне. [33]
Мы и связанная с нами активная область АПЛ являемся элементами одной системы, предназначенной для решения какой-то задачи. Точно таким же образом можно создать систему из двух пользователей АПЛ и связанных с ними рабочих областей памяти. [34]
Допустим, что пользователь U хочет выполнить программу Р для обработки секретных данных С. Предполагая, что программа Р представляет только команды, при ее выполнении пользователь U должен определить некоторую рабочую область памяти W, используемую в качестве временной памяти. [35]
Оператор GET ( ПОЛУЧИТЬ) осуществляет выборку текущей записи процесса. Запись, найденная с помощью предшествующего оператора FIND при выполнении оператора GET будет перемещена из системного буфера СУБД в рабочую область памяти программы и именно в ту область, которая соответствует данному типу записи. Какая именно область записи в рабочей области изменится - это должен определять в программе прикладной программист. [36]
Нам нужно знать, как сохранить на будущее то, что мы делаем. Поэтому в этой главе проделаем ряд упражнений, которые должны показать, как вы, пользователь, можете управлять содержимым рабочих областей памяти. Чтобы обеспечить полную идентичность результатов, вы должны воспроизвести всю указанную последовательность команд точно в том же виде, как они даны в этой главе. [37]
При остановке программы в отладочном режиме ( в установленной точке прерывания или при пошагоном выполнении) в главном окне появляется отладочная подсказка К. При этом становятся доступными рабочие области памяти всех вызванных в данный момент функций. По умолчанию текущей является рабочая область памяти последней вызванной функции. [38]
Исходные данные могут сообщаться внешним подпрограммам тремя путями: из регистров машины, из общей рабочей области памяти или путем использования регистра для указания цепочки значений. Метод, связанный с использованием регистров машины, обычно приводит к более коротким и быстрым программам, но он не может применяться для программ, записанных на Фортране, поскольку в этом случае регистры не доступны. Информация, поступающая из общей рабочей области памяти, стоит на следующем месте по быстродействию программ. [39]
Переменные ind и tmp, создаваемые внутри функции, являются локальными. Они создаются внутри функции и уничтожаются при завершении ее работы. Если переменные с такими же именами существовали в рабочей области памяти MATLAB до вызова функции, их значения не изменятся. [40]
При формировании общей программы библиотечные подпрограммы могут включаться двумя способами. Оба способа находят применение на практике. Преимуществом закрытых подпрограмм является то, что независимо от количества обращений подпрограмма вызывается в рабочую область памяти однажды, занимая один и тот же объем памяти. [41]
Распределение памяти вычислительной системы. [42] |
Кбайт, что соответствует адресам от О до OFFFF. Как показано на увеличенном снимке справа, не вся эта память доступна пользователям. Младшие 1 5 Кбайт содержат векторы прерываний ( адреса программ обработки прерываний) и несколько рабочих областей памяти, используемых системой BIOS, операционной системой DOS и Бейсиком. [43]
Указатель стека 8-разрядного микропроцессора обычно имеет длину 16 бит. Следовательно, в случае необходимости стек может занимать до 65 536 байт памяти. Однако на практике, если объем стека чрезмерно возрастает, то происходит его наложение на рабочую область памяти. При искажении информации, находящейся в стеке, работа микропроцессорной системы нарушается, так как микропроцессор не может вернуться к выполнению исходной программы. [45]