home *** CD-ROM | disk | FTP | other *** search
- Title ApBasic to Fabs Plus interface sub-program
- Page 60,130
-
- Comment *
- Created 10-20-1987 k. murray
-
- FABS PLUS is a excellent BTREE package published by
- Computer Control Systems, Inc. Tele: (904) 752-0912
- They also publish sort/merge system called Autosort/86M.
- For further information contact Comptech or Computer
- Control Systems.
-
- *
-
- Cseg Segment byte public 'Code'
- Assume Cs:Cseg,Ds:nothing,Es:nothing
- ;
- Comment *
- Define in program:
- Sub FabsP Cmd$,Errf%,Recno%,Adrkey%,Fseg% External "ApbToFp.com"
- Call in program:
- FabsP Cmd$,Errf%,RecLo%,Adrkey%,Fseg%
- FabsP "X",Dum%,RcHi%,Dum%,Fseg%
- Recno#=CVL(MKI$(RcLo%)+MKI$(RcHi%))
-
- Stack frame:
- Bp+14 Cmd$ desc #
- Bp+12 Adr. of Errf%
- Bp+10 Adr. of Recno%
- Bp+8 Adr. of Adrkey%
- Bp+6 Adr. of Fseg%
- Bp+4 Return Segment
- Bp+2 Return Offset
- Bp+0 Saved Bp
- *
- Start:
- FabsP Proc Far
- Push Bp
- Mov Bp,Sp
- Mov Bx,[Bp+14] ; Get desc # of Cmd$
- Shl Bx,1
- Shl Bx,1 ; Mult by 4
- Mov Es,Ds:[6] ; Get desc segment
- Mov Ax,Es:[Bx] ; get length of string in Ax
- Mov Es,Es:[Bx+2] ; Put segment of string in Es
- Push Es:[0] ; save reserved area before string
- Push Ax ; One extra because FABS remove 14
- Mov Es:[1],Al ; put length as byte before string
- Push Es ; push segment of string data
- Mov Ax,1
- Push Ax ; offset of string (1)
- Push Ds ; segment of ErCode%
- Push [Bp+12] ; Offset of ErCode%
- Push Ds ; segment of Adrkey%
- Push [Bp+8] ; offset of Adrkey%
- Mov Bx,[Bp+6] ; Adr. of Fseg%
- Mov Ax,[Bx] ; Fseg% into Ax
- Mov word ptr Cs:Fseg+2,Ax ; put segment into local variable
- Call dword ptr Cs:Fseg ; do call to Fabs Plus
- Mov Bx,[Bp+10] ; adr. to put Recno%
- Mov [Bx],Ax ; save returned Recno%
- Pop Es:[0] ; restore reserved area
- Pop Bp
- Ret 5*2 ; Five parm's at 2 bytes/parm
- FabsP Endp
- ;
- ; Local data goes here
- Fseg Dw 23,0
- ;
- Cseg Ends
- End Start