HLASM - BASSM = Branch And Save and Set Mode
De opcode van de BASSM instructie is X'0C'.
Gebruik
- Aanroep van een subroutine in een andere Amode.
- Verkrijgen van het huidig adres en de Amode uit het PSW.
Argumenten
- Terugkeer-adres (in een register).
- Routine-adres (in a register).
Functie
- De processor plaatst het adres van de byte die volgt op de BASSM
instructie (dit is zowel het eerstvolgende sequentiële instructie
adres als het verwachtte terugkeer-adres) in het eerste register.
De huidige Amode wordt als volgt aan dit adres toegevoegd:
- in Amode 24 wordt het high-order bit van het 32-bit register op 0 gesteld.
- in Amode 31 wordt het high-order bit van het 32-bit register op 1 gesteld.
- in Amode 64 wordt het low-order bit van het 64-bit register op 1 gesteld.
- De processor schakelt over naar de Amode die in het routine-adres is
gespecificeerd en springt vervolgens naar het routine-adres.
De nieuwe Amode wordt als volgt bepaald:
- Als het low-order bit van het register 1 is,
dan schakelt de processor over naar Amode 64.
- Als de high-order bit van het register 0 is en het high-order bit van
het 32-bit register 1 is, dan schakelt de processor over naar
Amode 31.
- Als de high-order bit van het register 0 is en het high-order bit van
het 32-bit register ook 0 is, dan schakelt de processor over naar
Amode 24.
- De conditie code wijzigt niet.
Uitzonderingen
- Als het terugkeer-adres in register 0 is opgegeven, dan slaat de processor
dee eerste aktie over.
- Als het routine-adres in register 0 is opgegeven, dan verandert de processor
niet van Amode, en zij voert ook geen sprong uit; in plaats daarvan gaat zij
verder met de eerstvolgende instructie.
Gerelateerde instructies
- BSM is de aanbevolen terugkeer-instructie.
- BASR springt naar een routine waarvan bekend is dat
die in dezelfde Amode draait als de aanroeper.
Hardware
- De BASSM instructie wordt ondersteund sinds de invoering van de 370/XA
architectuur.
Opmerkingen
- De oude Amode van het PSW bepaalt hoeveel bits gebruikt worden voor het
terugkeer-adres. Echter in Amode 24 wordt een 31-bits adres gegenereerd.
- De nieuwe Amode van het PSW bepaalt hoeveel bits van het routine-adres
gebruikt worden.
- Als de nieuwe Amode 64 is, dan wordt het terugkeer-adres even gemaakt
(alle instructies moeten op een even adres liggen) door het low-order bit
van een 1 in een 0 te veranderen.
Voorbeelden
YREGS * Define register names
...
LOAD EP=SUBRTN * Returns dirty address in R0
LR R15,R0 * Copy address + new Amode
BASSM R14,R15 * Call subroutine in correct Amode
...
YREGS * Define register names
...
BASSM R6,R0 * Obtain address + current Amode
...
Naar het Opcodes overzicht.
Naar de Nederlandse Homepage voor Hlasm.com.
Naat de Algemene Homepage voor Bixoft en Hlasm.com.
Deze site is aangesloten bij WebRing.
Bekijkt u gerust de
lijst van mainframe-gerelateerde sites.
|
|
Dino's zijn niet dood. Ze zijn gezond en wel en leven in computer-centra overal
om ons heen. Zij spreken in tongen en doen wonderbare magie met computers.
Pas op voor de dino! En voor het geval u zit te wachten op het definitieve
einde van deze dino's: onthoud dat dino's de wereld 155 miljoen jaren hebben
geregeerd!
|
Dino's en andere anachronismen
[ Aanmelden
| Ring Overzicht
| Willekeurig
|
<< Vorige
|
Volgende >>
]
|
Hieronder vindt u het logo van onze
sponsor
en logos van web-standaarden waaraan deze web-pagina voldoet.