Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!mcsun!ukc!warwick!estxrah From: estxrah@warwick.ac.uk (Worm) Newsgroups: comp.sys.ibm.pc.programmer Subject: Help with TSR Command Line Editor Keywords: TSR Message-ID: <412@poppy.warwick.ac.uk> Date: 9 Mar 90 14:57:10 GMT Reply-To: estxrah@warwick.ac.uk (Worm) Organization: Computing Services, Warwick University, UK Lines: 46 I am trying to write a Command Line Editor as a TSR using MSC and MASM 4.0. I am using the small model which means the code is in the CS segment and everything else is put in a GROUP. This means when function 31h is executed space is reserved to hold the code in the CS segment. This means that anything used by a C library routine in the DS segment is likely to get corrupted. Does this mean that I have to write my own version of malloc to use the space specially reserved? Has anybody ever tried to do this sort of thing before ? The routines I use are something like this : main () { do_tsr () ; } In tsr.asm _do_tsr PROC NEAR ; Change int 21h to use my routine first (new_21) ; Calc space to save mov ax,3100h int 21h _do_tsr ENDP _new_21 PROC NEAR ; Save state ; Swap to my stack ; Put args on stack where dos buffer is located ie SEG and OFF call edit_cl ; Restore stack ; Restore state _new_21 ENDP In edit.c edit_cl () { /* Do the editing */ } Many thanks for any help, Stu estxrah@warwick.UUCP ** estxrah@uk.ac.warwick.cs ** estxrah@cs.warwick.ac.uk "She's not Ben Johnson, but then who is ?" - David Coleman