Текст программы (1071438), страница 3
Текст из файла (страница 3)
CMDLINE Near TEXT:0393 295 #398
CRLF Near TEXT:02DF #281
CYCL Near TEXT:02C8 #262 271
EXIT Near TEXT:02DB 264 #272
EXITCLOSEFILE Near TEXT:02BF 155 216 #247
EXITOPENFILE Near TEXT:0256 #185
FHANDLE Byte TEXT:05CE #552
FHANDLE2 Byte TEXT:05CF #553
FINALLY Near TEXT:01D8 #113 123 126
GOEXITHELP Near TEXT:03F2 455 #457
GOEXITUNLOAD Near TEXT:03E0 439 #441
HANDLE Word TEXT:05CC 151 161 167 173 182 212 222 228 234 243 #551
HELP Near TEXT:03F3 411 456 #461
INIT Near TEXT:02E8 5 #294
INSERT Near TEXT:018D 47 #51
INSTALLED Near TEXT:0313 302 #318
LOADED Near TEXT:02FF 307 #308
MAIN Far TEXT:0100 #4 290 564
MESCL Byte TEXT:012D #19 24 230
MESCLLN Number 0023 #24 229
MESCRLF Byte TEXT:010B #12 283
MESERROR Byte TEXT:0150 #25 153 214
MESHELP Byte TEXT:04B2 463 #507
MESLOADED Byte TEXT:0410 312 #483
MESNEW Byte TEXT:010E #13 18 169
MESNEWLN Number 001F #18 168
MESOTHERLOADED Byte TEXT:053C 356 #529
MESUNLOADED Byte TEXT:0463 329 422 #495
MESWRONGPARAM Byte TEXT:0499 409 #503
NEWFILE Byte TEXT:05D0 148 209 #555
NEW_21H Far TEXT:01C5 #93 352 391
NEW_2DH Far TEXT:0179 #36 350 386
NEW_3DH Near TEXT:01E3 108 #121
NEW_3EH Near TEXT:01E8 110 #124
NEX Near TEXT:0213 152 #158
NEX1 Near TEXT:027C 213 #219
NOTINSTALLED Near TEXT:02F8 301 #305
NOT_I Near TEXT:03CD 417 #427
OLD_21H Dword TEXT:0107 #11 72 119 150 171 179 184 211 232 240 245 375 376 473
OLD_2DH Dword TEXT:0103 #10 61 67 369 370
OPCLFILE Word TEXT:05D8 141 177 238 #557
OPCLFILE2 Word TEXT:05DA #558
Turbo Assembler Version 4.1 28/12/06 12:26:45 Page 12
Symbol Table
OPENFILE Near TEXT:01ED 122 #133
OTHERLOADED Near TEXT:0358 351 353 #355
OUT_2DH Near TEXT:0193 45 50 #57
PRINTSTR Near TEXT:02C3 154 215 #256 284 313 330 357 410 423 464
RESSIZE Number 01E8 #290 315
SAVEOLDVECTORS Near TEXT:0363 310 #364
SCANHELP Near TEXT:03E1 407 #447
SCANUNLOAD Near TEXT:03CE #431
SETNEWVECTORS Near TEXT:0380 311 #382
STRING Byte TEXT:05DC #559 562
STRINGLN Number 0011 #562
TAILHELP Byte TEXT:0405 405 #479
TEMP_21H Dword TEXT:040C 348 352 #482
TEMP_2DH Dword TEXT:0408 343 350 #481
UNINSTALL Near TEXT:019A 49 #62
UNLOAD Near TEXT:031F 320 #323
UNLOADFLAG Byte TEXT:0407 306 319 440 #480
WRONGPARAM Near TEXT:03A9 #408
Groups & Segments Bit Size Align Combine Class Cref (defined at #)
TEXT 16 05ED Para none CODE #1 2 2
2. UNLDTSR.lst
Turbo Assembler Version 4.1 28/12/06 11:36:10 Page 1
unldtsr.asm
1 0000 stck segment stack
2 0000 0100*(??) db 256 dup (?)
3 0100 stck ends
4
5 0000 data segment
6 0000 53 75 63 63 65 73 66+ mes_unload db 'Succesfully unloaded',0Ah,0Dh,'$'
7 75 6C 6C 79 20 75 6E+
8 6C 6F 61 64 65 64 0A+
9 0D 24
10 0017 4E 6F 74 20 6C 6F 61+ mes_not_load db 'Not loaded',0Ah,0Dh,'$'
11 64 65 64 0A 0D 24
12 0024 data ends
13
14 0000 cseg segment
15 assume cs:cseg, ds:data, ss:stck
16
17 0000 start:
18 0000 B8 0000s mov AX, data
19 0003 8E D8 mov DS, AX
20 0005 B8 C800 mov AX, 0C800h ;проверим, есть ли резидент в памяти
21 0008 CD 2D int 2Dh
22 000A 3C FF cmp AL, 0FFh
23 000C 75 07 jne not_load ;не загружен - на выход
24 000E B8 C801 mov AX, 0C801h ;выгрузка резидента
25 0011 CD 2D int 2Dh
26 0013 74 09 je unload
27 0015 not_load:
28 0015 BA 0017r mov DX, offset mes_not_load ; программы не было в памяти, выдать +
29 сообщение
30 0018 E8 000E call str_out
31 001B EB 07 90 jmp exit
32
33 001E unload:
34 001E BA 0000r mov DX, offset mes_unload ; выдать сообщение об удачной выгрузке
35 0021 E8 0005 call str_out
36 0024 exit: ; выход с полной выгрузкой текущей +
37 копии программы
38 0024 B8 4C00 mov AX, 4C00H
39 0027 CD 21 int 21H
40
41 ; функция вывода строки на экран
42 ; входные данные:
43 ; DX - адрес строки
44 ; выходные данные:
45 ; нет
46 0029 str_out proc
47 0029 50 push AX
48 002A B4 09 mov AH, 09h
49 002C CD 21 int 21h
50 002E 58 pop AX
51 002F C3 ret
52 0030 str_out endp
53
54 0030 cseg ends
55 end start
Turbo Assembler Version 4.1 28/12/06 11:36:10 Page 2
Symbol Table
Symbol Name Type Value Cref (defined at #)
??DATE Text "28/12/06"
??FILENAME Text "unldtsr "
??TIME Text "11:36:10"
??VERSION Number 040A
@CPU Text 0101H
@CURSEG Text CSEG #1 #5 #14
@FILENAME Text UNLDTSR
@WORDSIZE Text 2 #1 #5 #14
EXIT Near CSEG:0024 31 #36
MES_NOT_LOAD Byte DATA:0017 #10 28
MES_UNLOAD Byte DATA:0000 #6 34
NOT_LOAD Near CSEG:0015 23 #27
START Near CSEG:0000 #17 55
STR_OUT Near CSEG:0029 30 35 #46
UNLOAD Near CSEG:001E 26 #33
Groups & Segments Bit Size Align Combine Class Cref (defined at #)
CSEG 16 0030 Para none #14 15
DATA 16 0024 Para none #5 15 18
STCK 16 0100 Para Stack #1 15