266
10. Przykłady programów
81
82 006C 0010[
85
86 007C 0004[
88 ]
89
90 0080 ????
91 0082 007E[
94
95
96
97
98
99
100 0100
101 0100 E9 02B6 R
102
fcb2 db 16 dup (?)
; dyskowych
db 4 dup (?)
liczbazdw ?
znaki db 126dup(?)
; liczba znaków w zleceniu : wprowadzone znaki
* poczÄ…tek programu
duch label near
jmp start ; częić instalacyjna
103 104 |
assume cs:program,ds:nothing. |
cs:nothing.ss:nothing |
105 |
tablica kodów' wprowadzanych przez "ducha" | |
106 |
kod 1,1 oznacza pauzÄ™ ok. 1 sekundowÄ… | |
107 108 |
znacznikiem końca tabeli są dwa zerowe bajty | |
109 | ||
110 0103 63 00 |
tablica db 99D.0 |
; cis |
111 0105 6C 00 73 00 |
db 108D,0,115D,0 | |
112 0109 OD 1C |
db 13D,28D |
: <ret> |
duch" |
Page |
1-3 |
113 | ||
114 010B01 010101 |
db 1,1,U |
: 2 sekundy przerw)' |
115 | ||
116 010F 64 00 |
db 100D,0 |
; dir/w |
117 0111 69 00 72 00 2F 00 77 db 105D,0.114D,0,47D.O,119D,0 | ||
118 00 | ||
119 0119 OD 1C |
db 13D,28D |
; <rct> |
120 | ||
121 011B0101 0101 |
db 1,1,1,1 |
; 4 sekundy przerwy |
122 011F 01 01 01 01 |
db U.1,1 | |
123 | ||
124 0123 01 01 01 01 |
db 1,1,1,1 |
; 2 sekundy przerwy |
125 | ||
126 0127 63 00 |
db 99D.0 |
; cd c:\demo\dcmo_2 |
127 0129 64 00 20 00 63 00 3A db 1000,0,320,0,990,0,580,0,920.0
128 005C00
129 0133 64 00 65 00 60 00 6Fdb 100D.0.1010,0,1090.0,111D,0,92D.0
130 005C00
131 013D 64 00 65 00 6D 00 6F db 100D,0,101D,0,109D,0,111D.0.95D,0,50D.O
132 ’ 00 5F 00 32 00
10.2. Symulacja klawiatury
133 0149 OD 1C dbl3D,28D |
; <rct> | ||
134 | |||
135 014B |
010101 01 |
db 1.1,1.1 |
; 2 sekundy pauzy |
136 | |||
137 014F |
64 00 |
db 100D.0 |
; dir |
138 0151 |
69 00 7200 |
db 105D,0,114D,0 | |
139 0155 |
OD 1C |
db 13D.28D |
; <ret> |
140 | |||
141 0157 |
01 01 01 01 |
db 1,1,1,1 |
; 4 sekundy pauzy |
142 015B |
010101 01 |
db 1,U,1 | |
143 | |||
144 015F |
65 00 |
db 01D.0 |
; egashow 1 5 \cheryl |
145 0161 |
67 00 61 00 73 00 |
db 103D,0,97D.0,115D.0 | |
146 0167 |
68 00 6F 00 77 00 |
db 104D,0,111D,0,119D,0 | |
147 016D |
20 00 31 00 20 00 35 |
db 32D,0,49D.0,32D,0,53D,0,32D,0 | |
148 |
00 20 00 | ||
149 0177 |
5C 00 63 00 68 65 |
db 92D,0,99D,0,104D.0,101 D,0,114D.0,121 D,0 | |
150 |
00 72 00 79 00 6 | ||
151 0185 |
OD 1C |
db 13D.28D |
; <ret> |
152 | |||
153 0187 |
01 010101010101 |
db 1,1,1,1,1,1,1,l,l,l,ltU,1,1,1 | |
154 |
010101 010101 01 | ||
155 |
0101 | ||
156 0197 |
00 OOdb 0.0 |
; koniec tabeli* |
157
158
159
160 0199
161 162
163
164
OD OA 44 75 63 68 20 tekst db ODII.OAH,"Duch komputera rezyduje",ODH,OAH,"$" 6B6F6D70 75 74 65 72 61 20 72 65 7A 79 64 75 6A 65 OD OA 24
165 01B5 ???? |
intlCH wektor < > |
; wektor obsługi przerwania ICH | |
166 01B7 ???? 167 168 01B9 ???? |
int09H wektor < > |
; wektor obsługi przerwania 09H | |
"duch" |
Page |
1-4 | |
169 01BB ???? 170 171 172 01BD00 |
licznik db |
0 |
; licznik dla procedury "duszek" |
173 OlBEOO |
aktywny db |
0 |
; semafor aktywności programu |
174 01BF 0000 |
wskaźnik dw |
0 |
; wskaźnik tabeli znaków |
175
176
177
178
179
180
181 01C1
182
183 01C1 50
184 01C2 53
185 01C3E4 60
: nowa procedura obsługi przerwania od klawiatury (09H)
klawiatura
proc far
push ax push bx in al.KB IN
; czytaj klawiaturÄ™