Instruction redondante
Instruction redondante remplacée par : FP_DEC_TO_ASCII
Cette instruction convertit les données 32 bits désignées par s1 en code ASCII exprimant des valeurs décimales équivalentes. Le résultat de la conversion est sauvegardé dans la zone à partir de la zone de 16 bits désignée par d_Start comme indiqué par s2_Number. s2_Number indique le nombre d’octets de la zone de destination (décimales).
Entrée
Zone de données de 32 bits qui doivent être converties (source)
Indique le nombre d’octets exprimant les données de destination (codes ASCII)
Sortie
Zone de 16 bits pour sauvegarder les codes ASCII (destination)
Au lieu d’utiliser cette instruction F, nous recommandons d’utiliser l’instruction FP7 correspondante : FP_DEC_TO_ASCII
Lorsqu’un nombre positif est converti, le signe "+" n’est pas converti.
Lorsqu’un nombre négatif est converti, le signe "-" est également converti en code ASCII (code ASCII HEX : 16#2D).
Si la zone désignée par s2_Number est plus grande que celle nécessaire aux données converties, le code ASCII pour "SPACE" (code ASCII HEX: 16#20) est sauvegardé dans une autre zone.
Les données sont sauvegardées dans le sens de la dernière adresse. La position du code ASCII peut ainsi varier en fonction de la taille de la zone de sauvegarde.
Si le nombre d’octets des codes ASCII après conversion (signe moins inclus) est supérieur au nombre d’octets indiqué par s2_Number, une erreur de fonctionnement apparaît. Vérifiez que le signe est pris en compte lorsque l’objet de la conversion est défini pour s2_Number.
Exemple de conversion d’un nombre négatif du format décimal 32 bits en codes ASCII
Caractères décimaux exprimant un code ASCII HEX :
Caractères décimaux |
Code ASCII HEX |
---|---|
ESPACE + - 0 1 2 3 4 5 6 7 8 9 |
16#20 16#2B 16#2D 16#30 16#31 16#32 16#33 16#34 16#35 16#36 16#37 16#38 16#39 |
Si le nombre d’octets désigné par s2_Number est supérieur à la zone spécifiée par d_Start.
Si la valeur désignée par s2_Number est identifiée comme étant "0".
Si le résultat de la conversion est supérieur à la zone désignée par d_Start.
Si le nombre d’octets du résultat de la conversion est supérieur au nombre d’octets indiqué par s2_Number.
Si le nombre d’octets désigné par s2_Number est supérieur à la zone spécifiée par d_Start.
Si la valeur désignée par s2_Number est identifiée comme étant "0".
Si le résultat de la conversion est supérieur à la zone désignée par d_Start.
Si le nombre d’octets du résultat de la conversion est supérieur au nombre d’octets indiqué par s2_Number.