; ; FIMAX.ASM ; ; (c) Copyright 1997-2000 DF7BE ; Free Software under property of the ; GNU General Public License ; ; Date : 17.02.2000 ; ; ; Logbuchprogramm DF7BE ; Amateur-Radio log by DF7BE ; Zusatzmodul fuer Handle-Erweiterung ; deutsche Version ; Clipper Sommer 87 oder 5.2 ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the license, or ; (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA ( or visit ; their web site at http://www.gnu.org/ ). ; ; ; Modification documentation ; ; +------------+-------------------------+----------------------------------+ ; + Date ! Name and Call ! Modification ! ; +------------+-------------------------+----------------------------------+ ; ! 17.02.2000 ! W.Brunken DF7BE ! first creation ! ; +------------+-------------------------+----------------------------------+ ; ; Dieses Zusatzmodul erweitert die Handle-Tabelle von Clipper ; Es ist auch nicht mehr erforderlich, die Variable ; SET CLIPPER=Fxxx zu setzen. ; Lediglich der Eintrag FILES= in der CONFIG.SYS entscheidet ueber die ; vom Programm verfuegbaren Dateihandles ; Im Initialisierungteil des Clipper-Hauptprogrammes machen Sie ; (bevor irgendwelche Dateien oder Datenbanken geoeffnet werden) ; den Aufruf ; DO FIMAX ; Auf diese Weise stehen Ihnen in einem Clipper Programm ; (hier: mit Version Sommer 1987 kompiliert) mehr als 15 Dateihandles ; zur Verfuegung. Auch wenn Sie bisher FILES= und SET CLIPPER=Fxxx ; gesetzt hatten, so war bei 15 File-Handles schluss. ; Mit FIMAX.OBJ nun nicht mehr ! ; ; Uebesetzen : ; PUBLIASM FIMAX ; Linken mit ; plink86 FI %1,FIMAX LIB CLIPPER,EXTEND NOBELL ; ; PUBLIASM ist ein MASM-kompatibler Public-Domain Assembler. ; Natuerlich geht auch Microsoft MASM EXTRN __RET:FAR PUBLIC FIMAX CSEG SEGMENT 'CODE' ASSUME CS:CSEG FIMAX PROC FAR PUSH BP MOV BP,SP PUSH DS PUSH ES PUSH SI PUSH DI ; hole PSP MOV AH,62h INT 21h MOV DS,BX JMP los_fi ; neue Tabelle mit den File-Handles tabelle DB 260 DUP (0FFh) ; neue Werte in PSP los_fi: MOV BYTE PTR DS:[32h],0FEh MOV WORD PTR DS:[34h],offset tabelle MOV WORD PTR DS:[36h],cs ; Tabelle kopieren CLD MOV CX,14h MOV AX,CS MOV ES,AX MOV SI,18h MOV DI,offset tabelle REP MOVSB CALL __ret POP DI POP SI POP ES POP DS POP BP RET FIMAX ENDP CSEG ENDS END ;