Posted By: Keson (Keson) on 'CZprogram'
Title:     Re: PASCAL, $M a DOS Fn 4Ah + 48h + 49h
Date:      Thu Dec 19 17:05:50 1996

Ahoj,
> No ... divil by ses. Existujou divny lidi (treba JA), kteri se v pascalu 
> odvazili napsat resident. No a moc rad bych vedel jak BEZ znalosti PSP jde 
> odinstalovat program ;-)) 

:-)))))))))))))))))

Tak k te pameti:
  Ja jsem to obvykle resil spis tak, ze jsem pomoci $M nastavil
minimalni pamet pro rozbehnuti a dalsi pamet jsem dle potreby
alokoval /dealokoval pomoci fci 48H / 49H.
**********************************************************************
* AH     48H                                                         *
* BX     requested amount of memory in paragraphs (16-byte chunks)   *
* -----------------------------------------------------------------  *
* AX     error code if CF is set to CY                               *
* BX     size of available RAM, in paragraphs (if allocation fails)  *
* AX     segment address of allocated block (if no error)            *
**********************************************************************
* AH     49H                                                         *
* ES     segment address (paragraph) of allocated memory to release  *
* -----------------------------------------------------------------  *
* AX     error code if CF is set to CY                               *
**********************************************************************

A k odinstalovani napriklad:
 PROCEDURE Uninstall;  Far;
 VAR P,Q,R : Pointer;
 BEGIN
   GetIntVec(8,P);
   GetIntVec(9,Q);
   If (P = @NewInt8) And (Q = @NewInt9) Then Begin
     SetIntVec(8,@OldInt8);
     SetIntVec(9,@OldInt9);
     Asm
       mov AH,49h
       mov ES,PrefixSeg
       int 21h
     End;
   End;
 END;  {Uninstall}
                                              Keson

Search the boards