fixed file permissions
[qbasicapps.git] / networking / LPT communication driver / test.ASM
1 ; simple driver test\r
2 \r
3 org 100h\r
4 \r
5 mov     ah, 1   ; activate driver\r
6 int     63h\r
7 \r
8 l1:\r
9 mov     di, last\r
10 mov     ah, 2\r
11 int     63h\r
12 cmp     ax, 0\r
13 je      l2\r
14 \r
15 cmp     byte [last], 0\r
16 jne     l3\r
17 call    send4kb\r
18 jmp     l2\r
19 l3:\r
20 \r
21 add     ax, last\r
22 mov     di, ax\r
23 mov     byte [ds:di], 36\r
24 \r
25 mov     ah, 9\r
26 mov     dx, d1\r
27 int     21h\r
28 \r
29 \r
30 l2:\r
31 \r
32 mov     ah, 0bh\r
33 int     21h\r
34 cmp     al, 0\r
35 je      l1\r
36 \r
37 \r
38 mov     ah, 0\r
39 int     16h\r
40 cmp     al, 27\r
41 je      quit\r
42 cmp     al, 13\r
43 je      send\r
44 cmp     al, 32\r
45 je      TestSpeed\r
46 \r
47 jmp     l1\r
48 \r
49 quit:\r
50 mov     ah, 0   ; deactivate driver\r
51 int     63h\r
52 ret\r
53 \r
54 send:\r
55 mov     cx, d1 - d2\r
56 mov     si, d2\r
57 mov     ah, 3\r
58 int     63h\r
59 jmp     l1\r
60 \r
61 send4kb:\r
62 mov     cx, 4096\r
63 mov     si, last\r
64 mov     ah, 3\r
65 int     63h\r
66 ret\r
67 \r
68 TestSpeed:\r
69 mov     byte [last], 0\r
70 mov     cx, 0\r
71 \r
72 l5:\r
73 push    cx\r
74 call    send4kb\r
75 l4:\r
76 mov     di, last + 1\r
77 mov     ah, 2\r
78 int     63h\r
79 cmp     ax, 0\r
80 je      l4\r
81 pop     cx\r
82 \r
83 mov     dx, d3\r
84 mov     ah, 9\r
85 int     21h\r
86 \r
87 inc     cx\r
88 cmp     cx, 100\r
89 jb      l5\r
90 \r
91 mov     dx, d4\r
92 mov     ah, 9\r
93 int     21h\r
94 jmp     l1\r
95 \r
96 d3      db '. $'\r
97 d4      db 13, 10, 'done', 13, 10, '$'\r
98 d2      db 'Quick brown fox jumped over the lazy dogs. 0123456789ABCDEF'\r
99 d1      db 13,10,'Data recieved:'\r
100 last:\r