Structure of a driver in a DOS environment
See The MS-DOS encyclopedia Article 15 p 447 (Microsoft Press 1988)
It's a .COM programm with one SEGMENT
DRIVER_TEXT SEGMENT
org 0
device_header:
dd -1 ;link to next driver header
dw .... ;---------------------------
;bit |15 |14 |13 |12
; |1=char |1=IOCTL|1=non |=0
;
...
rheader_off DW 0
rheader_seg DW 0
data_segment DW 0
stack_segment DW 0
extra_segment DW 0
data_part DW 100 dup (?)
stack_part DW STACK_SIZE dup (?)
stack_end:
rheader EQU es:di
Strategy PROC FAR
mov cs:rheader_off,bx
mov cs:rheader_seg,es
...
RET ;replace by a retf at compilation time
Interrupt PROC FAR
PUSH register AX DX SI DI
mov cs:data_segment,ds
mov ax,cs
mov ds,ax
mov ss,ax
lea sp,stack_end
mov stack_segment,ss
mov extra_segment,es
mov es,rheader_seg
mov di,rheader_off
mov bx,rheader.cmd
...
RET ;replace by a retf at compilation time
DRIVER_TEXT ENDS
END
<arj> 97/01/15 12:00 97/01/15 16:52
-vw1440 -wc:\temp
-t1: c text file
-b1: backup changed file + reset archive file
-i2: indicator
-k :keep a .bak of arj file
-hu: allow update of volume archive
-jt1 test CRC and file contents
-jm: set maximum compression mode
-jyv
set arj_sw=-v1440 -jt1 -jm -jyv -i2
arj a e:\bye\backup -t1 -vw -k -b1 -hu d:\fturi\inc\*.c
ou bien
arj a e:\bye\ft-bin -r -le:\bye\ft-bin.lst d:\ft.bin\*.*