3-56
segregs.ds = FP_SEG(inf);
regs.x.dx = FP_OFF(inf);
segregs.es = FP_SEG(outf);
regs.x.di = FP_OFF(outf);
regs.h.ah=0x56;
int86x(0x21,&regs,&regs,&segregs);
if ((regs.x.cflag & 0x01) == 0) return(regs.x.ax);
else return(-1);
}
Memory Access
48 Allocate specified number of paragraphs memory
Entry Parameters: AH = 48
BX = number of segment
Returned Values: AX = seg addr of block allocated Error
code, if carry flag set
BX = largest available block (on failure)
49 Free allocated memory
Entry Parameters: AH = 49
ES = seg of block to free
Returned Values: AX = error code, if carry flag is set
BX = largest available block (on failure)
4A Modify allocated block
Entry Parameters: ES = seg of the block to modify
BX = The new number of segs wanted
Returned Values: AX = error code, if carry flag is set
BX = largest available block (on failure),
if carry flag is set