]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/FREESEG.ASM
4 title CP
/DOS DosFreeSeg mapper
6 dosxxx
segment byte public 'dos'
7 assume
cs:dosxxx
,ds:nothing
,es:nothing
,ss:nothing
9 ; ************************************************************************* *
11 ; * MODULE: DosFreeSeg
13 ; * FILE NAME: dos023.asm
15 ; * FUNCTION: This module deallocates a segment
20 ; * push selector ; selector of the segment
25 ; * MODULES CALLED: DOS int 21h, ah=49h
27 ; *************************************************************************
35 invalid_selector equ
0006h
41 Selector dw ?
; selector of the segment to be freed
45 Enter dosfreeseg
; push registers
47 mov es,[bp].selector
; get selector in es
50 int 21h
; free memory segment
51 jc error
; jump if error
53 sub ax,ax ; zero return code
56 error: mov ax,invalid_selector
; put in error code
58 exit: Mexit
; pop registers
59 ret size
str - 6 ; return