[comp.sys.ibm.pc.programmer] Help with TSR Command Line Editor

estxrah@warwick.ac.uk (Worm) (03/09/90)

        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