| 
 |  | 
         INT 15 - TopView - SEND MESSAGE - "NEW" - CREATE NEW OBJECT          
  
    | 
       Input  | 
    
       Output  | 
   
  
    | 
       AX 
     | 
    12h | 
      | 
      | 
      | 
    AX | 
   
  
    | 
       BX 
     | 
     01h | 
    Object Type | 
      | 
      | 
    BX | 
   
  
    | 
       CX 
     | 
      | 
      | 
      | 
      | 
    CX | 
   
  
    | 
       DX 
     | 
      | 
      | 
      | 
      | 
    DX | 
   
  
    | ES:DI | 
      | 
      | 
    ES:DI | 
   
 Return: DWORD on top of stack is new object handle
Object Type:
        00h handle is DWORD on top of stack
        01h use task's window handle
        02h given task's mailbox (task's handle on top of stack)
        03h current task's mailbox
        04h given task's keyboard (task's handle on top of stack)
        05h current task's keyboard object
        08h WINDOW class
        09h MAILBOX class
        0Ah KEYBOARD class
        0Bh TIMER object (counts down 32-bit time in 10ms increments)
        0Fh POINTER object
        10h PANEL object
STACK: (if window object or WINDOW class)
        DWORD address to jump to (no new task if high word == 0)
        DWORD ??? (doesn't seem to be used)
        DWORD bytes for task's private stack (-1 == default of 0100h)
        DWORD bytes system memory allocation (0 == none, -1 == default)
        DWORD window size, columns
        DWORD window size, rows
        DWORD length of window title
        DWORD address of window title
Note:   If a new task is created, it is started with
             AX = BX = CX = SI = DI = BP = 0
                                      DX = segment of parent's object handle
                            DS = ES = SS = segment of private stack (and new
                                           task's object handle) |