Cod de întrerupere
Codul Întrerupere - numere binare care sunt atribuite la fiecare nivel, combină mai multe surse de întrerupere, și vă permite să întrerupeți programul pentru a determina ce sursă a cauzat întreruperea la acest nivel. De obicei, codul de întrerupere este trimis automat de hardware într-un registru special, comun tuturor nivelurilor. Având în vedere că noua întrerupere are loc în momentul în care codul de întrerupere anterioară nu este utilizat pe deplin programul întrerupt, codul trebuie să fie menținută. [1]
Codul de întrerupere determină cauza cauzei întreruperii: I / O, o eroare în program, acces la supraveghetor, un semnal extern, un semnal de la circuitele de control al mașinii. Codul de întrerupere de la circuitele de comandă a mașinii este zero. [2]
Codul de întrerupere și codul lungimii comenzii pentru întrerupere sunt introduse în vechiul PSW. Excepția este PSW, care este memorată atunci când întrerupeți schemele de control. La fel ca în Sistemul 360, întreruperea de la canalele 0 la 5 este controlată de 0 până la 5 biți PSW; și de memorie permanentă comandă bits CHEIE 29 și 30 din registru Ri tratament biții corespunzători sau modificări sunt setate la zero. Cu toate acestea, în timpul întreruperilor asociate cu caracteristici extinse sau noi, o serie de celule suplimentare, permanente distribuite de memorie principale, inclusiv stocarea de cod circuite de control întrerupere, precum și codul referitor la monitor și numerele de clasă monitor din monitor de apel. [3]
Un cod de întrerupere poate fi folosit pentru a trimite un mesaj de la un program de întrerupere la supraveghetor. [4]
Codul de întrerupere (biți 16-31) indică pentru clasa de întrerupere dată cauza reală (sursa) a cererii de întrerupere. [5]
Codul de întrerupere (biți 16-31) indică pentru clasa de întrerupere dată cauza reală (sursa) a cererii de întrerupere. [6]
Codul de întrerupere din actualul SSP nu are sens, deoarece este generat în timpul întreruperii și este stocat în celulele alocate BSC-ului vechi. Codul lungimii comenzii se obține prin modificarea primelor două cifre ale codului de operare al comenzii care se execută. Fixarea codului de întrerupere în cuvântul de stare al programului se face în conformitate cu datele din tabel. 7.1 și numai atunci când este stocată în celulele mașinii OP. [7]
Dacă codul de întrerupere este 1 6, se face o încercare de a elimina încălcarea limitei și de a continua executarea programului. [8]
Valoarea codului de întrerupere ajută la determinarea cauzei întreruperii. Când întrerupe IO biți de 16 - 20 sunt umplute cu zerouri, biții 21 - 23 definesc numărul canalului și biți 24 - dispozitiv 31 -număr în acest canal. [9]
În biții de cod de întrerupere de la schemele de control hardware care nu sunt definiți sau nu sunt utilizați într-un anumit model, sunt scrise zerouri. [10]
Pentru memorarea codului de întrerupere și a codului lungimii comenzii, în timpul întreruperilor anumitor clase, sunt alocate celule individuale din memoria principală. Comanda READ MEMORY KEY furnizează valorile biților de acces și schimbare. [11]
În biții de cod de întrerupere din schemele de control care nu sunt utilizați deloc sau nu sunt implicați într-un anumit model, sunt scrise zerouri. [13]
Sa constatat că codul de întrerupere din schemele de control este eronat. [14]
Mai jos sunt 15 coduri de întrerupere. stocate în PSW și care caracterizează cauza întreruperii. [15]
Pagini: 1 2 3 4