| Assembleur 370 |
UNPK |
| Unpack |
Syntaxe
Paramètres
| Nom |
Description |
| D1(L1,B1) |
Ce paramètre permet d'indiquer une zone destination (format zoné, généralement alphanumérique). D1 : Déplacement (offset), L1 : Longueur de la zone en octets, B1 : Registre de base. |
| D2(L2,B2) |
Ce paramètre permet d'indiquer une zone source (en format packed). D2 : Déplacement. L2 : Longueur de la zone packed (chaque octet contient 2 chiffres sauf le dernier, qui contient un chiffre + le signe). B2 : Registre de base. |
Description
Cette instruction permet de copier un bloc de données compacté dans un bloc de données en décimal.
Remarques
- L'instruction UNPK sert à convertir une donnée en format packed (compressé) vers un format zoné (alphanumérique). Chaque chiffre du format packed est séparé dans
des octets distincts pour la zone destination. C'est une opération essentielle pour l'affichage ou la manipulation de données numériques en texte.
- Le format packed encode deux chiffres par octet, sauf le dernier octet contenant un chiffre et un code de signe. Le format zoné, lui, entrepose un chiffre par octet,
souvent accompagné d'un code EBCDIC dans les 4 bits de poids fort. UNPK gère cette conversion tout en respectant les conventions de codage IBM.
- La zone source (packed) est spécifiée par D2(L2,B2) et peut contenir des longueurs impaires. La zone destination (zonée) définie par D1(L1,B1) doit être suffisamment
grande pour recevoir tous les chiffres. Si elle est plus longue, elle est complétée par des zéros à gauche.
- Le dernier chiffre packed, contenant également le signe, est traité de manière spéciale. UNPK décode ce signe et le entrepose en position adéquate dans la zone zonée.
Cela permet de reconstruire une valeur signée dans un format lisible ou imprimable.
- Cette instruction est souvent utilisée avant une opération d'affichage, car les formats packed sont compacts mais illisibles.Grâce à UNPK, les programmes peuvent
formater des montants ou des nombres pour une sortie imprimée ou écran. Elle est aussi utile pour des fonctions de tri ou comparaison textuelle.
- Si la zone destination est plus grande que nécessaire, UNPK effectue un remplissage par zéros à gauche (padding). Cela permet de produire des chaînes de chiffres
correctement alignées. C'est particulièrement utile pour l'édition ou l'impression de colonnes numériques.
- Le codage zoné utilise généralement le code EBCDIC, mais seuls les 4 bits de poids faible contiennent le chiffre. Les bits de poids fort peuvent être mis à zéro, ou
contenir des indicateurs (comme F pour numérique, D pour signe). UNPK place automatiquement les valeurs conformes.
- UNPK est souvent utilisée en complément de l'instruction PACK, qui fait l'opération inverse (zoné → packed). Ensemble, elles permettent de convertir et reformater
les données selon le contexte (entreposage, calcul, affichage). Ces instructions sont fondamentales dans les traitements financiers et commerciaux sur mainframe.
Dernière mise à jour : Mardi, le 22 août 2017