Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Слово состояния программы (PSW) — это регистр, который выполняет функции регистра состояния и счётчика программы, а иногда и больше. Термин также применяется к копии PSW в памяти. В этой статье рассматривается только PSW в IBM System/360 и его преемниках, и используется принятая IBM конвенция нумерации битов, начиная с 0 как самого левого (старшего) бита. Хотя некоторые поля в PSW могут быть протестированы или установлены с использованием не привилегированных инструкций, тестирование или установка остальных полей может быть выполнено только с использованием привилегированных инструкций. В PSW содержится двухбитовый код состояния, представляющий ноль, положительное значение, отрицательное значение, переполнение и аналогичные флаги регистров состояния других архитектур. Инструкции условного перехода тестируют это как четырехбитовое значение, при этом каждый бит представляет собой проверку одного из четырех значений кода состояния: 23 + 22 + 21 + 20. (Поскольку IBM использует порядок следования байтов big-endian, маска со значением 8 выбирает код 0, маска со значением 4 выбирает код 1, маска со значением 2 выбирает код 2, а маска со значением 1 выбирает код 3). 64-битный PSW описывает (в частности):
The program status word (PSW) is a register that performs the function of a status register and program counter, and sometimes more. The term is also applied to a copy of the PSW in storage. This article only discusses the PSW in the IBM System/360 and its successors, and follows the IBM convention of numbering bits starting with 0 as the leftmost (most significant) bit. Although certain fields within the PSW may be tested or set by using non privileged instructions, testing or setting the remaining fields may only be accomplished by using privileged instructions. Contained within the PSW are the two bit condition code, representing zero, positive, negative, overflow, and similar flags of other architectures' status registers. Conditional branch instructions test this encoded as a four bit value, with each bit representing a test of one of the four condition code values, 23 + 22 + 21 + 20. (Since IBM uses big endian bit numbering, mask value 8 selects code 0, mask value 4 selects code 1, mask value 2 selects code 2, and mask value 1 selects code 3.) The 64 bit PSW describes (among other things)
Маски прерываний
Привилегированные состояния
Код состояния
Адрес инструкции
Interrupt masks
Privilege states
Condition code
Instruction address
В ранних реализациях архитектуры (System/360 и ранней System/370) адрес инструкции составлял 24 бита; в более поздних реализациях (XA/370) адрес инструкции составлял 31 бит плюс бит режима (24-битный режим адресации, если равен нулю; 31-битный режим адресации, если равен единице), что в сумме давало 32 бита. В современных реализациях архитектуры (z/Architecture) адрес инструкции составляет 64 бита, а сам PSW — 128 бит. PSW может быть загружен инструкцией LOAD PSW (LPSW или LPSWE). Его содержимое можно изучить с помощью инструкции Extract PSW (EPSW).
In the early instances of the architecture (System/360 and early System/370), the instruction address was 24 bits; in later instances (XA/370), the instruction address was 31 bits plus a mode bit (24 bit addressing mode if zero; 31 bit addressing mode if one) for a total of 32 bits. In the present instances of the architecture (z/Architecture), the instruction address is 64 bits and the PSW itself is 128 bits. The PSW may be loaded by the LOAD PSW instruction (LPSW or LPSWE). Its contents may be examined with the Extract PSW instruction (EPSW).
S/360
На всех, кроме 360/20, PSW имеет следующие форматы. Формат S/360 Extended PSW применяется только к 360/67 с битом 8 управляющего регистра 6 установленным. + IBM S/360 PSW форматы+ S/360 Стандартный PSW Система Маска Ключ A M W P Код прерывания 0 7 8 11 12 13 14 15 16 31 ILC CC Маска программы Адрес инструкции 32 33 34 35 36 39 40 63+ S/360 Стандартные PSW сокращения Биты Поле Значение 0 7 SM Маска системы Бит Значение 0 Маска канала 0 1 Маска канала 1 2 Маска канала 2 3 Маска канала 3 4 Маска канала 4 5 Маска канала 5 6 Маска канала 6 7 Внешняя маска 8 11 Ключ Ключ PSW 12 A ASCII 13 M Маска контроля машины 14 W Состояние ожидания 15 P Проблемное состояние 16 31 IC Код прерывания 32 33 ILC Код длины инструкции 34 35 CC Код состояния 36 39 PM Маска программы Бит Значение 36 Переполнение фиксированной точки 37 Переполнение десятичной точки 38 Переполнение под экспонентой 39 Значимость 40 63 IA Адрес инструкции+ S/360 Расширенный PSW Запасные биты 24/32-битный режим Контроль трансляции I/O Маска Внешняя маска Ключ A M W P ILC CC Маска программы Запасные 0 3 4 5 6 7 8 11 12 13 14 15 16 17 18 19 20 23 24 31 Адрес инструкции 32 63+ S/360 Расширенные PSW сокращения Биты Поле Значение 0 3 Запасные (должны быть 0) 4 24/32-битный адресный режим 5 Контроль трансляции 6 IO I/O Маска (сводная) 7 EX Внешняя маска (сводная) 8 11 Ключ защиты 12 A ASCII 13 M Маска контроля машины 14 W Состояние ожидания 15 P Проблемное состояние 16 17 ILC Код длины инструкции 18 19 CC Код состояния 20 23 PM Маска программы Бит Значение 20 Переполнение фиксированной точки 21 Переполнение десятичной точки 22 Переполнение под экспонентой 23 Значимость 24 31 Запасные 32 63 IA Адрес инструкции
On all but 360/20, the PSW has the following formats. S/360 Extended PSW format only applies to the 360/67 with bit 8 of control register 6 set. + IBM S/360 PSW formats+ S/360 Standard PSW System Mask Key A M W P Interruption Code 0 7 8 11 12 13 14 15 16 31 ILC CC ProgramMask Instruction Address 32 33 34 35 36 39 40 63+ S/360 Standard PSW abbreviations Bits Field Meaning 0 7 SM System Mask Bit Meaning 0 Channel 0 mask 1 Channel 1 mask 2 Channel 2 mask 3 Channel 3 mask 4 Channel 4 mask 5 Channel 5 mask 6 Channel 6 mask 7 External Mask 8 11 Key PSW key 12 A ASCII 13 M Machine check mask 14 W Wait state 15 P Problem state 16 31 IC Interruption Code 32 33 ILC Instruction Length Code 34 35 CC Condition Code 36 39 PM Program Mask Bit Meaning 36 Fixed point overflow 37 Decimal overflow 38 Exponent underflow 39 Significance 40 63 IA Instruction Address+ S/360 Extended PSW spare 24/32BitMode TranCtrl I/OMask Ext. Mask Key A M W P ILC CC ProgramMask spare 0 3 4 5 6 7 8 11 12 13 14 15 16 17 18 19 20 23 24 31 Instruction Address 32 63+ S/360 Extended PSW abbreviations Bits Field Meaning 0 3 Spare (must be 0) 4 24/32 bit Address mode 5 Translation Control 6 IO I/O Mask (Summary) 7 EX External Mask (Summary) 8 11 Key Protection Key 12 A ASCII 13 M Machine check mask 14 W Wait state 15 P Problem state 16 17 ILC Instruction Length Code 18 19 CC Condition Code 20 23 PM Program Mask Bit Meaning 20 Fixed point overflow 21 Decimal overflow 22 Exponent underflow 23 Significance 24 31 Spare 32 63 IA Instruction Address
S/370
+ Форматы PSW IBM S/370 + PSW в основном режиме управления S/370 Маска канала IO EX Ключ 0 M W P Код прерывания 0 1 2 4 5 6 7 8 11 12 13 14 15 16 31 ILC CC Маска программы Адрес инструкции 32 33 34 35 36 39 40 63+ Сокращения для PSW в основном режиме управления S/370 Биты Поле Значение 0-5 Маски каналов для каналов 0-5 6 IO Маска ввода/вывода для каналов > 5 7 EX Внешняя маска 8-11 Ключ Ключ PSW 12 E=0 Основной режим управления 13 M Маска машинной проверки 14 W Состояние ожидания 15 P Проблемное состояние 16-31 IC Код прерывания 32-33 ILC Код длины инструкции 34-35 CC Код условия 36-39 PM Маска программы Бит Значение 36 Переполнение фиксированной точки 37 Переполнение десятичной точки 38 Недополнение экспоненты 39 Значимость 40-63 IA Адрес инструкции + PSW в расширенном режиме управления S/370 0 R 0 0 0 T IO EX Ключ 1 M W P S 0 CC Маска программы 0 0 0 0 0 0 0 0 0 1 2 4 5 6 7 8 11 12 13 14 15 16 17 18 19 20 23 24 31 0 0 0 0 0 0 0 0 Адрес инструкции 32 39 40 63+ Сокращения для PSW в расширенном режиме управления S/370 Биты Поле Значение 1 R Маска PER 5 T Режим DAT 6 IO Маска ввода/вывода; подчиняется маске канала в CR2 7 EX Внешняя маска; подчиняется маске внешнего подкласса в CR0 8-11 Ключ Ключ PSW 12 E=1 Расширенный режим управления 13 M Маска машинной проверки 14 W Состояние ожидания 15 P Проблемное состояние 16 S Управление пространством адресов 0=основной режим 1=Вторичный режим 18-19 CC Код условия 20-23 PM Маска программы Бит Значение 20 Переполнение фиксированной точки 21 Переполнение десятичной точки 22 Недополнение экспоненты 23 Значимость 40-63 IA Адрес инструкции
+ IBM S/370 PSW formats+ S/370 Basic Control mode PSW Chan. Mask IO EX Key 0 M W P Interruption Code 0 1 2 4 5 6 7 8 11 12 13 14 15 16 31 ILC CC ProgramMask Instruction Address 32 33 34 35 36 39 40 63+ S/370 BC mode PSW abbreviations Bits Field Meaning 0 5 Channel Masks for channels 0 5 6 IO I/O Mask for channels > 5 7 EX External Mask 8 11 Key PSW key 12 E=0 Basic Control mode 13 M Machine check mask 14 W Wait state 15 P Problem state 16 31 IC Interruption Code 32 33 ILC Instruction Length Code 34 35 CC Condition Code 36 39 PM Program Mask Bit Meaning 36 Fixed point overflow 37 Decimal overflow 38 Exponent underflow 39 Significance 40 63 IA Instruction Address+ S/370 Extended Control mode PSW 0 R 0 0 0 T IO EX Key 1 M W P S 0 CC ProgramMask 0 0 0 0 0 0 0 0 0 1 2 4 5 6 7 8 11 12 13 14 15 16 17 18 19 20 23 24 31 0 0 0 0 0 0 0 0 Instruction Address 32 39 40 63+ S/370 EC mode PSW abbreviations Bits Field Meaning 1 R PER Mask 5 T DAT mode 6 IO I/O Mask; subject to channel mask in CR2 7 EX External Mask; subject to external subclass mask in CR0 8 11 Key PSW key 12 E=1 Extended Control mode 13 M Machine check mask 14 W Wait state 15 P Problem state 16 S Address Space Control0=primary space mode1=Secondary space mode 18 19 CC Condition Code 20 23 PM Program Mask Bit Meaning 20 Fixed point overflow 21 Decimal overflow 22 Exponent underflow 23 Significance 40 63 IA Instruction Address