SOURCE.TXT
========================================================================

             master.lib 0.23 Sources Ɋւ邠ꂱ

                                                       Lq ˏF
========================================================================

  master.lib̃\[Xt@C̗vƂȂt@C

   Makefile     ̐SvBnmakepB
   makeind.exe  Makefile痘pĂ쐬⏕vOB
   master.h     Ĉ߂̐錾B
   master.pas   Pascal̂߂̐錾ƒ`B


  master.lib̃\[X쐬Ƃ̃[

    E\[XR[h
        @OPTASMTASMŋp邱ƂOł邽߁AMASM 5.0̕@̂
        𗘗pB
        @.MODEL SMALL͎g邪A,CȂǂ̍C^[tFCX͎gp
        sBproc  argusesgpsB
        @EXTRNŎg^́A{^B\̂Ȃǂ͎gȂB
        @CPUẃA.186܂ŁBł邾.8086(w)
        @.CODE, .DATA, .DATA?͗p\B
        @.CONST ͎gpsB ̃ZOgw肷ƁABorland ̌Â
        J(BC2.0x܂)ňُȃNȂB .DATA őp
        ƁB
        @.DATA? ̂Ȃɂ́A lw肷邱Ƃ͋֎~Bl͕s
        邱Ƃ肷邱ƁB́AAZu璼ڃNĎg
        ꍇɂ͎ĝA Cł .DATA? ̓^CX^[gAbv
         0 ŏĂ܂ATurbo Pascal ͂̕
         obj zƂɒgĂāAlsƂȂB
        āAl`邱Ƃ͎s`𖳑ʂɑ傫邾ł
        B
        @OPTASM ̎dlɂA OQƂ̐錾Lqʒu܂B
        f[^x̎Q(EXTRN)́A.DATA̒ōsƁB
        @tɁAR[hxEXTRŃAZOgɑȂꏊAȂ킿
        .MODEĽŁA.CODE.DATAɓO̒n_ōsƁB
        ].CODEvĂATurbo Pascalł̂߂unit𕪊
        ۂɂ̗vB.CODE̒EXTRNƁAFAR labelł tasm,
        optasmȂǂ push cs,call near𐶐Ă܂AقȂZOg
        ɔzuꂽR[hĂԂƌ듮삵Ă߁B
        @TASM̎dlɂA\[X̖ɂ ENDu()
        @jumṕA short œ͈͂͂͏Wvł낤 short w
        t邱ƁB (WvœKEA}`pXłȂƂʂ
        NOP}Ȃ)

    EWX^,tO̎gp
        @Rɔj󂵂Ă܂ȂWX^́ABX,CX,ES łBDS ́A
        ̊֐Ăяo⃊^[鎞ɂ seg DGROUP Ă
        KvB
        @DSƓlȏɂāA dflag 0 (CLD)łKvB
        APascal ̌ĂтɂāAdflag  0 Ƃ͌Ȃ̂ŁA
        dflag𗘗pƂ(repg)ɂ́A K dflag 
        gƁB
        @SI,DI,BP ́A ^[Ƃɂ͌Ăт_Ɠlł邱
        ƁB
        @AX,DX ́A֐̖߂lɂȂꍇłȂΎRɔj󂵂Ă܂
        ȂB

    E֐
        @Sđ啶B R Pascal  C ̋ʂŎgĂяoKł
         Pascal ĂяoK𗘗p邽߁B
    E
        ׂăX^bNoRB͐擪珇 push B
        long ĺAʁʂ̏ push B
         Pascal KɂB
    E^[
        ^[̂ƂɁAɃX^bNɐς܂ꂽJB
        Ƃ 2 word̈ꍇA
          ret 4
        Ń^[B
         Pascal KɂB

    EO[oϐ
        @O[oϐ́AvV[WƓ̃W[ɂ͒uɁA
        ЂƂ܂̃O[oϐ̒`p̃W[pӂB
        ́A  O[oϐO  obj  Œ`łȂƂ  Turbo
        Pascal ̎dlɂB ܂AO[oϐpW[Ƃ
        ̂ Cꑤ炵pɁA Pascal ł Pascal Œ`
        O[oϐAZuQƂ`ɂȂB
        @̐́AuCułgȂAW[
        ŋLf[^vɂKpB

    EO[oϐ
        @啶/݂͋邪AʂȂB
        擪 _(A_[o[)͕tȂŎQƂB
        @Cp̃O[oϐ`W[ł́Af[^ _(A
        _[o[)̂OƕtȂO̗Œ`A JB
        ɂA C _(A_[o[)̕tOɂēϐ
        QƂ邱Ƃł悤ɂȂB

    E[Jϐ
        @Ƀ[WfɉāAX^bÑf[^͏ SS:΂ŃA
        NZX邱ƁB [WfobjTurbo Pascalłłp邽
        ߂ƁATurbo Pascalł͏ DS != SS ł邽߁B
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Et@C̓ǂݍݗpI[v
        @t@Cǂݍ݂̂߂ɃI[v֐ł́Aɂ
        t@C̃AhX̂܂ DOS_ROPEN ֐ɓnČĂяoB 
        ߂ĂƂ cy ĂA super.lib G[R[h AX
        ɓĂBcy=0 ȂAt@Cnh AX ɓĂB
        @Ȃ̊֐ĂԂƂƁA ̊֐ Pascal ̂Ƃ C 
        ƂňقȂ郂W[悤ɂȂĂA Pascal ł
        ̓t@C Pascal Ŏ󂯕t悤ɂȂĂ邽߁B
        邱ƂŁAPascal łł̓t@C C ɕϊɁA
         Pascal ̕ʂ̕Ŏwł悤ɂȂB

    Eł́A݃I[vȂǂ͂ǂ邩B
        @́ADOS_ROPEN lɁADOS_AXDX Ƃ֐B
        @́A AX,DXɓׂlpushČĂяôAc
        ̃WX^͂̂܂ int 21hɓn悤ɂłĂ邽߁A
        𗘗p邱ƂƂB
        @āÅ֐ɓn DX ̒lƂ̂ũAhXv
        ƂɂȂĂA ܂ Pascal  ̏ꍇ  Pascal  
        ASCIZ ɕϊ鏈IɌĂяo邱ƂɂȂB
        @ȂA DX ̃̕AhXł֌WA[Wf[^
        ł̃Cuł́AZOglɓnƂƂȂ邱ƂɒӁB
        @̊֐̖߂ĺA DOS_ROPEN ƓlB܂ cy=1 ȂADOS
        G[R[h̕𔽓]lA Ȃ킿 super.lib G[R[h
         AX Ɋi[ĂB cy=0 Ȃ int 21h ̌ʒʂB DX
        Ƒ̃tO͔j󂳂ĂB


  CN[ht@C
    master.libł́Aȉ̃CN[ht@C𗘗pĂB
     func.inc     func }N _push, RETSIZE ȂǁAf
     super.inc    super.lib G[R[h BFNT \̂Ȃǂ̒`
     clip.inc     ̃NbsOp}N
     sio.inc      RS-232C ֘A
     vgc.inc      VGA ̃WX^`
     bgm.inc      BGM t֘A
     pf.inb       pf.lib֘A

       func.inc̃}N

          Ef̌Ăі
              small/medium/compact/large efɑ΂A f[^|C^
              ̑傫f[^fAR[h|C^̑傫R[hf
              ƂĂꂼ̑傫ŕނB

                            small code       large code
              small data    [SMALL]          [MEDIUM]
              large data    [COMPACT]        [LARGE]

          Efunc O ` endfunc
               func O sƁA
                  public O
                  even
                  O proc CALLMODEL
               ƂB ɂAJ֐ȒPɍ쐬
               B ȂA CALLMODEL ́Amaster.lib fɂ
               FAR ܂ NEAR 蓖ĂB
               āAendfunc LqƁA
                  O endp
               B

          E_mov, _push, _lds, _lesȂ
               _mov́Alarge data model̂Ƃɂ̂ movA
                       small datâƂ͍폜B
               _push  _movƓlB

               _lds, _les ́A large data model̂Ƃ lds, les
                              B
                              small data model̂Ƃ́A movƂȂAZ
                              OgWX^ւ̃[h͍sȂB

               s_ <>   small datâƂ̂ݕB
               l_ <>   large datâƂ̂ݕB

          E_call
               _call ́A master.libɂʂ̊֐ĂяoƂɗp
               B́Alarge code model̂Ƃɂ master.lib̑S֐
               ZOgɔzu鎖OɁApush cs/near call
               ŝłB ɂ葽̍Ǝs`̑傫
               ̐ߖɂȂB

          ERETSIZE
               large code modelȂ 2, small code modelȂ 1`B
          EDATASIZE
               large data modelȂ 2, small dataȂ 1B
          ECALLMODEL
               large code modelȂ FAR, small code Ȃ NEARB

   makeind.exe
     \[X쐬ɌĂяoAmakeind[eBeB̎gB

       makeind t@C objfBNg\ AZuIvV...

       t@C ɂ́AAZu\[Xt@C󔒂܂
                  sŋ؂đʂɕׂeLXgt@C̖OuB
       objfBNg ɂ́AړĨ\[XAZuʂobj
                  o͂fBNgA'\' tĒuB
       AZuIvV ɂ́AAZuɓnIvV
                  ̂܂ܕׂB

        @̃[eBeB́A obj fBNgɂ obj t@CƊ
        ڃt@CɂĎw肳ꂽ\[Xt@C̃^CX^vr
        Aobj VAobj ݂Ȃ\[X̂݁At@CƃA
        ZuIvVt@C 1š`ŕWo͂ɏo͂B
        @̏o͂eLXgt@CɃ_CNgAAZűN
        X|Xt@CƂ邱ƂɂAꊇĕKvȃW[̂݃A
        Zu邱ƂłB
          :
             makeind asmlist obj\ /T /MX > temp
             tasm @temp

  E\[Xt@CK
    ꕔO͂邪A{IɎ̂悤ɂȂĂB

    grp*.asm     PC-9801V       16FOtBbN
    gc_*.asm     PC-9801V       16FOtBbN(gc_poly)
    egc*.asm     PC-9801        16FEGCOtBbN(gc_poly)
    gdc*.asm     PC-9801        16FGDCOtBbN(gc_poly)
    gj*.asm      PC-9801        O
    cur*.asm     PC-9801V PC/AT 16FOtBbNJ[\
    csr*.asm                    OtBbNJ[\p^[f[^
    vg4*.asm             PC/AT  VGA16F
    vgc*.asm             PC/AT  VGA16F(gc_poly VGA)
    aj*.asm              PC/AT  joystickǂݎ
    b30*.asm     PC-9801        30BIOS/TT
    b_*.asm      PC-9801 PC/AT  BEEPtAʉ(bgmlib)
    js*.asm      PC-9801        joystickǂݎ
    dos*.asm                    DOSėp
    fil*.asm                    t@C(file_*())
    str*.asm                    񏈗
    tx*.asm      PC-9801        eLXgʏ
    vt*.asm              PC/AT  eLXgʏ
    get*.asm                    VXe擾
    set*.asm                    VXeύX
    super*.asm   PC-9801V       16F X[p[C|[Y\(super.lib)
    over*.asm    PC-9801V       16F ㏑\(super.lib)
    rep*.asm     PC-9801V       16F `(super.lib)
    slice*.asm   PC-9801V       16F `(super.lib)
    small*.asm   PC-9801V       16F k`(super.lib)
    vg4sp*.asm            VGA   16F X[p[C|[Y\(super.lib)
    vg4rp.asm             VGA   16F `(super.lib)
    vg4o*.asm             VGA   16F ㏑\(super.lib)
    key*.asm     PC-9801        L[{[hǂݎ
    font*.asm    PC-9801        tHgǂݏ
    fontat*.asm          PC/AT  tHgǂݏ
    fep*.asm                    {FEP
    ems*.asm                    EMSANZX
    xms*.asm                    XMSANZX
    pal*.asm     PC-9801V       Palette
    dac*.asm              PC/AT VGA Palette
    mag*.asm                    MAGf[^
    mouse*.asm   PC-9801V       }EX
    mousex*.asm                 }EXhCoďo
    perf*.asm    PC-9801        Ԑv
    perfat.asm           PC/AT  Ԑv
    pcm*.asm     PC-9801        BEEP PCMĐ
    rand*.asm                   [
    rsl*.asm                    RSL
    rsp*.asm     PC-9801V       풓pbg
    sdi*.asm     PC-9801V       SDI
    sin*.asm                    Op֐f[^
    sio*.asm     PC-9801        RS-232C
    smem*.asm                   X^bN^Ǘ
    hmem*.asm                   q[v^Ǘ
    tim*.asm     PC-9801        ^C}荞
    wfont*.asm   PC-9801V       8x8dot/16x8dot font
    b*.asm                      obt@t@CANZX(pf.lib)
    pf*.asm                     A[JCut@CANZX(pf.lib)

========================================================================
[END OF SOURCE.TXT]
