home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cdisk.zip / STARTUP / START4.ASM < prev    next >
Assembly Source File  |  1992-07-06  |  2KB  |  96 lines

  1. ;    
  2. ;    C startup routine, 4 devices
  3. ;
  4.         PUBLIC  _STRAT1
  5.         PUBLIC  _STRAT2
  6.         PUBLIC  _STRAT3
  7.         PUBLIC  _STRAT4
  8.         PUBLIC  __acrtused
  9.         PUBLIC  _INT_HNDLR
  10.         PUBLIC  _TIM_HNDLR
  11.  
  12.         EXTRN   _interrupt_handler:near
  13.         EXTRN   _timer_handler:near
  14.         EXTRN   _main:near
  15.  
  16. _DATA   segment   word public 'DATA'
  17. _DATA   ends
  18.  
  19. CONST   segment   word public 'CONST'
  20. CONST   ends
  21.  
  22. _BSS    segment word public 'BSS'
  23. _BSS    ends
  24.  
  25. DGROUP  group     CONST, _BSS, _DATA
  26. _TEXT   segment   word public 'CODE'
  27.  
  28.         assume  cs:_TEXT,ds:DGROUP,es:NOTHING,ss:NOTHING
  29.        .286P
  30. ;
  31. _STRAT1 proc   far
  32. __acrtused:              ; satisfy EXTRN modules
  33. ;
  34.        push    0
  35.        jmp     start     ;signal device 0
  36.  
  37. _STRAT1 endp
  38.  
  39. _STRAT2 proc far
  40. ;
  41.        push    1         ;signal second device
  42.        jmp     start
  43.  
  44. _STRAT2 endp
  45.  
  46. _STRAT3 proc far
  47. ;
  48.        push    2         ;signal third device
  49.        jmp     start
  50.  
  51. _STRAT3 endp
  52.  
  53. _STRAT4 proc far
  54. ;
  55.        push    3         ;signal fourth device
  56.        jmp     start
  57.  
  58. ;
  59. start:
  60.        push        es        ;send Request Pkt address
  61.        push    bx
  62.        call    _main     ;call driver mainline
  63.        pop     bx        ;restore es:bx
  64.        pop     es
  65.        add     sp,2      ;clean up stack
  66.        mov     word ptr es:[bx+3],ax ;send completion status
  67.        ret
  68. ;
  69. _STRAT4   endp
  70. ;
  71. _INT_HNDLR proc    far
  72. ;
  73.      call       _interrupt_handler ;handle rupts
  74.      ret               ;bail out
  75. ;
  76. _INT_HNDLR endp
  77. ;
  78. _TIM_HNDLR proc    far
  79. ;
  80.      pusha
  81.       push       es
  82.      push       ds
  83.      call       _timer_handler
  84.      pop       ds
  85.      pop       es
  86.      popa
  87.      ret
  88. ;
  89. _TIM_HNDLR endp
  90. ;
  91. _TEXT  ends
  92.        end
  93.  
  94.  
  95.  
  96.