home *** CD-ROM | disk | FTP | other *** search
/ Popular Software (Premium Edition) / mycd.iso / DICT / DFKC / ZWH / CHCS / CHQUIT.C < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-12  |  1.2 KB  |  76 lines

  1. /*
  2.  * ChQuit.c
  3.  *
  4.  * QUIT CHCS SYSTEM
  5.  *
  6.  */
  7.  
  8. #pragma    inline
  9.  
  10.    static unsigned char ver[9] = "\x0d\x0a\x09\CHCS";
  11.  
  12. void Error(char *str)
  13. {
  14.    asm {
  15.        mov  ah, 09h
  16.        mov  dx, str
  17.        int  21h
  18.        mov  ax, 4cffh
  19.        int  21h
  20.    }
  21. }
  22.  
  23. void Message(char *str)
  24. {
  25.    asm {
  26.        mov  ah, 09h
  27.        mov  dx, str
  28.        int  21h
  29.        mov  ax, 4c00h
  30.        int  21h
  31.    }
  32. }
  33.  
  34. void main()
  35. {
  36.    asm {
  37.        push es
  38.        push di
  39.        mov  ax, 3f00h
  40.        int  16h                      // es:bx = ver
  41.        mov  al, es:[bx+5]
  42.        mov  di, bx
  43.        lea  si, ver
  44.        mov  cx, 5
  45.        cld
  46.        repz cmpsb
  47.        pop  di
  48.        pop  es
  49.        jnz  NoCHCS
  50.        jmp  Quit
  51.    }
  52.  
  53.    NoCHCS:  Error("CHCS/CHIS not loaded !\x0d\x0a$");
  54.    ISQuit:  Message("│╔╚╗┬δ╩Σ╚δ╧╡═│ CHIS ═╦│÷═Ω▒╧.\x0d\x0a$");
  55.  
  56.    Quit:
  57.    asm {
  58.        push ax
  59.        mov  ah, 81h
  60.        int  16h
  61.        cmp  ax, 0
  62.        pop  ax
  63.        jne  NotQuit
  64.        cmp  al, 'C'
  65.        jne  ISQuit
  66.        mov  ah, 0fh
  67.        int  10h
  68.        cmp  al, 3
  69.        je   ret0
  70.        mov  ax, 3
  71.        int  10h
  72.    }
  73.    ret0:    exit(0);
  74.    NotQuit: Error("\x07╙╨│╠╨≥╫ñ┴⌠─┌┤µ, ▓╗─▄│╖│²│╔╚╗┬δ╧╡═│ !\x0d\x0a$");
  75. }
  76.