Instructieset van IBM 360: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
Inleiding toegevoegd. |
kGeen bewerkingssamenvatting |
||
Regel 1:
Computerprogramma's worden meestal in een hogere programmeertaal geschreven.
De instructies van Systeem/360 zijn 2, 4 of 6 bytes lang. Geheugenadressen zijn alleen al vier bytes lang, zodat er behoefte is aan afkorting. Die wordt gerealiseerd door adressen op te bouwen uit de verwijzing naar een register, de "base", en een "displacement", ook "offset" genoemd. Om de 16 "general purpose" registers te onderscheiden zijn slechts 4 bits nodig, voor de "displacement" worden 12 bits gebruikt (zodat de maximale waarde 4095 is). Zo kunnen met 16 bits adressen tot 32 bits worden opgebouwd. Soms worden voor adressen ook twee registers gebruikt:
Systeem/360 machines (en hun opvolgers) kennen een "problem state" en een "supervisor state". De "problem state" is geen probleem, maar doelt op "probleem" in de zin van "vraagstuk". Sommige "gevaarlijke" instructies (gepriviligeerde instructies) zijn slechts beschikbaar in "supervisor state". Het is de bedoeling dat een gewoon toepassingsprogramma zichzelf niet in supervisor state kan brengen, al zijn er hackers die dat proberen. Het is de bedoeling dat alleen het besturingssysteem gepriviligeerde instructies uitvoert, maar een toepassingsprogramma kan daar wel om vragen met een "supervisor call" instructie, die echter slechts effect heeft na goedkeuring van het besturingssysteem. Zo kan het ene programma normaal gesproken het andere niet beëindigen
|