projects
/
qbasicapps.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
e98e6804e891c6905426e3c5ad824a962552eafd
[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