文字列転送命令を使用して標準ライブラリ関数である文字列連結関数の動作を演算処理装置により行う方法であって、演算処理装置が、記憶領域における文字列の連結先アドレス、記憶領域における連結元アドレス、及び、連結する文字サイズを入力データとするステップと、前記連結先アドレスに文字サイズを加算することにより、転送後の末尾のアドレスを得るステップと、前記文字サイズに1を加算することにより、1を加算された文字サイズを得るステップと、前記転送後の末尾のアドレス、前記連結元アドレス、及び、前記1を加算された文字サイズR31を入力データとして、文字列転送命令を実行するステップと、実行後、前記1を加算された文字サイズ分全て転送できたか否かを判断するステップと、全て転送できた場合に転送後の末尾の文字に0を上書きするステップと、を有することを特徴とする文字列転送命令を用いて文字列連結関数の動作を行う方法。請求項1において、全て転送できた場合に転送後の末尾の文字に0を上書きするステップに替えて、実行後の転送する文字サイズR3の値を判定して、ゼロ以外であれば、0を上書きしないステップを有することを特徴とする文字列転送命令を用いて文字列連結関数の動作を行う方法。文字列転送命令を使用して標準ライブラリ関数である文字列連結関数の動作を演算処理装置に行わせるプログラムであって、演算処理装置に、記憶領域における文字列の連結先アドレス、記憶領域における連結元アドレス、及び、連結する文字サイズを入力データとする機能と、前記連結先アドレスに文字サイズを加算することにより、転送後の末尾のアドレスを得る機能と、前記文字サイズに1を加算することにより、1を加算された文字サイズを得る機能と、前記転送後の末尾のアドレス、前記連結元アドレス、及び、前記1を加算された文字サイズR31を入力データとして、文字列転送命令を実行する機能と、実行後、前記1を加算された文字サイズ分全て転送できたか否かを判断する機能と、全て転送できた場合に転送後の末尾の文字に0を上書きする機能と、を実現させることを特徴とする文字列転送命令を用いて文字列連結関数の動作を行うプログラム。請求項3において、全て転送できた場合に転送後の末尾の文字に0を上書きする機能に替えて、実行後の転送する文字サイズR3の値を判定して、ゼロ以外であれば、0を上書きしない機能を実現させることを特徴とする文字列転送命令を用いて文字列連結関数の動作を行うプログラム。RXファミリRX600シリーズCPU命令セットでは、文字列操作に特化した命令、すなわち文字列操作命令が用意されている。しかし、このRXファミリCPUの文字列操作命令は、RXファミリRX600シリーズ向けC/Cコンパイラ以降、RXCコンパイラと呼ぶにより、C/C言語で記述されたソースをコンパイルした場合には、生成されない。これは、文字列操作命令の動作が複雑で、C/C言語に直接当てはめることができないためである。本発明の目的は、RXCコンパイラが用意する標準ライブラリ関数のうち文字列連結を行うstrncat関数に対して、文字列操作命令であるSMOVU命令を直接当てはめてstrncat関数の動作を実現し、strncat関数のオブジェクトサイズを増やすことなく、実行サイクル数を大幅に削減するプログラムを提供することにある。上記目的を達成するために、本発明は、以下の構成を提供する。本発明の第1の態様は、文字列転送命令を使用して標準ライブラリ関数である文字列連結関数の動作を演算処理装置により行う方法であって、演算処理装置が、記憶領域における文字列の連結先アドレス、記憶領域における連結元アドレス、及び、連結する文字サイズを入力データとするステップと、前記連結先アドレスに文字サイズを加算することにより、転送後の末尾のアドレスを得るステップと、前記文字サイズに1を加算することにより、1を加算された文字サイズを得るステップと、前記転送後の末尾のアドレス、前記連結元アドレス、及び、前記1を加算された文字サイズR31を入力データとして、文字列転送命令を実行するステップと、実行後、前記1を加算された文字サイズ分全て転送できたか否かを判断するステップと、全て転送できた場合に転送後の末尾の文字に0を上書きするステップと、を有することを特徴とする。上記において、全て転送できた場合に転送後の末尾の文字に0を上書きするステップに替えて、実行後の転送する文字サイズR3の値を判定して、ゼロ以外であれば、0を上書きしないステップを有することが、好適である。本発明の第2の態様は、文字列転送命令を使用して標準ライブラリ関数である文字列連結関数の動作を演算処理装置に行わせるプログラムであって、演算処理装置に、記憶領域における文字列の連結先アドレス、記憶領域における連結元アドレス、及び、連結する文字サイズを入力データとする機能と、前記連結先アドレスに文字サイズを加算することにより、転送後の末尾のアドレスを得る機能と、前記文字サイズに1を加算することにより、1を加算された文字サイズを得る機能と、前記転送後の末尾のアドレス、前記連結元アドレス、及び、前記1を加算された文字サイズR31を入力データとして、文字列転送命令を実行する機能と、実行後、前記1を加算された文字サイズ分全て転送できたか否かを判断する機能と、全て転送できた場合に転送後の末尾の文字に0を上書きする機能と、を実現させることを特徴とする。上記において、全て転送できた場合に転送後の末尾の文字に0を上書きする機能に替えて、実行後の転送する文字サイズR3の値を判定して、ゼロ以外であれば、0を上書きしない機能を実現させることが、好適である。RXファミリRX600シリーズCPU命令セットの文字列操作命令を用いてRXCコンパイラにおける標準ライブラリ関数であるstrncat関数の動作を実現する本発明の方法及びプログラムには、次のような効果がある。連結する文字数を1文字分増やすことで、連結後の余分なメモリアクセスを発生させない。また、連結した文字に0が含まれるかを判断するコストを不要とする。この結果、strncat関数のオブジェクトサイズは、実行速度優先の場合に、使用前の69バイトに対して、使用後には、37バイトに縮小できる。加えて、実行速度数は、使用前と比較して、100文字を連結する場合、約128分の1に短縮できる。本発明は、RXCコンパイラが用意する標準ライブラリ関数のうち文字列連結を行う文字列連結関数であるstrncat関数に対して、文字列操作命令を直接当てはめることによりstrncat関数の動作を実現する方法及びプログラムであり、演算処理装置により実行される。文字列操作命令として、文字列転送命令であるSMOVU命令を用いる。本発明の実施形態を説明するに先立って、文字列連結を行うstrncat関数の動作図1A、図1B、図2及び文字列転送命令であるSMOVU命令の動作図3、図4を説明する。図1Aは、標準ライブラリ関数のうち、文字列連結を行なうstrncat関数の動作を示したフローチャートである。strncat関数は、記憶領域における連結先アドレスp、記憶領域における連結元アドレスS2、及び、連結するすなわち転送する文字サイズバイト数Nを入力データとするステップ11。そして、連結先アドレスpの文字列の終端に、連結元アドレスS2の文字列を、NN>0を上限の文字サイズとして連結する動作を行う。先ず、連結する連結元アドレスS2の文字サイズが0より大きいか否かを判断するステップ12。文字サイズが0の場合は、連結先アドレスpの終端に0を付加するp=0ステップ13。ステップ12において、文字サイズが0より大きい場合は、連結する文字列が0であるか否かを判断するステップ14。連結する文字列が0の場合は、連結先アドレスpの終端に0を付加するp=0ステップ13。ステップ14において、連結する文字列が0でない場合は、連結先アドレスpに連結元アドレスから1文字転送するステップ15。続いて、連結先アドレスを更新しp、連結元アドレスを更新しS2、文字サイズNを1つ減らすN。その後、ステップ12に戻り、処理を繰り返す。こうして得られるstrncat関数の返却値は、連結先アドレスpの値となる。図1Bは、図1Aのフローチャートに相当するstrncat関数の動作をC言語のソースで示した図である。本発明では、strncat関数の動作を実現するために、図1BのC言語で示したソースから作成される命令は使用せずに、文字列操作命令のうち文字列検索命令であるSUNTILB命令、及び、文字列転送命令であるSMOVU命令を使用する。なお、図1BのC言語のソースでは、連結先アドレスpの文字列の終端を指すために、S1の文字列長として標準ライブラリ関数strlenを使用しているが、これにも文字列操作命令を使用する。図2は、strncat関数をRXファミリCPU命令で示した図である。図2では、文字列を連結するために、連結する文字サイズ分だけ、文字転送を繰り返している。そのため、繰り返しのために分岐する命令の実行コストが、文字サイズ分だけ必要となる。また、もし、分岐をさせずに、文字転送のみを連続実行させた場合には、転送する回数分だけ、命令のサイズが増えることとなる。図3は、RXファミリCPUの文字列操作命令であるSMOVU命令の動作を示したフローチャートである。SMOVU命令は、記憶領域における文字列の連結先アドレスR1、記憶領域における連結元アドレスR2、及び、連結する転送する文字サイズR3を入力データとするステップ31。そして、R2を転送元アドレスとして、R1の転送先アドレスに、0が検出されるまで、R3を上限の転送サイズバイト数として、アドレス加算方向に文字列転送を行なう。ただし、命令実行後のR1R2の値は不定となる。先ず、連結する連結元アドレスR2の文字サイズが0より大きいか否かを判断するステップ32。文字サイズが0の場合は、処理を終える。ステップ32において、文字サイズが0より大きい場合は、連結先アドレスR1に連結元アドレスから1文字転送するステップ33。続いて、連結先アドレスR1を更新しR1、連結元アドレスR2を更新しR2、文字サイズR3を1つ減らすR3ステップ34。次に、連結した文字が0であるか否かを判断するステップ35。文字が0である場合は、処理を終える。ステップ35において文字が0でない場合は、ステップ32に戻り、処理を繰り返す。本発明では、strncat関数の動作を実現するために、文字列の連結処理においてこのSMOVU命令を使用する。図4は、strncat関数を、SMOVU命令を使用して実現した場合を示した図である。各行の処理を順に説明する。SUNTILB命令で検索する文字のデータとして、連結元アドレスR2にゼロをMOVL命令で代入する。SUNTILB命令で検索する回数の上限として、文字サイズR3に最大値である0xffffffffを代入する。SUNTILB命令で0を検索した後は、連結先アドレスR1に0の次のアドレスが設定される。0のアドレスを、転送開始位置にするため、SUB命令で連結先アドレスR1に設定されたアドレス値を減算する。転送後に、連結した文字列の末尾を0とするために、ADD命令で、転送開始位置連結文字数を加算して、そのアドレスを保持しておく。SMOVUで連結元の文字列を、指定された文字数R3分転送する。あるいは、0まで転送する。SMOVU実行後の文字サイズR3の値がゼロであれば、指定された文字数R3分を全て転送できたので、文字列の末尾の位置に0をMOVB命令で代入する。ただし、図4の方法では、strncat関数の仕様と食い違いが発生してしまう。図5Aは、strncat関数の仕様に合わない場合のプログラム例を示した図である。図5Aは、strncatS112304のstrncat関数を実行する場合の例である。aはstrncat関数の正しい動作、bはSMOVU命令を使用した場合の間違った動作をそれぞれ示している。このプログラムを実行した正しい動作結果では、aに示すように連結後の文字列はABC1230となるべきだが、実際にはbに示すようにSMOVU命令をそのまま使用した場合の間違った動作結果では、連結後の文字列がABC12300と連結部分の文字列の末尾に余分な0が付加されてしまう。これは、SUNTILB命令が、転送文字数の最後の文字4文字目として転送した0を、転送文字数に含めてしまうのが原因である。SUNTILB命令は、その動作の仕様として、最後に転送する文字が、0の場合と、0以外の場合との区別をしていない。そのため、SUNTILB命令の実行後に、最後に転送した文字が0か否かを判断して、0であれば、末尾に0を付加しないようにする必要がある。しかし、最後に転送した文字を判断するためには、そのアドレスを計算する命令と、アドレスを代入するレジスタ、計算したアドレスから値をロードする命令が必要となり、その分のコストが増えてしまう。これを踏まえて、strncat関数の仕様に合わせて、SMOVU命令の使用方法を変更する。図5Aのc、図5Bのb及び図5Cのbは、変更されたSMOVU命令の使用方法に基づく正しい動作結果を示した図である。図5B及び図5Cのaはstrncat関数の正しい動作である。なお、図5Bは、strncatS112303のstrncat関数を実行する場合の例であり、図5Cは、strncatS1123403のstrncat関数を実行する場合の例である。図6Aは、strncat関数の仕様に合わせて、SMOVU命令を使用した場合の動作を示したフローチャートである。図3と同様に、記憶領域における文字列の連結先アドレスR1、記憶領域における連結元アドレスR2、及び、連結する転送する文字サイズR3を入力データとする。先ず、転送後の末尾となるアドレスを求めるために、連結先アドレスに文字サイズを加算するR4=R1R3ステップ61。次に、文字サイズR3に1を加算するR3=R31ステップ63。その後、図3と同様にSMOVU命令を実行するステップ64。実行後、SMOVU命令により文字サイズ分全て転送できたか否かを判断するステップ65。文字サイズ分全て転送できた場合は、転送後の末尾の文字に0を上書きするR4=0ステップ66。文字サイズ分全て転送できなかった場合は、処理を終える。図6Bは、図6Aのフローチャートに相当し、strncat関数を、SMOVU命令を使用して実現した場合を示した図である。SMOVU命令の動作では、転送する文字が0か否かを判断する前に転送をするため、最後に転送した文字が0以外であったか否かを判断できない。そこで、0以外だった場合には、もう1文字を転送するように、転送する文字サイズに1を加算する。これにより、転送する文字サイズ分を全て転送できた場合には、本来の文字サイズ加算前の値の終端は、必ず0以外となる。この時、余分に1文字多く転送してしまっているが、この位置は、本来0を付加する位置なので、転送後に、0を上書きストアすればよいことになる図5Cb参照。もし、余分に転送した1文字が0の場合であっても、0を上書きストアするだけである図5Bb参照。転送する文字列の途中に0があった場合には、SMOVU命令の実行後の転送する文字サイズR3の値を判定して、ゼロ以外であれば、0を上書きストアしなければよい図5Ac参照。このように、SMOVU命令により、余分に1文字多く転送をしてしまうが、結果はstrncat関数と同じにすることが可能である。本発明によるSMOVU命令を使用してstrncat関数の動作を正しく実現する方法をまとめると次の通りとなる。iSMOVU命令で転送する文字サイズの文字数を1文字増やす指定された文字数よりも1文字多く転送する。iiSMOVU命令実行後の、残文字数がゼロであれば文字数分を全て転送できた場合、転送後の文字列の終端文字を0で上書きする。残文字数がゼロ以外であれば、転送する文字の途中に0があったことを示す0まで転送したことを示すので、0で上書きはしない。