[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[WitchTech 00429] 16bit 版 LSIC-86WW
- Subject: [WitchTech 00429] 16bit 版 LSIC-86WW
- From: Tooru Watanabe <erupi@fa2.so-net.ne.jp>
- Date: Sun, 03 Sep 2000 14:35:05 +0900
えるぴと申します。
TECH向けの議題かどうか解りませんが....
先日の9/2付けのアップデートで、LSIC-86 for WW の32bit版が削除され、
16bit版に置き換えられました。
そこで、16bit版のLSIC-86WWで手持ちのソースがコンパイルできるかどうか
試してみた所、
test.c 42: out of memory
のメッセージが出て、コンパイルに失敗してしまいました。
以下がコンパイルに失敗するソースです。
(mainに何も書かれていないのはご愛敬)
----test.c
int main(int argc, char *argv[])
{}
void fontRotateColorData(void far *src, void far *dst, int length)
{
unsigned char far *csrc, far *cdst;
int i, j;
csrc = (unsigned char far *)src;
cdst = (unsigned char far *)dst;
for ( i = 0; i < length; i++ )
{
for ( j = 0; j < 2; j++ )
{
cdst[0*2+j] =
(csrc[7*2+j] & 0x80) |
(csrc[6*2+j] & 0x80) >> 1 |
(csrc[5*2+j] & 0x80) >> 2 |
(csrc[4*2+j] & 0x80) >> 3 |
(csrc[3*2+j] & 0x80) >> 4 |
(csrc[2*2+j] & 0x80) >> 5 |
(csrc[1*2+j] & 0x80) >> 6 |
(csrc[0*2+j] & 0x80) >> 7 ;
cdst[1*2+j] =
(csrc[7*2+j] & 0x40) << 1 |
(csrc[6*2+j] & 0x40) |
(csrc[5*2+j] & 0x40) >> 1 |
(csrc[4*2+j] & 0x40) >> 2 |
(csrc[3*2+j] & 0x40) >> 3 |
(csrc[2*2+j] & 0x40) >> 4 |
(csrc[1*2+j] & 0x40) >> 5 |
(csrc[0*2+j] & 0x40) >> 6 ;
cdst[2*2+j] =
(csrc[7*2+j] & 0x20) << 2 |
(csrc[6*2+j] & 0x20) << 1 |
(csrc[5*2+j] & 0x20) |
(csrc[4*2+j] & 0x20) >> 1 |
(csrc[3*2+j] & 0x20) >> 2 |
(csrc[2*2+j] & 0x20) >> 3 |
(csrc[1*2+j] & 0x20) >> 4 |
(csrc[0*2+j] & 0x20) >> 5 ;
cdst[3*2+j] =
(csrc[7*2+j] & 0x10) << 3 |
(csrc[6*2+j] & 0x10) << 2 |
(csrc[5*2+j] & 0x10) << 1 |
(csrc[4*2+j] & 0x10) |
(csrc[3*2+j] & 0x10) >> 1 |
(csrc[2*2+j] & 0x10) >> 2 |
(csrc[1*2+j] & 0x10) >> 3 |
(csrc[0*2+j] & 0x10) >> 4 ;
cdst[4*2+j] =
(csrc[7*2+j] & 0x08) << 4 |
(csrc[6*2+j] & 0x08) << 3 |
(csrc[5*2+j] & 0x08) << 2 |
(csrc[4*2+j] & 0x08) << 1 |
(csrc[3*2+j] & 0x08) |
(csrc[2*2+j] & 0x08) >> 1 |
(csrc[1*2+j] & 0x08) >> 2 |
(csrc[0*2+j] & 0x08) >> 3 ;
cdst[5*2+j] =
(csrc[7*2+j] & 0x04) << 5 |
(csrc[6*2+j] & 0x04) << 4 |
(csrc[5*2+j] & 0x04) << 3 |
(csrc[4*2+j] & 0x04) << 2 |
(csrc[3*2+j] & 0x04) << 1 |
(csrc[2*2+j] & 0x04) |
(csrc[1*2+j] & 0x04) >> 1 |
(csrc[0*2+j] & 0x04) >> 2 ;
cdst[6*2+j] =
(csrc[7*2+j] & 0x02) << 6 |
(csrc[6*2+j] & 0x02) << 5 |
(csrc[5*2+j] & 0x02) << 4 |
(csrc[4*2+j] & 0x02) << 3 |
(csrc[3*2+j] & 0x02) << 2 |
(csrc[2*2+j] & 0x02) << 1 |
(csrc[1*2+j] & 0x02) |
(csrc[0*2+j] & 0x02) >> 1 ;
cdst[7*2+j] =
(csrc[7*2+j] & 0x01) << 7 |
(csrc[6*2+j] & 0x01) << 6 |
(csrc[5*2+j] & 0x01) << 5 |
(csrc[4*2+j] & 0x01) << 4 |
(csrc[3*2+j] & 0x01) << 3 |
(csrc[2*2+j] & 0x01) << 2 |
(csrc[1*2+j] & 0x01) << 1 |
(csrc[0*2+j] & 0x01) ;
}
csrc += 16;
cdst += 16;
}
}
----test.c end
このソースを、
lcc86 -c test.c
として、コンパイルのみ行うと、当方では、前述したエラーメッセージが
表示されてコンパイルエラーとなってしまいました。
LSIC-86WWのマニュアルを見ると、*リンカのエラーメッセージ*として
以下のエラーメッセージがあるのですが、ここではコンパイルしか
行っていないので、症状が異なりますよね?
Out of memory
シンボルテーブルがあふれました。
という訳で、どうやって手持ちのソースをコンパイルしたら良いか
困り果てております。
皆さんの所では正常にコンパイルできますでしょうか?
まだ、どなたか回避策を知っている方があれば、お教え下さいm(_ _)m
#こんな事なら32bit版LSIC86-WWも同梱して欲しい。
--------
えるぴ(渡邉 徹) E-mail address : erupi@fa2.so-net.ne.jp
ML Archives