ėpRpChCo ELIBR gp
By Tatsuhiko Syoji 1995-2000

0.What's ELIBR?

  elibr͈̃RpChCoŁAЂƂ̃t@Cɂ܂Ƃ߂ꂽCu
W[𕪉ARpCACut@Cւ̌Ƃ
s܂Błelibȓ@܂B

1  Cut@C

  ʂɃCut@ĆA W[RpC.obj t@C
A CuAŌč܂BgȂW[
st@CɊ܂܂Ȃ悤ɂɂ́Ał邾ׂ̃W[
𕪂Kv܂B܂AЂƂ̃W[Ɋ֐Tu[`
ЂƂ܂܂ȂAƂ`zIƂ܂B

  ̂߂ɂ͊eCu֐ЂƂʁX̃t@CɓĂA
SRpCȂĂ͂Ȃ܂BA

 1. ֘A̋֐͓t@CɓĂ

 2. t@C̐rȂȂAҏWςɂȂ

  Ȃǂ̗RɂA̐l̕@Ƃ܂łBɁAЂƂ
t@Cɕ̃W[߁ARpC܂̓AZûƂɂ
𕪉ăCu`ɕϊ邱Ƃɂ܂B

  elibr͂̎dȂ߂̃vOłB

2  Cũ\[XR[h

  elibrɂď郉Cũ\[X́Â悤Ȍ`Ă܂B

    --
            F
            ʃwb_1
            F
    -module1
            F
            module1 ̖{
            F
    -module2
            F
            module2 ̖{
            F
    --
            F
            ʃwb_2
            F
    -module3
            F
            module3 ̖{
            F
    -module4
            F
            module4 ̖{
            F


  s-(nCt)̂sAelibrɑ΂w߂ƂȂ܂B ăv
O̖{ł́As-Ă͂܂B

  s -ӂśAȍ~̍sʃwb_ł邱Ƃ܂B
ʃwb_́A ȍ~̃W[̐擪ɕtsŁA ׂẴW
[ŋʂɎQƂ`ɏĂ܂B- Ŏn܂s
xƁAȑŐʃwb_͖Y܂B

  s -ЂƂśAȍ~̍sЂƂ̃W[Ƃ邱
܂B-̌ɏꂽÓÃW[̃t@CłB elibr
̖͂Õt@CVɍ쐬Aɋʃwb_Ɩ{̂Rs[āA
RpCȂ܂BăIuWFNgłƁAnewlib.lib
̃Cut@CɘA܂B

  ʃwb_⃂W[{͉̂񌻂Ă܂܂B

  W[́AC܂̓AZûǂŏĂ܂܂
Aelibr-̌̃t@C炻̌𔻒肵܂̂ŁAC̃W[
.c܂.cppAAZuȂ.c,.cppȊO̊gqt@C
ŌɂȂĂ͂Ȃ܂B

  ȉɗ܂B

    /*
     *      sample.l - sample library file
     */
    -- C program part
    #include <ctype.h>
    #include <string.h>

    -stolower.c
    char    *stolower(char *s)
    {
            char    *p;

            for (p = s; *p; p++)
                    *p = tolower(*p);
            return (s);
    }

    -stoupper.c
    char    *stoupper(char *s)
    {
            char    *p;

            for (p = s; *p; p++)
                    *p = toupper(*p);
            return (s);
    }

    -- Assembly language part
    		.z80

    -ei.asm
    ei::	ei
    		ret

    -di.asm
    di::	di
    		ret

  ̗ł́A4̃W[Cu`Ă܂BӂCA
ӂZ80pAZuŏĂ܂B

  elibrɂƁAstolower.c,  stoupper.c, ei.asm, di.asm4̃
W[ARpC܂Bstolower.cstoupper.c̐擪
ɂ͂ӂ #include}Aei.asmdi.asm̐擪ɂ.z80^߂
}܂B

3  elibȓ

  elibrR}ȟ`͎̒ʂłB

    elibr [IvV] ̓t@C

  ̓t@Cɂ́ACũ\[XR[h̃t@Cw肵܂B
t@C͂ǂȖOł܂܂񂪁AKƂ.lƂgq
܂B

  elibr͓̓t@CǂŁAO߂ŏqׂ悤ɂЂƂЂƂ̃W[
؂oARpCACut@CɌ܂Bۂ̃RpC
ƂC̃W[crel.bat̓eAAZũW[
arel.bat̓e$exec.batɓWJA$exec.bats邱Ƃōs܂B
̂߁Aۂ̃RpCcrel.bat,arel.batɈˑ܂B
@crel.bat,arel.bat̓JghCuEfBNgɒuĂB
  MS-DOSłł́A[U[sKv܂B

  crel.bat,arel.bat͂PԖڂ̃p[^ɃW[gq菜
AQԖڂ̃p[^ɍ쐬郉Cut@Cnob`t@C
łB̓JgfBNgɓĂȂĂ͂Ȃ܂B

  MSXpHI-TECH Ccrel.bat,arel.batTvƂĎ܂B

crel.bat
CPP -DCPM -DHI_TECH_C -Dz80 -I %1.C $C1.T
P1 $C1.T $C2.T $C3.T
CGEN $C2.T $C1.T
ZAS -N -o%1.O $C1.T
DEL $C1.T
DEL $C2.T
DEL $C3.T
libr r %2 %1.o

arel.bat
ZAS -N -o%1.O %1.as
libr r %2 %1.o

  ܂AA[JCuɂTvcrel.bat,arel.batĂ܂̂ŁAɉāA肵ĎgĉB

  Ɨp̃t@ĆAJgfBNgɍ܂BCut@C
̓JgfBNgnewlib.libƂOō쐬܂B

  IvVɂ͎̂̂܂B

-o file
    o͂郉Cut@Cfileɂ܂B̃IvVw肵
    ȂƂɂ́Ao̓t@Cnewlib.libɂȂ܂B

-r
    ̃IvVw肵ȂƂɂ́ACut@C̕т́A\[X
    t@C̏oɂȂ܂A(crel.bat,arel.batɂ)
    ̃IvVw肵ۂ́ACut@C̕т́A\[Xt@C
    ̏otɂԂɂȂ܂B

  q̃Xgsample.l烉Cut@Csample.lib쐬ɂ́A
R}hs܂B

    elibr sample.l

  ƁACut@C newlib.libJgfBNgɍ쐬܂B
sample.libɃl[΂łłB

    ren newlib.lib sample.lib

4.elibr̐
@elibŕAAHI-TECH CŃCuہACut@Cׂ
\[Xt@Cc[ɎGȎ菇KvƂȂ̂ɑ΂āA\[Xt@C
ARpC܂łȂׂ邽߂LSI C-86 Ver.3.3Hł
libr.exe(HI-TECH Clibr.comƂ͓ȂǂőS̕ʕjQlɏ낵
̂łB̍ہARpC菇ob`t@CŋLq邱ƂɂAėp
B܂B܂ALSI C̊ł̂ݗLȃIvVgӖ̔
IvV𐮗邱ƂŁAdlXɂȂ܂B

5.[Xm[g
Version 1.00 1997/08/31
@ŁB
Version 1.10 2000/02/10
@-cIvVǉB
@RpCMSXł̂HI-TECH CɕύXB

5.쌠̑
@{\tg͎Aq쌠ۗLt[\tgEFAłB
zzE]ڂ͎RłAcړIɖ{\tg𗘗p邱Ƃ͂ł܂B
zAoO|[gȂǂ́AL̏ɂ񂹂B

6.
q BF(Tatsu)
Bamboo Field:AKFU0007 K.Y-Network   :KYN00115 MTC-NET:MTC0067
@nifty      :RXK16664 NetComplex Net:NAT28347 ray-net:RAY113
Official E-mail Address rxk16664@nifty.ne.jp
Private  E-mail Address tatsu_syo@geocities.co.jp
My Homepage 1st. http://www.geocities.co.jp/SiliconValley/7512/
My Homepage 2nd. http://member.nifty.ne.jp/Tatsu/
------------------------------------------------------------------------
