HLASM - BCR = Branch on Condition Register

De opcode van de BCR instructie is X'07'.

Gebruik

Deze instructie implementeert de IF-functie door een deel van de programma-logica conditioneel over te slaan. Evenzeer kan de instructie een programma-lus implementeren door conditioneel terug te springen.

  1. Conditoneel vooruit springen om een stuk programma-logica over te slaan.
  2. Conditoneel terug springen om een stuk programma-logica te herhalen.

Argumenten

  1. 4-bit conditie masker (in de instructie).
  2. Routine adres (in een register).

Functie

  1. De processor gebruikt de twee-bit conditie code uit het PSW als een index in het 4-bits conditie masker.
  2. Als het geselecteerde masker-bit één is, dan springt zij naar het adres in het tweede argument. Als het bit nul is, dan gaat de processor verder met de volgende instructie.
  3. De conditie code wijzigt niet.

Uitzonderingen

  1. Als het routine-adres is opgegeven in register 0, dan zal de processor sowieso niet springen.
  2. Als het routine-adres is opgegeven in register 0, EN het conditie masker is B'1111', dan zal de processor niet springen maar een in plaat daarvan een serialisatie-functie uitvoeren.

Overzicht van regels mbt conditie-masker en register nummer

  Masker = B'0000' B'0000' < Masker < B'1111' Masker = B'1111'
R0 Spring nooit nergens heen Spring misschien nergens heen Spring altijd nergens heen
(Serialisatie-functie)
R1-R15 Spring nooit ergens heen Spring misschien ergens heen Spring altijd ergens heen

Gerelateerde instructies

  1. BC springt naar een locatie die direct adresseerbaar is in base-displacement vorm.
  2. BASR en BALR verwachten beide dat het aangeroepen programma terugkeert middels een BCR instructie.

Hardware

  1. Alle hardware ondersteunt de BCR instructie.

Opmerkingen

  1. De Amode van het PSW bepaalt hoeveel bits gebruikt worden voor het routine adres.
  2. HLASM ondersteund diverse zogeheten extended mnemonics die een impliciet conditie-masker in zich dragen. Voor een overzicht hiervan zie de lijst van extended mnemonics voor BCR.

Voorbeelden

         YREGS                          * Define register names
         ...
         BCR   B'1000',R5               * Branch in case....
         ...
         BCR   B'1111',R14              * Return to caller
         ...

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.
Rennende Tyrannosaurus Rex 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.