home *** CD-ROM | disk | FTP | other *** search
- jmp l047Ah
-
- l0103h db 'DRV V2.00 (C) 1990-1992 Stefan Bion, enter DRV /H for'
- db ' help',0Dh,0Ah,0
- l0140h db 'Invocation syntax: DRV [options]',0Dh,0Ah,0Dh,0Ah
- db 'options: /H display this help information',0Dh,0Ah
- db ' /P stop after each page',0Dh,0Ah,0Dh,0Ah
- db 'DRV sends a listing of the installed device drivers t'
- db 'o StdOut.',0Dh,0Ah
- db 'If you redirect the output, option /P has no effect.',0Dh
- db 0Ah,0
- l0230h db 0Dh,0Ah
- db ' ┌────────────────── CHR',0Dh,0Ah
- db ' │┌───────────────── IOCTL',0Dh,0Ah
- db ' ││┌──────────────── NONIBM',0Dh,0Ah
- db ' │││┌─────────────── NETWORK',0Dh,0Ah
- db ' ││││┌────────────── OCRM (OPEN DEVICE, CL'
- db 'OSE DEVIVE,',0Dh,0Ah
- db ' │││││ REMOVABLE MEDIA'
- db ')',0Dh,0Ah
- db ' │││││ ┌───── CLOCK',0Dh,0Ah
- db ' │││││reserved│┌──── NUL',0Dh,0Ah
- db ' │││││ │ ││┌─── STDOUT',0Dh,0Ah
- db ' │││││┌┬┬┴┬┬┬┐│││┌── STDIN',0Dh,0Ah
- db ' ││││││││ ││││││││',0Dh,0Ah
- db ' Header ││││││││ ││││││││ Strategy Interrupt'
- db ' Name',0Dh,0Ah,0Dh,0Ah,0
- l0444h db ' ',0
- l0448h db ' Blockdr',0Dh,0Ah,0
- l0453h db ' ',0Dh,0Ah,0
- l045Eh db 0
- l045Fh db 0
- l0460h db 0
- l0461h db 0Fh
- l0462h db 'Interrupted',0Dh,0Ah
- db '$'
- l0470h db ' - key -',0Dh
- db '$'
-
- l047Ah: push dx
- mov dx,offset l0103h
- call l05C2h
- pop dx
- mov ax,offset l2523h ;'%#'
- l0484h equ $-1
- mov dx,offset l0653h
- int 21h
- push ds
- xor ax,ax
- mov ds,ax
- mov al,b[l0484h]
- pop ds
- mov b[l0460h],al
- mov si,81h ;'ü'
- cld
- l049Ah: lodsb
- cmp al,0Dh
- je l04C0h
- cmp al,2Fh ;'/'
- jne l049Ah
- lodsb
- cmp al,0Dh
- je l04C0h
- and al,0DFh
- cmp al,48h ;'H'
- jne l04B5h
- mov b[l045Eh],1
- jmp short l049Ah
-
- l04B5h: cmp al,50h ;'P'
- jne l049Ah
- mov b[l045Fh],1
- jmp short l049Ah
-
- l04C0h: cmp b[l045Eh],1
- jne l04D4h
- push dx
- mov dx,offset l0140h
- call l05C2h
- pop dx
- mov ax,offset l4C00h
- int 21h
- l04D4h: push ds
- mov bx,34h ;'4'
- lds bx,d[bx]
- cmp b[bx+1],1
- pop ds
- je l04E6h
- mov b[l045Fh],0
- l04E6h: push dx
- mov dx,offset l0230h
- call l05C2h
- pop dx
- mov ah,52h ;'R'
- int 21h
- add bx,22h ;'"'
- jae l04FEh
- mov ax,es
- add ax,offset l1000h
- mov es,ax
- l04FEh: call l0518h
- es mov ax,w[bx]
- cmp ax,offset lFFFFh
- je l0513h
- es mov dx,w[bx+2]
- mov bx,ax
- mov es,dx
- jmp short l04FEh
-
- l0513h: mov ax,offset l4C00h
- int 21h
- l0518h: mov ax,es
- call l05F9h
- mov ah,2
- mov dl,3Ah ;':'
- int 21h
- mov ax,bx
- call l05F9h
- push dx
- mov dx,offset l0444h
- call l05C2h
- pop dx
- es mov ax,w[bx+4]
- xchg al,ah
- call l0635h
- push ax
- mov ah,2
- mov dl,20h ;' '
- int 21h
- pop ax
- xchg al,ah
- call l0635h
- push dx
- mov dx,offset l0444h
- call l05C2h
- pop dx
- mov ax,es
- call l05F9h
- mov ah,2
- mov dl,3Ah ;':'
- int 21h
- es mov ax,w[bx+6]
- call l05F9h
- push dx
- mov dx,offset l0444h
- call l05C2h
- pop dx
- mov ax,es
- call l05F9h
- mov ah,2
- mov dl,3Ah ;':'
- int 21h
- es mov ax,w[bx+8]
- call l05F9h
- push dx
- mov dx,offset l0444h
- call l05C2h
- pop dx
- es mov ax,w[bx+4]
- test ax,offset l8000h
- jne l05A0h
- es mov al,b[bx+0Ah]
- xor ah,ah
- call l05D7h
- push dx
- mov dx,offset l0448h
- call l05C2h
- pop dx
- call l0663h
- ret
-
- l05A0h: mov di,bx
- add di,0Ah
- mov si,offset l0453h
- mov cx,4
- l05ABh: es mov ax,w[di]
- mov w[si],ax
- inc di,di,si,si
- loop l05ABh
- push dx
- mov dx,offset l0453h
- call l05C2h
- pop dx
- call l0663h
- ret
-
- l05C2h: push ax,si
- mov si,dx
- mov ah,2
- cld
- l05C9h: lodsb
- cmp al,0
- je l05D4h
- mov dl,al
- int 21h
- jmp short l05C9h
-
- l05D4h: pop si,ax
- ret
-
- l05D7h: push ax,bx,cx,dx
- mov bx,0Ah
- xor cx,cx
- l05E0h: xor dx,dx
- div bx
- add dl,30h ;'0'
- push dx
- inc cx
- or ax,ax
- jne l05E0h
- mov ah,2
- l05EFh: pop dx
- int 21h
- loop l05EFh
- pop dx,cx,bx,ax
- ret
-
- l05F9h: push ax,bx,cx,dx,si
- mov cx,4
- l0601h: mov si,ax
- and si,0Fh
- mov bl,b[si+l0625h]
- push bx
- shr ax,1
- shr ax,1
- shr ax,1
- shr ax,1
- loop l0601h
- mov cx,4
- mov ah,2
- l061Ah: pop dx
- int 21h
- loop l061Ah
- pop si,dx,cx,bx,ax
- ret
-
- l0625h db '0123456789ABCDEF'
-
- l0635h: push ax,bx,cx,dx
- mov bl,al
- mov cx,8
- mov ah,2
- l0640h: rcl bl,1
- jb l0648h
- mov dl,0F9h
- jmp short l064Ah
-
- l0648h: mov dl,31h ;'1'
- l064Ah: int 21h
- loop l0640h
- pop dx,cx,bx,ax
- l0652h: ret
-
- l0653h: mov ax,cs
- mov ds,ax
- mov ah,9
- mov dx,offset l0462h
- int 21h
- mov ax,offset l4C01h
- int 21h
- l0663h: cmp b[l045Fh],0
- je l0652h
- inc b[l0461h]
- mov al,b[l0461h]
- cmp al,b[l0460h]
- jb l0652h
- mov b[l0461h],0
- mov ah,9
- mov dx,offset l0470h
- int 21h
- mov ah,8
- int 21h
- ret
-
- l1000h equ $+978h
- l2523h equ $+1E9Bh
- l4C00h equ $+4578h
- l4C01h equ $+4579h
- l8000h equ $+7978h
- lFFFFh equ $+0F977h
-