home *** CD-ROM | disk | FTP | other *** search
/ Borland Programmer's Resource / Borland_Programmers_Resource_CD_1995.iso / fonts / cw_src / altexe / check.asm < prev    next >
Encoding:
Assembly Source File  |  1995-05-19  |  784 b   |  57 lines

  1. ;
  2. ;    CyrWin protection
  3. ;
  4.  
  5.     .model MEDIUM,C
  6.     .CODE
  7. Chk    Proc USES ds si
  8.     extrn    _F000H:FAR
  9.     extrn    _C000H:FAR
  10.     mov    ax, Offset _F000H
  11.     mov    es, ax
  12.     mov    si, 0e000h
  13.     mov    cx, 0ffffh - 0e000h
  14.     xor    bx, bx
  15.     mov    dx, OFFSET FindAddBios
  16.     push    dx
  17. ChkLoop:
  18.     add    bx, es:[si]
  19.     dec    bx
  20.     inc    si
  21.     loop    ChkLoop
  22.     retn
  23.  
  24. FindAddBios:
  25.     jmp    short ChkSumm
  26.     xor    dx, dx
  27.     mov    ax, Offset  _C000H
  28.     mov    es, ax
  29.     xor    si, si
  30.  
  31. ChkAddBios:
  32.     cmp    Word Ptr es:[si], 0AA55h
  33.     jne    @F
  34.     inc    dx
  35.     mov    al, Byte Ptr es:[si+3]
  36.     mov    cx, 2048
  37.     push    si
  38.     call    ChkLoop
  39.     pop    si
  40. @@:
  41.     add    si, 2048
  42.     cmp    si, 07fffh
  43.     jb    ChkAddBios
  44.     mov    ax, 1
  45.     jmp    short ChkSumm
  46. Label2:
  47.     db    'O'     ; XOR 055h
  48.     db    'l'     ; XOR 055h
  49.     db    'e'     ; XOR 055h
  50. ChkSumm:
  51.     cmp    bx, 1234h
  52.     je    @F
  53. @@:
  54.     mov    ax, 1
  55.     ret
  56. Chk    EndP
  57.     end