冗長命令
この命令は冗長F命令です。次の命令に置き換わっています:FP_ASCII_TO_HEX
実行条件ENがONのとき、s1で指定されたエリアに格納されているASCIIコードを16進数の数値データに変換します。s2で指定されたバイト数分を変換します。変換結果は、dで指定されたエリアに格納されます。アスキーコードは、1つの16進文字を表わすのに 8ビット(1バイト)必要です。変換の結果、データ長は変換前の半分になります。
入力
アスキーコードが格納されている16ビットエリアの先頭アドレス (変換元)
変換するバイト数
出力
変換データを格納する16ビットエリアの先頭アドレス (変換結果)
F命令を使用する代わりに、対応するFP7命令を使用することをおすすめします。FP_ASCII_TO_HEX ASCII -> 16進変換
アスキーコード2文字分が、1バイトの数値2桁に変換されます。このとき、上位の文字と下位の文字が入れ替わります。4文字分を一区切りにして変換します。
変換データは、バイト単位で格納されます。奇数が変換されると、変換結果の終端データのビット0~3に"0"が入力されます。変換バイト数が奇数の場合の動作:
ASCIIコードと16進数の対応表
ASCIIコード |
16進数 |
---|---|
16#30 16#31 16#32 16#33 16#34 16#35 16#36 16#37 16#38 16#39 16#41 16#42 16#43 16#44 16#45 16#46 |
0 1 2 3 4 5 6 7 8 9 A B C D E F |
s2で指定したバイト数が、s1で指定したエリアを超えるとき
変換結果がdで指定したエリアを超えるとき
s2 で指定したデータが"0"のとき
アスキーコード中に、0~F以外の文字コードがあるとき
s2で指定したバイト数が、s1で指定したエリアを超えるとき
変換結果がdで指定したエリアを超えるとき
s2 で指定したデータが"0"のとき
アスキーコード中に、0~F以外の文字コードがあるとき