| Assembleur 370 |
CVB |
| Convert to Binary |
Syntaxe
Paramètres
| Nom |
Description |
| R1 |
Ce paramètre permet d'indiquer un registre impair, utilisé avec le registre pair juste avant lui (R1-1:R1) pour recevoir le résultat binaire signé sur 64 bits. Exemple : si vous écrivez CVB R3, ... → résultat dans les registres R2:R3. |
| D2(X2,B2) |
Ce paramètre permet d'indiquer l'adresse de l'opérande packed decimal à convertir : D2 : déplacement, X2 : registre d'index (facultatif), B2 : registre de base et Adresse effective = D2 + (X2) + B2. |
Description
Cette instruction permet d'effectuer la conversion d'un décimal, contenu dans une opérande, à un nombre binaire retourner dans un registre.
Remarques
- CVB permet de convertir un nombre décimal codé en packed decimal (BCD) en un entier binaire signé. Elle est couramment utilisée pour interpréter les données financières ou
comptables en format machine. C'est une instruction de conversion essentielle en environnement commercial.
- Le résultat de la conversion est stocké dans une paire de registres : R1 et le registre pair précédent (R1-1). Cela permet de stocker un entier signé sur 64 bits,
suffisant pour de très grandes valeurs. R1 doit toujours être un registre impair, sinon l'instruction est invalide.
- L'adresse source de l'opérande packed est calculée via D2 + (X2) + B2, comme pour les autres instructions d'accès mémoire. Cela permet une grande souplesse d'adressage,
notamment en itérant sur des tableaux ou structures. Le champ X2 est facultatif et peut être laissé à zéro.
- Le format packed decimal stocke deux chiffres par octet, avec un demi-octet réservé au signe. CVB extrait cette représentation, la décode, et produit une valeur
binaire utilisable en arithmétique. Elle facilite les interactions entre données humaines et données machines.
- Si la donnée à convertir est incorrectement formatée ou trop grande pour tenir dans 64 bits, un overflow ou une erreur peut survenir. Il est donc crucial de valider
les longueurs et formats avant l'exécution. Une bonne gestion des erreurs est indispensable dans les traitements comptables.
- Contrairement à d'autres instructions, CVB ne modifie aucun indicateur de condition (condition code). Cela signifie qu'elle ne peut pas être directement utilisée dans
un test conditionnel. Un test explicite sur le résultat est nécessaire.
- L'instruction est souvent utilisée en tandem avec CVD (Convert to Decimal) pour des aller-retours entre les formats binaires et packed. Cela permet de manipuler les
valeurs en binaire pour les calculs, puis de les restituer dans leur format original. C'est un duo courant dans les programmes financiers.
- CVB simplifie le travail du programmeur en gérant automatiquement la conversion des formats complexes, évitant des boucles manuelles de décodage. Elle offre une solution
performante et fiable pour les applications de gestion. Son utilisation est fréquente dans les systèmes IBM orientés vers la gestion de fichiers maîtres ou de masse.
Dernière mise à jour : Mardi, le 22 août 2017