Cтраница 2
Поскольку прерывание может привести к переключению МП на выполнение другой задачи, монитор сохраняет содержимое слова состояния МП, всех регистров общего назначения и системной области связи в стеке и смешанной области текущей задачи для того, чтобы в дальнейшем выполнение этой задачи можно было продолжить с прерванного места. Монитор использует системный режим для выполнения операций, связанных с коррекцией информации в своих таблицах. [16]
Арифметические команды и команды модификации обеспечивают выполнение арифметических операций, прибавление или вычитание единицы к содержимому слова или байта и ряд других операций над содержимым слова или байта, включая получение обратного кода и изменение знака числа, хранящегося в заданном слове или байте. Все команды данной группы могут воздействовать на признаки условий, причем состав изменяемых признаков зависит от типа команды. [17]
Микрокоманды с адресом 1C и 2F сдвигают информацию в тетрадах одного блока регистра R без изменения содержимого слова состояния. [18]
Микрокоманды с адресами 22, 32 и 23 обеспечивают обмен информацией между системной магистралью и регистром R и передачу информации из системной магистрали в аккумулятор S без изменения содержимого слова состояния. [19]
Команда арифметического сдвига вправо ( ASR) выполняется аналогично команде ASL. Содержимое слова приемника сдвигается на один бит вправо. Дублирование бита 15 сохраняет знак целого числа ( это особенно важно, если число отрицательно), поэтому сдвиг и называется арифметическим. [20]
Фундаментальность массивов, как структур данных, заключается в их прямом соответствии системам памяти почти на всех компьютерах. Для извлечения содержимого слова из памяти машинный язык требует указания адреса. Таким образом, всю память компьютера можно рассматривать как массив, где адреса памяти соответствуют индексам. Большинство процессоров машинного языка транслируют программы, использующие массивы, в эффективные программы на машинном языке, в которых осуществляется прямой доступ к памяти. [21]
Двоичная система счисления, в которой работают все электронные устройства ЭВМ, неудобна для восприятия человеком и слишком громоздка при записи. Для наглядности и удобства представления двоичного содержимого слова широко используется шестнадцатеричная и восьмеричная системы счисления. [22]
Команды ч -, и нарушают последовательный просмотр программы. Однако в программе отладчика сохранится запись содержимого слова, которое было раскрыто последним перед командой, нарушающей обычный порядок. Пусть в программе по относительному адресу 220 находится команда JSR PC PRINT. Тогда ссылка по относительному адресу PRINT расположена в ячейке 222, и, чтобы просмотреть вызываемую подпрограмму, нужно закрыть указанную ячейку командой ч - Затем используем для последовательного просмотра ячеек подпрограммы. PRINT ячейка, и будет выведено ее содержимое. [23]
При описании задачи пользователь должен указать для нее один из четырех уровней программного ( или пользовательского) приоритета Эти уровни являются логическими и соответствующие им значения приоритетов - ниже системных, устанавливаемых при возникновении прерываний по I / O или вызванных выполнением соответствующих команд. Три уровня программных приоритетов соответствуют реальным, их установка приводит к изменениям содержимого слова состояния процессора. Так, при возникновении прерывания, индицирующего время запуска новой задачи с приоритетом, превышающим приоритет выполняемой, выполнение текущей задачи приостанавливается и активизируется новая. [24]
Перевод чисел из двоичной системы счисления в десятичную и обратно - скучное занятие; это работа для машины, а не для человека. Однако, чтобы в полной мере использовать возможности ЭВМ, нам нужно научиться легко интерпретировать содержимое слова машины. К счастью, существует своего рода компромисс между десятичной и двоичной системами счисления - это восьмеричная система счисления, основание которой восемь. Числа в восьмеричной системе счисления легко читаются; кроме того, очень прост переход от двоичного представления к восьмеричному. [25]
Можно, разумеется, представить хранящуюся в слове памяти команду как число в двоичной и восьмеричной системах счисления - точно так же, как и данные. Мы уже затрагивали вопрос о том, каким образом машина распознает, что представляет собой содержимое слова памяти ( О 102 - это данные, адрес или буква В. [26]
Команды, предназначенные для работы со словами, содержимое которых рассматривается как шкала битов ( а не число), называются логическими ( в отличие от арифметических) командами. Такая терминология связана с тем, что если интерпретировать 1 в разряде как истину, а 0 как ложь, то содержимое слова можно рассматривать как набор логических значений. Поэтому указанные команды выполняют классические логические операции. Так, например, если р и q представляют собой выражения, то в логике выражение р и q ( символически записываемое в виде рАд) истинно лишь тогда, когда и р, и q истинны. [27]
ASCIZ, содержит n ненулевых байтов, тогда произойдет п 1 вложенных прерываний. Содержимое стека после выполнения аппаратной части последнего прерывания изображено в крайней правой колонке рис. 3.7. Стек содержит n раз повторенную пару слов FINI и нуль, внизу стека расположены адрес возврата в основную программу PC и содержимое слова состояния процессора PSW в момент предоставления первого прерывания. Рассмотрим теперь выход из вложенных прерываний. [28]
Поскольку в команде использован индексный режим, на фазе адресации ЦП выполнит следующую последовательность действий. Содержимое слова памяти, на которое указывает счетчик команд ( ячейка с адресом 001012) будет скопировано в регистр данных аналогично тому, как это делалось на фазе выборки, и содержимое счетчика команд будет увеличено на два. Путем сложения содержимого регистра R1 и регистра данных процессор вычислит адрес операнда, и на фазе выполнения содержимое ячейки с этим адресом будет увеличено на единицу. Наиболее важным моментом этого рассмотрения является приращение счетчика команд на фазе адресации, позволяющее процессору обрабатывать команды, состоящие более чем из одного слова. В данном случае это произошло из-за индексного режима адресации, поскольку процессор знает, что использование этого режима приводит к увеличению длины команды. Таким образом, процессор запрограммирован на последовательное выполнение команд, расположенных в памяти, и любую информацию, считанную на фазе выборки, он будет рассматривать как команду. Программист же должен позаботиться, чтобы эта информация была командой, которую должен и может вы-волнить процессор, а не данными. [29]
В режиме записи работа накопителя происходит следующим образом. В RGC задается код адреса ячейки, к которой осуществляется обращение. В RGC поступает содержимое слова. При выборе, например, адресной шины 2 должен быть открыт ключ Кх, и соответствующий диод, а также работать формирователь РХг. В зависимости от содержания адресного кода разрядной выборки дешифраторы определяют одну из разрядных шин поля, а от значения соответствующего разряда регистра слова КОС зависит, поступит по разрядной шине полуток записи или нет. Если в каждом разрядном поле выбираются разрядные провода 3 с помощью формирователей Fyi и токовых ключей КУ2, то содержимое разрядов RGC определит: наличие тока - 1, отсутствие тока - О в выбранном разрядном проводе. Все формирователи токов и ключи работают с биполярными сигналами. В режиме записи токи по адресным и разрядным обмоткам имеют полярность, противоположную полярности токов считывания. [30]