HLASM - CLCL = Compare Logical Characters Long
De opcode van de CLCL instructie is X'0F'.
Gebruik
- Vergelijk niet-numerieke gegevens-velden langer dan 256 bytes.
- Vergelijk niet-numerieke gegevens-velden van ongelijke lengte.
Argumenten
- Eerste veld en lengte (in een even-oneven registerpaar):
- Adres van het veld in het even register.
- Lengte van het veld in de low-order 24 bits van
het oneven 32-bit register.
- Tweede veld, lengte en aanvul-waarde (in een even-oneven registerpaar):
- Adres van het veld in het even register.
- Lengte van het veld in de low-order 24 bits van het oneven
32-bit register.
- Aanvul-waarde in de high-order 8 bits van het oneven 32-bit register.
Functie
- De processor vergelijkt de gegevens in de beide velden. Als de lengtes
ongelijk zijn, dan wordt het kortste veld behandeld alsof er zoveel extra
kopieën van de aanvulwaarde achter staan als nodig is om het even lang
te maken als het andere veld.
- De processor kan de volgende conditie codes afgeven:
- 0 = Velden zijn gelijk.
- 1 = Eerste operand is groter dan de tweede.
- 2 = Eerste operand is kleiner dan de tweede.
- 3 = Komt niet voor.
Uitzonderingen
- Als beide velden lengte 0 hebben, dan worden de velden beschouwd als gelijk.
Gerelateerde instructies
- CLC vergelijkt velden met een lengte van maximaal 256 bytes
zonder lengte-verschil.
- CLCLE vergelijkt velden langer dan 16M bytes.
Hardware
- De CLCL instructie zat niet in de originele instructie-set,
maar bestaat al heel erg lang.
Opmerkingen
- De Amode van het PSW bepaalt hoeveel bits gebruikt worden voor
de adressen van de beide velden.
- CLCL is een interrumpeerbare instructie. Dat wil zeggen dat de uitvoering
van de instructie onderbroken kan worden om later weer opnieuw opgestart
te worden door het operating system. Voor de programmeur is dit een
transparent proces, maar in dumps kunnen onvoltooide tussenresultaten zichtbaar
zijn. Dit komt doordat de processor de waardes in de vier registers
continu aanpast conform de voortgang van het vergelijkings-proces.
- Na uitvoering van de CLCL is de waarde van de vier input registers
gewijzigd.
Voorbeelden
YREGS * Define register names
...
L R0,TABLE * Point to field
L R1,TABLE_END * Point end of field
SR R1,R0 * Obtain length
XR R14,R14 * No comapre data required
XR R15,R15 * Length = 0, Pad = X'00'
CLCL R0,R14 * Whole table = X'00' ??
...
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.