since : 2001.11.1 Junk Shop
DataSlim2's Room
RexDKで、データスリム2のアドインを作る。
えっと、今回は数値を表示させる方法を調べてみました。
まず、DsSDKではsprintf()を使用して数値をキャラクターコードに置きかえることができましたが、RexDKではEW80の文法で書くとアセンブルエラーが出て使用できません。
DsSDKのsprintf()は、専用コンパイラEW80が持っている関数です。
RexDKの元になったz88dkにおいて同じ使い方ができなかっただけです。
そこで、サンプルプログラムが、どのような方法で数値を表示させているのか調べたところitoa()と言う関数が用意されていました。(int to asciiの略かな?)
以下のような書き方で使用できることを確認しました。
// RexDK Test Sample 3
// Print number
#include <rex/rex.h>
extern int __LIB__ DsPrintfe(int,int,int,char *);
void main(void){
char str[10]; //変換したコードを入れる変数を用意します。
int test=1240;
itoa(srt,test); //数値をASCIIコードに変換し、str[]に入れます。
DsPrtntfe( 10, 10, 0,str); //表示します。
while(1){
}
}
他にも、atol()、atoi()、atof()なども用意されています。
それから、DsSDKでデバッグ用に用意されているTRACEコマンドは使用できませんでした。
コンパイル&アセンブルエラーは出なかったので使えるようにする方法が有るのかもしれません。