INT 22H: Terminate Address
The INT 22H vector (0000:0088) contains the address that will receive
control when the executing program terminates via any of:
Standard program exits: INT 20H ◄superseded►
DOS fn 00H ◄superseded►
DOS fn 4cH (normal termination)
TSR (stay resident) exits: INT 27H ◄superseded►
DOS fn 31H (normal KEEP termination)
Do not invoke INT 22H or call its address directly.
In addition to normal program termination, the default INT 24H (Critical
Error) handler uses this vector when the user pressed A (to Abort) and the
default action of the INT 23H (Ctrl-Break) handler is to terminate the
program via this vector.
On program startup, the address at this vector is copied into the
pfTerminate field of the PSP. This PSP-local copy of the address is used
to terminate the program and is restored into the interrupt table;
therefore, changing the INT 22H vector has no effect on your program, but
will affect any child programs you EXEC.
Normal termination causes DOS to free all resources, including open files
and memory allocations. A lot of DOS internal stuff can get messed up if
you modify the pfTerminate field of the PSP or if you invoke INT 22H
directly.
See Also: Program Startup & Exit
DOS Functions
-♦-