home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / library / devdriv / ddd / dddexe.asm < prev    next >
Assembly Source File  |  1989-04-16  |  1KB  |  39 lines

  1. ;    Delete lines containing "ENDS" and "END" above.
  2.  
  3. EXEPacket    IOPacket    <>    ; Requires packet space
  4.  
  5. Start    PROC    NEAR            ; Execute DDD installation
  6.     MOV    SP,OFFSET StackTop    ; Shorten stack
  7.     PUSH    ES            ; Save PSP segment
  8.     MOV    AH,049H            ; Release environment
  9.     MOV    ES,ES:0002CH
  10.     INT    021H
  11.     PUSH    CS            ; DS = CS
  12.     POP    DS
  13.     ASSUME    DS:CSEG
  14.     POP    AX            ; ES:0081 = Command string
  15.     MOV    EXEPacket.IO_COUNT+2,AX    ; Put address in packet
  16.     MOV    EXEPacket.IO_COUNT,00081H
  17.     SUB    AL,AL            ; 0 = Initialize DDD
  18.     MOV    EXEPacket.IO_CMD,AL    ; Put command in packet
  19.     MOV    BX,OFFSET EXEPacket    ; ES:BX = packet address
  20.     PUSH    CS
  21.     POP    ES
  22.     ASSUME    ES:CSEG
  23.     PUSH    CS            ; FAR return
  24.     CALL    StratA            ; Perform strategy
  25.     PUSH    CS            ; FAR return
  26.     CALL    IntrA            ; Perform interrupt
  27.     MOV    DX,EXEPacket.IO_ADDRESS    ; Get ending address
  28.     ADD    DX,0010FH        ; Add PSP and round up
  29.     MOV    CL,4            ; Convert to paragraphs
  30.     SHR    DX,CL
  31.     MOV    AX,03100H        ; DOS stay resident function
  32.     INT    021H
  33.  
  34.         DW    080H DUP (?)
  35. StackTop    DW    0
  36. Start    ENDP
  37. CSEG    ENDS
  38.     END    Start
  39.