たなかです。
以下参考程度の内容(コンパイルチェックなし)
なのですが、下記のような表記も可能なのでしょうか?
(もしそうならioコンストラクタを
CPU毎に擬似命令で切り分ければかなりいいかも?)
ただC++コンパイラは内部でアセンブラ展開された時点で
やたらとjmp命令を出して、結果処理が遅くなると
昔いた会社の上司に言われて諦めていたのですが・・・・
そのあたりH8であればどうなのでしょうか?
(とりあえずH8でC++ができる事事態しらなかった私・・・
★あのすいません実はここから本題なのですが
H8用C++コンパイラは無料なのでしょうか?
(すいません、いつもくだらない事ばかり・・・)
//IOの基底クラス
class public io
{
struct portDef
{
unsigned char b7 : 1;
unsigned char b6 : 1;
unsigned char b5 : 1;
unsigned char b4 : 1;
unsigned char b3 : 1;
unsigned char b2 : 1;
unsigned char b1 : 1;
unsigned char b0 : 1;
};
io()
{
P1 = (struct portDef *)0xffd4;
}
io~();
public:
struct portDef *P1;
}
//I/Oクラスを継承し、LEDの処理だけに特化した
class LED : public io
{
LED();
LED~();
public:
void SetLed(void)
{
P1->bit1 = 0x01;
}
void ClrLed(void)
{
P1->bit1 = 0x00;
}
}