home *** CD-ROM | disk | FTP | other *** search
/ Popular Software (Premium Edition) / mycd.iso / DICT / DFKC / ZWH / CHCS / MAIN.ASM < prev    next >
Encoding:
Assembly Source File  |  1998-01-12  |  7.7 KB  |  340 lines

  1. ;
  2. ;       main.asm
  3. ;
  4. code            segment byte public 'CODE'
  5.         assume  cs:code, ds:code
  6. ;
  7. include         xcs.mac
  8. ;
  9.         extrn   Ascii:far
  10.         extrn   QuWei:far
  11.         extrn   FuHao:far
  12. ;
  13.         db      'VGA'
  14. CHCSVersion     db      'CHCS 1.0'
  15. ;
  16. ChcsPsp         dw      ?
  17. ChcsEnv         dw      ?
  18.         db      ?
  19. ;
  20. wHas            db      0
  21. uHas            db      0
  22. prHas           db      0
  23. prFontHas       db      0
  24. ;
  25. OldInt08        dd      ?
  26. OldInt09        dd      ?
  27. OldInt10        dd      ?
  28. OldInt13        dd      ?
  29. OldInt16        dd      ?
  30. OldInt1c        dd      ?
  31. ;
  32. IntrBusy        db      0
  33. inOld16         db      0
  34. ;
  35. F8x8            dd      ?
  36. F8x14           dd      ?
  37. F8x16           dd      ?
  38. FPntr           dd      ?
  39. ;
  40. wProc           dd      ?
  41. uProc           dd      ?
  42. wLen            dw      ?
  43. uLen            dw      ?
  44. ;
  45. KeyinProc       dd      Ascii
  46. ISentries       label   byte
  47. ;
  48. ;               F1 = QuWei
  49. ;
  50.         db      '╟°╬╗┬δ', 0, 0, 0
  51.         dw      0
  52.         db      'Y'
  53.         dd      QuWei
  54. ;
  55.         ISentry < , , , , >  ; F2
  56.         ISentry < , , , , >  ; F3
  57.         ISentry < , , , , >  ; F4
  58.         ISentry < , , , , >  ; F5
  59.         ISentry < , , , , >  ; F6
  60.         ISentry < , , , , >  ; F7
  61.         ISentry < , , , , >  ; F8
  62. ;
  63. ;               F9 = FuHao
  64. ;
  65.         db      '═╝╨╬╖√║┼', 0
  66.         dw      0
  67.         db      'Y'
  68.         dd      FuHao
  69. ;
  70. ;               F10 = Ascii
  71. ;
  72.         db      '╙ó╬─╩²╫╓', 0
  73.         dw      0
  74.         db      'Y'
  75.         dd      Ascii
  76. ;
  77. mode            cKmode  < 9, 0, 0, 1 >
  78. QuHao           db      1
  79. ;
  80. c               Int9Key < 0, 0 >
  81. Int9Buf         dw      64 dup(0)
  82. pushin          dw      offset Int9Buf
  83. popout          dw      offset Int9Buf
  84. int9in          dw      ?
  85. ;
  86. FHname          label   byte
  87.         db      '═╝╨╬╖√║┼', 0
  88.         db      '╓╨╬─╩²╫╓', 0
  89.         db      '╚½╜╟╙ó╬─', 0
  90.         db      '╚╒╬─╞╜╝┘', 0
  91.         db      '╚╒╬─╞¼╝┘', 0
  92.         db      '╧ú└░╫╓─╕', 0
  93.         db      '╢φ╬─╫╓─╕', 0
  94.         db      '╞┤╥⌠╫╓─╕', 0
  95.         db      '╓╨╬─▒φ╕±', 0
  96. ModeMSG         label   byte
  97.         db      '~n╓╨╬≈═│╥╗╖╜╩╜', 0
  98.         db      '~n ┤┐╓╨╬─╖╜╩╜ ', 0
  99.         db      '~n ╓╨╬─╖╜╩╜ú╢ ', 0
  100.         db      '~n╓╨╬─═╝╨╬╖╜╩╜', 0
  101.         db      '~n ═╝╨╬╖╜╩╜í├ ', 0
  102. KeyMSG          label   byte
  103.         db      0dh, '~n╩Σ╚δ╖¿ ~e F0~s╙ó╬─╩²╫╓', 0
  104. ;
  105. ;                        0         1         2         3
  106. ;                        4         5         6         7
  107. ;                        0123456789012345678901234567890123456789
  108. ;
  109. SysMSG          label   byte
  110.         db      0dh
  111.         db       '~n╧╡═│┐╪╓╞  ~eB~s╓╨╬─▒Ω╡π ~eK~s╩▒╓╙┐¬ ~'
  112.         db      'eS~s╔¿╞┴ ~eT~s▒φ╕±╩╢▒≡┐¬ ~eZ~s╒√╫╓┤ª└φ┐¬'
  113.         db      0
  114. DispMSG         label   byte
  115.         db      0dh,'~n╧╘╩╛┐╪╓╞  ~eH~s|~eR~s|~eY~s/~eM~s'
  116.         db      '╖╜╩╜╤í╘±/╟╨╗╗ ~eG~s╣Γ▒Ω┐╪╓╞ ~eC~s▓╩╔½╧╘╩╛ '
  117.         db      '~eO~s|~eP~s|~e[~s|~e]~s|~e\~s╠ß╩╛╨╨╤╒╔½'
  118.         db      0
  119. DigMSG          label   byte
  120.         db      0dh,'~n╩²╫╓╝ⁿ╖╜╩╜  ~e0~s 0 ~e1~sú▒ '
  121.         db      '~e2~s╢■ ~e3~s╚■ ~e4~só▄ ~e5~sóΘ '
  122.         db      '~e6~só╩ ~e7~só╖ ~e8~só°', 0
  123. PadMSG          label   byte
  124.         db      0dh,'~n╨í╝ⁿ┼╠╖╜╩╜  ~e0~s╙ó╩² '
  125.         db      '~e1~s╧╕▒φ ~e2~s┤╓▒φ ~e3~s'
  126.         db      '║ß┤╓ ~e4~s╩·┤╓ ~e5~s╓╨╩²', 0
  127. dStr            label   byte
  128.         db      'í≡╥╗╢■╚²╦─╬σ┴∙╞▀░╦╛┼'
  129.         db      '┴π╥╝╖í╚■╦┴╬Θ┬╜╞Γ░╞╛┴'
  130. sym             label   byte
  131.         db      'ú¼íúíóúíú«úúíτúÑíñí⌐í┴ú¿ú⌐í¡ú½'
  132.         db      'í½ú¡ú╜í«ú╗í┬ú║ú»ú╝ú╛ú┐'
  133.         db      'í«í»í░í▒í╢í╖í▓í│í╝í╜í╛í┐', 0
  134. sch1            label   byte
  135.         db      ',./!@#$%^&*()_+~-=`;\:|<>?', 0
  136. sch2            label   byte
  137.         db      27h, '"[]{}', 0
  138. ScanCode        label   byte
  139.         db      52h,4fh,50h,51h,4bh
  140.         db      4ch,4dh,47h,48h,49h
  141.         db      53h,37h,4ah,4eh,0e0h
  142. PadCode         label   byte
  143.         db      'íµ⌐╕⌐╪⌐╝⌐└⌐α⌐╚⌐░⌐╨⌐┤í∞íφ⌐ñ⌐ªí└'
  144.         db      'í⌡⌐╗⌐▀⌐┐⌐╟⌐∩⌐╧⌐│⌐╫⌐╖í÷í⌠⌐Ñ⌐ºí≤'
  145.         db      'í≈⌐╣⌐█⌐╜⌐┴⌐π⌐╔⌐▒⌐╙⌐╡í°í∩⌐Ñ⌐ªíε'
  146.         db      'íφ⌐║⌐▄⌐╛⌐─⌐µ⌐╠⌐▓⌐╘⌐╢í∙í∞⌐ñ⌐ºí≥'
  147. KeyCode         db      '0123456789.*-+/', 0
  148. XiLaTab         db      'ª┴ª┬ª╬ª─ª┼ª╒ª├ª╟ª╔ííª╩ª╦ª╠'
  149.         db      'ª═ª╧ª╤ª╚ííª╥ª╙ª╨ª╘ª╪ª╓ª╫ª╞'
  150.         db      'ªíªóª«ªñªÑª╡ªúªºª⌐ííª¬ª½ª¼'
  151.         db      'ª¡ª»ª▒ª¿ííª▓ª│ª░ª┤ª╕ª╢ª╖ªª'
  152. EWenChr         db      'QWERTYUIOP{}ASDFGHJKL:'
  153.         db      '"ZXCVBNM<>?'
  154.         db      'qwertyuiop[]asdfghjkl;'
  155.         db      27h, 'zxcvbnm,./'
  156. EWenTab         db      'º½º╕º╡º¼ºªº»ºñº║º╗º⌐º╢º╝'
  157.         db      'º╖º╜ºúºíº▒º▓º░º¡ºÑº¿º┐'
  158.         db      'º┴º╣º│º«º¬º┤º╛ºóº└ºº'
  159.         db      'º█ºΦºσº▄º╓º▀º╘ºΩºδº┘ºτº∞'
  160.         db      'ºµºφº╙º╤ºßºΓºαº▌º╒º╪º∩'
  161.         db      'º±ºΘºπº▐º┌ºΣºεº╥º≡º╫'
  162. ;
  163. TradeMark       db      '~e CHCS ', 0
  164. Author          db      ' ~s╓╨╣·║╜╠∞╚²╜¡╝»═┼╣½╦╛  '
  165.         db      '~eѰ:~s(0712)224933-521 ~e¿ε~s'
  166. AuName          db      '│┬╜¡─■ ',0
  167. ;
  168. Numb            db      ' ~e8~s', 0
  169. StrQu           db      '╟°╬╗10╟°', 0
  170. AttrStr         db      ' ~eF8~s', 0
  171. Arrow           db      ' [~kíⁿí²~s]', 0
  172. ;
  173. TmpCount        dw      0
  174. TmpBuffer       dw      64 dup(?)
  175. ;
  176. inCommand       db      0
  177. inPrompt        db      0
  178. KeyEnd          db      0
  179. d1              db      ?
  180. d2              db      ?
  181. PmtNo           db      ?
  182. mark            db      ?
  183. oldkmode        db      ?
  184. kmodeBusy       db      0
  185. reCommand       db      0
  186. SymMark         db      0
  187. pntr            db      ?
  188. cPntr           dw      ?
  189. ;
  190. KeyNum          db      ?
  191. KeyBuf          db      12 dup(?)
  192. SameNum         db      ?
  193. SameBuf         db      256 dup(?)
  194. CurKey          dw      ?
  195. LastKey         dw      ?
  196. tmpmode         db      ?
  197. cc1             db      ?
  198. cc2             db      ?
  199. CtrlShift       db      ?
  200. Int9Treated     db      1
  201. ;
  202. pmtx            db      ?
  203. tmpattr         db      ?
  204. pmtxmax         db      72
  205. bAttr           db      70h
  206. nAttr           db      01h
  207. kAttr           db      0eh
  208. sAttr           db      00h
  209. eAttr           db      04h
  210. ;
  211. MyMode          db      0
  212. TextMode        db      ?
  213. CurTextMode     db      ?
  214. DispMode        db      3
  215. ;
  216. VideoCard       db      0
  217. ;
  218. inColorText     db      0
  219. inGrCursor      db      1
  220. isTreatCC       db      1
  221. DisplayOpen     db      1
  222. ClockSwitch     db      1
  223. TimeOut         dw      900
  224. ;
  225.         public  ChcsPsp
  226.         public  ChcsEnv
  227. ;
  228.         public  OldInt08
  229.         public  OldInt09
  230.         public  OldInt10
  231.         public  OldInt13
  232.         public  OldInt16
  233.         public  OldInt1c
  234.         public  IntrBusy
  235.         public  inOld16
  236. ;
  237.         public  KeyinProc
  238.         public  ISentries
  239. ;
  240.         public  wHas
  241.         public  uHas
  242.         public  prHas
  243.         public  prFontHas
  244. ;
  245.         public  F8x8
  246.         public  F8x14
  247.         public  F8x16
  248.         public  FPntr
  249. ;
  250.         public  wProc
  251.         public  uProc
  252.         public  wLen
  253.         public  uLen
  254. ;
  255.         public  mode
  256.         public  QuHao
  257. ;
  258.         public  c
  259.         public  Int9Buf
  260.         public  pushin
  261.         public  popout
  262.         public  int9in
  263. ;
  264.         public  FHname
  265.         public  ModeMSG
  266.         public  KeyMSG
  267.         public  SysMSG
  268.         public  DispMSG
  269.         public  DigMSG
  270.         public  PadMSG
  271.         public  dStr
  272.         public  sym
  273.         public  sch1
  274.         public  sch2
  275.         public  ScanCode
  276.         public  PadCode
  277.         public  KeyCode
  278.         public  XiLaTab
  279.         public  EWenChr
  280.         public  EWenTab
  281.         public  TradeMark
  282.         public  Author
  283.         public  AuName
  284.         public  Numb
  285.         public  StrQu
  286.         public  AttrStr
  287.         public  Arrow
  288.         public  TmpBuffer
  289.         public  TmpCount
  290.         public  inCommand
  291.         public  inPrompt
  292.         public  KeyEnd
  293.         public  d1
  294.         public  d2
  295.         public  PmtNo
  296.         public  mark
  297.         public  oldkmode
  298.         public  kmodeBusy
  299.         public  reCommand
  300.         public  SymMark
  301.         public  pntr
  302.         public  cPntr
  303. ;
  304.         public  KeyNum
  305.         public  KeyBuf
  306.         public  SameNum
  307.         public  SameBuf
  308.         public  CurKey
  309.         public  LastKey
  310.         public  tmpmode
  311.         public  cc1
  312.         public  cc2
  313.         public  CtrlShift
  314.         public  Int9Treated
  315. ;
  316.         public  pmtx
  317.         public  tmpattr
  318.         public  pmtxmax
  319.         public  bAttr
  320.         public  nAttr
  321.         public  kAttr
  322.         public  sAttr
  323.         public  eAttr
  324. ;
  325.         public  MyMode
  326.         public  TextMode
  327.         public  CurTextMode
  328.         public  DispMode
  329.         public  VideoCard
  330. ;
  331.         public  inColorText
  332.         public  inGrCursor
  333.         public  isTreatCC
  334.         public  DisplayOpen
  335.         public  ClockSwitch
  336.         public  TimeOut
  337. ;
  338. code            ends
  339.         end
  340.