home *** CD-ROM | disk | FTP | other *** search
- .xlist
- ; @SEND MSG,MODIF
- ; Daniel T. Travison Jr. 01/01/88
- ; converts MSG to a valid message number and puts in BH
- ; converts the MODIF to a modifier number and puts in BL
- ; sets AH to 12h
- ; executes INT 15H
-
- @SEND MACRO MSG,MODIF
- IFIDN <MSG>,<OBJECT>
- MOV BH,0 ;return object handle
- ELSE
- IFIDN <MSG>,<NEW>
- MOV BH,1 ;create new object
- ELSE
- IFIDN <MSG>,<FREE>
- MOV BH,2 ;free an object
- ELSE
- IFIDN <MSG>,<ADDR>
- MOV BH,3 ;return object handle
- ELSE
- IFIDN <MSG>,<READ>
- MOV BH,4 ;return next record
- ELSE
- IFIDN <MSG>,<APPLY>
- MOV BH,4 ;write panel to window
- ELSE
- IFIDN <MSG>,<WRITE>
- MOV BH,5 ;write string to object
- ELSE
- IFIDN <MSG>,<SIZEOF>
- MOV BH,8 ;return object size
- ELSE
- IFIDN <MSG>,<LEN>
- MOV BH,9 ;return object length
- ELSE
- IFIDN <MSG>,<ADDTO>
- MOV BH,10 ;set bits
- ELSE
- IFIDN <MSG>,<SUBFROM>
- MOV BH,11 ;reset bits
- ELSE
- IFIDN <MSG>,<OPEN>
- MOV BH,12 ;open object
- ELSE
- IFIDN <MSG>,<CLOSE>
- MOV BH,13 ;close object
- ELSE
- IFIDN <MSG>,<ERASE>
- MOV BH,14 ;erase object
- ELSE
- IFIDN <MSG>,<STATUS>
- MOV BH,15 ;return object status
- ELSE
- IFIDN <MSG>,<EOF>
- MOV BH,16 ;return object EOF status
- ELSE
- IFIDN <MSG>,<AT>
- MOV BH,17 ;position object cursor
- ELSE
- IFIDN <MSG>,<READLN>
- MOV BH,18 ;return next N object bytes
- ELSE
- IFIDN <MSG>,<GETSCALE>
- MOV BH,18 ;get scale factor for pointer
- ELSE
- IFIDN <MSG>,<REDRAW>
- MOV BH,19 ;redraw window
- ELSE
- IFIDN <MSG>,<SETICON>
- MOV BH,19 ;specify pointer icon
- ELSE
- IFIDN <MSG>,<SETSC>
- MOV BH,20 ;set escape routine address
- ELSE
- .ERR
- %OUT Invalid message type %MSG
- EXITM
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
-
- IFIDN <MODIF>,<TOS>
- MOV BL,0 ;handle is on top of stack
- ELSE
- IFIDN <MODIF>,<ME>
- MOV BL,1 ;use task's window handle
- ELSE
- IFIDN <MODIF>,<MAILTOS>
- MOV BL,2 ;use MAILBOX as handle (TOS)
- ELSE
- IFIDN <MODIF>,<MAILME>
- MOV BL,3 ;use MAILBOX as handle (ME)
- ELSE
- IFIDN <MODIF>,<KEYTOS>
- MOV BL,4 ;use KEYBOARD as handle (TOS)
- ELSE
- IFIDN <MODIF>,<KEYME>
- MOV BL,5 ;use KEYBOARD as handle (ME)
- ELSE
- IFIDN <MODIF>,<OBJQTOS>
- MOV BL,6 ;use OBJECTQ as handle (TOS)
- ELSE
- IFIDN <MODIF>,<OBJQME>
- MOV BL,7 ;use OBJQME as handle (ME)
- ELSE
- IFIDN <MODIF>,<WINDOW>
- MOV BL,8 ;define WINDOW class
- ELSE
- IFIDN <MODIF>,<MAILBOX>
- MOV BL,9 ;define MAILBOX class
- ELSE
- IFIDN <MODIF>,<KEYBOARD>
- MOV BL,10 ;define KEYBOARD class
- ELSE
- IFIDN <MODIF>,<TIMER>
- MOV BL,11 ;define TIMER class
- ELSE
- IFIDN <MODIF>,<POINTER>
- MOV BL,15 ;define POINTER class
- ELSE
- IFIDN <MODIF>,<PANEL>
- MOV BL,16 ;define PANEL class
- ELSE
- .ERR
- %OUT Invalid Modifier (%MODIF)
- EXITM
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- ENDIF
-
- MOV AH,12h
- INT 15h
-
- ENDM
- .list
-