[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[WitchTech 00035] BIOS_INLINE の罠
- Subject: [WitchTech 00035] BIOS_INLINE の罠
- From: Akira Kawamata <autumn@piedey.co.jp>
- Date: Thu, 20 Jul 2000 03:37:41 +0900
川俣です。
今日のはまりです。
#define BIOS_INLINE
#include <sys/bios.h>
(中略)
void centeredText( int y, char * msg )
{
text_put_string((DISP_AREA_X-strlen(msg))/2, y, msg);
}
(中略)
というソースは動かないようだぞ^^;
処理系のバグかと疑ってしまいました。
Turbo-Cで吐き出したアセンブラソースとマクロを見比べて、やっと原因が分
かりました。
マクロの引数に複雑な式を書くと、手前で設定したレジスタを書き潰しちゃう
んですね。だから、引数は定数かシンプルな変数だけにしておかないと。
それから、Turbo-Cユーザーは、-wを付けよう。
昔は必ず-wを付けていたんで、Warningが出なければ、単純なミスはチェック
済みと見なしてたんですが、それをすっかり忘れてました。やっと気付いて-w付
けたら出るわ出るわ^^;
でもWonderWitchは面白すぎ。
ついつい遊びすぎて夜更かししすぎたようで。
はやく寝よう^^;
(株)ピーデー 川俣 晶 (http://www.autumn.org/ mailto:autumn@piedey.co.jp)
ML Archives