home *** CD-ROM | disk | FTP | other *** search
- ;/*------------------------------------------------------------------*/
- ;/* HARD.ASM */
- ;/*------------------------------------------------------------------*/
- ;/* API ▒` ªí ╗y ¬k Ñ╬ │~ ╢╟ ª^ ¡╚ */
- ;/*------------------------------------------------------------------*/
- ;/* 1. ChDir() ChDir(<expC>) ñ┴┤½Ñ╪┐² ¡Yñ┴┤½ª¿Ñ\, ½h */
- ;/* ╢╟ª^╝╞¡╚ 0 ; */
- ;/* º_½h, ▒N╢╟ª^╝╞ */
- ;/* ¡╚ 3 */
- ;/*------------------------------------------------------------------*/
- ;/* 2. Detect87() Detect87() └╦¼d▒z¬║╣q╕ú ªp¬G▒z¬║╣q╕úª│ */
- ;/* ¼Oº_ª│ªw╕╦╝╞ ªw╕╦╝╞╛╟╗▓ºU╣B */
- ;/* ╛╟╗▓ºU╣B║Γ╛╣ ║Γ╛╣, ½h╢╟ª^»u */
- ;/* ¡╚ .T.; º_½h▒N */
- ;/* ╢╟ª^░░¡╚ .F. */
- ;/*------------------------------------------------------------------*/
- ;/* ╜s─╢╗P│s╡▓ : BUILDASM hard */
- ;/* ( buildasm.bat ñw¬■⌐≤╜d¿╥║╧ñ∙ññ ) */
- ;/*------------------------------------------------------------------*/
- ;/* API ¿τ╝╞└] : HARD.PLB */
- ;/*------------------------------------------------------------------*/
-
- Public __FoxTable
-
- Include "USER.INC"
-
- Extrn _HandToPtr_:Far
- Extrn _RetInt_:Far
- Extrn _RetLogical_:Far
-
- Group DGROUP _SampleData
-
- Segment _SampleData Word Public "DATA"
-
- PType02 DB "C",0
- PType03 DB 0
-
- ChDir DB "CHDIR",0
- Detect87 DB "DETECT87",0
-
-
- FuncList FoxInfo <far ptr ChDir, _ChDir, 1, far ptr PType02>
- FoxInfo <far ptr Detect87, _Detect87, 0, far ptr PType03>
-
-
- __FoxTable FoxTable <0, 2, far ptr FuncList>
-
- Ends _SampleData
-
-
-
- Segment _Sample Word Public "CODE"
- Assume CS:_Sample,DS:DGROUP
-
-
-
- ;/*------------------------------------------------------------------*/
- ;/* ChDir() */
- ;/*------------------------------------------------------------------*/
-
- Proc _ChDir Far
-
- Push ES
- Push BX
- Push SI
- Push DI
- PushF
-
- Mov ES,DX
- Mov BX,AX
-
- Inc BX
- Inc BX
-
- Push [InVal.Length]
- Mov AX,[InVal.Handle]
- Call _HandToPtr_
- Pop CX
-
- Push DS
- Push BP
- Mov BP,SP
- Sub SP,CX
- Dec SP
-
- Mov DS,DX
- Mov SI,AX
- Push SS
- Pop ES
- Mov DI,SP
- CLD
- Rep Movsb
- Mov [Byte Ptr BP - 1],0
-
- Mov DX,SP
- Push SS
- Pop DS
- Mov AH,3Bh
- Int 21h
- Mov SP,BP
- Pop BP
- Pop DS
- JC @@Report
- Xor AX,AX
-
- @@Report:Xor DX,DX
- Mov BX,1
- Call _RetInt_
-
- PopF
- Pop DI
- Pop SI
- Pop BX
- Pop ES
- Ret
- Endp _ChDir
-
-
- ;/*------------------------------------------------------------------*/
- ;/* MathChip() */
- ;/*------------------------------------------------------------------*/
-
- Proc _Detect87 Far
-
- Push BP
- Mov BP,SP
- Sub SP,2
-
- Mov [Word Ptr BP - 2],0
- FLDPI
- FISTP [Word Ptr BP - 2]
- FWait
- Cmp [Word Ptr BP - 2],3
- JE @@True
- Xor AX,AX
- Jmp @@Done
-
- @@True: Mov AX,1
-
- @@Done: Call _RetLogical_
- Mov SP,BP
- Pop BP
- Ret
- Endp _Detect87
-
-
- Ends _Sample
- End