home *** CD-ROM | disk | FTP | other *** search
-
- ; *******************************************************
- ; * *
- ; * Turbo Pascal Run-time Library *
- ; * Windows Application Main Module *
- ; * *
- ; * Copyright (c) 1988,92 Borland International *
- ; * *
- ; *******************************************************
-
- TITLE WAPP
-
- INCLUDE SE.ASM
-
- DATA SEGMENT WORD PUBLIC
-
- ; Externals
-
- EXTRN PrefixSeg:WORD,HPrevInst:WORD,HInstance:WORD
- EXTRN CmdLine:DWORD,CmdShow:WORD,Input:BYTE,Output:BYTE
- EXTRN SelectorInc:WORD,Test8086:BYTE
-
- DATA ENDS
-
- ; Windows entry points
-
- EXTRN WaitEvent:FAR,InitApp:FAR,GetWinFlags:FAR
- EXTRN __AHIncr:ABS
-
- CODE SEGMENT BYTE PUBLIC
-
- ASSUME CS:CODE,DS:DATA
-
- ; Externals
-
- EXTRN DoExitProcs:NEAR
-
- ; Publics
-
- PUBLIC InitTurbo
-
- ; Application entry code. Every application starts with a call
- ; to InitTask followed by a call to this routine.
-
- InitTurbo:
-
- ENTRY WINFAR
- OR AX,AX ;Zero if InitTask failed
- JE @@2
- MOV PrefixSeg,ES ;Save InitTask return values
- MOV HPrevInst,SI
- MOV HInstance,DI
- MOV CmdShow,DX
- MOV CmdLine.ofs,BX
- MOV CmdLine.seg,ES
- XOR AX,AX ;Clear event that started task
- PUSH AX
- CALL WaitEvent
- PUSH HInstance ;Initialize application
- CALL InitApp
- OR AX,AX ;Zero if InitApp failed
- JE @@2
- CALL GetWinFlags ;Determine CPU type
- XOR DX,DX
- TEST AL,0C0H ;wf_CPU086 + wf_CPU186
- JNE @@1
- INC DX
- TEST AL,02H ;wf_CPU286
- JNE @@1
- INC DX
- @@1: MOV Test8086,DL
- MOV SelectorInc,__AHIncr
- EXIT
- @@2: MOV AX,dosExit*256+0FFH
- INT DOS
-
- CODE ENDS
-
- END
-