Кіріспе

Бағдарламаның жай-күйі туралы сөз (PSW) – жай-күй тізілімі және бағдарлама санағышының қызметін атқаратын, кейде одан да көп функцияларды орындайтын регистр. Бұл термин PSW-нің сақтағыштағы көшірмесіне де қолданылады. Бұл мақалада тек IBM System/360 және оның ізбасарларындағы PSW талқыланады, сондай-ақ IBM конвенциясына сәйкес, биттерді нөмірлеу 0-ден бастап сол жақтан (ең маңызды) бит ретінде қарастырылады. PSW-дегі кейбір өрістерді артықшылықтары жоқ нұсқаулар арқылы сынауға немесе орнатуға болады, ал қалған өрістерді сынау немесе орнату тек артықшылықты нұсқаулар арқылы мүмкін. PSW-де нөл, оң, теріс, ағып кету және басқа архитектуралардың жай-күй тізімдерінің ұқсас белгілерін көрсететін екі биттік жағдай коды бар. Шартты тармақталу нұсқаулары осыны төрт биттік мән ретінде тексеріп, әр бит төрт жағдай кодын, яғни 23 + 22 + 21 + 20-ны білдіреді. (IBM үлкен эндиандық бит нөмірлеуді қолданғандықтан, маска мәні 8 кодты 0, маска мәні 4 кодты 1, маска мәні 2 кодты 2, ал маска мәні 1 кодты 3 таңдайды.) 64 биттік PSW (басқа нәрселермен қатар) келесіні сипаттайды:

Үзіліс маскалары
Артықшылық деңгейлері
Жағдай коды
Нұсқаулық адресі

Архитектураның алғашқы нұсқаларында (System/360 және System/370-тің ерте кезеңдерінде) нұсқаулық адресі 24 бит болды; ал кейінгі нұсқаларында (XA/370) нұсқаулық адресі 31 биттен және режим битінен тұрды (24 биттік адрестеу режимі үшін нөл, 31 биттік адрестеу режимі үшін бір), барлығы 32 бит. Архитектураның қазіргі нұсқаларында (z/Architecture) нұсқаулық адресі 64 битті, ал PSW-ның өзі 128 битті құрайды. PSW-ны LOAD PSW нұсқауымен (LPSW немесе LPSWE) жүктеуге болады, ал оның мазмұнын Extract PSW (EPSW) нұсқауымен қарауға болады.

S/360

360/20-дан басқа барлық жағдайларда PSW келесі форматтарға ие. S/360 кеңейтілген PSW форматы тек 360/67 құрылғысына қолданылады, онда басқару тізілімінің 6-шы бітімі 8-ші орында орналасқан. + 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/OMask Сыртқы маска Кілт 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 Нұсқаулық мекенжайы

S/370

+ IBM S/370 PSW форматтары+ S/370 негізгі басқару режимі PSW Арна. Маска Кіріс/Шығыс Кілт 0 M W P Үзілім Коды 0 1 2 4 5 6 7 8 11 12 13 14 15 16 31 ILC Жалпы жағдай Программалық маска Нұсқау адресі 32 33 34 35 36 39 40 63+ S/370 BC режимі PSW аббревиатуралары Биттер Өріс Мағынасы 0 5 Арналарға арналған арна маскалары 0-5 6 Кіріс/Шығыс Арналар > 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 Нұсқау адресі+ S/370 кеңейтілген басқару режимі PSW 0 R 0 0 0 T Кіріс/Шығыс 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+ S/370 EC режимі PSW аббревиатуралары Биттер Өріс Мағынасы 1 R PER Маскасы 5 T DAT режимі 6 Кіріс/Шығыс Кіріс/Шығыс маскасы; 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 Нұсқау адресі