Startup: ; Save general information, such as ; DGROUP segment address ; DOS version number ; Program Segment Prefix address ; Environment address ; Top of far heap ; ; Save several vectors and install default ; divide by zero handler. ; Determine the amount of memory that we need ; to keep ; Make sure that the requested stack size is at ; least MINSTACK words. ; Return to DOS the amount of memory in excess ; Set far heap base and pointer ; Reset uninitialized data area ; Prepare main arguments Exit: ; Flush and close streams and files ; Restore interrupt vectors taken during ; startup. signal() functions could have ; grabbed vectors 0, 4, 5 or 6. ; Check for NULL pointer errors. ; Exit to DOS. ;