-4. Текст Программы (1071407), страница 2
Текст из файла (страница 2)
364 mov al,n
365 int 21h
366 mov word ptr cs:[old_&n],bx
367 mov word ptr cs:[old_&n+2],es
368
369
370 mov ah,25h
371 mov al,n
372 mov dx,offset new_&n
373 int 21h
374 endm
375
376
377 035C init proc
378
379
380 035C 33 C0 xor ax,ax
381 035E 0E push cs
382 035F 1F pop ds
383 0360 BE 0080 mov si,80h
384 0363 33 C9 xor cx,cx
385 0365 AC lodsb ;zagryzka baita v al
386 0366 8A C8 mov cl,al
387 0368 E3 1E 90 90 90 90 90 jcxz no_switch ;perexod esli cx=0
388 036F cmd_loop:
389 036F AC lodsb ;zagryzka baita v al
390 0370 3D 2F3F cmp ax,'/?' ;sravnenie ax s /?
391 0373 74 0A 90 90 90 je help_switch ; esli ravno -> help_switch
392 0378 8A E0 mov ah,al
393 037A E2 F3 loop cmd_loop ;cikl
394 037C EB 0A 90 jmp no_switch
395
396 037F help_switch:
397
398
399 037F B4 09 mov ah,09h
Turbo Assembler Version 2.51 12/01/05 04:51:35 Page 8
font.asm
400 0381 BA 042Cr mov dx,offset msg3
401 0384 CD 21 int 21h
402
403
404 0386 CD 20 int 20h
405
406 0388 no_switch:
407
408 0388 B4 77 mov ah,prog_id
409 038A B0 00 mov al,0
410 038C CD 2F int 2Fh ;vyzyvaem 2Fh preryvanie (77h)
411 038E 3C FF cmp al,0FFh ;sravnenie al s 0FFh
412 0390 74 5B 90 90 90 je installed
413 setvect 2Fh
1 414 0395 B4 35 mov ah,35h
1 415 0397 B0 2F mov al,2Fh
1 416 0399 CD 21 int 21h
1 417 039B 2E: 89 1E 011Cr mov word ptr cs:[old_2Fh],bx
1 418 03A0 2E: 8C 06 011Er mov word ptr cs:[old_2Fh+2],es
1 419 03A5 B4 25 mov ah,25h
1 420 03A7 B0 2F mov al,2Fh
1 421 03A9 BA 0120r mov dx,offset new_2Fh
1 422 03AC CD 21 int 21h
423 setvect 09h
1 424 03AE B4 35 mov ah,35h
1 425 03B0 B0 09 mov al,09h
1 426 03B2 CD 21 int 21h
1 427 03B4 2E: 89 1E 01ADr mov word ptr cs:[old_09h],bx
1 428 03B9 2E: 8C 06 01AFr mov word ptr cs:[old_09h+2],es
1 429 03BE B4 25 mov ah,25h
1 430 03C0 B0 09 mov al,09h
1 431 03C2 BA 01B5r mov dx,offset new_09h
1 432 03C5 CD 21 int 21h
433
434
435 03C7 B4 49 mov ah,49h
436 03C9 2E: 8E 06 002C mov es,cs:2Ch
437 03CE CD 21 int 21h
438
439
440 03D0 B4 34 mov ah,34h
441 03D2 CD 21 int 21h
442 03D4 2E: 89 1E 0103r mov word ptr cs:[indos_ptr],bx
443 03D9 2E: 8C 06 0105r mov word ptr cs:[indos_ptr+2],es
444
445
446 03DE B4 09 mov ah,09h
447 03E0 BA 03F6r mov dx,offset msg0
448 03E3 CD 21 int 21h
449
450
451 03E5 B8 3100 mov ax,3100h
452 03E8 BA 0036 mov dx,(end_tsr-main+10Fh)/16
453 03EB CD 21 int 21h
454
455 03ED installed:
456
Turbo Assembler Version 2.51 12/01/05 04:51:35 Page 9
font.asm
457
458 03ED B4 09 mov ah,09h
459 03EF BA 0412r mov dx,offset msg2
460 03F2 CD 21 int 21h
461 03F4 CD 20 int 20h
462
463 03F6 init endp
464
465 03F6 8F E0 AE A3 E0 A0 AC+ msg0 db 'Џа®Ја ¬¬ § Ја㦥 ЂЃ‚ѓ„',10,13,'$'
466 AC A0 20 A7 A0 A3 E0+
467 E3 A6 A5 AD A0 20 80+
468 81 82 83 84 0A 0D 24
469 0412 8F E0 AE A3 E0 A0 AC+ msg2 db 'Џа®Ја ¬¬ 㦥 § Ја㦥 ',10,13,'$'
470 AC A0 20 E3 A6 A5 20+
471 A7 A0 A3 E0 E3 A6 A5+
472 AD A0 0A 0D 24
473 042C 90 85 87 88 84 85 8D+ msg3 db 'ђ…‡€„…Ќ’ЌЂџ ЏђЋѓђЂЊЊЂ „‹џ €‡Њ…Ќ…Ќ€џ ђ€”’Ђ',10,13
474 92 8D 80 9F 20 8F 90+
475 8E 83 90 80 8C 8C 80+
476 20 84 8B 9F 20 88 87+
477 8C 85 8D 85 8D 88 9F+
478 20 98 90 88 94 92 80+
479 0A 0D
480 0458 90 A0 A1 AE E2 A0 A5+ db 'ђ Ў®в Ґв ў ०Ё¬Ґ 13h 320x200 256 梥⮢',10,13
481 E2 20 A2 20 E0 A5 A6+
482 A8 AC A5 20 31 33 68+
483 20 33 32 30 78 32 30+
484 30 20 32 35 36 20 E6+
485 A2 A5 E2 AE A2 0A 0D
486 0482 83 AE E0 EF E7 A0 EF+ db 'ѓ®апз п Є« ўЁи F11',10,13
487 20 AA AB A0 A2 A8 E8+
488 A0 20 46 31 31 0A 0D
489 0497 20 20 20 2F 3F 20 88+ db ' /? €д®а¬ жЁп',10,13
490 AD E4 AE E0 AC A0 E6+
491 A8 EF 0A 0D
492 04A9 82 EB A3 E0 E3 A7 AA+ db '‚лЈаг§Є ЇаЁ ctrl+u',10,13,10,13,'$'
493 A0 20 AF E0 A8 20 63+
494 74 72 6C 2B 75 0A 0D+
495 0A 0D 24
496
497 04C1 text ends
498 end main
Turbo Assembler Version 2.51 12/01/05 04:51:35 Page 10
Symbol Table
Symbol Name Type Value
??DATE Text "12/01/05"
??FILENAME Text "font "
??TIME Text "04:51:35"
??VERSION Number 0205
@CPU Text 0507H
@CURSEG Text TEXT
@FILENAME Text FONT
@WORDSIZE Text 2
CALL_OLD Near TEXT:01D4
CMD_LOOP Near TEXT:036F
CRLF Near TEXT:019C
CTRL Near TEXT:01DA
CTRLR Near TEXT:01E3
CTRLR_CODE Number 009D
CTRL_CODE Number 001D
CTRL_FLAG Word TEXT:01B1
END_2FH Near TEXT:0136
END_TSR Number TEXT:035C
FIN Near TEXT:0359
FIN_STR_OUT Near TEXT:019A
FLAG Byte TEXT:0231
HELP_SWITCH Near TEXT:037F
HOTKEY Near TEXT:01EC
HOTKEY_CODE Number 0057
IDENTIFY Near TEXT:013B
INDOS_PTR Dword TEXT:0103
INIT Near TEXT:035C
INSTALLED Near TEXT:03ED
KEY_END Near TEXT:0208
KEY_FUNC Word TEXT:01B3
LOADNEW Near TEXT:0306
LOADOLD Near TEXT:0331
MAIN Near TEXT:0100
MSG0 Byte TEXT:03F6
MSG1 Byte TEXT:0107
MSG2 Byte TEXT:0412
MSG3 Byte TEXT:042C
NEWCHAR Byte TEXT:0282
NEW_09H Near TEXT:01B5
NEW_2FH Near TEXT:0120
NEXT_SMBL Near TEXT:0178
NO_SWITCH Near TEXT:0388
OLDCHAR Byte TEXT:0232
OLD_09H Dword TEXT:01AD
OLD_2FH Dword TEXT:011C
PROG_ID Number 0077
SET_CUR Near TEXT:0194
STR_OUT Near TEXT:0171
SWAPCHARS Near TEXT:02D2
SWAP_FUNC Near TEXT:022C
UNINST Near TEXT:01F6
UNINSTALL Near TEXT:013E
UNINST_FUNC Near TEXT:022F
U_CODE Number 0016
Turbo Assembler Version 2.51 12/01/05 04:51:35 Page 11
Symbol Table
Macro Name
RSTVECT
SETVECT
Groups & Segments Bit Size Align Combine Class
TEXT 16 04C1 Para none