Programstatusordet ( PSW ) är ett register som utför funktionen som ett statusregister och programräknare , och ibland mer. Termen tillämpas också på en kopia av PSW i lagring. Den här artikeln diskuterar endast PSW i IBM System/360 och dess efterföljare, och följer IBMs konvention om numrering av bitar som börjar med 0 som den längst till vänster (mest signifikanta) biten.
Även om vissa fält inom PSW kan testas eller ställas in med hjälp av icke-privilegierade instruktioner, kan testning eller inställning av de återstående fälten endast utföras genom att använda privilegierade instruktioner.
0 Inom PSW finns tvåbitars villkorskoden , som representerar noll, positiv, negativ, overflow och liknande flaggor för andra arkitekturers statusregister . Villkorliga greninstruktioner testar detta kodat som ett fyrabitarsvärde, där varje bit representerar ett test av ett av de fyra villkorskodvärdena, 2 3 + 2 2 + 2 1 + 2 . (Eftersom IBM använder big-endian bitnumrering väljer maskvärde 8 kod 0, maskvärde 4 väljer kod 1, maskvärde 2 väljer kod 2 och maskvärde 1 väljer kod 3.)
64-bitars PSW beskriver (bland annat)
I de tidiga instanserna av arkitekturen (System/360 och tidiga System/370) var instruktionsadressen 24 bitar; i senare fall (XA/370) var instruktionsadressen 31 bitar plus en modbit (24 bitars adresseringsläge om noll; 31 bitars adresseringsläge om en) för totalt 32 bitar.
I föreliggande fall av arkitekturen ( z/Architecture ) är instruktionsadressen 64 bitar och PSW själv är 128 bitar.
PSW kan laddas med LOAD PSW-instruktionen ( LPSW eller LPSWE). Dess innehåll kan undersökas med Extract PSW-instruktionen (EPSW).
Formatera
S/360
På alla utom 360/20 har PSW följande format. S/360 Extended PSW-format gäller endast 360/67 med bit 8 i kontrollregister 6 inställd.
IBM S/360 PSW-format
S/360 Standard PSW
Systemmask
Nyckel
A
M
W
P
Avbrottskod
0
7
8
11
12
13
14
15
16
31
ILC
CC
Programmask _
Instruktionsadress
32
33
34
35
36
39
40
63
S/360 Standard PSW-förkortningar
Bits
Fält
Menande
0-7
SM
Systemmask
Bit
Menande
0
Kanal 0 mask
1
Kanal 1 mask
2
Kanal 2 mask
3
Kanal 3 mask
4
Kanal 4 mask
5
Kanal 5 mask
6
Kanal 6 mask
7
Extern mask
8-11
Nyckel
PSW-nyckel
12
A
ASCII
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16-31
IC
Avbrottskod
32-33
ILC
Instruktionslängdskod
34-35
CC
Tillståndskod
36-39
PM
Programmask
Bit
Menande
36
Brädda med fast punkt
37
Decimalspill
38
Exponentunderflöde
39
Betydelse
40-63
IA
Instruktionsadress
S/360 Extended PSW
reserv
24/32 - bitarsläge
Överför Ctrl
I/O- mask
Ext. Mask
Nyckel
A
M
W
P
ILC
CC
Programmask _
reserv
0
3
4
5
6
7
8
11
12
13
14
15
16
17
18
19
20
23
24
31
Instruktionsadress
32
63
S/360 Utökade PSW-förkortningar
Bits
Fält
Menande
0-3
Reserv (måste vara 0)
4
24/32-bitars adressläge
5
Översättningskontroll
6
IO
I/O-mask (sammanfattning)
7
EX
Extern mask (sammanfattning)
8-11
Nyckel
Skyddsnyckel
12
A
ASCII
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16-17
ILC
Instruktionslängdskod
18-19
CC
Tillståndskod
20-23
PM
Programmask
Bit
Menande
20
Brädda med fast punkt
21
Decimalspill
22
Exponentunderflöde
23
Betydelse
24-31
Reserv
32-63
IA
Instruktionsadress
S/370
IBM S/370 PSW-format
S/ 370 Grundläggande kontrollläge PSW
Chan. Mask
Jag O
E X
Nyckel
0
M
W
P
Avbrottskod
0
1
2
4
5
6
7
8
11
12
13
14
15
16
31
ILC
CC
Programmask _
Instruktionsadress
32
33
34
35
36
39
40
63
S/370 BC-läge PSW-förkortningar
Bits
Fält
Menande
0-5
Kanalmasker för kanalerna 0-5
6
IO
I/O-mask för kanaler > 5
7
EX
Extern mask
8-11
Nyckel
PSW-nyckel
12
E=0
Grundläggande kontrollläge _ _
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16-31
IC
Avbrottskod
32-33
ILC
Instruktionslängdskod
34-35
CC
Tillståndskod
36-39
PM
Programmask
Bit
Menande
36
Brädda med fast punkt
37
Decimalspill
38
Exponentunderflöde
39
Betydelse
40-63
IA
Instruktionsadress
/ 370 Utökat kontrollläge PSW
0
R
0
0
0
T
Jag O
E X
Nyckel
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
Instruktionsadress
32
39
40
63
S/370 EC-läge PSW-förkortningar
Bits
Fält
Menande
1
R
PER Mask
5
T
DAT-läge
6
IO
I/O-mask; föremål för kanalmask i CR2
7
EX
Extern mask; föremål för extern underklassmask i CR0
8-11
Nyckel
PSW-nyckel
12
E=1
Utökat kontrollläge _ _
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16
S
Adress-utrymmeskontroll 0=primärt utrymmesläge 1=Sekundärt utrymmesläge
18-19
CC
Tillståndskod
20-23
PM
Programmask
Bit
Menande
20
Brädda med fast punkt
21
Decimalspill
22
Exponentunderflöde
23
Betydelse
40-63
IA
Instruktionsadress
S/370 utökad arkitektur (S/370-XA)
IBM Extended Architecture (XA) PSW-format
Utökad arkitektur Utökat kontrollläge PSW
0
R
0
0
0
T
Jag O
E X
Nyckel
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
A
Instruktionsadress
32
33
63
S/370-XA EC-läge PSW-förkortningar
Bits
Fält
Menande
1
R
PER Mask
5
T
DAT-läge
6
IO
I/O-mask; föremål för kanalmask i CR2
7
EX
Extern mask; föremål för extern underklassmask i CR0
8-11
Nyckel
PSW-nyckel
12
E=1
Utökat kontrollläge _ _
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16
S
Address-Space Control 0=primärt mellanslagsläge 1=Sekundärt mellanslagsläge
18-19
CC
Tillståndskod
20-23
PM
Programmask
Bit
Menande
20
Brädda med fast punkt
21
Decimalspill
22
Exponentunderflöde
23
Betydelse
32
A
Adresseringsläge 0=24 bitar; 1=31 bitar
33-63
IA
Instruktionsadress
Enterprise Systems Architecture (ESA)
IBM Enterprise Systems Architecture (ESA) PSW-format
Enterprise Systems Architecture Utökat kontrollläge PSW
0
R
0
0
0
T
Jag O
E X
Nyckel
1
M
W
P
SOM
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
A
Instruktionsadress
32
33
63
ESA EC-läge PSW-förkortningar
Bits
Fält
Menande
1
R
PER Mask
5
T
DAT-läge
6
IO
I/O-mask; föremål för kanalmask i CR2
7
EX
Extern mask; föremål för extern underklassmask i CR0
8-11
Nyckel
PSW-nyckel
12
E=1
Utökat kontrollläge _ _
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16-17
SOM
Address-Space Control 00=primärt utrymmesläge 01=Åtkomstregisterläge 10=Sekundärt utrymmesläge 11=Home-spaceläget
18-19
CC
Tillståndskod
20-23
PM
Programmask
Bit
Menande
20
Brädda med fast punkt
21
Decimalspill
22
Exponentunderflöde
23
Betydelse
32
A
Adresseringsläge 0=24 bitar; 1=31 bitar
33-63
IA
Instruktionsadress
z/Arkitektur
IBM z/Architecture PSW-format
z/Arkitektur lång PSW
0
R
0
0
0
T
Jag O
E X
Nyckel
0
M
W
P
SOM
CC
Programmask _
R I
0
0
0
0
0
0
E A
0
1
2
4
5
6
7
8
11
12
13
14
15
16
17
18
19
20
23
24
30
31
B A
0
32
33
63
Instruktionsadress
64
95
Instruktionsadress (fortsättning)
96
127
Långa PSW-förkortningar
Bits
Fält
Menande
1
R
PER Mask
5
T
DAT-läge
6
IO
I/O-mask
7
EX
Extern mask
8-11
Nyckel
PSW-nyckel
12
E=0
Måste vara noll för LPSWE
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16-17
SOM
Address-Space Control 00=primärt utrymmesläge 01=Åtkomstregisterläge 10=Sekundärt utrymmesläge 11=Home-spaceläget
18-19
CC
Tillståndskod
20-23
PM
Programmask
Bit
Menande
20
Brädda med fast punkt
21
Decimalspill
22
HFP Exponent underflöde
23
HFP Betydelse
24
RI
Reserverad för IBM
31
EA
Utökat adresseringsläge 0=definieras av BA nedan; 1=64-bitar, BA måste vara noll
32
BA
Grundläggande adresseringsläge 0=24 eller 64; 1=31
64-127
IA
Instruktionsadress
z/Arkitektur kort PSW
0
R
0
0
0
T
Jag O
E X
Nyckel
1
M
W
P
SOM
CC
Programmask _
R I
0
0
0
0
0
0
E A
0
1
2
4
5
6
7
8
11
12
13
14
15
16
17
18
19
20
23
24
25
30
31
B A
Instruktionsadress
32
33
63
Korta PSW-förkortningar
Bits
Fält
Menande
1
R
PER Mask
5
T
DAT-läge
6
IO
I/O-mask
7
EX
Extern mask
8-11
Nyckel
PSW-nyckel
12
E=1
Måste vara en för LPSW
13
M
Maskinkontrollmask
14
W
Vänteläge
15
P
Problemtillstånd
16-17
SOM
Address-Space Control 00=primärt utrymmesläge 01=Åtkomstregisterläge 10=Sekundärt utrymmesläge 11=Home-spaceläget
18-19
CC
Tillståndskod
20-23
PM
Programmask
Bit
Menande
20
Brädda med fast punkt
21
Decimalspill
22
HFP Exponent underflöde
23
HFP Betydelse
24
RI
Reserverad för IBM
31
EA
Utökat adresseringsläge 0=definieras av BA nedan; 1=64-bitar, BA måste vara noll
32
BA
Grundläggande adresseringsläge 0=24 eller 64; 1=31
33-63
IA
Instruktionsadress
Anteckningar
S360
IBM System/360 Principles of Operation (PDF) (åttonde upplagan). IBM. September 1968. A22-6821-7.
func67
IBM System/360 Model 67 Functional Characteristics (PDF) (tredje upplagan). IBM. Februari 1972. GA27-2719-2.
S370
IBM System/370 Principles of Operation (PDF) (elfte upplagan). IBM. September 1987. A22-7000-10.
S370-XA
IBM System/370 Extended Architecture Principles of Operation (PDF) (andra upplagan). IBM. Januari 1987. SA22-7085-1.
S370-ESA
IBM Enterprise Systems Architecture/370 Operationsprinciper (PDF) (första upplagan). IBM. Augusti 1988. SA22-7200-0.
z
z/Architecture Principles of Operation (PDF) (Trettonde upplagan). IBM. September 2019. SA22-7832-12.