[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00018] Re: サンプルソース



c.mosさんへ

アドバイスをいただきまして、ありがとうございます。

> > 単純にバイトオーダーの違うコンピュータで開発したソースなのかなと思ってい
> > るのですが、何か深い意味があるのでしょうか?
> 
> この問題は、'★' のような、2バイト文字定数の扱いが、コンパイラによって
> 異なるためです。
> TurboC 2.0(英語版)では、0x9A81 と、上位下位が逆転してしまいますが、
> LSIC他、日本語対応のCコンパイラでは、0x819A と解釈されます。

なるほど、そういうことなのですか。勉強になりました。

> text_put_char() で全角文字を渡す場合は、後者の形式を受け取りますので、
> ソースをTurboCでコンパイルする場合は、上位下位を逆転する必要があるわけです。
> 従って、正しくは
> 
> #ifdef __TURBOC__
>   #define rvcc(c)       (((c)<<8) | ((c)>>8 & 0xff))
> #else
>   #define rvcc(c)       (c)
> #endif
> 
> とすべきでしょう。

ありがとうございました。

追伸
今はcontrib/tools/c.mos以下を見ています。lasm32がないとアセンブルできない
のかもしれませんが、とりあえず試してみます。

--------
後藤 裕文 gotcha@friendlylab.co.jp
有限会社フレンドリーラボ http://www.friendlylab.co.jp/
表示するだけのホームページで満足していますか?
[WebNote Clip 4] http://www.friendlylab.co.jp/clip/clip4/



ML Archives