home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
assemblr
/
library
/
devdriv
/
ddd
/
dddexe.asm
< prev
next >
Wrap
Assembly Source File
|
1989-04-16
|
1KB
|
39 lines
; Delete lines containing "ENDS" and "END" above.
EXEPacket IOPacket <> ; Requires packet space
Start PROC NEAR ; Execute DDD installation
MOV SP,OFFSET StackTop ; Shorten stack
PUSH ES ; Save PSP segment
MOV AH,049H ; Release environment
MOV ES,ES:0002CH
INT 021H
PUSH CS ; DS = CS
POP DS
ASSUME DS:CSEG
POP AX ; ES:0081 = Command string
MOV EXEPacket.IO_COUNT+2,AX ; Put address in packet
MOV EXEPacket.IO_COUNT,00081H
SUB AL,AL ; 0 = Initialize DDD
MOV EXEPacket.IO_CMD,AL ; Put command in packet
MOV BX,OFFSET EXEPacket ; ES:BX = packet address
PUSH CS
POP ES
ASSUME ES:CSEG
PUSH CS ; FAR return
CALL StratA ; Perform strategy
PUSH CS ; FAR return
CALL IntrA ; Perform interrupt
MOV DX,EXEPacket.IO_ADDRESS ; Get ending address
ADD DX,0010FH ; Add PSP and round up
MOV CL,4 ; Convert to paragraphs
SHR DX,CL
MOV AX,03100H ; DOS stay resident function
INT 021H
DW 080H DUP (?)
StackTop DW 0
Start ENDP
CSEG ENDS
END Start