Операционный стек - Большая Энциклопедия Нефти и Газа, статья, страница 1
Девиз Канадского Билли Джонса: позволять недотепам оставаться при своих деньгах - аморально. Законы Мерфи (еще...)

Операционный стек

Cтраница 1


Операционный стек - такое соединение регистров RX, RY, R, RT и RX1, при котором содержимое каждого из этих регистров ПМК по специальным командам засылается в соседний регистр.  [1]

Операционный стек этих ПМК содержит два рабочих регистра X и Y, a оперативная память имеет различную емкость.  [2]

При вводе оператора В f операционный стек смещается вверх ( рис. 4.1, 6), что может быть описано как РТ: PZ; PZ: PY; PY: - РХ.  [3]

Подобная запись с символами содержимого операционного стека удобна для составления программы.  [4]

Клавиша ENTER, при нажатии которой содержимое операционного стека обычно смещается вверх, в ПМК НР-28С вводит операцию выполнить грамматический разбор и ввести числовое значение в командную строку. Расчетные формулы отображаются на индикаторе в алгебраической скобочной записи, а в командной строке компилируются в соответствии с правилами обратной польской записи, обеспечивающей непосредственное выполнение операции после считывания процессором команды выполнения операции.  [5]

Выполнение программы на языке RPL непосредственно связано с работой операционного стека. В отличие от операционных стеков других ПМК с регистрами данных, в НР-28С операционный стек является многоуровневым стеком файлов, длина которых ограничена лишь емкостью области пользователя ОЗУ.  [6]

Следующие 5 страниц этого блока выделены для хранения содержимого регистров операционного стека XI, X, Y, Z и Т, а оставшиеся п - 7 страниц при соответствующем программном обеспечении операций в системе могут быть заняты памятью программ или данных Ms. Блок МЗ выделен для области программ Мр, в которой могут храниться In шагов ( программных слов) прикладной программы емкостью 1 байт ( 8 бит), или 2 тетрады, каждое.  [7]

Когда результат вычислений стремится к бесконечности, регистры памяти данных или операционного стека ПМК переполняются, и обычно выполнение программы автоматически прекращается. Это позволяет обнаружить и устранить ошибку, приводящую к потере точности. Значительно опаснее попадание результата вычислений в область машинного нуля. В этом случае значение отличающегося от нуля промежуточного результата принимается равным нулю независимо от дальнейших операций, причем попадание конечного малого результата вычислений в область машинного нуля в современных ПМК ( как и в большинстве универсальных ЭВМ других классов) не диагностируется. Это требует особого внимания программиста, который должен предусмотреть и устранить возможность возникновения подобных ситуаций в процессе вычислений.  [8]

Операционное устройство состоит из четырех регистров ( регистры стековой памяти) операционного стека РХ, PY, PZ, РТ и регистра РХ 1 - регистра предыдущего результата. Входной регистр РХ, называемый также индикаторным регистром, соединен через дешифратор с индикатором, на котором высвечивается содержимое регистра РХ. В этом смысле РХ иногда отождествляется с индикатором.  [9]

При выполнении контрольных примеров почти во всех случаях диагностируется переполнение входного регистра операционного стека, в частности, при делении на нуль. Обычно диагностируется и попадание аргумента вне области определения стандартных функций, например при попытке извлечения корня квадратного или логарифма отрицательного числа. В некоторых случаях в режиме автоматического выполнения программы переполнение может не диагностироваться, если оно устраняется при выполнении ближайшей операции ( примеры приведены в гл.  [10]

Чтобы определить контрольные значения содержимого регистра индикации, обычно приходится исследовать перемещение содержимого всех регистров операционного стека в процессе выполнения рассматриваемого фрагмента или даже всей программы. С этой целью можно составить таблицу содержимого регистров операционного стека на каждом шаге выполняемой программы, соответствующую последним столбцам табл. 5.1. Примером может служить также приведенная в табл. 5.4 программа решения алгебраического уравнения второй степени без обращения к памяти данных, при составлении которой приходится тщательно контролировать перемещение информации в операционном стеке.  [11]

В связи с умолчанием имен текущих переменных при чтении и составлении программ пользователю приходится представлять мысленно или на бумаге содержимое регистров операционного стека, что затрудняет пользование ПМК.  [12]

В ПМК НР-35 при последовательной передаче информации был выбран центральный процессор с обработкой в арифметическо-логи-ческом устройстве за один такт содержимого 4 двоичных разрядов, соответствующего одной десятичной или шестнадцатеричной цифре, а также операционным стеком с четырьмя регистрами текущих данных, работающими по правилам обратной польской записи, что уменьшило аппаратурные затраты.  [13]

Сообщения об ошибке вырабатываются операционными системами многих ПМК с алгоритмическими языками и в других критических случаях, например при неверной работе внешних устройств вследствие снижения напряжения питания, при переполнении оперативной памяти или отдельных запоминающих устройств - стека возврата из подпрограмм или даже операционного стека.  [14]

При считывании в регистр КОП кода оператора присваивания он интерпретируется последовательностью команд, каждая из которых транслируется в последовательность микропрограмм, составленных из микрокоманд, управляющих выполнением соответствующих логических операций над двоичными разрядами содержимого рабочих регистров X и Y ( или X при одноместных операциях) операционного стека с засылкой результата операции в регистр X. В ПМК с компактными входными языками данные из памяти вызываются в регистр X, а копии содержимого регистра X засылаются в память данных только при считывании соответствующего оператора обращения к памяти. В ПМК с алгоритмическими входными языками данные вызываются из памяти по именам переменных, записанным в правой части оператора присваивания и соответствующим определенным ячейкам памяти данных. Результат операции в этом случае засылается в ячейку памяти, которой при трансляции программы присвоен адрес, соответствующий имени переменной в левой части оператора присваивания.  [15]



Страницы:      1    2    3