




            ⮤᪮ ਠ ᬠਢ ⥪
     ᪨ ஢  ࠢ ᯫﬨ ᮢ EGA  VGA,
     ப ਬ塞  ᮭ , ᮢ⨬  IBM
     PC. ਢ ᭮ ⮤ ணࠬ஢ ⠪ ஢,
      ਬ ணࠬ  ࠢ ᠭ ࠩ஢. ਠ
     㤥  ⥬ ணࠬ⠬  ணࠬ⠬ ਪ
     ணࠬ, ࠡ騬  , ᮢ⨬  IBM PC,  -
      ⠭ ਥ ࠡ  ᪮ ଠ樥.




                                                           





     ᫥ ᢮      1984   ᮢ襭⢮ -
᪨  (EGA) ⠫  ⠭⮬ 䨪  ᮭ  -
஢ IBM.     ᮥ    ᫮  ⠭
䨪 - ᨢ 䨪 (VGA). ᪮ EGA    -
୮ ⥫쭮  ⮩    ஢  PC, XT,  AT 
ᮢ⨬   ,   VGA ।⠢  ᮡ ⠭    ਩
஢, 믮   ᭮  ய஢ 80286   80386, ..
PS/2,    室          ᪨
⠭⮢    ,      ணࠬ஢  ᠭ
⨯  ᮭ  ஢          ᯮ짮
᪨   .
       ஡ ଠ     ᪨  -
  ⠪ .  㬥  EGA   VGA ﭠ  ⤥  -
⢠, 㤭      ।   뢨  ࠪ.
 ⮣,    㪮⢠ ᮤঠ 讥  ⢮ ਬ஢,  
     ਢ  ਬ஢   ।⠢ ᮡ ⮫쪮  ࠣ
ணࠬ ,  室  ꥤ     ᪮쪨 ࠣ-
, ⮡  ࠡ ணࠬ. ᬮ  ,    ࠧ
ୠ  쭮 讥 ᫮ ⥩, 饭  ணࠬ-
  EGA/VGA,         ᠭ     筮
㤭, ஬ ⮣ ⥫ ᫮ 뢠 롮 孮,  -
 ⫨砥  ࠧ 㡫.
      ࠧ, ணࠬ஢ EGA/VGA  ⮫쪮 筮  ᫮
ᠬ   ᥡ,    ணࠬ   ⥫쭠   ᪠
ଠ樨, 室   ࠡ ᪨ ஢.
      饣 㪮⢠  - ࠭ ⬥祭   ᫮,
ꥤ   騥 ਠ   EGA/VGA     ࠡ, ਢ
᫮ 権,    ਢ ਬ   ணࠬ,   ।⠢
 ࠪ᪨  ४樨   襭 䥪⨢  孨-
 ணࠬ஢ EGA/VGA.
       㬥 ꥤ ࠢ ਠ  ᭥ 
᫥⥫ ᯮ짮 ନ,  砥 
ணࠬ஢ 䨪,  㢥 ந⥫쭮, -
 ⢮    ᨮ 짮⥫.
      ࠡ ᮡ  㤥 ⨦ ᫥ 楫.
     -, ᪮ 騬 䠪ࠬ, ।騬 ⢮ -
 ଠ樨,  ᪮, ⪮ (⢨ 栭 
㣨 ⥫ 䥪⮢)  ࠧ饭 ଠ樨  ࠭, -
 ஡ ᬠਢ ᪮ 뢮  ⪮ ࠦ,
⠪  ⨦ ॡ㥬 ࠪ⨪  㤭 ⢨.
        ஢ ணࠬ,   -
  栭 ⠭ ࠦ   ⥩ -
࠭  ᬥ ࠦ     뢮  짮-
⥫.  栭  饩 ஡  ணࠬ஢
 몠 ᮪ ஢.  ⮣ ⪠   -
 ணࠬ ᯥ祭, ࠭塞 ந⥫ﬨ १
࣮ , ᨬ  ⮣,    ணࠬ -
祭 믮 (஢  ਪ ணࠬ), ࠦ
 ࠭ ⠥ .   ⥬,  ᨮ-
 ணࠬ, 騥 ਭ樯 ࠡ ,  -
 न஢ 뢮  ࠡ⮩   த⢨
ᯫ. 筮 ணࠬ஢   믮  몥
ᥬ, ᪮  ᯮ 訬 ﬨ  -
ࠢ ன. ࠢ ன 砥  
। ⥪饣 ﭨ  ।⢥ ᥭ 
 .  "㪮⢥..." ᤥ ⪠ 祭 孨 ᠭ
⠪ ணࠬ  몥 ᥬ.
     ᬮ  ,   饩 ࠡ ਢ ਬ ணࠬ,
믮  ᭮  ᥬ, ᠭ ⮤   -
஢  㣨 몠  砥,  ⥫   ⢨
אַ   , ॣࠬ -뢮  ᯮᮡ ணࠬ
ࠡ⪨ 뢠.  ࠢ  ᯥ祭  -
 ⠭⭮  몠,  設⢥ ஢  ᮡ-
 ন ।⢮ ᯮ짮 ७ ⥩
࠭஢. (ਬ,  몥 BASIC 㪠 㭪樨 ন
ࠬ PEEK, POKE, IN  OUT,   몥 Turbo Pascal - 㭪樥
INTR,  ᮫⭮ 樨 , ஥ ).
ணࠬ஢  ᯮ짮 BIOS - ⥩訩   稭
ணࠬ⮢ (BIOS (Basic Input Output System) -  ⥬ -

/뢮.  BIOS -   ᮭ쭮 , ন-
饥 ࠢ ࠬ 譨 ன, ࠭ 樨  ..
BIOS,  ࠢ, ࠧࠡ뢠 ⮢⥫   ࠭
 .)  稨 ண  ࠡ  ᥬ ணࠬ-
  ᯮ짮 BIOS   筮  .
 ⮬ 砥 ࠧ, ᮤঠ騩 ࠢ   饭  BIOS,
  ய饭.  짮⥫,   ணࠬ஢ 
몥 ᥬ   த ⥫쭮, ᪮ ,
 楤 BIOS ࠪਧ ⮩  ᮪ த-
,   ࠪ୮  設⢠  த⮢. ᫥ -
襭 祭 楤 BIOS  ࠧ ३   ᬮ७
 ॣ஢ ணࠬ஢    ᫮ 楯
ணࠬ஢.
      ਢ  ਬ஢ ।⠢ ᮡ
᫮ 樮 ணࠬ.  ணࠬ ਢ 
 ⮣, ⮡ ஢  EGA/VGA (⭥, 
   ஢  ⥫  ᠬ⥫쭮  ண-
ࠬ, ॠ騥  ),   楫  , -
襭 ணࠬ, ॠ騥  ஢. ⪨ ணࠬ
 ,  ᤥ - 訡. ⥫쭮 ஡ ॠ-
 樮 ணࠬ, ᤥ -  䨪樨 
ᯮ짮  ⢥   쭥襩 ࠡ.   -
楤  室 .  ⮣ ᫥ ਮ ᪥,
 ன ᮤঠ 室 ⥪ 樮 ணࠬ.
     ᫨ ࠡ  ᥬ஬  ⥫  , ᫥ 
ᮡ ⥫.  "㪮⢥..."  ਢ ਬ -
짮 ᪮쪮  ⮤,  ਬ  -
室  ࠬ ணࠬ஢ 䨪. ਬ, ணࠬ  -
ࠦ  ᯮ 32-⮢  48-⮢ 楫᫥ -
⨪.   ਬ 筮 , ᠭ  ⮤,
 ࠢ,  ਢ (  ਪ ணࠬ ᯮ짮-
 16-⮢ 楫 ᨫ쭮 ࠭稢  ).  ਬ
⠪   ப ᯮ짮 設⢠  ᥬ
8086.
     ਢ ਬ  ᥣ  ⨬묨  窨 -
 䥪⨢ த⢨  ਢ ⬠.  
ਬ஢ ᫥ 楫 ᡠ஢  ⥭  ᪮
믮  ⢮ ਬ塞 ⬠. ஬ ⮣, ᫥-
 楫 ᯮ짮  ࠧ ਬ ࠧ ⮤, ⮡
ਢ  襥 ⢮ 室  ॠ樨 -
㭪樨. ᪫祭  ⮣ ࠢ  ணࠬ ஥
  .   ணࠬ  襭 த⢨  -
  來  ࠧ஬ .
     ⤥ ਬ ணࠬ஢  ᯮ짮 BIOS 易
 㣨 ਬࠬ. ਬ, 樮 ணࠬ   -
 ᪮ ०  640350  믮 ⭮ -
४祭 ᫥ 襭 ࠡ.  ࠧ   -
 믮  䨪  㣨 ணࠬ, ᯮ
BIOS (   䠢⭮ ஢ ० ᫥  
MODE CON CO80).    ᨬ⥩ ਬ஢ ᠭ  ᮮ-
 砭.  襣  㭪樮஢  BIOS
᫥ ॠ   ⤥ ਬ.
       ᮢ襭⢮ ணࠬ.  裡  ⨬
室   ᮢ.    த⢨ 
 ணࠬ?    ⥫ ஢ન 
⨬?   ਥ ਢ  । ਬ.
⠭묨 ⮤  ᯮ짮  SUB  XOR
( MOV)  㫥 ॣ  ᯮ짮 ᤢ 権
   㬭  ⥯ 2.  ⮬  , 
ࠡ  稬 ⠭⠬:  MUL   ᪮
믮; ⤥ ᫥⥫쭮  ADD  SHL  
믮 ࠧ  ॥ (  ⮬ 砥 ᭨ ,
᪮ 믮 樨 㬭 ६ ⠭ -
).
     ᫨ ⠡ ६ 믮  ᥬ ,
  , ᯮ Macro Assembler  Microsoft, 
ᮤন  ଠ.   ᪮쪮 ⥩, ஬ 㪠
 祭 ᬠਢ ଠ樨.    
ᥬ  "Programmer's Pocket Reference Guide"  Intel ᮤ-
 ⥫ ଠ.  室 襭 த-
 ணࠬ ᫥ ஡ ᪮쪮 ⮤, ᫥ 祣 ।-
 ⮤, 騩  ᠬ ᮪ ⥫ ᪮
믮.  ஢ ⠭  祭 ६ ᯮ-
 , , ᬮ  ,  ࠢ 筮  鸞
 ⠡ ६, ⮡  ⮤ 뫨 襭.  -
  祭 १⠬  ᫥; ।  
  ।⥫쭮    맮 ணࠬ,
⨯   ᫠ ⠪⮢    ᮮ⢥饣
 (ᮡ  ⢨  ࠭ ).

     ᫨ ந⥫쭮 ணࠬ த  ।-
騬 䠪஬, ᫥ ࠢ  ணࠬ,  믮
 ਡ⥫쭮 ࠢ ᫮ ⠪⮢.   ᫥ ஡-
 믮 ணࠬ  ࠧ ,  ⮬ 楫ᮮ-
ࠧ ࣠ 横,   ண   
ணࠬ 筮 ᫮ ࠧ  ।  ६ 믮.
ᯥਬ  ࠧ묨 ⮤,  ⥫쭮 
ந⥫쭮 ணࠬ   ⮦ ६ 㡦  
⥬ ணࠬ஢.  ⮬ 砥,  த⢨ 
ࠥ ।饩 ஫, ᫥   ,  ࠧ 㥬
EGA  ⠢ 256, ⮣   梥⭮ ࠭ CGA 
 ࠧ ࠭祭 16.  ࠢ,  ᭮ ࠭⢮ -
,  ⮬ ࠧ ࠦ, 室饣  , -
  ࠧ襭  ⢠ ᯮ㥬 梥⮢.
     ஬ ᯮ짮 ࠧ ᫥⥫쭮⥩  ᫥
 ਬ ࠧ ⮤ ணࠬ஢. EGA  VGA -
ᬠਢ 讥 ᫮ ࠧ ०,   ॠ-
 宦 䥪. ਬ,   ࠧ ᯮ-
ᮡ  ଠ樨   (  ᫥묨 ᯮᮡ
䨪樨 㦥 ᠭ ).   ॣ஢ (ᮡ-
 ॣ஢ ᪮ ஫)  㭪権,   믮.
 "㪮⢥..." ਢ  㭪樨,  ࠭  㯮-
訥.  ᫨      ਬ ⮬  -
 ॣ ᫥  ᥡ , 祬    
ᯮ짮.   㭪権, 믮塞 ஬,
蠥 孨 ணࠬ஢ ᫥⢨ 祣  訥
ணࠬ.


  

   ᫠  ⭠筮  ⥬ ᫥ 稢 㪢 h
 ॣ; ⠪ ࠧ, ᫮ 16  ⭠筮 ⥬
᫥ 㤥 ᠭ  10h. 筮,   ᫠ -
  㪢 b   ॣ. B   ॣ஢ ᯮ-
 㪢 孥 ॣ.
     ।  ࠧ襭  砥  ࠧ襭  320x200 祪; ᮪
ࠧ襭 - 640x200, a  襭  ࠧ襭 - 640x350.  襭
VGA 640x480  ⥪ 㯮   ࠧ襭 640x480.
     ਭ  ᫥騥   ஢: MDA (஬ -
 ᯫ), CGA (梥⭮ ᪨ ), EGA (ᮢ襭⢮-
 ᪨ ), VGA (ᨢ 䨪).
     Bce 뫪   DOS   2.0   , ᫨ 
⥪  - ⥫ 砭. Bce ணࠬ, ᠭ-
    몥  ᥬ, ࠭᫨஢  c   Microsoft Macro
Assembler ᨨ 4.0.
     ⨥  ᮢ⨬ ० ⭮ ᪫⥫쭮  -
  ०, ᪮  䠢⭮-஢ ० ᮢ⨬  ࠧ-
 .
     EGA  VGA ᯮ ᪮쪮 ⮤ ।   -
᭮  ࠭⢥ PC.   ଠ樨  ᭮ ࠭⢥
砥     ,  砥  /
뢮 c ᯫ ஢ 8086  8088.



                          1.                       




     ࠭祭  梥⭮ ᪮  IBM
(CGA) ⠫ 祢 ᫥ ⮣,  䨪 ⠫   
஫   ਬ PC. CGA  ࠧࠡ⠭  襢  ப
࠭ ⮢ ⥫஢   ஢. -
쭮 ࠧ襭 CGA ࠢ 200 ப. ਧ⠫쭮 ࠧ襭 -
320 ப,     RGB-  ᯮ짮 640
ப.
     - ᮪ ⮨  ࠧࠡ稪 뫨 㦤 -
  ࠧ. CGA ᭠ 筮  (16 )  প
4 梥⮢  ࠧ襭 320200 (⠪ ࠧ襭 訬 ࠧ
ᯮ  ⮢ ⥫).  ⮬, , 16  墠⠥
 ⮣, ⮡ ᯮ짮  2 梥⮢  ० ࠧ襭
640200, ஬ ⮣,  ⮬ 砥   梥⮢   .
 4-梥 ० ࠭稢 짮⥫ 2 ࠬ  4 梥 
,   䮭  ᯮ짮   梥⮢.
     ⮨ 奬    ⮢ ஢
⠫ ᭨  ப 諨  ᬥ 訬 ⥬,
짮⥫ ⠫ ࠨ ࠭祭 롮 梥⮢ CGA. -
⥫쭠 ࠡ  ࠭ ࠧ襭 320200 ⮬⥫쭠  ,
⮬ 設⢮ ᪨ ⥬ ᭠  ஬ (
᪨ ࠧ襭 720350)  ࠡ  ⥪⮬.  १
  㯨  ࠧࠡ⪥   প ᮪
᪮ ࠧ襭  ᯮ짮 16   梥⮢. 
Hercules Computer Technologies ⨫  Hercules Card, -
 ᯮ짮  ஬ 䨪 ஬  ᮪
ࠧ襭.


    ⨬  ࠭ ﬨ ஢

     让 ஡ । ࠭  ᪨  -
᮪ ࠧ襭  ⢨ ⠭   ࠡ
 ० CGA. ஬ ⮣, ⮤ ணࠬ஢,  ਬ﫨
  , ⫨  ⮤, ᯮ㥬 CGA.  EGA
 ᫥⢨  ᮢ⨬  CGA, ᭠ ७ 㯭
  ⥫쭮 প BIOS  ᯥ祭 ᮪ ࠧ-
襭.  EGA ⮦  襭 ⪮. 讥 ᫮ ॣ஢
 ० ࠡ 㤭 ணࠬ஢, ᫨   -
⥫쭮  ணࠬ BIOS,  ࠪਧ  -
⢨. 設⢮ ॣ஢ 㯭 ⮫쪮  ;  -
  । ⥪饥 ﭨ .  -
  ࠧࠡ⪥  ⥬  १ ணࠬ,
 ॡ ࠭ ﭨ  ४祭 . 
    Hercules, EGA  ஬ ஬  ন
䨪 CGA.
     ५ 1987  IBM   砫 ᪠ ஢ ਨ
PS/2.   ᭠饭  ᪨ ன⢮, 뢠-
 VGA. VGA 祭 宦  EGA. VGA   
㭪樨 EGA   ᪮쪨 ० ᮪ ࠧ襭 
०  ࠧ襭, 騬 ᯮ짮 256 梥⮢. -
  ணࠬ⮢   ⫨稥  ᯮ짮
ॣ஢ ⥭  . VGA  ࠡ  묨 -
ࠬ, ⮣  EGA ᯮ ᯫ ஢ ⨯.
Ŀ
:  ⫨稥, ஬  㤥 ᥣ  ࠧ,  
  ᠬ   ॢ樮 蠣  孨. ᫨   
  ஢ ஢ 梥⮢ ᨣ, 뤠 ஬    
  室 ,  梥⮢  ⥭ । ᪫⥫쭮 
  ﬨ ,    ।⠢ ᨣ- 
  ,    梥⮢ ⠢ (R - ᭠, G - -
    B - ᨭ) ।⠢ ஢ 殮    
   0  1,   ᭠ 樧묨 ᨫ⥫ﬨ, 
   ⮡ࠦ 梥⮢  ⥭ ࠭稢 ᪫-   
  ⥫쭮 ﬨ ஢.     
  ⨯  ⥫ ᮬ 筮 ⮡ࠦ 梥, -
        ஢  
  ᮪ ࠧ襭  梥⮢  ᯮ짮   ᠬ륳
  . 묨 ᫮,   ⠭ ਠ-
  묨  ⨯ ஢.                                       


        EGA, VGA ন ࠡ  ஬  CGA-ᮢ-
⨬ ०.  ⮣,  ० ন   -
஬, ⠪   梥 .
    ⥯ ᮢ⨬ ० EGA/VGA   । 
প EGA ணࠬ BIOS, 믮塞  뢠 INT 10h. ਣ-
 ணࠬ BIOS ࠨ  뢠 INT 42h, ⮣ 
EGA 頥 ᢮  BIOS  뢠 INT 10h. BIOS EGA ᯮ
 ணࠬ  প ⤥ 㭪権, ⮬ ࠢ쭥
  ७ BIOS,      㭪権 묨. ०-
 饭  BIOS ন ,  믮  
⨢ .
    饭  BIOS,  ࠢ, ᮢ⨬  ࠧ묨 ⨯
IBM-( ᮢ⨬  IBM) ஢,  ⮬ ⫨ ᫮ ࠧ-
묨 묨 ॠﬨ 䥩 ⮢. ⥪ -
஢ ஬/CGA  EGA/VGA ᮢ襭 ࠧ. ਣ
 ᭮  ᪮ ஫ Motorola 6845,   ६
 EGA  VGA ᯮ 奬 ࠧࠡ⪨ IBM. 筮, 
⮢⥫ ࠧࠡ⠫ ᢮  奬,   -
. ᪮쪮 ॣ஢ EGA/VGA  ࠡ 奬 6845; ,
 ⫨, ᠭ    ணࠬ஢ ॣ஢.


    ᬮ   ࠧ । ஢ (᫮ 
᭮ ⨯ ᯫ), IBM 砥 প  ० 樨
CGA  MDA,   ࠡ  設⢮ 㭪権  ॠ-
 設⢮ ᮡ⥩. ਬ, 䠢⭮-஢ -
 ० EGA ८ࠧ  ᨬ  ⠪ ,   MDA.  -
 VGA  ० CGA ᯮ ᤢ ࠧ (⮡  400 
㥬묨 뫨 ⮫쪮 200), EGA   ४祭 
० 筮   ஢ ࠧ襭 200 ப.


     (࠭筠 ࣠ , ୠ⨢ 
    ᨬ, ).

    EGA  ࠡ  ਣ묨 梥묨  ஬묨 -
ࠬ. ஬ ⮣, ।ᬮ७ প ECD (ᮢ襭⢮-
 梥⭮ ᯫ), ࠧ襭 ண   ࠧ襭 -
  (640350  ECD,  ஬ - 720350)  -
 ᯮ짮 16 梥⮢  64.     
16 梥⮢    ⠢ 63. VGA  ন ࠡ  -
稬 ਣ묨 ᯫﬨ ( ᪫祭  
஢).  ࠡ VGA ॡ  ᯫ.  ᮪-
 ࠧ襭 VGA ⠢ 640480  ন ᯮ짮 16
梥⮢ ( ࠤ権 ண)  262144  (  64 ࠤ権
ண).     EGA, 梥 VGA  롨 㠫쭮.
    IBM ᯥ稢 ७  EGA, ⠪   প
 ⤥ ࠭  梥⭮ ᪮ ० ᮪ ࠧ-
襭. EGA ( VGA) 㣨 ⮢⥫ ⠢   -
⮬ .   ࠧ襭 ( ஬ 䨪) 
 ࠭  8 ࠭ ⥪⮢  ᪮ ଠ樨.
 ᮢ饭 ⮡ࠦ  ࠭  ࠭  䨪-
 㣮. ⥫쭠   ᯮ짮   ࠭
⠡ ⮢ ( ᪮ ०  ),  
࠭  1024 ࠧ ᨬ ( VGA  2048), 512  
  ⮡ࠦ ६.
     EGA  VGA ।ᬮ७  䨪樨 ⮢, ࠡ
 ⥫묨 ᨬ, 㠫  ⮢.  ⮫쪮
  㭪権, 믮塞 묨   ࠬ EGA 
VGA.  뢮 ਡ   ஢.  ᨬ
  ᤥ    ⠭⭮,   ᫮
ப, 뢮  ࠭. ।ᬮ७ ६  ﭭ (-
騥   ணࠬ  १㧪 ⥬) . ࠡ-
 ਪ ᪨ ணࠬ  ⠪  ॡ 
㡮  ࠡ ⥬, 祬  ணࠬ஢  CGA.
    ⭮,  쥧 ⥪   EGA  VGA
뫠 ࣭ ࣠ .  CGA  ᠭ  梥⭮
窨 (ᥫ) ᯮ ᫥⥫쭮 ⮢ . ᬮ
  ⮣ ⮤  ணࠬ஢,   ᯮ짮
᭮ ࠭⢮  室 ⨬쭮 (㤢
᫮ 梥⮢, 㤢 ࠧ  );  ᨫ쭮 -
 ਪ ᪨ ணࠬ, ᯮ 讥 ᫮
梥⮢ (㤢 ⢮ 梥⮢ ॡ   ࠧ  ६
   ). EGA  VGA ᯮ ⮢ ,  ன
 梥     ⮬  . ⮢  -
᪠ ᯮ짮 讣 ᫠ 梥⮢ 権  㢥-
 ᭮ ࠭⢠ .    ਬ
⥪ ⮢    ᪮   -
, ᪮  饭    ஢ 8 -
⮢  .  ஡  ० ᠭ  ᫥ -
.

       ⮬ ࠧ ᬠਢ ࠧ⨥ ⠭⮢ -
᪮ ,   ᮡ  , ࠢ७  -
 ᯥ⨢ ⮣ ࠧ: VGA ⮤  । -
⥩ 騥  饥 ६ . ᨬ ࠧ
ᥣ  64 뢠    ० ࠡ 
256 梥⠬,  ࠢ ० ࠧ襭 640480 ⢫
祭    ᯮ짮 ஢,  ᮪
த⢨ (᪮  ⠪ 믮 饭  
   ⠭ ﭨ ). ⭮, ᫥-
騬 蠣    ᫮ ᪨ ᮯ, 
ᤥ  ६   ᯮ짮 ஥ -
᪨ ਬ⨢, ⠪  ࠦ   㦭.
     ᥣ譨  㤭 ।᪠ ᮢ⨬  -
஢  ⠭⮬ EGA/VGA,     ᮬ  ⮬,  
訥  EGA/VGA  ⠢ ⠭⮬ 䨪. ,
᭮  ᯮ짮 ᮯ஢ (   ᮪ -
襭), 筮 ண,   ᫥ ண ᭨ 業 -
 EGA/VGA த ⠢  襢.  ⮬ EGA
㤮⢮ ॡ 設⢠ 짮⥫.
     ᯮ짮 EGA  襭 ࠧ襭   -
ন 16 梥⮢ ஢ ணࠬ ந  㤮⢮-
⥫쭮 ⫥.  ।,  EGA  VGA  
  짮⥫,  ⢮襬  ᢮ ६ 
     ஢ 8086/8088,   ᭮-
 ᯮ  ⢥ 譨 設.  䨪  ।-
   襭 ࠧ襭  ᯮ짮 16 梥⮢ -
 祭 १  筮.  ᮮ⢥⢨  ਭ ᮣ襭 -
䨪   㬠   ࠦ  ᯮ짮  -
 4 梥⮢ (  ୮  ). ⮬  ᮮ⢥
 EGA, 騥 믮 롮  梥⮢  64. -
 뭪,    饩 ᨫ  ࠧ⨨ -
஢  IBM,  騩   ॡ 쥧 襭
᪮ 孮.
    묨 ﬨ ⥫쭮,  ன  २⢠
襭 த⢨  ᯮ짮 䨪 ᮪ ࠧ襭,
 ⮫ ⥫᪨ ⥬, ᪨ 
ணࠬ  ⥬ ⮬⨧஢ ஥஢ (). ਪ-
 ࠧࠡ⪨, ࠡ騥  ஢묨 梥묨 ࠦﬨ,
먣  㢥祭 ࠧ襭  ᫠ ন 梥⮢, 
256-梥 ० VGA  ந  ࠭ ࠦ,
  ॠ, ᬮ  쭮  ࠧ襭.
    ⠪, ணࠬ, ࠧࠡ뢠  EGA  VGA, ࠭ -
 業  ᪮쪮 .   ⮣, ⮡ ࠭ -
⮢  ᯮ짮 ᫥  ᯫ  樮
⥬, ᫥ ࠧࠡ뢠  ணࠬ.


                                       2.              B I O S.
                                                


     ࠧࠡ⪥ ᫮ ਪ ணࠬ 室 ਭ 
 饥 騢 ᫨⥫ 魮⥩, প 
 ।  樮 ⥬. ணࠬ஢  ᯮ짮-
 ணࠬ BIOS  ।⠢ ᮡ ᠬ ⮩  ࠢ-
 ᯮᮡ ।ᬮ ⠪ த 䨪樨. ਬ, 饭
 BIOS, ᠭ  CGA,  ࠡ  EGA  VGA, , ,
 ⢥ত   ॣ஢ 㭪樨.  ࠦ ᥫ
  BIOS ᯮ     ⮤,  ண ਬ-
  /ࠧ襭   祭,   
  CGA  EGA/VGA ᨫ쭮 ⫨.
    ணࠬ஢  ᯮ짮 BIOS ⠪  
⥯ ᮢ⨬  ࠬ  ࠬ, ⮢묨
ࠧ묨 ଠ.  ॣ EGA  VGA   
⮫쪮  । ६ ࢠ   ⠭
 ࢠ  ﬨ.   蠥 BIOS ⮬᪨.
  ᯮ짮 BIOS  ࠭  ᮢ⨬ -
 ࠬ   묨 䨪ﬨ , 믮 
ࠧ 樮 ⥬.
    樮 ⥬ OS/2  ᯮ ணࠬ ࠡ -
뢠  楫 ࠢ ன (஬  樨 IBM PC) 
 ᪠ ।⢥ ࠢ ன. OS/2 
 饭  樮 ⥬, 室  饭ﬨ  譨
  ணࠬ DOS: ࠬ  (PUSH)  ⥪, ᫥
祣 믮 맮 (CALL) ᮮ⢥饩 ணࠬ. ⨬, 
   Microsoft Windows ᯮ ⠪  ᯮᮡ. ᫨ ண-
ࠬ ᠭ  DOS  ᬠਢ   樨  OS/2,
    ᯮ㥬 権 ᫥  ப.
     ࠧ ப   ᠭ  ⠭ 梥
 ஥ ᥫ.  砫쭮 ⠤ ࠧࠡ⪨ ப 
맢 뢠 BIOS (ப ⠭ 梥  ᢮
祭 梥 ன ६,   ⠫ 樨 믮-
 ணࠬ BIOS).      ३  ।-
⢥ ࠡ  ॣࠬ     ᯮ짮 ணࠬ
⠭ 梥  । 祭 ᮮ⢥ ॣ஢
  ணࠬ ஥  ⠭ 祭 ॣ஢  -
  . ,  ᨨ  OS/2   ப 
  ⥪ (PUSH) ᮮ⢥騥 ࠬ  믮 맮
ணࠬ (CALL).  ᯮᮡ ᯮ짮 ப ਬ 
ணࠬ ࠦ   㦭,  ਢ  
15.   ਬ ப   ᪠   -
 㯠  ॣ,   믮 뢠 INT. 
᫥ ᮮ⢥騬 ࠧ ।ᬮ  ப -
室 ,   ਬ⨢ 㭪権 ন. -
,  ᬮ७  饭  BIOS   -
 ꥤ 롮 梥  樨 ஥.   
  䥪⨢ (, ,  室) 
ࠧ  㭪権.
     ⮤ ࠡ 筮   ᯮ짮 
⠭ ஢ 㭪権.   ப, ᮢ⭠
ࠡ   䥪⨢,   ନ஢ ⥪ -
䥪⨢ ப  ᫥饣 ᯮ짮  㣨 ணࠬ-
.   砥,   ࠡ⠥  । ᢮ -
⥩, ਬ ப  㤮,  ६  ᯮ
⥫쭮 .  裡  ⨬ 室 , 㤥  ணࠬ
㥬. , ᫨ ࠧࠡ⠭ ணࠬ ᯥ祭 -
  - ᯥ᪨ ᮡ , -
, ⠪,   室   ,  ᯮ짮  -
   樮 ⥬   .


    饭  BIOS.

    BIOS EGA ।ᬠਢ 20 ᭮ ணࠬ  ࠡ  -
.  㭪樨 ஭㬥஢  0  13h.  㯠  㭪樨 -
室     ॣ AH, ᫥ 祣 믮 -
 INT 10h.  ࠡ 設⢠ ணࠬ ॡ ⥫-
 室 ,    饭  ॣ AL, BX,
CX / DX.   2, 3  4  ஡ ᠭ  㭪樨,
 ⠪ ਢ 砭  ࠡ ⠡ ﭨ ॣ஢ 
ਬ ணࠬ  몠 ᥬ  Turbo-Pascal. ᠭ ⠪
ࠧ  묨 (CGA)  묨 饭ﬨ.  㦥 ⬥砫
࠭, ᯮ짮 맮 BIOS   ப   -
室  ॣ஢ ணࠬ஢  㣨 樮 ⥬.

     ணࠬ, ᠭ  ᥬ,  믮塞,
⮬ ८ࠧ EXE-䠩  COM-䠩  ॡ. ணࠬ 
몥 Turbo-Pascal    १,     ᥬ,
  ணࠬ  ⫨.  ࠡ  맮-
 BIOS  ⥬,   饭 筮 ⠭ ᮮ-
騥 祭  室 ॣ஢  믮 뢠
INT 10h. 㧪   ॡ ॣ஢  祭ﬨ -
⥫쭠.  稨  ணࠬ஢ BIOS  CGA  ᮢ-
 訡, ய⨢ ॡ㥬 ॣ, ᮡ  ࠭ 
᪨ ०, ᪮ CGA  ন ᪨ ࠭-
.


    ⮢  ᪨ ०.

     ०,  ࠢ, 믮 १ BIOS, ⠪  
  筠  ६ 믮,  쬠 㤭  ண-
ࠬ஢. ᪠  IBM ন  ⨯ ०. -
, 䠢⭮-஢ ० (뢠 ⠪ ""  "⥪-
⮢"),   뢥 ⮫쪮 256 ࠧ ᨬ (
ᯮ짮 ᯥ樠 ⮤ ணࠬ஢ EGA  뢥-
  512 ᨬ ६). -, ᪨ ०, -
騩 ⢨ 㠫 뢮  ࠭  
ࠦ (ᥫ),  ⠪ 256 ।। ᨬ. -
 ०  뢠 APA (All Point Addressable - 騩 
窨), ᪮  ন 㠫쭮 ࠢ ᥬ -
⠬ ࠦ (ᥫﬨ).
    EGA  5 ⥪⮢  7 ᪨ ०. ⮢ ०
  0 - 3  7.  0 - 3  ⫨  ० 0 - 3
CGA,  ० 7   ० 7 ஬ . ᪨ -
 4 - 6 EGA  ⫨  ० 4 - 6 CGA.  ᪨
० (।ᬠਢ騥 ᮪ ࠧ襭 / 襥 ⢮
梥⮢) ஭㬥஢ 0dh - 10h. ᫥ ⠭ ० ଠ -
  ᠭ  ࠭ ( ⠭  )   맮 㭪-
権 BIOS  ।⢥ 㯠  .

       ०          ⨬
    -----  ------------------  ---------------
      0    䠢⭮-஢  ⨬  CGA
      1    䠢⭮-஢  ⨬  CGA
      2    䠢⭮-஢  ⨬  CGA
      3    䠢⭮-஢  ⨬  CGA
      4    ᪨         ⨬  CGA
      5    ᪨         ⨬  CGA
      6    ᪨         ⨬  CGA
      7    ᪨         ⨬  MDA
      0dh  ᪨          ०
      0eh  ᪨          ०
      0fh  ᪨          ०
      10h  ᪨          ०
    -----  ------------------  ---------------

    VGA   ਢ ᯨ᮪    ⥫-
 ०: ஬  梥⭮ ᮪ ࠧ襭  梥⭮ -
᪨   ࠧ襭,  ᪠騩 ᯮ짮 256 梥⮢.
ᬮ  ,  256-梥 ०   ࠧ襭,  
ᯮ짮  ࠦ 룫  ॠ筮, -
   讣 ⢠ 梥⮢  ⮡ࠦ 
⠫ ࠦ. 䥪⨢ ਬ ⠪ ⠫  -
 饥 ࠧ襭 ࠦ.
    IBM ࠭ ᮢ⨬  饭ﬨ  BIOS  樥
  ஭㬥஢ ०, ⮬ ᯮ짮 
०    砥.   ਬ ० 0 - 7 
ࠬ஢,  ਢ  ⠡ 饣 㪮⢠, -
ᠭ ணࠬ  ᮢ⨬  ᥬ ⨯  -
஢  ⥬ ࠬ,  । ந.
     ⮩  ᠭ 饭  㭪 0 - 7,   㭪,
 ⠭ ﭨ ࠭   㦥 (०, ࠧ-
饭 ,  ..).  㭪樨  騬   ⨯ -
஢ IBM, ஬ ⮣, EGA  VGA  ᪮쪮 
. ਬ,    ᯮ짮 -
⥫ ࠭ ᯫ.



  0:  .



     㭪 ᯮ  롮 ० ࠡ . ᭮-
묨 ०  䠢⭮-஢ (᪨), ᪨
320200, ᪨ 640200  ᪨ 640350. ਬ VGA -
 㯭 ᪨ ० 640480.  ᨬ  
믮   㭪権 9, 0ah, 0eh  13h. ஥ 祪 믮-
   㭪樨 0ch.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 0
    AL: ⠭  ०:
          0,1 - 40 ⮫殢, 䠢⭮-஢, ᮢ⨬  CGA
          2,3 - 80 ⮫殢, 䠢⭮-஢, ᮢ⨬  CGA
          4,5 - 320200 4-梥 ᪨, ᮢ⨬  CGA
                  (࠭祭: ⮫쪮 2 )
          6   - 640200 2-梥 ᪨, ᮢ⨬  CGA
                  (  梥⮢   )
          7   - 䠢⭮-஢ ஬, ᮢ⨬  MDA
          8-0ch - १
          0dh - 320200 16 梥⮢
          0eh - 640200 16 梥⮢
          0fh - 640350 ஬ ᪨
          10h - 640350 梥⭮ ᪨
                  (4 梥  EGA  64, 16 梥⮢  EGA  >64)
          11h - 640480 ஬ ᪨, ⮫쪮 VGA
          12h - 640480 16-梥 ᪨, ⮫쪮 VGA
          13h - 320200 256-梥 ᪨, ⮫쪮 VGA
    

    ᯮ짮 樨 EGA/஬   ⮫쪮
 ० 7  0fh ( ०   ন  EGA/
梥⭮ ).
     室 ࠭ ࠭   ⠭ -
 ᫥  祭 襣  ॣ AL ࠢ 1. 
 ⥬ 㢥祭  ०  80h.
    ணࠬ, ਢ ,  ⠭ 梥⭮ -
᪨ ०  ࠧ襭 640350  ࠧ     -
 ࠭ ࠭  ப 10 ᥬ 묨 梥⠬ (맮
㭪樨 ch BIOS).  10h 㤥 ࠭ ᫥ 믮 ணࠬ.
 饭  ⥪⮢ ० ᫥   MODE CO80.

    ਬ  ᥬ:
    
        data    segment public

                clr     db 16   ;砫쭮 祭 梥 - 16

        data    ends

        code    segment public
                assume  CX:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AH,0    ;㭪 0 - ⠭ ०

                mov     AL,10h  ;롮 ० 10h
                int     10h     ;饭  -BIOS

                mov     CX,639  ; 㤥 ⮫


        lp:     mov     AH,0ch  ;㭪 ch - ࠦ 窨
                mov     AL,clr  ;⠭ 梥
                dec     AX      ;⠭ 1   梥
                mov     clr,AL  ;࠭  梥
                jnz     skip    ;室  skip, ᫨ 梥  0

                mov     clr,16  ;⠭ 梥 ࠢ 16

        skip:   mov     BH,0    ;롮 ࠭ 0
                mov     DX,10   ;⠭ ப 10
                int     10h     ;饭  -BIOS
                loop    lp      ;६ CX (᫥騩 ⮫)

                ret

        main    endp

        code    ends

        end     start
        

    ਬ  몥 Turbo-Pascal:
    
    type
        regs = record
                    AX,BX,CX,DX,BP,SI,DI,DS,ES,
                    FLAGS:INTEGER;
        end;

    var
        reg : regs;
        column,color : integer;

    begin
        reg.AX:=$0010;
        intr($10,reg);

        color:=16;
        for column:=639 downto 0 do
            begin
                color:=color-1;
                reg.AX:=$0c00+color;
                if color=0 then
                    color:=16;
                reg.BX:=0;
                reg.DX:=10;
                reg.CX:=column;
                intr($10,reg);
            end;
    end.
    

      ᫥騩 ਬ ਢ  ᨨ 3.0 Turbo-Pascal.
 ८ࠧ    ᨨ . "㪮⢮ 짮-
  ⥬ Turbo-Pascal 5.0".


  1: C  .



     㭪  ⠭ ࠧ . ।ᬮ७ -
। ࢮ  ᫥  (     ப
ࠧ⪨), ࠭稢騥  ᯮ ᨬ (⠭ -
砫쭮   ,  筮 -   易⥫-
,      ⠭  । ᠭ ).
 ⬥,   ᪮ ०  .
     । 砫쭮  筮  ॡ ⮫쪮 4 -
 . 祭 ⮢ 5  6 ᥣ ⠭ ࠢ묨 0. -
 0  ᠬ 孥   ᯮ ᨬ. -
   ⪫祭 ⠭ ࢮ  ᫥ ப  -

 ᯮ ᨬ.  ࠡ  EGA ⠭ 祭 -
砫쭮 ப, 襣 祭 筮 ப, ਢ  "ॢ-
" ,  १ 祣 ⮡ࠦ   ( -
 ᭮ ⮡ࠦ    ᨬ). VGA  -
 ᤢ ;  ⠭  砫쭮 ப, -
襣  筮 ப,   VGA   ⮡ࠦ.
     砥 ᯮ짮 ECD  ᪮쪮  १
ࠡ  㭪樥 1.  裡  ⥬,  ० 梥 䠢⭮--
஢ ० ᯮ짮 8- , ন ⠭
⮫쪮 8 ப. 䠢⭮-஢ ० ECD ।ᬠਢ ᯮ짮-
 14-筮  ᯮ :  0 - 4 ।
孨 5 ப,   5 - 7  3 ப.   ,
ᮤঠ騩  4  5, ⠪ । 6    (  -
⠭    4  5 ନ ࠦ   
讣 אַ㣮쭮 ).

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 1
    CH:  砫쭮 ப ( ࠧ⪨  ⥪⮢ ப)
    CL:  筮 ப ( ࠧ⪨  ⥪⮢ ப)
    

      ਢ  ணࠬ ନ ࠦ -
, 饥   孨   ᯮ ᨬ.

    ணࠬ  몥 ᥬ:
    
        code    segment public
                assume  CX:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,1  ;㭪 1 - ⠭ ० 
                mov     CX,1  ;砫쭠  0, 筠 1
                int     10h   ;饭  -BIOS

                ret

        main    endp

        code    ends

        end     start
    

    ਬ  몥 Turbo-Pascal:
    
    type
        regs = record
                    AX,BX,CX,DX,BP,SI,DI,DS,ES,
                    FLAGS:INTEGER;
        end;

    var
        reg : regs;

    begin
        reg.AX:=$0100;
        reg.CX:=$0001;
        intr($10,reg);
    end.
    



  2:  .



    뤠 न  樮஢   ࠭. ப 0
 ᠬ 孥 ப ࠭, ⮫ 0 - ᠬ  ⮫-
殬 ࠭.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 2
    DH:  ⥪⮢ ப ࠭
    DL:  ⥪⮢ ⮫ ࠭
    BH:  ࠭ (.㭪 5)
    

    ਢ  ணࠬ ⠭   ப 5 ⮫-
 10 ࠭ 0.

    ਬ  ᥬ:
    
        code    segment public
                assume  CX:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AH,2   ;㭪 2 - ⠭ 樨 
                mov     DH,05  ;⥪⮢ ப 5
                mov     DL,0ah ;⥪⮢ ⮫ 10
                mov     BH,0   ;࠭ 0
                int     10h    ;饭  -BIOS

                ret

        main    endp

        code    ends

        end     start
    

    ਬ  몥 Tyrbo-Pascal:
    
    type
        regs = record
                    AX,BX,CX,DX,BP,SI,DI,DS,ES,
                    FLAGS:INTEGER;
        end;

    var
        reg : regs;

    begin
        reg.AX:=$0200;
        reg.DX:=$050a;
        reg.BX:=$0000;
        intr($10,reg);
    end.
    


  3:   .



    頥 ⥪騥 न   ࠭.  頥
⥪騩 ⨯  (. 㭪 1).


 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 3
    BH:  ࠭ (. 㭪 5)
    

 

     (訢 ᫥ 맮 㭪樨):
    
    DH: ⥪ ⥪⮢ ப 
    DL: ⥪騩 ⥪⮢ ⮫ 
    CH: 砫쭠   ⥪⮢ ப
    CL: 筠   ⥪⮢ ப
    

     ਢ  ਬ ⢫ ⠭   ⥪-
⮢  (⮫) 10 ⥪⮢ ப 5  ࠭ 0  
ᮮ饭, ᮤঠ饣  न ,  ⥪饩  -
樨.

    ਬ  몥 ᥬ:
    
        data    segment public

                msg     db 'The cursor is at row '
                        db 'and column '

        data    ends

        code    segment public
                assume  CX:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AH,2    ;㭪 2 - ⠭ 樨 
                mov     DH,05   ;⥪⮢ ப 5
                mov     DL,0ah  ;⥪⮢ ⮫ 10
                mov     BH,0    ;࠭ 0
                int     10h     ;饭  -BIOS

                mov     AH,3    ;㭪 3 - ⥭ 樨 
                mov     BH,0    ;࠭ 0
                int     10h     ;饭  -BIOS

                    ;DL ⥯ ᮤন  ⥪⮢ ப 
                    ;DH ᮤন  ⥪⮢ ⮫ 

                mov     AL,DL   ;६ ⮫  AL
                mov     BX,offset msg[35] ;ᬥ饭 ASCII
                call    bin2asc ;ॢ 筮  ASCII
                mov     AL,DH   ;६ ப  AL
                sub     BX,14   ;ᬥ饭  ASCII
                call    bin2asc ;ॢ 筮  ASCII

                mov     AX,data ; ࠧ饭 ᥣ 
                mov     ES,AX   ;⠭ ES  맮 
                assume  ES:data ;
                mov     AH,13h  ;㭪 13h -  ப
                mov     AL,0    ;  ६頥
                                ;⮫쪮 ப ᨬ
                                ;ਡ  BL

                mov     BH,0    ;࠭ 0
                mov     BL,0fh  ; ᮪ ⥭ᨢ
                mov     BP,offset msg ;ES:BP 㪠⥫  ப
                mov     CX,37   ; ப
                int     10h     ;饭  -BIOS

                ret

        main    endp

        bin2asc proc    near

        COMMENT* ணࠬ ॢ  ᥫ  ଠ
                ASCII ᠭ ᯥ樠쭮  ᬠਢ ண-
                ࠬ   ࠡ ⮫쪮  ᫠, 
                ॢ騬 祭 100. AL - 8-⮢ ॢ-
                 祭, BX - ᬥ饭  DS, 饥 2--
                ⮢ 祭 ASCII
               *
                mov     AH,0
                mov     DL,10
                div     DL        ;ॢ   
                add     AX,3030h  ;㢥祭  30h  ASCII
                mov     [BX],AL   ; ⪮
                mov     [BX+1],AH ; 
                ret

        bin2asc endp

        code    ends

        end     start
    

    ਬ  몥 Turbo-Pascal:
    
    type
        regs = record
                    AX,BX,CX,DX,BP,SI,DI,DS,ES,
                    FLAGS:INTEGER;
        end;

    var
        reg : regs;
        row,col : integer;

    begin
        reg.AX:=$0200 {⠭ };
        reg.DX:=$050a;
        reg.BX:=$0000;
        intr($10,reg);

        reg.AX:=$0300 {祭 न };
        reg.BX:=$0000;
        intr($10,reg);

        row:=reg.DX div $100;
        col:=reg.DX mod $100;

        write ('The cursor is at row ',row);
        write ('and column ',col);
    end.
    


  4:    .



    㭪 ᮮ頥  祭 ᢥ⮢   頥 -
 ப  ⮫  砥,  ᢥ⮢  祭. 
⬥,   ।  ப  ࠡ  ᮢ⨬ -
 (4 - 6) ᯮ ॣ CH,   ࠡ   ० -
ॣ CX.
    VGA  ন ࠡ  ᢥ⮢ ஬.


 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 4
    

 

     (訢 ᫥ 맮 㭪樨):
    
    AH: 0 -   祭;1 - 祭
    DH: ᨬ쭠 ப ( ⥪⮢ ०)
    DL: ᨬ ⮫ ( ⥪⮢ ०)
    CH: ப ᥫ ( ᮢ⨬ ०)
    CX: ப ᥫ (  ०)
    BX: ⮫ ᥫ
    


  5:    .



      ᯮ짮 ᪮쪮 ࠭ ( ࠭) -
ଠ樨  . ⮡ࠦ    ६ 
 ⮫쪮  ࠭, 뢠 ⨢. 設⢮ 㭪権
  - 䨪樨 ࠭ ( ᨬ,
஥ 窨, ६饭 ,  ..),  ⠪ 
롮 㥬 ࠭; ᫥⥫쭮, 㭪樨  -
    ࠭.   ࠭  ࠭
 ࠦ   ନ஢ 㣮, ᫥ 祣 믮
  ࠦ (  ⠪ ⮤ ਬ
 ⨯樨   樨 ᫠). 㭪  -
,   ࠭ 㤥 뢥  ᯫ.  㬮砭 ⨢-
  ࠭ 0.
    CGA  ० 2  3  ࠭祭 4 ࠭. ஬ -
 ন ⮫쪮  ࠭.
    室 ⬥,   ᫥饩 ⠡ ਢ 
஢ ࠭,    ᯮ짮  ॣ AL. 0 -
砥,   ࠡ ⮫쪮   ࠭楩 ( 0).

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 5
    AL:  ⨢㥬 ࠭:
        :  ࠭:
         
                64K   128K  256K <--ꥬ 
         0 - 1  0...7 0...7 0...7
         2 - 3  0...3 0...7 0...7
         4 - 6  0     0     0
         7      0...3 0...7 0...7
         0dh    0,1   0...3 0...7
         0eh    0     0,1   0...3
         0fh    0     0,1   0,1
         10h    0     0     0,1
         11h                0 (⮫쪮 VGA)
         12h                0 (⮫쪮 VGA)
         13h                0 (⮫쪮 VGA)
         
    

    ਢ  ணࠬ "஫뢠"  ࠭,
⠭    .   ᫥騬 横 㧠 -
 .    ࠭   ᫮, ନ
ᮮ饭 "This shows four pages".


    ਬ  몥 ᥬ:
    
        data    segment public

                msg1    db ' This'
                msg2    db ' shows'
                msg3    db ' four'
                msg4    db ' pages.'
                pse     dw 0F000h ;⥫쭮   뢮

        data    ends

        code    segment public
                assume  CX:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data ; ࠧ饭 ᥣ 
                mov     ES,AX   ;⠭ ES  맮 㭪樨
                assume  ES:data

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AX,3    ;० 3 (䠢⭮-஢)
                int     10h

                mov     DH,08   ;ப 8
                mov     DL,0ah  ;⮫ 10
                mov     BH,3    ;࠭ 3
                mov     BP,offset msg1 ;ES:BP 㪠⥫  ப
                mov     BL,0fh  ; ᮪ મ
                mov     CX,6    ; ப

        ;㧪  ࠭  ᮮ饭

        loop:   mov     AL,1    ; ६頥
                                ;⮫쪮 ப ᨬ
                                ;ਡ  BL
                mov     AH,13h  ;㭪 13h -  ப
                int     10h     ;맮 -BIOS
                add     BP,6    ;㪠⥫  ᫥饥 ᮮ饭
                add     DL,6    ;६饭   ᫥饩
                                ;࠭
                dec     BH      ;㪠⥫  ᫥ ࠭
                cmp     BP,offset msg4
                jbe     loop

        ;뢮  ࠭

        dsp:    mov     CX,4

        lp2:    mov     AL,CX
                dec     AX
                mov     AH,5
                int     10h
                push    CX
                mov     CX,2    ;প (2- ⥫
                                ; 㢥祭 ६)

        ps1:    push    CX
                mov     CX,pse  ; 


        ps2:    loop    ps2     ;⮩ 横  প
                pop     CX
                loop    ps1     ;横 १ ⥫
                pop     CX
                loop    lp2
                mov     AX,pse
                sub     AX,1000h
                mov     pse,AX
                cmp     AX,0
                ja      dsp

        ;⠭ ࠭ 0 । ⮬  DOS

                mov     AL,0
                mov     AH,5
                int     10h

                ret

        main    endp

        code    ends

        end     start
    


  6:  ()   .



      ⮩ 㭪樨 믮 ப⪠ ⥪  ࠭:
ப ६ ᭨ ,   ⢫ ⠢ 
ப.   । न ப稢 , ⮬
ப稢  ⮫쪮  ࠭.  ॣ AL 頥 -
祭, ।饥 ᫮ ப稢 ப.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 6
    AL: ᫮ ப稢 ப (0 - ⪠ ࠭)
    BH: ᨬ ਡ  ப (. 㭪 8)
    CH:  孥 ப 
    CL:   ⮫ 
    DH:   ப 
    DL:  ࠢ ⮫ 
    

    ਢ  ணࠬ ⠥ ᮮ饭 "This line will
scroll (except for this part)"  ப稢    
 ப.   ᮮ饭  ப稢,  १
祣 䥪 ஫  ᮡ 來.

    ਬ  몥 ᥬ:
    
        data    segment public

                msg1    db 'This line will scroll (except for'
                        db 'this part)'
                msg2    db 'This line will not scroll'

        data    ends

        code    segment public
                assume  CS:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX


                mov     AX,data ; ࠧ饭 ᥣ 
                mov     ES,AX   ;⠭ ES  맮 㭪樨
                assume  ES:data

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AX,3    ;० 3 (䠢⭮-஢)
                int     10h

                mov     DH,12   ;ப 12
                mov     DL,10   ;⮫ 10
                mov     BH,0    ;࠭ 0
                mov     BP,offset msg1 ;ES:BP 㪠⥫  ப
                mov     BL,0fh  ; ᮪ મ
                mov     CX,44   ; ப
                mov     AL,1    ; ६頥
                                ;⮫쪮 ப ᨬ
                                ;ਡ  BL
                mov     AH,13h  ;㭪 13h -  ப
                int     10h     ;맮 -BIOS

                mov     DH,13   ;ப 13
                mov     DL,10   ;⮫ 10
                mov     BH,0    ;࠭ 0
                mov     BP,offset msg2 ;ES:BP 㪠⥫  ப
                mov     BL,0fh  ; ᮪ મ
                mov     CX,25   ; ப
                mov     AL,1    ; ६頥
                                ;⮫쪮 ப ᨬ
                                ;ਡ  BL
                mov     AH,13h  ;㭪 13h - 뢮 ப
                int     10h     ;맮 -BIOS
                mov     CX,2    ;প (⥫)
                                ; 㢥祭 ६
        ps1:    push    CX
                mov     CX,0ffffh ; 
        ps2:    loop    ps2     ;⮩ 横  প
                pop     CX
                loop    ps1     ;横 १ ⥫
                mov     CX,0    ;न  孥 㣫 0,0
                mov     DH,12   ;ࠢ  㣮  ப 12
                mov     DL,31   ;⮫ 31
                mov     AL,1    ;६ 1 ப
                mov     BH,0fh  ;ਡ  ப
                mov     AH,6    ;ப⪠ 
                int     10h     ;맮 -BIOS

                ret

        main    endp

        code    ends

        end     start
    


  7:  ()   .



      ⮩ 㭪樨 믮 ப⪠ ⥪  ࠭:
ப ६ ᢥ ,   ⢫ ⠢ -
 ப. 㭪 ࠡ⠥ ⠪ ,   ᠭ  㭪 6.


 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 7
    AL: ᫮ ப稢 ப (0 - ⪠ ࠭)
    BH: ᨬ ਡ  ப (. 㭪 8)
    CH:  孥 ப 
    CL:   ⮫ 
    DH:   ப 
    DL:  ࠢ ⮫ 
    

    ਢ  ணࠬ ⠥ ᮮ饭 "This line scroll
(except for this part)"  ப稢      -
.   ᮮ饭  ப稢,  १ 祣 䥪
஫  ᮡ 拉.

    ਬ  몥 ᥬ:
    
        data    segment public

                msg1    db 'This line will scroll (except for'
                        db 'this part)'
                msg2    db 'This line will not scroll'

        data    ends

        code    segment public
                assume  CS:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data ; ࠧ饭 ᥣ 
                mov     ES,AX   ;⠭ ES  맮 㭪樨
                assume  ES:data

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AX,3    ;० 3 (䠢⭮-஢)
                int     10h

                mov     DH,12   ;ப 12
                mov     DL,10   ;⮫ 10
                mov     BH,0    ;࠭ 0
                mov     BP,offset msg2 ;ES:BP 㪠⥫  ப
                mov     BL,0fh  ; ᮪ મ
                mov     CX,25   ; ப
                mov     AL,1    ; ६頥
                                ;⮫쪮 ப ᨬ
                                ;ਡ  BL
                mov     AH,13h  ;㭪 13h -  ப
                int     10h     ;맮 -BIOS

                mov     DH,13   ;ப 13
                mov     DL,10   ;⮫ 10
                mov     BH,0    ;࠭ 0
                mov     BP,offset msg1 ;ES:BP 㪠⥫  ப
                mov     BL,0fh  ; ᮪ મ
                mov     CX,44   ; ப
                mov     AL,1    ; ६頥
                                ;⮫쪮 ப ᨬ
                                ;ਡ  BL
                mov     AH,13h  ;㭪 13h - 뢮 ப
                int     10h     ;맮 -BIOS
                mov     CX,2    ;প (⥫)
                                ; 㢥祭 ६

        ps1:    push    CX
                mov     CX,0ffffh ; 
        ps2:    loop    ps2     ;⮩ 横  প
                pop     CX
                loop    ps1     ;横 १ ⥫
                mov     CH,13   ;न  孥 㣫 13,0
                mov     CL,0
                mov     DH,24   ;ࠢ  㣮  ப 24
                mov     DL,31   ;⮫ 31
                mov     AL,1    ;६ 1 ப
                mov     BH,0fh  ;ਡ  ப
                mov     AH,7    ;ப⪠ 
                int     10h     ;맮 -BIOS

                ret

        main    endp

        code    ends

        end     start
    

    । 㭪権 ࠡ  ࠭ (0 - 7)   
㭪 ⠭ ०.  ࠢ,  ⠭ ० 
ॡ,  ᯮ짮 맮 BIOS ࠭,  ० 㤥
⠭ ࠢ쭮   ஢,    ন.
㭪樨 1 - 7    ᯮ짮   ⢥ -
⨯.  砥 ᠭ ணࠬ, ⢫ ।⢥
ࠡ  ࠭ ,  㭪樨  ⥫ ஫.


                3. B I O S                   /      




    뢠   㭪権 BIOS ( 8 - fh) ࠡ⠥ -
।⢥  ࠭묨 ࠦﬨ,   ⢫  
⥭ ᮤন ࠭   奬 ࠢ 梥⮬. ᪫-
祭 ⠢ 㭪 fh,  頥 ⥪騩 ०.
  㭪樨 0 - 7, 㭪樨  ন ᥬ IBM--
ࠬ. ᬠਢ 楤    筮
, ⮬ 設⢮ ணࠬ⮢  ᢥ  -
  ᯮ짮  筮 த.    -
 ᯥ譮 ᯮ  ਪ ணࠬ.
    ਬ, 楤  ᨬ ࠡ⠥   ०. 
 ᮡ   뢮 ⥪  ᪨ ० 
 ,   ॡ ᫮ ࠡ⪠ ⥪ (⠪ 
ࠧ祭 ࠧ 㪢  ࠢ ᥫ). 楤 뢮
ᨬ  ᪮ ० ᫮  ᠭ , , 
  ⮨ 稢 ᨫ.


  8:  /    .



    㭪   ᯮ짮  ⥭ ᨬ   ࠭-
. 頥 ଠ ᮤন ᨬ, ᯮ  ⥪饩
樨  㪠 ࠭ (. 㭪 2  ⠭ ⥪-
饩 樨 ).
    ਡ ।⠢ ᮡ ⮢ 祭, 뢠饥 ᨬ-
  䮭  ᮮ⢥⢨  ᫥騬 ଠ⮬:

  7  6  5  4  3  2  1  0
Ŀ
Bl   BC   Br   FC   

    
                  梥 ।  (梥 ᨬ)
             મ (1-᮪;0-) 梥 ᨬ
        梥   (䮭)
   ਧ 栭 ᨬ (1- 栭;0-)

     ࠡ  梥묨 ࠬ   梥 䮭  ᨬ -
  ᥬ ࠧ 梥⮢.  ᯮ짮 ஬-
 ஢   ⠭ ᫥騥 祭 ⮢, -
 梥 䮭:  0 - ,  1 - ୠ⨢ 梥. ,
뢠騥 梥 ᨬ,  ਭ 祭: 000 - , 001 -
 ન, 111 -  筮 ᨬ.  ਡ 
 ⮫쪮  䠢⭮-஢ (⥪⮢) ०. . 㭪樨 10h
 11h  祭 ⥫ ᢥ   ਡ⮢  ᨬ-
.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 8
    BH:  ࠭ (. 㭪 5)
    

 

     (訢 ᫥ 맮 㭪樨):
    
    AL: ASCII- ᨬ  ⥪饩 樨 
    AH:  ਡ ( ⥪⮢ ०)
    


    ਢ  ணࠬ 頥 ᨬ ASCII ( 祭 -
 ਡ), ᯮ  ப 5 ⮫ 15.  ஡
믮  ணࠬ ᫥ ࠡ    ᫥ ਬ஢
(맮 㭪樨 9  0ah). ᫨ ᯮ  ਬ,  믮-
 ४ ஢  ᫥饬 浪: 㭪樨 0ah, 8, 9  8.
  த஢   ਡ.

    ਬ  몥 ᥬ:
    
        data    segment public

                msg     db 'Row 5, Column 15 contains ASCII'
                        db 'character'
                char    db 3 dup (?)
                        db ', and attribute value '
                attr    db 3 dup (?)
                m_len   equ $-msg ;ନ஢ ⠭  ⥪饩
                                  ;⪨  砫 ᮮ饭

        data    ends

        code    segment public
                assume  CS:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AX,data
                mov     ES,AX
                assume  ES:data

                mov     BH,0    ;࠭ 0
                mov     DH,5    ;ப 5
                mov     DL,15   ;⮫ 15
                mov     AH,2    ;㭪 2 - ⠭ 樨 
                int     10h     ;饭  -BIOS

                mov     BH,0    ;࠭ 0
                mov     AH,8    ;㭪 8 - ⥭ ᨬ  ਡ
                int     10h     ;饭  -BIOS
                mov     BL,AH   ;६  ਡ  BL

                mov     DI,offset char
                call    bin2asc
                mov     AL,BL   ;祭 ਡ
                mov     DI,offset attr
                call    bin2asc

                mov     DH,20   ;ப 20
                mov     DL,0    ;⮫ 0
                mov     BH,0    ;࠭ 0
                mov     BP,offset msg ;ES:BP 㪠⥫  ப
                mov     BL,0fh  ; ᮪ મ
                mov     CX,m_len ; ப
                mov     AL,1    ; ६頥
                                ;⮫쪮 ப ᨬ
                                ;ਡ  BL
                mov     AH,13h  ;㭪 13h -  ப
                int     10h     ;맮 -BIOS

                ret

        main    endp

        bin2asc proc    near


        COMMENT* ணࠬ ॢ  ᥫ  ଠ
                ASCII ᠭ ᯥ樠쭮  ᬠਢ  ਬ-
                 ணࠬ   ࠡ ⮫쪮  ᫠,
                訬 256. AL:8-⮢ ॢ 祭,DI:
                ᬥ饭  DS, 饥 2-⮢ 祭 ASCII
               *
                xor     AH,AH     ;0  AH
                mov     DL,100
                div     DL        ;ॢ   ⭨
                add     AL,30h    ;ॢ ⥭  ASCII
                mov     [DI],AL
                mov     AL,AH
                xor     AH,AH     ;0  AH
                mov     DL,10
                div     DL        ;ॢ   
                add     AL,3030h  ;㢥祭  30h  祭
                                  ;ASCII-
                mov     [DI+1],AL ; ⪮
                mov     [DI+2],AH ; 

                ret

                mov     DH,21     ;ப 21
                mov     DL,0      ;⮫ 0
                mov     AH,2      ;㭪 2 - ⠭ . 
                int     10h       ;맮 -BIOS

        bin2asc endp

        code    ends

        end     start
    


  9:  /    .



    㭪   ᯮ짮   ᨬ (  ᨬ-
)   ࠭.  뢠 稭  ⥪饩 -
樨 ,  ।   饭  㭪樨 2.
    ਡ ।⠢ ᮡ ⮢ 祭, 뢠饥 ᨬ-
  䮭  ᮮ⢥⢨  ᫥騬 ଠ⮬:

  7  6  5  4  3  2  1  0
Ŀ
Bl   BC   Br   FC   

    
                  梥 ।  (梥 ᨬ)
             મ (1-᮪;0-) 梥 ᨬ
        梥   (䮭)
   ਧ 栭 ᨬ (1- 栭;0-)

     ࠡ  梥묨 ࠬ   梥 䮭  ᨬ -
  ᥬ ࠧ 梥⮢.  ᯮ짮 ஬-
 ஢   ⠭ ᫥騥 祭 ⮢, -
 梥 䮭:  0 - ,  1 - ୠ⨢ 梥. ,
뢠騥 梥 ᨬ,  ਭ 祭: 000 - , 001 -
 ન, 111 -  筮 ᨬ.
     ᪨ ०  ਡ ᯮ  ⠭
梥 ᨬ. ⠭  7 ਢ  ⮬,  ᨬ 뢠-
  ⥪饥 ᮤন ࠭  ਭ樯 "᪫饥 ". .
맮 㭪権 10h  11h  祭 ⥫ ᢥ  
ਡ⮢  ᨬ.
     䠢⭮-஢ ० 뢮 襣 ⢠  ᨬ-
, 祬    ப, ਢ  ७ ᨬ 
᫥ ப.  ᪮ ०  뢮   -
   ப.
    ᫥ 襭 饭  㭪樨    
(  뢮 讣 ⢠  ᨬ). 樮஢
ᨬ  믮 ।⢠ ணࠬ.

    뢮 ࠢ ᨬ 믮 ⠪ ,   뢮 ⮡-
 ᨬ. ⮬ ࠢ騥 ᨬ "", " -
", "ॢ ப"  ..  믮 ⥬ 樮஢
.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 9
    AL: ASCII- ᨬ
    BH:  ࠭ (. 㭪 5).  ० 13h
          ॣ BH ᯮ   梥 䮭
    BL: ਡ ᨬ
    CX: ⢮ ⮡ࠦ ᨬ
    

    ਢ  ணࠬ 믮 ᨬ  ᮮ-
,  ਡ (梥)  ᨬ.   
 ⢨ ࠢ  7, 10  13. ࠢ १ ⢨
㭪権 ah, eh  13h.

    ਬ  몥 ᥬ:
    
        data    segment public

                msg     db 'This line demonstrates printing'
                        db 'ASCII 7 (',7,'), 10(',10,') and'
                        db '13(',13,').'
                m_len   equ $-msg ;ନ஢ ⠭  ⥪饩
                                  ;⪨  砫 ᮮ饭
                                  ;( ᮮ饭)
        data    ends

        code    segment public
                assume  CS:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     DH,05     ;ப 5(  맮 㭪樨 2)
                mov     DL,0      ;⮫ 0 ( 맮 㭪樨 2)
                mov     CX,m_len  ;᫮ 権
                mov     BP,offset msg ;㪠⥫  ᮮ饭
                mov     BL,1      ;樠 BL  1
                                  ;砫  梥 1

        lp1:    inc     DX        ;᫥騩 ⮫
                mov     AH,2      ;㭪 2 - ⠭ 
                int     10h       ;맮 -BIOS

                push    CX        ;࠭ 稪 権
                mov     CX,1      ;  ᨬ
                mov     BH,0      ;࠭ 0
                mov     AL,msg[BP];祭 ASCII-
                mov     AH,9      ;맮 㭪樨 9
                int     10h       ;맮 -BIOS
                inc     BP        ;㪠⥫  ᫥騩 ᨬ
                inc     BX        ;᫥騩 梥
                                  ;( 㢥稢  1)
                cmp     BL,15     ;᫨ 15
                jbe     skp       ;ய  skp
                mov     BL,1      ;᫨ 15, ⠭ 梥 1

        skp:    pop     CX        ;⠭ 稪 権
                loop    lp1


                mov     DH,21     ;ப 21
                mov     DL,0      ;⮫ 0
                mov     AH,2      ;㭪 2 - ⠭ 
                int     10h       ;맮 -BIOS

                ret

        main    endp

        code    ends

        end     start
    


  ah:  /    .



    饭  ⮩ 㭪樨 筮 饭  㭪樨 9, 
ᠭ ,  ᪫祭 ⮣,  ਡ    ⠭-
 (騥 ਡ  ).

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ ah
    AL: ASCII- ᨬ
    BH:  ࠭ (. 㭪 5)
    CX: ⢮ 뢠 ᨬ
    

    ਬ  몥 ᥬ:
    
        data    segment public

                msg     db 'This line demonstrates printing'
                        db 'ASCII 7 (',7,'), 10(',10,') and'
                        db '13(',13,').'
                m_len   equ $-msg ;ନ஢ ⠭  ⥪饩
                                  ;⪨  砫 ᮮ饭
                                  ;( ᮮ饭)
        data    ends

        code    segment public
                assume  CS:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     DH,05     ;ப 5(  맮 㭪樨 2)
                mov     DL,0      ;⮫ 0 ( 맮 㭪樨 2)
                mov     CX,m_len  ;᫮ 権
                mov     BP,offset msg ;㪠⥫  ᮮ饭
                mov     BL,1      ;樠 BL  1
                                  ;砫  梥 1

        lp1:    inc     DX        ;᫥騩 ⮫
                mov     AH,2      ;㭪 2 - ⠭ 
                int     10h       ;맮 -BIOS

                push    CX        ;࠭ 稪 権
                mov     CX,1      ;  ᨬ
                mov     BH,0      ;࠭ 0
                mov     AL,msg[BP];祭 ASCII-
                mov     AH,0ah    ;맮 㭪樨 0ah
                                  ;᫥  ,
                                  ;  ਡ (BL)
                                  ; ⢮

                int     10h       ;맮 -BIOS
                inc     BP        ;㪠⥫  ᫥騩 ᨬ
                inc     BX        ;᫥騩 梥
                                  ;( 㢥稢  1)
                cmp     BL,15     ;᫨ 15
                jbe     skp       ;ய  skp
                mov     BL,1      ;᫨ 15, ⠭ 梥 1

        skp:    pop     CX        ;⠭ 稪 権
                loop    lp1

                mov     DH,21     ;ப 21
                mov     DL,0      ;⮫ 0
                mov     AH,2      ;㭪 2 - ⠭ 
                int     10h       ;맮 -BIOS

                ret

        main    endp

        code    ends

        end     start
    

     ਬ 祭 ।饬,  ᪫祭  㭪-
樨. 室 ଠ ᮤন 饥 祭 ਡ. 
ࠧ,  믮  CLS  ᪠ ਢ  ண-
ࠬ 뢮 ଠ 㤥    梥. ᫨ ண-
ࠬ 뢠 ᫥ 믮 ।饣 ਬ, ﭨ -
ࠦ  ࠭  . ⮬  ᨬ ࠭ ०
梥 ਡ.


  bh:   .



    ᬠਢ 㭪 ।ᬮ७  ࠡ  ᮢ⨬ -
. . 㭪 10h  ⠭    ०.
     BH ।    梥 䮭 (0),   
梥⮢   ᪮ ०  ࠧ襭 320200 (1). -
⨬  祭  0  127,  筮 㪠 0  1 (-
 ᫠ ᬠਢ  0,  -  1).

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ bh
    BH: 䨪 梥⮢ 
    BL:  BH=0  ᪮ ० - 梥 䮭 (0 - 15);  ⥪-
           ० - 梥 ࠬ (0 - 31).  ⬥,  梥
          䮭  ⥪⮢ ०  ਡ⮬ ᨬ (. -
           㭪樨 8).  BH=1 祭 0 砥 롮 ,
          ᭮  筥 梥⮢,  1 - 㡮, ୮ 
          .  梥   1, 2  3.  䮭 - 0.
    

    ਢ  ணࠬ 믮 뢮 梥 祪 ४
࠭  ० 樨 CGA, ᫥ 祣 ⢫ ᬥ 
 ਭ⮩  㬮砭 (㡮,   )  , -
  筥 梥.

    ਬ  몥 ᥬ:
    
        data    segment public

                clr     db 3    ;⠭ 砫쭮 梥 3

        data    ends

        code    segment public
                assume  CS:code


        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AH,0      ;㭪 0 - ⠭ ०
                mov     AL,5      ;롮 ० 5
                int     10h       ;맮 -BIOS

                mov     BH,1      ;롮 ᪮  梥⮢
                mov     BL,1      ;㡮, , 
                mov     AH,0bh    ;⠭ 
                int     10h       ;맮 -BIOS

                mov     BH,0      ;। 梥 䮭
                mov     BL,0      ;
                mov     AH,0bh    ;⠭ 
                int     10h       ;맮 -BIOS

                mov     CX,319    ;। ⮫

        lp:     mov     AH,0ch    :㭪 ch - 뢮 窨
                mov     AL,clr    ;⠭ 梥
                dec     AX        ;㬥襭  1  梥
                mov     clr,AL    ;࠭  祭 梥
                jnz     skip      ; skip, ᫨  梥  0
                mov     clr,3     ; ⠭ 梥 3

        skip:   mov     BH,0      ;࠭ 0
                mov     DX,10     ;ப 10
                int     10h       ;맮 -BIOS
                loop    lp        ;६ CX - ᫥騩 ⮫

                mov     CX,4      ;⥫ প
                                  ;( 㢥祭 ६)

        ps1:    push    CX
                mov     CX,0ffffh ;⥫쭮 

        ps2:    loop    ps2       ;⮩ 横  প
                pop     CX
                loop    ps1       ;横 १ ⥫
                mov     BH,1      ;롮 ᪮ 
                mov     BL,0      ;, , 筥
                mov     AH,0bh    ;⠭ 
                int     10h       ;맮 -BIOS

                mov     DH,10     ;ப 10
                mov     DL,0      ;⮫ 0
                mov     BH,0      ;࠭ 0
                mov     AH,2      ;㭪 2 - ⠭ 
                int     10h       ;맮 -BIOS

                ret

        main    endp

        code    ends

        end     start
    



  ch:  .



    饭  ⮩ 㭪樨 ਬ  ஥ 窨  
࠭  ᪨ ०. ⮫ 0 - ᠬ , ப 0 -
ᠬ  (室 ⬥,   設⢥ न -
⥬ 㫥 ப ᯮ ).
    ᫨  ॣ AL ⠭  7,   ᥫ 뢠-
  ⥪饥 ᮤন ࠭  ᯮ짮 樨 "᪫饥
".
     BH ( ࠭) CGA  ন, ᪮  CGA
 ।ᬮ७ ࠡ  ᪨ ࠭栬.  EGA  VGA  -
   ⠭ ᮮ⢥饥 祭.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ ch
    AL:  梥
    BH:  ࠭ (. 㭪 5)
    CX:  ⮫ ᥫ (0 - 319  0 - 639)
    DX:  ப ᥫ (0 - 199, 0 - 349  0 - 479)
    

    ਬ 㭪樨 뢠  ਬ  㭪樨 0 (⠭
०). ஬ ⮣,  ਫ ᮤঠ ⥪ 宦 ணࠬ,
  ⢫ ।⢥  ᥫ  .
ਬ, ਢ  㭪樨 dh (⥭ 窨), ⠪ ᮤন -
饭  ᬠਢ 㭪樨.  믮 ணࠬ, ᮤঠ-
饩 㭪 뢠 窨, ᫥ ।⥫쭮 믮 ண-
ࠬ ⠭ ०.


  dh:  



    饭  㭪樨 ਬ  祭 梥 窨, ᯮ-
    ࠭  ᪨ ०. ⮫ 0 - ᠬ
, ப 0 - ᠬ ).
     BH ( ࠭) CGA  ন.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ dh
    BH:  ࠭ (. 㭪 5)
    CX:  ⮫ ᥫ (0 - 319  0 - 639)
    DX:  ப ᥫ (0 - 199, 0 - 349  0 - 479)
    

 

     ( ᫥ 맮 㭪樨):
    
    AL: 祭 梥 窨
    

    ਢ  ணࠬ 믮 ஢ ப 10 
ப 20. 室  ᪨ ० ᮪ ࠧ襭,
ᯮ짮 ਬ  㭪樨 0.


    ਬ  몥 ᥬ:
    
        data    segment public

                clr     db 16    ;⠭ 砫쭮 梥 16
                msg     db 'The mode must be set to high '
                        db 'resolution.'
                m_end   label byte

        data    ends

        code    segment public
                assume  CS:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     AH,0fh   ;㭪 0fh ⥪騩 ०
                int     10h      ;맮 -BIOS
                cmp     AL,0eh   ; ०  0eh?
                jl      bad_mode
                cmp     AL,13h   ;०  ࠧ襭 256 .?
                je      bad_mode

                mov     CX,639   ;⮫

        lp:     mov     AH,0dh   ;㭪 dh - 뢠 窨
                mov     BH,0     ;࠭ 0
                mov     DX,10    ;ப 10
                int     10h      ;맮 -BIOS
                mov     AH,0ch   ;㭪 ch -  窨
                mov     DX,20    ;ப 20
                int     10h      ;맮 -BIOS
                loop    lp       ;६ CX - ᫥騩 ⮫

                ret

        bad_mode:
                mov     AX,data
                mov     ES,AX
                assume  ES:data
                mov     AH,3     ;㭪 2 - ⥭ 樨 
                mov     BH,0     ;࠭ 0
                int     10h      ;맮 -BIOS
                    ;  頥  ॣ DX
                mov     DL,0     ;⮫ 0
                mov     AX,1300h ; ப (ᨬ )
                mov     BH,0     ;࠭ 0
                mov     BL,3     ;梥 3
                mov     BP,offset msg       ;ES:BP 㪠⥫  ⥪
                mov     CX,offset m_end-msg ; ⥪
                int     10h      ;맮 -BIOS

                ret

        main    endp

        code    ends

        end     start
    



  eh:       
                  .



    㭪 ਬ  樨 ⥫⠩: ᫥  ᨬ
 ६頥  ᫥ .  ⫨稥  㣨 㭪権,
⢫  ᨬ, ᬠਢ 㭪 
ᨬ "", " ⪨"  "ॢ ப"  , 
  ᨬ IBM-.
    㭪  믮  ⮫쪮  ⨢ ࠭.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ eh
    AL: ASCII- ᨬ
    BL: 梥 ᨬ (ᯮ ⮫쪮  ᪮ ०)
    

    ਢ  ணࠬ 믮   ப (ᮮ-
).     ⢨ ࠢ  7, 10 
13. ࠢ १ ⢨ 㭪権 9, ah  13h.

    ਬ  몥 ᥬ:
    
        data    segment public

                msg     db 'This line demonstrates printing'
                        db 'ASCII 7 (',7,'), 10(',10,') and'
                        db '13(',13,').'
                m_len   equ $-msg ;ନ஢ ⠭  ⥪饩
                                  ;⪨  砫 ᮮ饭
                                  ;( ᮮ饭)

        data    ends

        code    segment public
                assume  CS:code

        main    proc    far

        start:  push    DS
                sub     AX,AX
                push    AX

                mov     AX,data
                mov     DS,AX
                assume  DS:data

                mov     DH,05    ;ப 5 ( 맮 㭪樨 2)
                mov     DL,0     ;⮫ 0 ( 맮 㭪樨 2)
                mov     CX,m_len ;᫮ 権
                mov     BP,offset msg ;㪠⥫  ᮮ饭
                mov     BL,1     ;砫 梥 1
                inc     DX       ;᫥騩 ⮫
                mov     AH,2     ;㭪 2 - ⠭ 
                int     10h      ;맮 -BIOS

                  ;⠭  ⢫  横. ࠢ-
                  ;  ਬ  ਬ஬  㭪樨 9.

        lp1:    mov     BH,0     ;࠭ 0
                mov     AL,msg[BP] ;祭 ASCII-
                mov     AH,0eh   ;㭪 0eh
                int     10h      ;맮 -BIOS
                inc     BP       ;㪠⥫  ᫥騩 ᨬ
                inc     BX       ;᫥騩 梥
                cmp     BL,15    ;᫨  15,
                jbe     skp      ;ய  skp
                mov     BL,1     ;᫨ 15, ⠭ 梥 1


                  ; ⥪⮢ ० 梥  ন.  -
                  ;⠭ 梥 室 ᯮ짮 ணࠬ
                  ;⠭ ० (㭪 0)  ३  -
                  ; ०.

        skp:    loop    lp1
                mov     DH,21    ;ப 21
                mov     DL,0     ;⮫ 0
                mov     AH,2     ;㭪 2 - ⠭ 
                int     10h      ;맮 -BIOS

                ret

        main    endp

        code    ends

        end     start
    


  fh:   .



    㭪 頥 ଠ  ⥪饬 ०.

 

     (⠭  맮 㭪樨):
    
    AH: ⠭ fh
    

 

     ( ᫥ 맮 㭪樨):
    
    AL:  ⥪饣 ० (. 㭪 0)
    AH: ᫮ 뢮 ᨬ ⮫殢
    BH: ᫮ ⨢ ࠭ (. 㭪 5)
    

    ਬ, ਢ  㭪樨 dh (뢠 窨), ᯮ
饭  ᬠਢ 㭪樨.
     㭪 뫠 ᫥ 㭪樥  ᭮  BIOS.
  맮  㭪権  EGA/VGA  MDA/CGA ࠬ -
   ७  ᫠ ࠭  -
⮢ ࠦ.  ⠫ 㭪樨  ᮡ 
஢ ( PC jr  PS/2 Model 30 ⠪ ন 
  㭪権,   饬 㪮⢥   ᬠਢ-
).




                  4.                           
                     B I O S   E G A / V G A




     饩  ᬠਢ  㭪樨, ন
ࠬ EGA  VGA.    㭪権   襭 ப
ᯥ ஡ -  䨪樨   ᨬ  祭 -
樨  䨣樨 .   ᯮ 楤
। ﭨ, ᮡ  ,  ਪ ணࠬ
⢫ ⮬ ன  ன⢮ ⮡ࠦ.
      楤ࠬ । ﭨ 筮  -
 㭪 ⠭ .  ᬥ ,  -
,  ॡ ᮪ த⢨.  砥,  ६ 믮-
 ணࠬ   ।騬 䠪஬, ᯮ짮 -
楤 BIOS   ७ᨬ ਪ ணࠬ
த,  ⠪ ⥫쭮 ᮪ ६  ࠧࠡ⪨.


  10h:   .



    饭  㭪樨    ( )  梥⮢
 㣮 梥  ⠭ 梥 ࠬ.
     16-梥⭮ ० ᫮ ॣ஢  ࠢ  -
㥬 梥⮢.  ᮢ⨬ ० ॣ 1 - 3 ⢥ 
ନ஢ 梥⮢  1,  ॣ 4 - 6 -  ନ஢ 梥-
⮢  0.  ࠡ  ECD  ᪮ ० 10h  64 
EGA ᯮ 奬, ਢ .

        梥⮢
      
      0              0, 2,  8, 10
      1              1, 3,  9, 11
      4              4, 6, 12, 14
      7              5, 7, 13, 15
      

     ⠭ ०  ॣ   ਭ 
㬮砭 祭. ᫨ 㭪 ਬ  楫 ⠭ -
, 饭    믮 ᫥  ⠭ -
. ਭ  㬮砭 祭   ⥬ ନ஢
 ⠡ ࠬ஢   ⠡ BIOS SAVE_PTR (஡ 
⮤ ᠭ   12). ⠭ ਭ  㬮砭 
 VGA    ᯮ짮 㭪樨 ୠ⨢ 롮
(饭  㭪樨 12h, BL=31h).
    ஬ ⠭ ॣ஢  VGA ᭠ -
८ࠧ⥫ (),   ண ⠪   -
 ࠢ 梥⮬.  ᯮ 6 ⮢  । મ
 梥 (᭮,   ᨭ),  १ 祣 -
 梥 ।⠢ 18-⮢  (262144 梥⮢ ⥭).
  256 ॣ஢,    ॣ஢  ᮤঠ ࠧ-
 祭 梥.  ࠧ,  ० 13h  ᯮ짮
256 梥⮢  262144 .
     16-梥 ० VGA ॣ   16 ॣ஢ 
64-ॣ஢ ⢠  ( ४祭  
⢠).  㣮 ਠ ᯮ짮 ॣ  -
  16 ॣ஢  16-ॣ஢ ⢠  (
⮬   ᯮ짮 16 ).  㬮砭
᫥ ⠭ ० ( ᪫祭 ० 13h) ⠭
祭 16/64/4; 樠  ᯮ  ⮬ ⮫쪮 -
⢮ 0.


 

     (⠭  맮 㭪樨):
    
    AH: ⠭ 10h

        0:    .

          ஬ ᭮ 祭 -  ॣ஢  -
          㭪     ॣ஢ ਡ⮢
          (ॣ ਡ⮢ ᠭ   4).

           (⠭  맮 㭪樨):
          
          AL: ⠭ 0
          BL: ॣ  ⠭ ( 梥)
          BH: 祭 ॣ (梥 - . ⠡ )
          

        1:    .

          㭪 ⠭ 梥 ࠬ. ࠢ쭠 ࠡ -
          㭪樨 ᯥ稢 ⮫쪮  200-筮 ० EGA, ⠪
            350-筮 ० 뢠   - -
          筮 ᪮ ࠧ⪨.

           (⠭  맮 㭪樨):
          
          AL: ⠭ 1
          BH: 祭 ॣ (梥)
          

        2:    .

          㭪 ॡ 饭   17-⮢ ⠡.
           16 ⮢ ᮤঠ 祭  ॣ஢ 
          0 - 15,  17-  - 祭  ॣ  ࠧ⪨.

           (⠭  맮 㭪樨):
          
          AL: ⠭ 2
          ES: ᥣ, ᮤঠ騩 ⠡
          DX: ᬥ饭 ࢮ   ⠡
          

        3:   /

           (⠭  맮 㭪樨):
          
          AL: ⠭ 3
          BH: 0 - ન  栭;
              1 - 栭  મ
          

        ଠ ॣ஢ 梥  EGA  CGA:
           7 6 5 4 3 2 1 0
          Ŀ
          x x xIxRGB
          
                    
                        梥 (R-, G-, B-ᨭ)
                  ⥭ᨢ (મ) 梥

        ଠ ॣ஢ 梥  ECD:
           7 6 5 4 3 2 1 0
          Ŀ
          x xrgbRGB
          
                
                       訥 ࠧ  梥
                  訥 ࠧ  梥


         㬮砭 ⠭ 梥  ᫥騬 :
          Ŀ
                       梥           
          Ĵ
          梥          ECD     EGA/CGA  
                      Ĵ
                       76543210  76543210 
          Ĵ
                 xx000000  xxx0x000 
                  xx000001  xxx0x001 
                xx000010  xxx0x010 
          㡮      xx000011  xxx0x011 
                xx000100  xxx0x100 
          ⮢   xx000101  xxx0x101 
          筥   xx010110  xxx0x110 
          ⫮-멳 xx000111  xxx0x111 
          -  xx111000  xxx1x000 
          મ-ᨭ   xx111001  xxx1x001 
          મ-멳 xx111010  xxx1x010 
          મ-㡮 xx111011  xxx1x011 
          મ-멳 xx111100  xxx1x100 
          ७    xx111101  xxx1x101 
                 xx111110  xxx1x110 
                  xx111111  xxx1x111 
          

        ਢ  㭪樨 ন ⮫쪮 VGA.

        7: (⮫쪮 VGA)    .

          , ⠭  맮 㭪樨:
          
          AL: ⠭ 7
          BL:  뢠 ॣ (梥)
          

          , 訢 ᫥ 맮 㭪樨:
          
          BH: ᮤন ॣ 
          

        8: (⮫쪮 VGA)    .

          , ⠭  맮 㭪樨:
          
          AL: ⠭ 8
          

          , 訢 ᫥ 맮 㭪樨:
          
          BH: ᮤন ॣ 梥 ࠬ
          

        9: (⮫쪮 VGA)    .

          㭪 ॡ १ࢨ஢ 17-⮢  -
          . ᫥ 饭  16 ⮢ ᮤঠ 祭 -
          ஢  0 -15,  17-  - 祭 ॣ 梥
          ࠬ.

           (⠭  맮 㭪樨):
          
          AL: ⠭ 9
          ES: ᥣ, ᮤঠ騩 ⠡
          DX: ᬥ饭 ࢮ  ⠡  ᥣ
          

        10h: (⮫쪮 VGA)    .

          㭪 ⠭ 18-⮢ 祭 梥  㪠-
           ॣ .   ⠢ 梥 (, -
          , ᨭ)   6-⮢ 祭.

           (⠭  맮 㭪樨):
          
          AL:        ⠭ 10h
          BX:        ॣ  (0-255)
          CH:        મ 
          CL:        મ ᨭ
          DH:        મ ᭮
	  

       12h (⮫쪮 VGA)    

         㭪 ⠭ 18-⮢ 祭 梥  ண
         ⢠ ॣ஢ .ணࠬ 頥 祭  ⠡.
          ᮤন ᫥⥫쭮 祭 ⮢ ॣ஢ 梥-
         : ᭮,  ᨭ ᮮ⢥⢥ (3   -
          ணࠬ㥬 ॣ.

          (⠭  맮 㭪樨):
         
         AL:        ⠭ 12h
         BX:        砫 ॣ  (0-255, 筮 64  256)
         CH:        ᫮ ணࠬ㥬 ॣ஢ (1-256, 筮 64 
                    256)
         ES:        ᥣ ⠡
         DX:        ᬥ饭 ⠡


       13h (⮫쪮 VGA)   .

         㭪 ⠭ ᫮    16-梥-
          ०   (4 ⢠  64 梥⮢ 
         16   16 梥⮢). 㭪 ⠪   -
         짮  롮 ⨢ ⢠.


          (⠭  맮 㭪樨):
         
         AL:        ⠭ 13h

          ਠ 맮:

         BL:        0-० 롮 ࠭
         BH:        0-   64 ॣ஢ 
		     1-16 ஢  16 ॣ஢ 

         ன ਠ 맮:

         BL:        0-० 롮 ࠭
         BH:        ⨢ ⢮ (0-3  0-15)
	 


       15h ⮫쪮(VGA)    .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 15h
         BX:        ॣ  (0-255)
	 

	  (뢠 ᫥ 맮 㭪樨)
	 
         CH:        ⥪ મ 
         CL:        ⥪ મ ᨭ
         DH:        ⥪ મ ᭮
	 


       17h(⮫쪮 VGA)    .

         㭪 뢠 18-⮢ 祭 梥  ண
         ⢠ ॣ஢ .ணࠬ  १ࢨ஢ 3
             뢠 ॣ. ᫥ -
         饭  㭪樨 ⠡ ᮤন ᫥⥫쭮 ᯮ-
          祭 ⮢ ॣ஢ 梥⮢:᭮,  
         ᨭ ᮮ⢥⢥.

          (⠭  맮 㭪樨)
	 
         AL:        ⠭ 17h
         BX:        砫 ॣ (0-255, ࠢ 64  256)
         CH:        ᫮ 뢠 ॣ஢(1-256, ࠢ 64
                     256)
         ES:        ᬥ饭 ⠡
         DX:        ᥣ ⠡
	 

       1ah(⮫쪮 VGA)    

         㭪 頥 ᫮ ॣ஢ ⨢ ⢠
           ᫮  .

          (⠭  맮 㭪樨):
	 
         AL:         ⠭ 1
	 

          (뢠 ᫥ 맮 㭪樨):
	 
         BH:         ᫮ ⨢ ⥬
         BL:         0- 4 ⢠
                     1- 16 
	 

       1bh (⮫쪮 VGA):   
                                       

         㭪  ⢨ ८ࠧ 饣 
         ॣ஢    ⥭ ண.  ⠢-
          30% ⥪饣 祭 , -59%, ᨭ-11%.

          (⠭  맮 㭪樨):
	 

         AL:          ⠭ 1dh
         BX:          砫 ॣ  (0-255)
         CX:          ⢮ 塞 ॣ஢ (1-256)
	 

     ਬ  몥 ᥬ
     

     ; ਢ  ணࠬ 믮  ப ᥫ
     ; ४ ࠭ ( ᫮   ॣ ).
     ;  稭 ࠢ  ⢫ 横᪨,
     ;  ।饣 祭 ந室  砭
     ;  横.

     cry-f       equ   1      ;  䫠 ७
     data        segment public
     clrs        db    16,15,14,13,12,11,10,9,8
                 db    7,6,5,4,3,2,1,0
     overscan    db    0
                 flags db     0
     data        ends
     code        segment public
                 assum CS:code
     main        proc   far
     start:      push   DS
                 sub    AX,A
                 push   AX
                 mov    AX,data
                 mov    DS,AX
                 assume DS:data
                 mov    ES,AX
                 assum  ES:data
                 mov    AH,2     ; 㭪 2-⠭ 
                 mov    DH,05    ; ப 5
                 mov    DL,0ah   ; ⮫ 10
                 mov    BH,0     ; ࠭ 0
                 int    10h      ; 饭
                 mov    CX,16    ; 뢮  ॣ 

      d_lp:      mov    BX,CX
     	   dec    BX	   ;  ॣ 
     	   mov    AL,lrs[BX]; । 梥
     	   call   show_new ; 뢮 ⥪饣 祭
     	   loop   d_lp
     	   mov    CX,1000h ; ᫮ ᢥ⮢ 権 
     			     樨

     ;  砥 ⠭ 砫쭮 祭 梥 0  ᯮ짮
     ; 讣 ⢠   横, ணࠬ  
     ;    樨 梥⮢.
     ; 筮,⮡  믮     ,  ॡ  祭
     ;  ६, ⮬ ᫥  ࠭ 騥 砫
     ; 祭 ᪮쪨 砬 権.


     lp2:        push       CX
                 mov        CX,16           ;஢ઠ  ॣ
                                            ;
                 or         flags,cry_f     ;⠭ 䫠 ७
                                            ;( 㢥祭  1)

     lp1:        mov        BX,CX           ; 稪  
     	    dec        BX              ; ॣ 
     	    mov        AL,clrs[BX]     ;祭 梥
     	    test       flags,cry_f     ; ⠭ 䫠 ७?
     	    jz         no_c            ;-३  ᫥饬
     				       ;ॣ 
     	    inc        AX              ;॥,祬 INC AL
     	    and        flags,not cry_f ; 䫠 ७
     	    cmp        AL,64           ; ᨬ?
                 jb         no_cry          ;- ⠭ 䫠
                                            ;७
                 sub        AL,AL           ; ⠭ 梥 0
                 or         flags,cry_f     ;⠭ 䫠 ७

     no_cry:     call       show_new        ; ࠭
     	    mov        clrs[BX],AL     ;࠭  梥

     no_c:       loop       lpl             ;஢ઠ ᫥饣 ॣ
                                            ;
     	    poop       CX              ;⠭ 稪
     	    loop       lp2             ;믮 ᫥ ⠭

     	    ret

     main        endp

     show_new    proc       near

     	    push       AX              ;࠭ ⥪騩 梥
     	    push       BX              ;࠭ ⥪饥 ﭨ
     				       ;ॣ 
     	    push       CX              ;࠭ ⥪饥 祭
     				       ;稪
     				       ;祭  DX 㭨⮦

     ; ⠭  ᯮ 㭪 0 (⠭ 
     ;ॣ). :  ⮣ ⠪   ᯮ짮
     ;㭪 2,  ⮬ ᫥ ᨬ"'" 㤠  ப
     ;"mov AL,2"  "mov DX,..."

     	    mov        BH,AL           ;
     	    mov        AH,10h          ;
     				       ;
     	    mov        AL,0            ;
     	    'mov       AL,2'           ;
     	    'mov       DX,offset CLRS' ;
     	    int        10h             ;BIOS
     	    push       BX              ;
     	    mov        AH,2            ;
     	    mov        BH,0            ;
     	    sub        DH,DH           ;DH=0 ( ப)
     	    mov        DL,BL           ; 祭 ॣ
     				       ;  DL
     	    shl        DX,1
     	    shl        DX,1            ;  ⮫ = 4* 祭
     				       ; ॣ 
     	    int        10h             ;饭   BIOS
                 pop        BX              ;⠭ ॣ 梥/
                                            ;
     	    mov        AL,BH           ; 梥 ⭮  AL
     	    call       bin2asc         ;ॢ AL  ASCII  AX
     	    push       AX              ;࠭ AX
     	    xchg       AH,AL           ;    AL
     	    mov        AH,9            ; ਡ/ᨬ
     	    mov        BL,BH           ;  梥  BL
     	    mov        BH,0            ;࠭ 0
     	    push       BX              ;࠭  ᫥饩 

     	    mov        CX,1            ;  ᨬ
     	    int        10h             ;饭   BIOS
     	    mov        AH,2            ;⠭  
     	    mov        BH,0            ;࠭ 0
     	    inc        DX              ;᫥騩 ⮫
     	    int        10h             ;饭   BIOS
     	    pop        CX
            pop        BX              ;⠭ ⥪饣 ॣ-
                                       ;
     	    pop        AX              ;⠭ 梥
     show_new    endp

     bin2asc     proc       near

     COMMENT*    :  ⫨稥   ਠ⮢ ⮩
                 ணࠬ  ᯮ  樨 DIV 10 AL:
                 8-⮢ ᫮  ॢ
            *

                 aam                        ;AH=AL/10, AL=
                 add        AX,3030h        ;ਡ 30h  祭
                                            ;ASCII-
                 ret
     bih2asc     endp
     code        ends
     end         star
     



  11h:  



     ᬠਢ 㭪  ࠡ  ࠬ ᨬ
    . 䠢⭮-஢ ०  
ᯮ짮  4  ஢ ᨬ (뢠  - 
 64  EGA   ),  ⮬  
⢮ ⮫쪮   .   ࠧ ন ࠡ
 512 ࠧ묨 ᨬ.  ᪮ ० ন
⮫쪮    256 ᨬ.
     㭪  ࠢ  ⢮ 뢮  ࠭
ப.
     ᪨  ᨬ ࠧ  ᭮ ⥬
 (  ).  ᨬ 䠢⭮-஢ ० ࠧ-
  ன ࠧ來   EGA.  ⮬ 
ᨬ 䠢⭮-஢ ०  㦠   EGA
      ᬥ ०.
       ப,⠢ ᨬ, ᮤন ᥬ 祪,
   ࠭ ॡ    (   ).
 ࠧ饭   ᫥⥫쭮, 稭  孥 ப
(ASCII- ࠢ 0)  稢  ப (ASCII- ࠢ 255)
(. ⠡ ).   ᨬ 䠢⭮-஢ ० 
  ந쭮 뢭 ᥣ, ਬ,   25
 32,   ६   ᨬ ᪮ ० 
ᮤঠ  256 ᨬ .



      ᨬ, ਭ  㬮砭, ⠭ 直 ࠧ
᫥ ᬥ ०.  ᯮ짮 ᬠਢ 㭪樨 
ᬥ ० 饭    믮 ᫥  樨
ᬥ ०.   ᨬ, ਭ⮣  㬮砭, 
⠪ ⢫ ⥬ 䨪樨 ⠡ BIOS SAVE_PTR (஡
ᠭ ⮣ ⮤ ਢ   12).
     512-ᨬ   ᬥ ० 頥  256-ᨬ쭮
ﭨ. ⮬ ஬ 横樨 ⠡ BIOS SAVE-PTR  
ᮧ  ⠡ ࠬ஢.
       㭪  ᮢ⨬  ࠬ EGA ࠧ
⮢⥫.

 

     (⠭  맮 㭪樨):
    
    :        ⠭ 11h
    

    ਢ   㭪樨 뢠 ⠭ ०.
᪮ ࠭   ⢮,   ࠭ -
ࠦ   ( ᪫祭 塞 ᨬ).

       0:    
                      - 

         㭪    ᨬ,⠭ 
         㬮砭 (  ⮣ ),  ᨬ, ।
         짮⥫.

          (⠭  맮 㭪樨):
	 

         AL:        ⠭ 0
         BL:         㦠  (0-3 [0-7  VGA])
         BH:        ⢮ ⮢  ᨬ (筮 8,14,16)
         CX:        ⢮ ᨬ  ⠡
         DX:        ᬥ饭 (ASCII-) ࢮ ᨬ
         ES:        ᥣ ⠡ ᨬ 짮⥫
         BP:        ᬥ饭 ⠡ ᨬ 짮⥫
	 

       1:      

         㭪 믮 㧪 14-筮  ᨬ (814)  
            .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 1
         BL:          ( ᨬ 0-3 [0-7  VGA])
	 

       2:   
                          .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 2
         BL:          ( ᨬ 0-3 [0-7  VGA])
	 

       3:   

          䠢⭮-஢ ० 㭪 ନ 512-ᨬ
          ( ⥬, ᭠饭 ꥬ  EGA, ॢ騬
         64). ୠ⨢  ᨬ 뢠  㭪-
         樨 મ - ⨩ ࠧ  ਡ.
         ᪮  ᨬ ࠧ  3-⮢ ,
         ᮢ㥬 믮  ࠧ᪨஢   ॣ
         ਡ 12h (ࠧ騩 ॣ 梥⭮  - . ᠭ
           4). ᪨஢   믮 ।⢮
         饭  㭪樨 10h ( 1000h  ; 0712h -  ,
         ᫥ 祣 믮 뢠 INT 10h).

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 3
         BL:         0-1  4 ।  ᯮ㥬
       	            ,  3-  ॣ ਡ = 0
       	             2-3  5 ।  ᯮ㥬 ,
                     3-  ॣ ਡ = 1
	 

         

          4  5 ᯮ ⮫쪮  VGA.

         騥  㭪樨  뢠 ⮫쪮 ᫥ 믮-
          樨 ⠭ ०.  맮 ࠭ 0
           ⨢ ࠭楩.  १ 맮 믮-
           ᫠ 祪 ⢠ ⮢  ᨬ), ᫠
         ᨬ ப  ࠭   ࠧ  ᯫ 
         . ஬ ⮣ 믮  ਢ 
         ॣ஢ ஫ ஭-祢 㡪 ()
         (ᠭ ॣ஢ ਢ   4).


                 㫠 
          
         9h*     ᫮ 祪 - 1
         ah**    ᫮ 祪 - 2
         bh      0
         12h     (ப+1)*(᫮ 祪 -1)
       	         2*(ப+1)*(᫮ 祪 - 1)
       	         (⮫쪮  200-筮 ० VGA)
         14h***  ᫮ 祪
          
         *   ॣ 믮 ⮫쪮  ० 7
         ** ਬ 14- ᨬ  ECD  䠢⭮-஢
            ० ਢ  祧 .  ந室 
            裡  ⥬,   ᮮࠦ ᮢ⨬ ।
            ᯮ짮 8-筮  ᯮ ᨬ 
            䠢⭮-஢ ० (. 饭  㭪樨 1).
        *** 祭  뢠  㫥: <᫮ 祪>-1.
             訡   EGA. ।⢮ ⮩ ⠭ ।-
            頥  ન  ᯮ짮 ਡ
            ન.

       4:  16-  
                     (816)  

         㭪 믮 㧪 16-筮  ᨬ  
            (⮫쪮 VGA).

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 4
         BL:          ( ᨬ 0-7)
	 

       10h:    
                        - 

         㭪    ᨬ, ⠭ 
         㬮砭 (   ),  ᨬ, ।
         짮⥫.

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 10h
         BL:         㦠  (0-3 [0-7  VGA])
         BH:        ⢮ ⮢  ᨬ (筮 8,14,16)
         CX:        ⢮ ᨬ  ⠡
         DX:        ᬥ饭 (ASCII-) ࢮ ᨬ
         ES:        ᥣ ⠡ ᨬ 짮⥫
         BP:        ᬥ饭 ⠡ ᨬ 짮⥫
         

       11h:      

         㭪 믮 㧪 14-筮  ᨬ (814)
              .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 11h
         BL:          ( ᨬ 0-3 [0-7 VGA])
	 

       12h:      
                         

         㭪 믮 㧪 8-筮  ᨬ (88)
              .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 12h
         BL:          ( ᨬ 0-3 [0-7 VGA])
	 

       14h:  16-
                          

         㭪 믮 㧪 16-筮  ᨬ (816)
                (⮫쪮 VGA).

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 14h
         BL:          ( ᨬ 0-7)
	 

     ਢ  㭪樨   ᯮ짮 ।⢥-
 ᫥ ⠭ ०. 㭪樨 ࠧࠡ⠭  ᯮ짮 
᪨ ० (࠭ ᬮ७ 㭪樨 ࠡ  䠢⭮-
஢ ०).

       20h:   (88)
                        

         㭪 ⠭  뢠 INT 1fh  ⠡
         ᨬ 88  ASCII- 128-255. ᭮ -ᯮ-
           ᮢ⨬ ०.

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 20h
         ES:        ᥣ ⠡ ᨬ 짮⥫
         BP:        ᬥ饭 ⠡ ᨬ 짮⥫
	 

       21h:  ,
                        

         㭪 ⠭  뢠 INT 43h ⠪,⮡ 
         㪠뢠  ⠡ ᨬ.

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 21h
         BL:        㪠⥫ ப (⢮ ᨬ ப 
                    ࠭)
                    0-। 짮⥫ ( ⢮
                      ப  ॣ DL)
                    1-14 ப
                    2-25 ப
                    3-43 ப
         CX:        ᫮ 祪 (⮢  ᨬ)
         ES:        ᥣ ⠡ ᨬ 짮⥫
         BP:        ᬥ饭 ⠡ ᨬ 짮⥫
	 

       22h:   814  

         㭪 ⠭  뢠 INT 43h ⠪, ⮡
          㪠뢠  ⠡ ᨬ 814  .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 22h
         BL:        㪠⥫ ப (᫮ ப ᨬ  ࠭)
                    0-। 짮⥫ ( ᫮ ப
                       ॣ DL)
                    1-14ப
                    2-25 ப
                    3-43 ப
	 

       23h:   88  

         㭪 ⠭  뢠 INT ⠪, ⮡ 
         㪠뢠  ⠡ ᨬ 88  .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 23h
         BL:        ᯥ䨪 ப (᫮ ப ᨬ  ࠭)
                    0-। 짮⥫ ( ᫮ ப
                       ॣ DL)
                    1-14 ப
                    2-25 ப
                    3-43 ப
	 

       24h:   816  

         㭪 ⠭  뢠 INT 43h ⠪, ⮡ 
         㪠뢠  ⠡ ᨬ 816  .

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 24h
         BL:        ᯥ䨪 ப (⢮ ᨬ ப
                     ࠭)
                    0-। 짮⥫ ( ⢮
                      ப  ॣ DL
                    1-14 ப
                    2-25 ப
                    3-43 ப
         

         ਢ  㭪 頥 ଠ   ᨬ.

       30h

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 30h
         BH:        0-頥 ⥪饥 ﭨ INT 1fh
                    1-頥 ⥪饥 ﭨ INT 43h
                    2-頥 ࠧ饭  ᨬ  814
                    3-頥 ࠧ饭  ᨬ  88
                    4-頥 ࠧ饭 孥  (ASCII-,
                      稭  128)  ᨬ  88
                    5-頥 ࠧ饭 ୠ⨢ 
                      ᨬ  914*
                    6-頥 ࠧ饭  ᨬ  816
                    f-頥 ࠧ饭 ୠ⨢ 
                      ᨬ  916*
	 

          (⥭ 믮 ᫥ 饭):
	 
         CX:        ᫮ 祪 (⮢  ᨬ)
         DL:        ப
         ES:        ᥣ 頥 
         BP:        ᬥ饭 頥 
	 
         * ஬  ᯮ  ᨬ, 
           ᪮쪮 ⫨   ⮢  ESD (ਬ,
           ""  "$"). ⬥祭 ᨬ * ⠡ ᮤন ᨬ-
           ⥫  䠢⭮-஢ ० 7.  914
           ।  ᨬ 88. ᫨ ᨬ ।⠢ ᮡ
            筮 䨪,  9- ⮫  ⫨砥  8-,
            9- ⮫ ⠥ .

                  ଠ ᨬ쭮 ⠡ ASCII

			--------        0h
			--------        0h
                        --        7eh
                        ------        8lh
                        ----        a5h
                        ------        8lh
                        ------        8lh
                        --        bdh
                        ----        99h
                        ------        8lh
                        --        7eh
			--------        0h
			--------        0h
			--------        0h

                  db   14 dup(0)                ;ASCII 0
                  db   0,0,7eh,81h,a5h,81h,81h  ;ASCII 1
                  db   bdh,99h,81h,7eh,0h,0h,0h ;ASCII 1
                                                ; ASCII 2
                                                ; ASCII 3
                                                ; ..


    ਬ  몥 ᥬ
    

    ਢ  ணࠬ 믮  ᮮ饭 "The quick
    brown fox jumps over the lasy dog",  ⮬ ⨫  㪢
    ""   " 襣 ࠧ".

    pause    macro
             local   no_adj,done

    ;ନ     প
    ;⥫쭮 ਡ⥫쭮 10 ᥪ㭤

             mov       AH,2ch ; ६  DOS
             int       21h    ;뢠 DOS
             mov       BH,DH  ; ᫮ ᥪ㭤  
             add       BH,10  ; 10 ᥪ㭤
             cmp       BH,60  ;᫨  59 SUB 60
             jb        no_adj
             sub       BH,60

    no_adj:  int 21h           ;뢠 DOS
             cmp     BH,DH
             je      done
             jmp     no_adj

    done:
             endm

    data     segment public

             msg     db        'The quick brown fox jump
                               over'
                     db        'the lasy dog.$'
             new_e   db        00000000b
                     db        00000000b
                     db        00000000b
                     db        00000000b
                     db        00000000b
                     db        00000000b
                     db        11111110b
                     db        10000000b
                     db        11111110b
                     db        00000000b
                     db        00000000b
                     db        00000000b

    data      ends

    code      segment public
              assum CS:code
    main      proc   far

    start:    push   DS
              sub    AX,AX
              push   AX
              mov    AX,data
              mov    DS,AX
              assume DS:data
              mov    DX,offset msg;  ᮮ饭
              mov    AH,9         ;맮  ப DOS
              int    21h          ;饭  DOS

              pause

              mov    AX,1100h     ;㧪 䠢⭮-஢ ०
                                  ;짮⥫ ( ⠭ ०)
              mov    BL,0         ; ᨬ 0
              mov    BH,14        ;14 ⮢  ᨬ
              mov    CX,1         ;1 ᨬ
              mov    DX,65h       ; ""  ॣ
              push   DS
              pop    ES           ;ᨬ  ᥣ 
              mov    BP,offset new_e  ; ᬥ饭 ""
              int    10h          ;饭   BIOS

              ret

    main      endp

    code      ends

    end       start
    


  12h:  



     㭪 頥 ଠ  ⥪ ⠭   -
ᬠਢ 롮 ୠ⨢ ணࠬ  ࠭ (printscreen).
     ୠ⨢ ணࠬ  ࠭  뢥  
43- ࠭ (⠭⭠ ணࠬ  ࠭  -
 ⮫쪮 25 ப).  ᪨ ࠭  ন.


 

      (⠭  맮 㭪樨):
     
     AH:        ⠭ 12h
     

       10h:  

          (⠭  맮 㭪樨):
         
         BL:        ⠭ 10h
	 

          (⥭ 믮 ᫥ 饭):
         
         BH:        0-⢨ 梥⭮ ०
                      (ॣ  3d?h)
                    1-⢨ ஬ ०
                      (ॣ  3b?h)
         BL:         ⠭  
                    0=64
                    1=128
                    2=192
                    3=256
         CH:        ⠭ ⮢ ਧ (. ᠭ ॣ
                    ࠢ ࠪ⨪)
         CL:         ४⥫ (४⥫  EGA)

       20h:     

         饭  ⮩ 㭪樨 롨ࠥ ୠ⨢ ணࠬ
          ࠭.

          (⠭  맮 㭪樨):
	 
         BL:        ⠭ 20h.
	 

     ਬ  VGA  㯭묨 ᫥騥 㭪樨 (᫨
㭪 ন, ᫥ 襭  ࠡ  ॣ AL -
頥 12h).


       30h (⮫쪮 VGA)    
                       - 

         ᬠਢ 㭪   ᫮ ப ࠧ-
         ⪨, r஥ 㤥 ᯮ짮  ᫥饩 ⠭
         䠢⭮-஢ ०. 㭪   ०,
         譥  ⫨騥  MDA,CGA  EGA.

          (⠭  맮 㭪樨):
	 
         BL:        ⠭ 30h
         AL:        0-200-筠 ࠧ⪠ (CGA)
                    1-350-筠 ࠧ⪠ (MDA  EGA)
                    2-400-筠 ࠧ⪠ (VGA)
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:        12h
	 

       31h (⮫쪮 VGA)   
                       

         㭪 ࠧ蠥  頥 ᯮ짮 , ।-
         ᬮ७  㬮砭,  ᬥ ०.  ᯮ짮
         EGA   ⠭ ० ⥪  ᥣ
          ன, ।ᬮ७  㬮砭,  VGA
           ࠭ ⥪饩   -
         ⠭ ०.

          (⠭  맮 㭪樨):
         
         BL:         ⠭ 32h
         AL:         0-ࠧ襭   㬮砭
                     1-饭   㬮砭
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:         12h
	 

       32h (⮫쪮 VGA): 㭪

         㭪 ࠧ蠥  頥 ᯮ짮 . 
         砥 饭 ᯮ짮  뢥  ࠭
         ࠦ  ,  쭥襥 ⥭  
         ଠ樨  ᯫ     饭.

          (⠭  맮 㭪樨):
	 
         BL:        ⠭ 32h
         AL:        0-ࠧ襭 ࠡ
                    1-饭 ࠡ
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:        12h
	 

       33h:     

         㭪 ࠧ蠥  頥 ८ࠧ 梥  ࠤ樨
         ண.  砥,  㬬஢ ᮢ 樥⮢ ࠧ-
         襭, ᫥  ⥪⮢ ०   ॣ஢
          મ ண ।⠢ ᮡ 㬬 30% મ
         ᭮, 59% મ   11% મ ᨭ.

          (⠭  맮 㭪樨):
	 
         BL:        ⠭ 33h
         AL:        0-ࠧ襭 㬬஢
                    1-饭 㬬஢
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:         12h
	 

       34h:  

         㭪 ࠧ蠥  頥   CGA 
         䠢⭮-஢ ०.  樨  ।⠢-
          ⠪,      8 ᥫ
         (. ᠭ 饭  㭪樨 1 "⠭ ⨯ ").
         ᫨  饭,  ⠭  ᮮ⢥⢨
          ⢨⥫ ᫮ ப ࠧ⪨.

          (⠭  맮 㭪樨):
	 
         BL:        ⠭ 34h
         AL:        0-ࠧ襭 樨  CGA
                    1-饭 樨  CGA
	 

          (⥭ 믮 ᫥ 饭 ):
	 
         AL:        12h
	 

       35h:   

         㭪      ஢ ⥬
           䫨  ᯮ짮   ᮢ ⮢
         ( ⨬ ࠬ).

          (⠭  맮 㭪樨):
	 
         BL:        ⠭ 35h
         AL:        0- 饭 室 
                    1- ࠧ襭  ⥬ 
                    2- 饭 ⨢ 
                    3- ࠧ襭 ⨢ 
         ES:        ᥣ   128 ⮢
         DS:        ᬥ饭   128 ⮢
                    (᫨ AL=0,2  3)
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:        12h
	 

         ᫨ 㭪 뢠  AL=0  2, ଠ  ﭨ
            . ᫨ 㭪 뢠
          AL=3 ﭨ  ।  ᮤন
         .

       36h:  

         㭪 ࠧ蠥  頥 ॣ ࠦ 
         ⥪饣 ⨢ ᯫ.

          (⠭  맮 㭪樨):
	 
         BL:        ⠭ 36h
         AL:        0-ࠧ襭 ॣ樨
                    1-饭 ॣ樨
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:         12h
	 


  13h:        



     㭪 뤠 ப  ⨢ ࠭, 稭  㪠
樨.  㭪  ᬠਢ  ७ 㭪樨 eh.
ࠢ騥 ᨬ ⨯ "" (07h), "  蠣" (08h), "-
ॢ  ப" (0ah)  " ⪨" (0dh) ᯮ  믮-
  ᮮ⢥⢨   祭.

 

      (⠭  맮 㭪樨):
     
     AL:         ⠭ 13h
     AL:         0- BL 室 ਡ;
                   ப ᮤন ⮫쪮  ᨬ; -
                     ᫥ 뢮 ப  -
                   
                 1- BL 室 ਡ; ப ᮤন ⮫쪮
                    ᨬ;   
                   ᫥ 뢮 ப
                 2-ப ᮤন ୠ⨢  ᨬ 
                    ਡ⮢;   ᫥ 뢮
                   ப  
                 3-ப ᮤন ୠ⨢  ᨬ  
                   ਡ⮢;    ᫥
                   뢮 ப
     BH:         ࠭
     BL:         ਡ, ᫨ AL=0  1
     CX:          ப
     DH:         
     DL:         ⮫
     ES:         ᥣ  ப
     BP:         ᬥ饭  ࢮ  ப
     

     ਬ  몥 ᥬ
     

     ਢ  ணࠬ 믮 ப.  
       ⢨ ࠢ  7, 10  13. ࠢ
     १ ⢨ 㭪権 9, ah  eh.

     data      segment public
               msg     db        'The line demostrates printing'
                       db        'ASCII 7(',7,'),10(',10'), and
                       db        '13(',13').
               m_len   equ  $_msg   ;ନ஢ ⠭  ⥪饩
                                    ;⪨  砫 ᮮ饭
                                    ;( ᮮ饭)

     data      ends
     code      segment public
               assume CS:code
     main      proc    far
     start:    push    DS
               sub     AX,AX
               push    AX
               mov     AX,data
               mov     DS,AX

               assume  DS:data
               mov     AH,13h       ;㭪 13h-뢮 ப
               mov     AL,01b       ;⮫쪮 ᨬ, ६ 
               mov     BH,0         ;࠭ 0
               mov     BL,15        ;ਡ 15
               mov     CX,m_len     ;᫮ ᨬ
               mov     DH,05        ;ப 5
               mov     DL,0         ;⮫ 0
               mov     BP,offset msg ;㪠뢠  ᮮ饭
               push    DS
               pop     ES            ;ᮮ饭 -  ᥣ 
               int     10h           ;饭   BIOS
               ret
     main      endp
     code      ends
     



  1ah (⮫쪮 VGA)    ()



    㭪 뢠  頥 , ।騥 ᭮ (⨢-
)  ⥫ . 㭪   ।
䨣樨 ᯫ  ন ᥬ  ࠧࠡ뢠묨
ࠬ. 頥  頥  ॣ AL  ⢥ত-
  প 믮  㭪樨. ᫨ 頥
  ४,   ᯮ짮 ୠ⨢
⮤ । 䨣樨 ( ⢥ ਬ . ਬ
ணࠬ । 䨣樨   14).

 

      (⠭  맮 㭪樨):
     
     AH:        ⠭ 1ah
     

       0: ⥭ 

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 0
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:         1ah
         BH:          ⥫쭮 ᯫ
         BL:          ⨢ ᯫ
	 

       1:  

          (⠭  맮 㭪樨):
	 
         AL:        ⠭ 1
         BH:         ⥫쭮 ᯫ
         BL:         ⨢ ᯫ
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:        1ah
           祭 (BH/BL)
         0          ᯫ 
         1          MDA
         2          CGA
         4          EGA  ⠭ 梥 ஬
         5          EGA  ஬ ஬
         6          PGA (Professional Graphics Adapter)
         7          VGA   ஬ ஬
         8          VGA   梥 ஬
         bh         MCGA   ஬ ஬
         ch         MCGA   梥 ஬
         ffh        ⭠ 
	 



  1bh (⮫쪮 VGA):   
                  /



     㭪 頥 ଠ  㦥 ᯫ/.
 ଠ   ࠧ饭  ࠧ  
࠭ BIOS  ࠧ    (.  12).
  ᯮ짮 ᬠਢ 㭪樨  
祭 ⮩   ⠪ .  ࠭ 頥
ଠ樨 ணࠬ  १ࢨ஢   ࠧ஬ 40h
⮢.

 

      (⠭  맮 㭪樨):
     
     AH:        ⠭ 1bh
     BX:        ॠ㥬 ⨯ (⠭ 0)
     ES:         १ࢨ஢  ࠭
     DI:        饭 १ࢨ஢  ࠭
     

 

      (⥭ 믮 ᫥ 饭):
     
     AL:        1bh
     

  , ࠧ饭  ES:DI  ᫥ .


饭                               ᠭ

0         1 ᫮   饭 ᪮ 㭪樮쭮 ⠡

2         1 ᫮    ᪮ 㭪樮쭮 ⠡

4         1     騩 ०

5         1 ᫮   ᫮ ᨬ  ப

7         1 ᫮       

9         1 ᫮   砫   

bh        1 ᫮   ࠭ 0  

dh        1 ᫮   ࠭ 1  

fh       1 ᫮    ࠭ 2  

11h      1 ᫮    ࠭ 3  

13h      1 ᫮    ࠭ 4  

15h      1 ᫮    ࠭ 5  

17h      1 ᫮    ࠭ 6  

19h      1 ᫮    ࠭ 7  

1bh      1      砫쭠 ப 

1ch      1      筠 ப 

1dh      1       ࠭ ᯫ

1eh      1        

22h      1      ᫮ ᨬ ப, 뢮 
                    

23h      1 ᫮     ᨬ  ᥫ

25h      1       ࢨ筮  ()

26h      1       筮  ()

27h      1 ᫮    ⢮ ন 梥⮢

29h      1      ⢮ ন ࠭

2ah      1      ᫮ ப ࠧ⪨
                        0 - 200 ப
                        1 - 350 ப
                        2 - 400 ப
                        3 - 480 ப

2bh      1       ࢨ筮  ⮢ (0-7)

2ch      1       筮  ⮢ (0-7)

2dh      1      蠭  ࠬ஢
                    (࠭  )
                   
                   蠭  ࠬ஢
                   (࠭  )
                   
                      ᠭ (᫨ ⠭ 祭 1)
                   
                    0    ন  ०
                    1    믮 㬬஢
                         梥⮢  祭 ⥭
                         ண
                    2    祭 ஬ 
                    3     㧪 ,
                         ।ᬮ७  㬮砭
                    4    襭  
                    5    栭 (0=મ 䮭)

31h      1        (   64, 0=64)

32h      1      ﭨ 㪠⥫ ࠭
                    (࠭  )

                      ᠭ (᫨ ⠭ 祭 1)
                   
                    0    ⢮
                         512-ᨬ 
                    1    ⢮ 
                         ࠭ 
                    2    ⢮ 䠢⭮-஢ 
                         ᨬ 짮⥫
                    3    ⢮ ᪨  ᨬ
                         짮⥫
                    4    ⢮ , ।
                         짮⥫
                    5    ⢮ ७ 




     ᪠ 㭪樮쭠 ⠡ (뫪  ⠡ 뢠
    )   16 ⮢.  ⠡
 ਢ .


饭                        ᠭ
                   

0        3     ন ०
                    (1   ०)
                    0,1,2,3,5,6,7,8,9,ah,
                    bh,ch,dh,eh,fh
                    10h,11h,12h,13h,
                     ⢮, /3, H/3, H/3

7        1      ᫮ ப ࠧ⪨, ন
                     䠢⭮-஢ ०

                    ᠭ (᫨ ⠭ 祭 1)
                   
                    0  200
                    1  350
                    2  400

8        1      ⢮  
                     䠢⭮-஢ ०

9        1      ⢮ ६ ᯮ㥬 
                      䠢⭮-஢ ०

ah       1      ⥫ ন 

                    ᠭ (᫨ ⠭ 祭 1)
                      
                   
                    0    ०
                    1   ࠤ樨 ண
                    2   ⮢, । 짮⥫
                    3   , । 짮⥫
                    4    CGA
                    5    EGA
                    6    
                    7  ᪮쪮 ⠡ 梥⮢ 

bh       1      ⥫ 

                    ᠭ (᫨ ⠭ 祭 1)
                   
                    0  䥩 ᢥ⮢ 
                    1  ࠭/⠭ ﭨ
                    2  મ 䮭/栭
                    3   

         1      ন 㭪樨 㪠⥫ ࠭
                    (࠭  )

                    ᠭ (᫨ ⠭ 祭 1)
                   
                    0  512-ᨬ 
                    1   ࠭ 
                    2  䠢⭮-஢ 
                    3  ᪨  ᨬ
                       짮⥫
                    4  , । 짮⥫
                    5  ७ 



  1ch: / 



     믮 ࠭ ( ⠭) 㪠 ࠬ஢
㦥 (BIOS,   ﭨ ॣ஢). ࠭
⥫쭠  । ணࠬ ⠭  砥
室 ᬥ ०   ࠭ ᮤন
⥪饣 ࠭, ਬ,  १ ணࠬ.



     ணࠬ  १ࢨ஢    ࠭
祭.     ࠭ ࠬ஢; 㭪 0
頥 ॡ騩 ࠧ .

 

      (⠭  맮 㭪樨):
     
     AH:        ⠭ 1ch
     CX:        । ࠬ

                    ᠭ

                0       (ॣ)
                1        BIOS 
                2      ॣ 
     

       0:   

          (⠭  맮 㭪樨)
         
         AL:        ⠭ 0
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:        1ch
         BX:        ॡ騩 ࠧ  ( 
                     64)
	 

       1: 

          (⠭  맮 㭪樨):
    	 
         AL:        ⠭ 1
         ES:        ᥣ ࠭塞 
         BX:        ᬥ饭 ࠭塞 
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:        1ch
	 

       2: 

          (⠭  맮 㭪樨):
         
         AL:        ⠭ 2
         ES:        ᥣ ⠭ 
         BX:        ᬥ饭 ⠭ 
	 

          (⥭ 믮 ᫥ 饭):
	 
         AL:        1ch
	 



     , ᫥ 祭 ⥩ BIOS, 楫ᮮࠧ ३
 ᬮ७   ᠭ  ணࠬ, ᯮ
 ⮤ ( 㭪樨,  ন BIOS).  ᠭ
᭮  㭪 BIOS ணࠬ ஥ ⮢ ࠦ
 ࠧ஢   ந⥫쭮.  
  䨪樨. ᫨ ணࠬ ᮤন ணࠬ 
ப  믮 ਬ⨢ 権, ⠪, 
஥,   ணࠬ   ᤥ 筮
.   ਧ,  אַ ணࠬ஢ EGA  VGA
뢠 ⥫ 㤭, ⮬  ⪨ ᠭ
 ணࠬ  ॡ ⥫  ६.
, ᫨ ਢ ਬ  ஡ 祭,
६ ᠭ ணࠬ  ⥫쭮 㬥. ० 祬
३  ᬮ७ ᮢ, ।⢥ 易 
ணࠬ, ᫥ ࠧ  ⮬,  ࠡ 
EGA  VGA.



                        5.                       
                                   





 :   BIOS   
   ?


     ᯮ짮 饭  BIOS ᫮ ,  讥
᫮ ணࠬ BIOS ࠪਧ ᮪ த⢨.  裡
 ⨬  楫 襭 䥪⨢ ࠡ ணࠬ ਬ -
⮤ אַ 㯠    ॣࠬ.   砥 ।⢥-
 饭   設⢮ 㭪権 ࠭ ᮢ-
  CGA/஬  EGA/VGA ⥬. ᪫祭  ⮣
  ணࠬ, ᯮ騥 ॣ CGA/஬
 6845 (ᮮ⢥騥 ॣࠬ  EGA/VGA).  -
 ஢ ⥫쭮 ⫨  ᢮   㣨
⥬.   䥪⨢ ᯮ짮 ॣ஢ ணࠬ஢-
  ᯮ짮 ⮤ אַ 㯠   室 
ࠧ   ࣠樨  .


   

       ࠡ  䠢⭮- ஢ ०  
ᯮ  ࠭ ASCII- 뢮 ᨬ   -
⮢ (梥, મ / 栭).     
ᬠਢ 業ࠫ ஬   ᯮ ᨬ 
 孥 㣫 ࠭,  ᫥騬 ᫮ (塠⮢묨) -
 樨 ᨬ  ࠢ ᫥ ࠢ  ᢥ  
࠭ ᮮ⢥⢥.    ᫮ ।⠢ ᮡ
ASCII-  ᨬ. ன  ࠧ  㯯, 騥 
   ⮢,    ᫥饩 ࠬ.


           7      6   5   4     3       2   1   0
   Ŀ
                   梥              梥       
      栭     䮭    મ   ᨬ    
   


      梥   , ।騥 梥 䮭  ᨬ,
  8 梥⮢.  ஬ ஢ , ।-
騥 梥 䮭,  ਭ ᫥騥 祭: 祭 
  ࠢ 0 ()  ࠢ 1 (ୠ⨢ 梥).  -
,।騥 梥 ᨬ,  ᮤঠ   祭, ਢ-
  ⠡  (ᯮ짮  権  EGA   -
஬      १).  -
᪨ ஢  稭  祭 b8000h,   ஬-
 (᪨) ஢ -  祭 b0000h.


     Ŀ
      祭      㬮砭     ஬ 
     Ĵ
         000                            
         001        ᨭ              ન
         010                                 
         011        㡮                         
         100                                 
         101                               
         110        筥                      
         111                                   
     



      ᪮ ०  ᯮ  ࠭ 梥 -
 ஢ 窨 (ᥫ). ।   ஢ -
    ᪮ ०  ࠧ , ⠭-
  EGA (  ࠡ  VGA ᯮ ⠪  ।-
 ,    EGA   256).   ० ᥫ
ࠧ ᫥ ࠢ  ᢥ   ᮮ⢥⢨  㢥祭
ᮢ  (. . 5.1).

                 祭 ஢ ⮫殢
                 祭 ᮢ
                 ( 襩 ⭮)
                 >
               Ŀ
           0                             m-1 
 孨      Ĵ                  Ĵ
 㣮           m                                  
 (ᬥ饭 0)                         
                                                      
 祭                                           
 ஢ ப                                        
                                                      
 祭                                           
 ᮢ                                              
              V                                        
                                                       
                                                       
                                                       
                                                       
                                                       
               Ŀ                             Ĵ
                n                              n+m-1 
               


         .5.1 饥 ᮮ⭮襭 ᯫ/


      ᮢ⨬ ०, ࠡ   ⫨砥  ᮮ⢥-
 ० CGA, ࠭  ।.  砥, 
 ࠭ ᥫ ᯮ   :   -
 ப,   ,  㣠 -  ࠭ ப, -
  .    ᮤন ଠ  ᪮쪨
ᥫ (஢ 窠), ⮬ 㤮 ᯮ짮 뫪 
. ନ "஢ 䨪" (bit-mapped graphics).  -
짮 । ࠧ襭   ᮤঠ 뫪   -
ᥫ (⥬ ᠬ ন  ࠧ ﭨ,  ᫥-
⥫쭮  梥);  ० ᮪ ࠧ襭   ᮮ-
  ᥫ (  "祭"  "몫祭",  -
 ᯮ짮 ⮫쪮  梥). ப, 騥  ,
ᯮ, 稭  祩  b8000h,   -  祩
ba000h (.. 5.2).
     VGA   ᯮ짮 ०  ࠧ襭 320200,
騩 ࣠, 室  ࣠樥 ० CGA. ⭮襭
ᯫ/  ⮬ ० ।⠢ ᮡ    ᥫ,
   ᯮ짮 256 梥⮢. 砫 ᮬ -
 a000h.   ࠧ     ப ࠧ⪨,
  ࠦ ࠭  ⮩ ᫥⥫쭮,  -
ன  뢮  ࠭. ࣠ ,  ன 
 ⠢  ᮮ⢥⢨  ᥫ,    ࠧ 
 ࠭    ப ࠧ⪨, ⥫쭮 -
頥  ᮢ   ࠦ (..5.3).




             4 ᥫ
              
             Ŀ
            0 b8000h b8001h             
             Ĵ             
      2                     
                          
                                      
 ப     4                         
             Ĵ                 
                                  
 ࠧ⪨  8                 
                          
                                  
                            
                            
             


              Ŀ
             1 ba000h ba001h              
              Ĵ              
                            
             3                      
                            
 ப                                 
             5                          
              Ĵ                 
 ࠧ⪨                         
             7                  
                            
                               
                               
              

                .5.2. 梥⭠ 䨪 CGA

              ¿
             0 a0000h a0001h            
              ٳ
             1                           
                     
             2                             
                                    
                                            
                                       
                                       
                                    
                                    
                               
                               
              

                .5.3. 256-梥 ० VGA



     稥  ०, ন EGA  VGA, ⠪ ᯮ
  ࣠,  CGA,   ⮬ ᫮ -
 ࠧ 梥⮢. 砫 ᮬ   ᪨ ०-
   a0000h.   ⠢  ᮮ⢥⢨ 
ᥫ.  ࠧ   뢠 8 ᥫ.  -
 ࠭,      뢠 16 梥⮢.
᭥ ⮣  ᢮ࠧ ࣠ EGA/VGA.
      ࣠   ⮢  (bit planes). 
 ࠧ    ⮬  :  4-梥 ०
ॡ  ,   16-梥 -  .  -
 來 ।⠢    ,   
 㣨.  㥬 祩  ⠢  ᮮ⢥⢨ 
 ⮢,    .   
। 梥 (࠭  64  梥⮢),  ⮬ 
樨     ६.

     ࣠    ⮢  㤮  ६ 稭.
-,  ᥫ  ࠭ ।⢥ 易  
ᯮ  .  ⥩襬 砥  ⮢  -
  ᭮ 梥⮬  મ (筥  , ⠪ 
୮  ⮫쪮  EGA  VGA, ᪮쪮  梥⭮ 奬, ਭ⮩ 
㬮砭). -, ⢮ 梥⮢   㤢  
   ⮢ . ணࠬ, ⢫騥 -
樨 אַ   ,  㦤   ᮢ  -
 ᮢ⨬ ஢, ᫨ 믮 梥⮢ 믮 १ -
 . -, ஢   1024-梥⭮ ०
(᫨  ⠪ ० ন ) 믮 ⠪ , 
  2-梥⭮ ०, ᪮ ஢  ⮢ 
  믮   饭  .
       ࠢ ⮢묨 栬 ॡ  -
⥫ 樨. ⥫   ਭ  -
,  ᫨   뢠 ६, ᪮ ⢮
ন 梥⮢ ⠭ ࠢ  .  ।ᬠਢ
 ⮤  ⠭ 梥⭮ 窨   業ࠫ쭮 -
 ( ⨩ ⮤ ।祭  ६饭    祩-
       ࠭ ᢥ  梥).
 ⮤ ᭮  ᯮ짮 ॣ ᪨஢ 
(Map Mask Register)  । ⮢ ,   ⠭-
 祭 1.  ࠧ   梥  ॣ ᪨-
   뢠  祭.
     室 ⬥,  ॣ ᪨஢  ।祭
  । ,  뢠 祭 1,   -
। 塞 .    梥⮢ 室 -
 0   ⮢  ( ⪨ ஢ 
।   祭). ୠ⨢ ਠ⮬  -
짮 ॣ஢ ⠭/ (Set/reset)  襭 -
/ (Enable Set/Reset)  ⪨   . 
 0  ॣ ⠭/   0  ࠧ襭 -
. ᫥ ⮣ 㦭 ਬ ᪮ 栭 ॣ ᪨-
   ॣ 襭 ⠭/, .. ᫨ -
祭, 饭  ॣ ᪨஢ , ࠢ 0101b, 祭
 ॣ 襭 ⠭/ 㤥 ࠢ 1010b. ਬ
⮤ ⠭/ ।⥫쭮  砥  ᨬ, -
  ⮬ 砥 ᯮ  ᥬ ⮢ (⠪ ࠧ -
⢫ ⪠ 䮭);  0    ।⥫쭠 
஥ ࠦ    ᨬ  ⢨  䮭 
裡  ⥬,  ⢮ ᥫ   ᪨஢.
     ᪮  믮   , ᫥  -
   ⢫  ﭨ 쬨 ᥫ, -
ᠭ    ⮢ ,  祭 ⮢ ࠢ 1, 
⪫祭  㫥 祭 ⮢.  ⮤ 㤮  
ᨬ   ᪮ ० (  ᨬ ।⠢
⮬ ਭ  8 ⮢),   ਣ  ஥ -
 ᥫ.  ⮢ ᪨ (Bit Mask register)  
ᯮ짮  롮ન ⤥ ᥫ  . ᫨  ᪨
 祭 1,   祭 ᮮ⢥饣 
,  , ᫥⥫쭮, ஢ ᥫ   믮-
 ⠭ ⮫쪮    ᪥.  ⬥,  -
ᥫ   "祭"  "몫祭" ⥬ ⠭ 祭 -
⢥饣    1  0 ᮮ⢥⢥ (.. ⠭ -
ᥫ    믮 ਭ㤨⥫쭮 ॣ஬ ⮢ ᪨).
     ᯮ짮 ॣ ᪨஢   । 梥-
⮢  ਭ⮩  㬮砭 孮 BIOS   ᬠ-
ਢ    ० 0 ( ᫥    ०
BIOS). ᪮ 設⢮ 㭪権 BIOS ࠡ⠥  ᨬ묨 -
묨,     쬨⮢ ଠ,   -
짮  BIOS  ⠪ ਥ.   EGA ।ᬮ७ 
⮤   ,  ࠢ ࠡ騩   -
 ⤥ ᥫ.  ⮤ 뢠   ० 2 
ন   ॣ  ᪮ ஫(Gra-
phics Contrroller Mode register).  砥   ० 2 ॣ
᪨஢   ᯮ;  梥 頥  ॣ
,  ⥬ ९뢠   .  ⮤  쥧-
 २⢮  ࠢ  ०  0, 饥  ⮬, 
   ⮢  뢠 0  1  ᮮ⢥⢨  -
࠭ 梥⮬,      樨 (-
 뢠 । 梥⮬),   ᯮ짮 ॣ஢ -
/.    ०  0, 롮 ᥫ ⢫
  ᯮ짮 ॣ ⮢ ᪨ ( ०  2 
ﭨ ॣ ᪨஢ , 祭 ண  筮
砥   ࠢ 0f  ࠧ襭  ⮢ ).

     ⠭ ०  0  2 ⠪ । 祭ﬨ, -
饭묨  㣨 ॣ.   ॣ஢   ᯮ-
 ॣ ᪮   () (Data Rotate register)
  । ,   믮 ᪨ 樨
 묨    (䬥⨪-᪨ ன⢠ ।⠢
ᮡ ७ ன⢠, 騥 ᮤন ॣ-饫
     ⮢ ).  ࠧ, 室-
  ⥪   䮭 ᫥ 믮 ᫥騥
⢨.

1. ஢ ᪮ 㬭 ( ) ᭮ ࠦ
ᨬ   ⮢   ᪨஢  ( ⪨
ᥫ,ନ ᨬ).

2. 믮 ᪮ ᫮ () ᥫ ᨬ ॡ㥬 梥-
 ( ᯮ짮 梥, ⫨筮  0).

     । ⮤ 㤮  ᮧ ⨯樨. ୠ-
⨢ ᯮᮡ  ᯮ짮  ᨬ  ⠭
⮢ ᪨    ० 2  楫 ⠭ ॡ㥬 梥
।⢥ ஬.    ࠢ 뢮 -
ᥫ  ࠢ⥫쭮 ⮩ 樥  ।⠢ ᮡ ᫥-
 ᫥⥫쭮 ⢨.

1.    .

2.   ॣ ⮢ ᪨ 祭 0f, ᫥ 祣 
   0   (᫨  ᯮ ०  2).

3. ⠭ 梥 ।⢮ ᯮ짮 ॣ ᪨஢
    (᫨  ᯮ ०  2).

4.  ᥫ.

      ਢ 奬  魮 ࠢ쭠,  ᫮-
, 易  ⥪ன  ।, ⥫쭮 -
騥 . ਬ, ⢨  אַ 㯠  -
   ஭ .  ࠭ ஢ ⮢
⥪饥 ᮤন    㦠   ॣ-
஢-饫 (  쬨⮢ ॣ-饫 -  -
   ⮢ ).
     㧪  ॣ-饫 믮 ⥬ ६饭 
    , .. ⥬ 믮  MOV AL,ES:BX,
 ES:BX - 㪠⥫  㦭 祩  (祭, ᮤঠ饥
 AL,  ࠢ, , ᪮    ० -
..).           -
묨  ॣ-饫   , ᫥ 祣  ࠭  -
 .  襩      짮⥫, 
᪮쪮 ॣ஢   ࠢ ᠭ ᮬ.
     ⥫  ᫮ ᫮ ࠭祭
᭮ ࠭⢠ ⮢ ᥬ⢠ . ਬ,ॣ ᪨-
 ,⠭/, 襭 ⠭/  ॣ
⮢ ᪨   ࠭  ᢥ १  ॣ.
 ᪨஢  㯥 १ ॣ  ⥫
᫥⥫쭮 (Sequencer Addres register).   -
⥫ ᫥⥫쭮 뢠  ᮬ ॣ ᪨஢
, ᫥ 祣 믮  ᪨஢   栬,
  ஢.   ࠧ 㣨 ॣࠬ 
ᮮ⢥⢮    ,  ॣ ᪨஢ ,
⥬ ᠬ ந室  ᭮ ࠭⢠.   
⮢묨 栬,  ࠧ "᫮" ,   
᫮ ॣ஢ (   ࠧ   ⮫쪮  -
᭮ ॣ).   ॣࠬ ⮢ ᪨, ⠭/
 襭 ⠭/ ந室  ࠧ १ -
  䨪 1  2 (Graphics 1 and 2 Address register).
     EGA  VGA ᯮ ᢥ ० 樨  饭 
ॣࠬ ( ).  ᪮쪨  뫪 믮  -
  3 ஢:  㪠⥫  ன , 㪠뢠騩  -
 祭. ਢ  ࠬ    
ᬮ७ ᯮ짮 ॣ஢ (㦥 㯮騥 ॣ ⬥-
祭 ᨬ).



 EGA, ᯮ㥬  㯠    ॠ樨
⥫ ⥩

               (Reset)
⥫
᫥⥫쭮
                     ᨭ஭樨 (Clocking Mode)
                    ᪨஢  (Map Mask)
                    롮 쭮  (Character Map Select)
                    롮   (Memory Mode Select)

 䨪       ⠭/ (Set/Reset)
1  2
                    襭 ⠭/ (Enable Set/Reset)
                    ࠢ 梥⮢ (Color Compare)
                    ᪮   (Data Rotate)
                    롮 奬 ⥭  (Read Map Select)
                     (Mode)
                    蠭 (Miscellaneous)
                     ࠧ祭 (Color Don't Care)
                    ⮢ ᪨ (Bit Mask)

      ᬠਢ  뢮 ᥫ. ।,
⠭ ०  0, ᪮   ० ।ᬮ७ 
BIOS  㬮砭. -, 室  ॣ ⮢ ᪨
  ॣ  䨪 1  2.  ᫥ 
祩 ,  ன ᯮ 塞 ᥫ.  -
 ந ᥫ  न⠬: 23- ⮫, 183- ப. 
ப 頥 640 ᥫ.  砥,  塞 
 183*640+23=117143.  祭   ᫥ ࠧ
祭 १  8:117143/8=14642  7  ⪥.  ⮬ -
 (14642) ணࠬ 뢠   㧪 १ ॣ--
饫 (।,  DS   㪠⥫  ᥣ -
):

      mov     BX,14642   ;㪠⥫  
      mov     AL,[BX]    ;㧪 ॣ஢-饫

     ⮪ 7 㪠뢠  室 ⠭ 㫥 , ⠪
 稭   7 ᫥ 室 ᬥ ࠢ  7 権
(ࠢ  न ᯫ ᫥ ࠢ).  䨪樨 -
   ﭨ  ⠫ ᥫ   ॡ ⠭-
 ॣ ⮢ ᪨.  ⮣ ᫥  ⮢ ,
ᠢ 8   3ceh (ॣ  䨪 1  2), ᫥ 祣 -
1  㫥   3cfh(ॣ ⮢ ᪨).

      mov     DX,3ceh ;⠭ ᭮ ॣ  䨪 1  2
      mov     AL,8    ; ॣ ⮢  ᪨
      out     DX,AL
      mov     DX,3cfh ;롮 ॣ ⮢ ᪨
      mov     AL,1    ;⠭ 襣  ⮢ ᪨
      out     DX,AL


       -  롮 ॣ ᪨஢  
 ॣ   ⥫ ᫥⥫쭮.  
믮 ।⢮  祭 2   3c4h. ⪠ ⥪-
饣 梥 ந ।⢮ ⠭ 祭 ᪨ 0fh 
0. ᫥ ⮣ 祭 梥 (᫮, ।⠢饥 -
 ⮢ ) 뢠   3c5h.  믮 뢮
ᥫ:

      mov     DX,3c4h  ;㪠⥫  ॣ  ⥫
                       ;᫥⥫쭮
      mov     AL,2     ; ॣ ᪨஢ 
      out     DX,AL
      mov     DX,3c5h  ;㪠⥫  ॣ ᪨஢ 
      mov     AL,0fh   ; ⮢  (1111b)
      out     DX,AL
      mov     [BX],0   ; 0  ⪨ 
                       ;砭:ॣ ᪨஢  
                       ;⢮
      mov     AL,0ah   ;梥 10-⮢  4  2 (1010b)
      out     DX,AL    ;⠭ ᪨ 
      mov     [BX],0ffh; 梥



        ਢ ⥪,ॡ 쭮  -
  믮 ⠪ ⮩ 樨, 뢮 ᥫ (  
⮬ ⮣,  ࠧ  ᮢ  ⥪  祭).᫮,
 ⢥ত,  ணࠬ,  ன ਢ ,ࠪ-
ਧ ᮪ த⢨.   ᯮᮡ, -
騥 㬥 ࠧ   㢥 த⢨.ணࠬ, 
ன ᯮ    ⮤(०  0), ।-
祭  ஥   孥  ࠭,ਢ  ਫ-
. 筠 ணࠬ,᭮  饭  㭪 BIOS,
ਢ  ࠧ ᠭ 饭  㭪樨 0  2.ணࠬ
஥     ᯮ짮 ० 
2, 訬 ࠧ 室饣  ஥ ᥫ.



    


 ⥭  ࠭ ᪨ ࠦ   宦 
楤ன .  ᬠਢ 砥 ⠪ 
ᯮ짮 饭  BIOS  אַ 㯠  . ஡
࠭ ࠦ  室  讣
ꥬ   ᯮ짮 ᪨ ࠭ ᮪
ࠧ襭. ᪮ ࠦ EGA, ।⠢  16
梥,  ࠭    110 ( ᯮ짮
ᠬ ᮪ ࠧ襭 VGA-154K).   ࠭
  ࠡ   ᮭ쭮 , ࠢ
640. ஬ ⮣, 110K ࠭ ࠦ ॢ ࠧ 64
ᥣ ஢ 8086.  ᫥ ⠪ 뢠,  
 ᯮ짮 ᪨ ࠭ ࠧ஬  256 (64 
  ⮢ )  ⮫쪮  ⮩  㤥 뢥
 ᯫ.  ᭮ ᯮᮡ ᭨ ꥬ , ॡ㥬
 ࠭ ࠦ-  ᦠ⨥   ୮ ।⠢.
 । ᬮ७ ᦠ  楫ᮮࠧ ᬮ ࠧ
⮤ ⥭   .   砥,   筠
 ६ 믮, ⥩訬 ⮤ ⥭ 
ᯮ짮 饭  BIOS.  뢠 10h (㭪 8)  
ਬ  ⥭ ᨬ   ०  ਡ⮢ ᨬ 
䠢⭮-஢ ०. ।⢮ 㭪樨 ch   ⠭
祭 梥 ⤥쭮 ᥫ  ᪨ ०. 饭 
⨬ 㭪 뫨 ᠭ ࠭.
      ᯮ짮 EGA   ० אַ ⥭  
।⠢ ᫮ . B 䠢⭮-஢ ० 
 ᮤঠ ASCII- ᨬ, a ᫥騥    -
ca ਡ. B ᪨ pe  ᮪ ࠧ襭  
।⠢ ᥫ,     ,  ।-
 ࠧ襭 㯯   ⮢ 뢠 梥 ᥫ. He ᫥
뢠,  뢮 । -    ப ࠧ⪨
ᮤঠ  ࠧ  .
     ࣠  ०  ᭮ ⮢   ⥭
  ᫮.    砥   , ॣ -
 ᯮ짮  㯠  ࠧ 栬. B  ० -
ন  ᯮᮡ 㯠  .  ⥭ 0  ஢ન
⤥쭮 ⮢  ᯮ ॣ 롮 奬 ⥭ 
 ० ⥭ 1   ᮢ ࠢ c । -
 梥, ஥ 饭   ࠢ ⮢.
      ⥭ 0   㬮砭 ० ⥭ BIOS. B ⮬
० ⥭ ।⠢ ᮡ 㯥 . 砫 १
  䨪 1  2  ।  奬 ⥭ Pac-
.   믮 ⥬   ॣ ( 4)
  3CEh.   ⮢  (0, 1, 2, 3),  ॡ
, 뢠   롮 奬 ⥭   
3CFh. ,   ⠭  EGA.  ,  -
ᠭ ⢨ 室 믮   ⮢   -
 祭 १  ।  梥.  ⮤
 䥪⨢,  ॡ  ᮤন   
⮢   ᫨ 室 ந ⮢   -
 .
      ᯮ짮 ० ⥭ 1 ० ᥣ 室 
  ० ( ⠯ ).  襭 ⮣  ᫥-
 ⠭   䨪 1  2, ⮡  㪠뢠 
ॣ , ᠢ 5   3CEh.  ᫥  ० ⥭
1 ⥬ ⠭ 4-  ॣ .  ࠢ, ⠫ 
ॣ   (᫥ । ⥪饥 ﭨ  
). ᫥ ⮣ 室  10h   3CFh (. ॣ
).

     B ० ⥭ 1 梥 ᥫ  ࠢ c  ࠭ 梥-
⮬, ⨢     ࠢ ⮢.  ࠢ
⮢ 롨ࠥ ।⢮  2   3CEh (  -
䨪 1  2).  ᫥  祭 梥   ࠢ
   3CEh   믮 ⥭  EGA. ᫥ 믮 -
ᠭ  ⢨   祭 ⮢   祩, 
梥 ࠭ ᮮ⢥ 祭, ᮤঠ饬   ࠢ
⮢.  ⮤   ᪠ ண 梥   ᪫-
  ࠭.  室 ஢ન   梥⮢ ᯮ짮
  ࠧ祭  ஢    ⮢
 (.  4). ⮤ 㤮  । 梥  -
, ᪮   ॠ樨 ॡ ஢ 16 権 (-
   梥), ⮣   ० ⥭ 0 筮 ஢
4 樨 (   ⮢ ).  ⮤ ᯥ稢
㤮 ᯮᮡ ᦠ ࠦ   .



 


     設⢮ ᪨ ࠦ   ᦠ  ⥫쭮
  , 祬 ᯮ . 祭  讥 -
 ᫥⥫쭮  ⮢   梥. ᯮ짮 ⨬
 ⥬ ࠭ ப 祭 梥⮢,  ன ᫥ 稪
ᥫ ⮣ 梥. ਢ  ᫥⥫쭮 権 -
筮  믮 ᦠ⨥ .

1. ⠭     ࢮ  ᯫ.
2.  祭 15 ( 0)   ࠢ ⮢.
3.    ᯫ  ॣ , ᫥ 祣 ஢ -
   訩  ॣ . ᫨ 祭  ࠢ 0,  ᫥騩
   梥   蠣 3.
4. ᢮ 稪 ᫠ ⮢ 祭 1. ᢮ 1 祭 
   ⠫ ⮢.  ᫥騩 . த  ⮢ 
   ᨬ쭮 祭 稪 ( - 256 祭 室 
   設⢠ ਬ)    ࠦ,   
   0.
5.  梥  稪, ᫥ 祣   蠣 2.

     室 㡥,   ᯮ짮 ⮣ ⬠ 
ந室 ९  ᯮ .
     ᫨ 設⢮ ⪮ ࠦ ⮨  
: 㦭⥩, , ⮢  讣 ᫠ ⤥ 祪,
ࠦ   ࠭  ⭮ ଥ.   ᭮
 砥 騩 ,   ᫥ ᮮ⢥
ଠ (業  ࠤ  㦭, न 殢 १
 , न  祪  ..).  ࠦ  
筮  ६⠡஢   祭  . -
  ⠭ ࠭ ॡ 讥 ⢮ ⮢.
ᠭ ⮤ ࠭ ࠦ ᯮ  設⢥ ⥬
⮬⨧஢ ஥஢.






      ६ ࠭   ᯮ짮 騥 -
 .   ন ᥬ ० EGA ( 
 ࠡ  襩  c  ࠭栬),   -
 ன ࠭   ० VGA ॡ ᫨誮  .
 ࠭ 訬 ࠧ   ᯮ짮  ࠭-
 ᫮ 䮭 ࠦ  ⨯樮 ⥬. 
६饭    ६ ࠭ 室 ࠭
ee न ().   ॡ  ந
ࠦ, 筮 믮 ஢ ⮩  co ன
࠭  . B EGA  VGA ।ᬮ७ ⮤ (०  1, .
 ᪮ ஫), 騩 믮 ஢
        ࠧ.





                    Ŀ
                                                         
                     1g  1s  3g  3s  5g               
          3                   
                                                              
               Ŀ    
                                                        
                0g  0s  2g  2s  4g                
     2                    
                                                          
          Ŀ    
                                                   
           0a  0r  1a  2r  2a                
 1                   
                                                     
     Ŀ    
                                              
      0c  0r  1c  2r  2c                
                       
                                                
                                               
         0                              
                                            
                                            
                                            
     

         ⢨⥫쭮 ࠧ饭 


                Ŀ
                                                       
     1    0g  1g  2g  3g  4g  5g             
                               
                                                             
         Ŀ         
                                                       
          0c  0r  1c  2r  2c                        
                                   
                                                            
                                                            
             0                                       
                                                         
                                                            
                                                            
                     
                                                             
                Ĵ
                                                        
                                        0s  1a  2s  3a  
                Ĵ
                                                             
         Ŀ         
                             Ĵ         
                                                       
                              0s  1a  2s  3a           
         Ĵ         
                                                       
                              0s  1a  2s  3a           
         Ĵ         
             ᫥⥫쭠                          
             ⮢  0                              
                                                            
                  
                                                             
                

                           


    . 5.4. ନ஢ 楯祪  (᫮ 祭:
               - ᨬ,  - ਡ)



    EGA


 ࣠樨    ee ⢨ c ,  -
, 뢠 筮  ᠭ 設⢠ ਪ ணࠬ.
 ᫨  砥 室 ᬥ ०   ࠡ
ணࠬ ॡ ࠭ ᮤন   ᯮ -
  ॣ஢ 㭪樨 (ᮡ 㭪樨, 騥 ⭮襭
  ஫), 室  ᭮ ன⢠ .
 ᯮ짮   १ ⫨砥  ᯮ짮
 .  ᯮ ᪮쪮 ࠧ 奬 । 
ᨬ  ⨯ ࠭ ०  ࠧ ⠭ .
     B 楫 ᯥ祭 ᮢ⨬ c ० CGA  ᯮ-
 ⮤, 뢠 ० ⭮/⭮ 樨. B ⭮/
⭮ ०    뢠   ⮢
, a  -   .  ࠧ, b000:0000 -
   0  2, a b000:0001 -   1  3. B 䠢⭮-
஢ ० c  ⮣ ⮤ ASCII- 頥  
0, a  ਡ -   1. Ha  5.4   . Ta-
 ⮤ ࠪਧ 樮 ᯮ짮 , ᪮-
 ASCII- ࠭ ⮫쪮   ᠬ , a ਡ -
⮫쪮  . B 裡 c ⨬   ।ᬠਢ 
㭪 - 뢠    ஢. 㭪 믮 -
⠭ 1   ᮢ  (⠪  ଠ o ᨬ  ਡ
ᮮ⢥        ࠧ )  㤢-
 ᭮ ࠭⢮   楯 ᯮ짮 
ᮢ  c ᫥ 묨 ᠬ.

     B 䠢⭮-஢ ० 뢠  ࠥ - -
⥫쭮 ஫, ᪮ ᯮ ࠢ⥫쭮 让 ꥬ ,
  ६   ᪮ ०   ᯮ짮 ⠪ ⮤
᫮ ᯮ㥬 ᥫ   㢥祭 (  ⮬ ᭨-
 ᫮ ন 梥⮢, ⠪    ⮢ 
ନ ).   ᭥ ⮣  EGA  ᪮
० 640x350 ࠭祭 4 梥⠬  砥,  ࠧ  ⠢-
 64K.
       ᪮ pe CGA    ⫨砥 
䠢⭮-஢ ०.    ᨬ/ਡ  -
 ᮤঠ ᫥⥫   .  뢮 ଠ-
樨  墠뢠    (    )
  뢮 ࠧ  쬨 ᥫ. ᪨ ஫
믮 ८ࠧ   ᫥⥫ ⮢ (ନ-
 梥 CGA)  ࠫ   0  1, 㤠 믮 
뫪  ਡ-஫  뢮.  ॢ  
 0, a ⥬ -    1.






                        6. B B E  E H  E   B   P E   C T P O B O E
                            P O  P A M M  P O B A H  E







     EGA  VGA  ॣ, ।祭  ॠ樨 ࠢ-
 㭪権 .  㦥 뫮 ,  ࠡ 
  ॣ஢.     ࠧ  5 ᭮
㯯: 譨 ॣ, ॣ ⥫ ᫥⥫쭮, ॣ-
  (஫ ஭-祢 㡪), ॣ ᪮
஫  ॣ ਡ.  㯯 ॣ஢ 易 
ᮡ,    ᪫祭. ।⢮ ⥫  ᫥-
⥫쭮 ⢫ ࠢ 㯮  , ᨭ஭樥
 ⮪   㣨 ॣࠬ.  ॣ㫨 ⥫쭮
६ ࢠ  뢮 ଠ樨. ᭮ , 蠥
᪨ ஫஬ - ॠ 㭪権 ᪮ ०.
ਡ-஫ ⢫ ࠢ 梥⮢묨 ࠬ, a
譨 ॣ ।祭  ࠡ c ࠧ묨 㭪ﬨ. 
ᯮ짮 VGA  㪠 㯯  㯯 ॣ஢,
뢠 ॣࠬ  (- ८ࠧ⥫), ।-
祭  ८ࠧ  梥  殮  
.
      㦥 ⬥砫 , 設⢮ ॣ஢  㯭-
 ᢥ.  㯯 ॣ஢ ( ᪫祭 譨 ॣ஢)
砥  ॣ.  ॣ ᯮ  롮
㥬 ॣ. Bce  ॣ (஬ 譨 pe-
஢  ॣ஢ ᪮ 樨)  .  -
   ॣ, ᫥ 祣 믮   㦭 ॣ-
py. ਬ,   祭 3  ॣ ᪨஢  (-
 2 㯯 ⥫ ᫥⥫쭮) ᫥ 믮 ᫥-
騥 :

         mov  DX,3c4h        ;  ॣ  ⥫
                             ;᫥⥫쭮
         mov  AL,2           ;  ॣ ᪨஢ 
         out  DX,AL
         inc  DX             ;  ᪨஢ 
         mov  AL,3           ;祭 뢠  ॣ
                             ;᪨஢ 
         out  DX,AL

     EGA  VGA ⠪  4 ॣ-饫, ᯮ㥬  ६
㯠   .    ॣ஢ (易 c
) ᮮ⢥  ⮢ . -饫 ਬ
 ࠭ ଠ樨, 室饩  ,  ६  
,  ᫥饩 । ᮤন    ⥭ -
 , a  ꥤ  ॣ஢-饫   . 
ॣ஢-饫    ᭮ ⭠  짮⥫  
易 ।⢥ c .   ॣ ᪮
஫ ।⢥ ࠡ c ᮤন ॣ஢-饫 
ࠢ ࠡ⮩ .  ,  ॣ-饫 室
⠭ ।  樥  .  ⢫
⥬ ⥭ ᮤন  ।   祭 (筮 ⠪
 ࠡ⠥ CGA,  ஥ 祭 뢠  ॣ , -
  뢠 ⭮  ).  室 ᯮ짮
⠭ ଠ;   ᯮᮡ, ᯥ稢騩  co-
ন ॣ஢-饫.
     B  ६  ॣ-饫   ᯥ稢 䥩 
  , 㯯    ॣ஢ ( ࠫ쭮-
᫥⥫ ८ࠧ⥫) ࠧ 䥩  ஬ 
ᯫ.  믮  ᪨ 権   -
 ॣ஢ 砥    ᯫ, ᫥ 祣 믮
 ⮢ 뫪  ਡ-஫. ਡ-஫ ᯮ-
 4  (    ࠫ쭮-᫥⥫쭮 ८-
ࠧ⥫)  롮 梥, ନ஢    ࠡ c EGA
 뢮 ᥫ  ࠭. Ha VGA ਡ-஫ । 8--
 祭  , ⠭饥 殮  ᯫ.

     設⢮ ॣ஢ EGA 㯭 ⮫쪮   (  㯭
 ⥭  ).  ॣ, 㯭  ⮫쪮  ,   
⥭, ᠭ  ᫥ ࠧ. VGA 㯭  ⥭/
,  ᪫祭 ॣ ਡ , ॣ஢ ﭨ
室  ॣ஢ 饫.  ॣ VGA  뢠 
뢠  ࠧ ᠬ ,  ⬥祭  ᠭ -
஢.
       , ⬥祭  " ᯮ",  ⠭-
 祭 0. ଠ IBM ४  ᯮ짮  VGA
믮 ⥭  , ⮫쪮  ࠧ冷,   -
஢, ᫥ 祣 ⢫  ࠧ鸞 ⭮  .  -
 ࠭ ᮢ⨬  騬 ࠧ⨥ ஢ EGA/VGA.
      ਢ  ਬ ணࠬ஢ ॣ஢ ᮤঠ
 OUT (OUT DX,AL), ࠭ ன ।⠢  ⮢ -
.    ᯮ ࠭, ।⠢  ଠ
᫮, .. OUT DX,AX,  ॣ AL ᮤন ,  AH - 祭.
 OUT, ࠡ  ࠭  ଠ ᫮, 믮 -
॥, 祬  ⮢  OUT.     ࠡ⠥ 
 䨣 .  ᯮ짮 OUT 楫ᮮࠧ
⮢ ஢   ⮢묨  OUT. 
⮣  室 ம। ( ணࠬ SMOOTH.ASM 
⮩ 楫 ᯮ ). ᫨    -
 OUT  ଠ ᫮, ਬ ணࠬ 室 -
.
     室 ⬥,  祭  ॣ  ࠭-
    (஬ ᮢ ॣ஢ ਡ). ᫨ -
 ⭮    ⮣  ॣ,  
 ⠭  横.    ,   -
   믮 ணࠬ ࠡ⪨ BIOS   (
ᯮ짮 ⮩ ⮤ 뢠  ६ ).



 


     譨 ॣ  ॠ  EGA  VGA  ᬥ-
蠭 㭪樨.  IBM EGA  ॣ  ࠧ  ⠫ 
(ਡ-஫, , ⥫ ᫥⥫쭮 ᮢ, -
᪮ ஫).  VGA  ॣ 뢠 騬:  VGA
 ॣ 室   奬. 譨 ॣ 뢠
 뢠 ।⢥    ࠧ饭.  ⫨
 設⢠ ॣ஢ ,   ᢥ १ -
 樨.



 3C2h:   
           (Miscellaneous Output Register)




      ᯥ稢 ࠡ ᪮쪨 ᬥ蠭 㭪権.




       ⠭    0.
       㯭 ⮫쪮     EGA, ⠪  
VGA,   ᯮ짮 VGA ᮤন ॣ   ⠭
१  3CCh.
      2  3 (롮 ᨭ஭樨)   ᯮ짮  롮-
pa 譥   㭪権 ᨭ஭樨 EGA. ⥬ 祭
१ ᮥ⥫  ண ⠪⮢ , । 
 ⢥ 室  ⠭ 祭 ॣ஢    -
祭 ० c  ᮪ ࠧ襭.     -
ন  ᮪ ⠪⮢  ( 奬 
 뢥  ), ⮬  ᯥਬ ᫥ ஢-
 c 让 ஦. ᨬ   VGA ⠢
 14.3  28.4  (ᮣ᭮ ᯥ䨪樨  IBM).

     ⠭, ਭ  BIOS  㬮砭 (⭠
     祭):

     :        0  1  2  3  4  5  6  7  d  e  f 10
                  23 23 23 23 23 23 23 a6 23 23 a2 a7

     祭  ᮢ襭⢮ 梥⭮ ᯫ (ECD):

     :        0  1  2  3
                  a7 a7 a7 a7



   0     3b/3d  /뢮 
          ।  ࠧ饭 ॣ஢ ﭨ 室 1
           c 楫 ࠭ ᮢ⨬ ஬  梥-
          ஢. ⠭ 祭 0 । 3b? (஬-
         ), ⠭ 1 - 3d? (梥⭮)
   1     襭 
         ⠭ 㫥 祭 頥     EGA. -
         ⠭ 祭 1 (⠭) 砥,   ࠧ襭 -
            EGA
 2-3      롮  ᮢ
         ᯮ  ਭ㤨⥫쭮  ஭樨 ।
          祭 ⮣ ॣ. ।⢮  ⮢ yc-
         ⠭ ⠪⮢   ᮮ⢥⢨ co ᫥饩 ⠡-
         楩:
         00b   14  ( 設)
               25  VGA
         01b   16  (  EGA)
               28  VGA
         10b   譨 筨 ( ᮥ⥫)
         11b   He ᯮ
   4     饭 ७  ࠩ஢ (⮫쪮 EGA)
          । 筨 ᨣ  .  ࠢ, -
          祭 0,  ࠢ ஬ ⢫
         EGA. B 砥 ⠭ 祭 1 ࠢ ஬ ocy-
         ⢫  ᨣ, 㯠騬   室 ᨣ co-
         ⥫. ᪮ ᮥ⥫   ᨣ -
         १ 室 뢮,  ᮧ ன⢮, 饥
         ଠ, 砥    㣮 筨, a ⥬
         ⢫饣 ࠢ ஬ EGA.  ࠡ c VGA 
           ᯮ
   5       ࠭  ⭮/⭮ 
          롮    ࠭   64K (128K )
          ⭮/⭮ ० EGA. ⠭ 0 砥 롮 -
         襩 ࠭, ⠭ 1 - 롮 襩 ࠭
   6     ୮ ⭮   ५
          ⭮ 室  ५ ⥫  砥 -
          祭 0  ⥫  砥 ⠭ 祭
         1. ஬, 梥  ECD-ᯫ ᯮ ⥫
         ᨣ.  ࠡ c 묨 ࠬ   (  7)
         ᯮ  ।  ࠧ⪨
   7     ୮ ⭮   
          ⭮ 室   ⥫  砥 ⠭
         祭 0  ⥫  砥 ⠭ 祭 1. -
         ஬  ᯮ ⥫ ᨣ.  ⠭-
          梥⭮  ॡ ⥫ ᨣ.  pa-
          c ECD  묨   (  6) ᯮ 
         ।  ࠧ⪨
          6  7     EGA                 VGA
         00b          200 ப          He ᯮ
         01b          350 ப          350 ப
         10b          He ᯮ    400 ப
         11b          He ᯮ    480 ப



 3?Ah   
          (Feature Control Register)



     Ha EGA  ॣ ᯥ稢 । ᨣ ᮥ⥫
( FC0  FC1).  ࠧ ன⢮, ᮥ塞  ᮥ-
⥫,  ணࠬ ஫஢; ஫㥬 㭪樨 -
 ᮥ ன⢮.
       - 3BAh (஬)  3DAh (梥⭮)



     VGA १ࢨ  7 ⮢,  ⮬ 祭 3-  
 ࠢ 0.
       㯭 ⮫쪮     EGA, ⠪ 
 VGA,   ᯮ짮 VGA ᮤন ॣ   -
⠭ १  3CAh.

 (⮫쪮 EGA)
   0      ࠢ ਧ 0 (FC0)
          ।   21- 室 ᮥ⥫
   1      ࠢ ਧ 1 (FC1)
          ।   20- 室 ᮥ⥫
 2-3     १ࢨ஢
 6-6     He ᯮ

 (⮫쪮 VGA)
 0-7     १ࢨ஢ (祭  3   0)



 3C2h:    
           (Input Status Register Zero)



         ࠧ ଠ  EGA



       㯭 ⮫쪮  ⥭   EGA, ⠪  
VGA.
      ࠡ c EGA  5  6  ᨣ  ᮥ⥫ (
FEAT 0  FEAT 1).  ࠧ ன⢮, ᮥ  ᮥ-
,  । ଠ, ᮤঠ ன । -
ᮥ塞 ன⢮,  ࠢ ணࠬ.
      5  6  VGA १ࢨ.
      ᮢ⨬ c EGA ࠭     7
(0 । ⨪쭮 뢠). ணࠬ, ⠭  ࠢ-
 ⨪ 뢠,  । ⠭ ⥬ -
饭 뢠 ⭮ 室  , ⪮  ﭨ (.
 4 ॣ   ⭮   ,  3?5h, 
11h), 뢠  7  祭 祭  ⭮ 室 
ࠧ襭 뢠.  ⮤   ᯮ짮 ⮫쪮  EGA.


 0-3     He ᯮ
   4     뢠 
          頥 ⠭    祩 EGA. ᫨
         ⠭ 祭 1,  , ᫨ 0 - . 
         , ﭨ ண 㤥 ⠭, । ⥬
         饭 祭 "  - 1"  2  3  ॣ
         蠭 뢮 (⠪  3c2h). ਬ,  । -
         祭 9 (1001b)  ॣ 蠭 뢮 ⠭ 
          3. BIOS ᯮ     । ⠭
         EGA,  ⥬ 뢠   40:88h.  
         砬 ᫥ 믮 १ ᬠਢ ॣ
   5       ਧ 0 (FEAT 0 - ⮫쪮  EGA)
              १ 19- 뢮 ᮥ⥫
   6       ਧ 1 (FEAT 1 - ⮫쪮  EGA)
              १ 19- 뢮 ᮥ⥫
   7     뢠 
         祭  ⠢ 1  砥,    -
         쭮 뢠 (IRQ2), ᫮   室 
          . 祭 1 ࠭  ⠭   室
         ﭨ.  ࠧ, , ⮡ ணࠬ ࠡ⪨ -
         뢠 ⨫ 뢠  ⠭ (ࠧ訫) -
          १ ॣ  -  ⭮   . Ta-
          奬 ࠡ ᯮ  ⢥ত ࠧ襭
         뢠  EGA  VGA, ⠪  ᪮쪮 ன  -
         짮   뢠 IRQ2  ० ࠧ. 
           ⠭  室 ﭨ 0  ணࠬ -
         ⪨ 뢠 (.  4 ॣ   ⭮ 
          ,  3?5h,  11h).




 3?Ah:    
           (Input Status Registr One)




        믮 ⥭ ࠧ筮 ଠ樨, ᮤ-
饩  .



      㯥 ⮫쪮  ⥭   EGA, ⠪   VGA.  1
 2  VGA १ࢨ.


   0     ᯫ 襭
         祭  ࠢ 1  祭 ࢠ ⨢ ᯫ
         ( 뢠 EGA). 0 ⠭   ६ -
          室  ப  .  ᪨ 
         (⠪  CGA)  ᮧ   ࠭ ("᭥"),
         ᫨  祭 ࢠ ⨢ ᯫ  믮
          ଠ樨   ,  ਢ  䫨-
          樨     .  ᯮ짮
         EGA     EGA    ⢫  
          ६ (.  1 ॣ  ஭樨 -
         ⥫ ᫥⥫쭮,  3c5h,  1)
   1     - ⮢  (⮫쪮 EGA)
         祭  ࠢ 1  ⠭ ਣ୮ 奬
         ᢥ⮢  (0, ᫨ ਣୠ 奬   ⠭)
   2     ४⥫ ⮢  (⮫쪮 EGA)
         祭  ࠢ 1,  ४⥫ ᢥ⮢  -
         室   "祭" (0 - ᫨ ४⥫ ᢥ-
         ⮢  室  ﭨ "몫祭")
   3        
         祭  ࠢ 1  祭 ࢠ ⭮ 室 
          (0 ⠭   襭 ⮣ ࢠ). 
           ᯮ짮  ࠧ襭 뢠 IRQ2 (.
         ॣ   ⭮   ,  3?5h, 
         11h  7  㫥  室 ﭨ,  3c2h).
         室 ⬥,  祭  ⠢ 1   ⮬
         砥,  ࠧ襭 뢠 EGA IRQ2, a 㣮 ன-
         ⢮ 뤠   뢠 IRQ2. ⮬   
         ᫥ ᯮ짮  ணࠬ ࠡ⪨ 뢠 
         । ﭨ ⭮ 室   (. 7- 
         㫥  室 ﭨ)
 4-5     ᯮ짮 ⨪
         B    祭  室 ⮢ ॣ-
         pa ਡ,  । ﭨ ⮢ 4  5 Pe-
          襭 ⭮  (.  3fch  12
         ॣ ਡ)



 3C3h (⮫쪮 VGA):   
          (Video Subsystem Enable Register)



       ஫஢ ⨢ VGA.  VGA  
  饭 १  ०  VGA ( 1,  102h).
᫨ VGA 饭,   த  ࠦ  ᮥ-
   砥,   0 ᬠਢ ॣ -
  1.



      㯥,  VGA 室  ﭨ . ⮬
뢥 ࠦ   祭  몫祭 ࠢ饩 -
ࠬ   .


   0     ⠭ 1 ࠧ蠥 ᯫ VGA (⠭ 0 - 頥
         ᯫ VGA)
 1-7     १ࢨ஢





                                                      7. P E   C T P 
                  K A  A T E      O C  E  O B A T E   H O C T 




      ,  믮 ॣ ⥫ ᫥⥫-
, -  ࠢ ⮪     ᪮ -
஫  ਡ-஫.  ६ 뤠  窨 (⠪ 窨)
 祭 ࢠ 뢮 ਡ-஫   4  
८ࠧ   梥⭮ ᥫ. B ᪮ ०  ६ 뤠-
  ᨬ (ᨬ ⠪) 롨ࠥ    
⮢ . B ⥩襬 砥    쭥襬 ॢ
 ⤥   ⮪ (    ⮢ )
 ᯮ짮  ਡ-஫. B 䠢⭮-஢ ०
ASCII- ᨬ   ।⠢   ᮮ⢥ -
 ⮢  ⥪饩 ப ࠧ⪨,   ६   ਡ
  ⮢ ⮪  祭 ᮮ⢥ 梥-
⮢ 䮭  ᨬ. B EGA 室 ଠ ਡ-஫ -
  ।⢥ ࠢ ࠦ. B VGA -
室 ଠ ਡ-஫ ᯮ  । 梥⮢
 ,  ⥬ ॢ   ᨣ  .
     ⥫ ᫥⥫쭮 ࠢ ᨭ஭騬 -
ᠬ, ⮢묨 ⮪  ࠧ饭  ᨬ 䠢⭮-
஢ ०. ஬ ⮣,  ⢫ ࠧ襭 䫨
権    ,     ஬, a ⠪-
 । ⮢ ,    ஢ . 
ᥩ 㯯 ॣ஢  ⥫ ᫥⥫쭮, ⭥
ᥣ,   ᯮ짮 ⮫쪮 ॣ ᪨஢  
ॣ 롮 쭮 , a ⠪ ॣ  ⥫
᫥⥫쭮 ( 砥, ᫨  뫨 ࠧࠡ⠭ ०
짮⥫)



 3c4h:    
           (Sequencer Address Register)



      ⥫ ᫥⥫쭮 । ॣ,
    3c5h.   ॡ饣 ॣ
뢠   3c5h.

          

0               

1                ஭樨

2               ᪨஢  

3               롮 쭮 

4                



 3c5h:   ( 0)
           (Reset Register)



     ᯮ   ⥫ ᫥⥫쭮
( 室  ࠭ ᮤন  EGA  -
 祭 ॣ  ஭樨).



     ࠡ ⥫ ᫥⥫쭮 ॣ 0  1 
ᮤঠ 祭 1.

    ⠭ BIOS, ।ᬮ७  㬮砭 ( 祭
⭠):

       0  1  2  3  4  5  6  7  d  e  f  10
           03 03 03 03 03 03 03 03 03 03 03  03



  0     ᨭ஭ 
        祭 0 뢠 ᨭ஭ , ⠭ ॣ
        ⥫ ᫥⥫쭮  饭  뢮 
        ﭨ ᮪ ᮯ⨢.   ⠪ ਢ-
           

  1     ஭ 
        0 砥 ஭   ⠭ ॣ ⥫
        ᫥⥫쭮.  ᫥ ᯮ짮  
        ⥫ ᫥⥫쭮 ।  ॣ
         ஭樨 (.  1)  롮 㭪樨
        ᨭ஭樨 ॣ 蠭 뢮 (.  3c2h
        譨 ॣ஢)

  2-7    ᯮ



 3c5h:    ( 1)
           (Clocking Mode Register)



      ஭樨   ࠢ 묨
㭪ﬨ ᨭ஭樨 EGA.  ।饭  
 ।  ० ᨭ஭樨 ᫥ ᯮ짮-
 ॣ   ਭ㤨⥫쭮 ᨭ஭  -
⥫ ᫥⥫쭮.

    ⠭ BIOS, ।ᬮ७  㬮砭 ( 祭 -
⭠):

       0  1  2  3  4  5  6  7  d  e  f  10
           0b 0b 01 01 0b 0b 01 00 0b 01 05 05

     64  EGA:

       f 10
           01 01



  0     8/9 ⮢ ᮢ
         ⠭ 祭 1 믮  ⠭⭮
         ᯮ ᨬ  ਭ 8 ⮢ (.. 8 -
         ⠪⮢ ⠢ ᨬ ⠪).  ⠭ 0
        믮   ᯮ ᨬ  -
         9 ⮢  ० 7, ᮢ⨬  MDA,  ⥪⮢
        ० VGA ( 稥 ० ᯮ  ᯮ-
         ᨬ  ਭ 8 ⮢). 室 ⬥, 
        VGA  㫨஢ ⥪⮢ ० EGA  CGA. 
          ᯮ  ᯮ ᨬ 
        ਭ 8 ⮢

  1     ਭ   (⮫쪮 EGA)
          ࠢ ६ 㯠   .  -
        ⠭ 1  뤥  㯠    
        横 㯠  .  ⠭ 0  뤥
         㯠     横. ᪮  -
         ᮪ ࠧ襭 ॡ 訩 ꥬ 
         ६ 筮 ࠧ⪨,   ०, ஬ 0, 1,
        4, 5  0dh,  ॣ樨  ॡ   
        横.  뢠 ।⢥ ⢨ 
        ﭨ , 㥬 ஬.  ᯮ-
            祭 ਮ ⭮ 室 (VGA
        ᯥ稢     祭 ⭮ 室)


  2     㧪  ॣ஢
         ॣ 믮  ८ࠧ -
        , 砥  ⮢ ,  ᫥⥫ -
          ᯮ짮  ਡ - ஫.  ࠢ,
        ᥬ ⮢  ⮢  ८ࠧ  ᫥-
        ⥫ ⮢ ⮪.  ⠭ 祭 1 믮-
         ஢ , 砥   , 
        16-⮢ ᫥⥫ ⮪,  ⮬  
        ⮪ 砥 ⮫쪮 ,  ਢ  㤢 ࠧ-
        ஢  ᭮ ࠭⢠  ᮪饭  
        ࠧ ᫠ ন 梥⮢. ᪮ 롮ઠ 
        ⮢ ந ६, ᬠਢ ०
         믮     १ 
        ᨬ ⠪. . ॣ ᪮  (ॣ
        ᪮ ஫ 5)

  3     ⮢  (⠪ 窨)
         ⠭ 祭 1 ந室  ⠪⮢ -
          2 (  ᫠ 祪  ப). ᫥⢨
        ⮣ 㤢 ६ ࢠ, ᭮  ⠪-
           ।祭  ࠡ  ० ࠧ-
         320x200  40-⮫殢 䠢⭮-஢ ०

  4      4 (⮫쪮 VGA)
            2 ᬠਢ ॣ. ⫨稥
        ⮨  ⮬,   ⠭ 祭 1 롨ࠥ -
        ᫮   믮 㧪 ࠫ쭮-᫥-
        ⥫ ८ࠧ⥫  ⢥ ᨬ ⠪
        (ந室 뢠 32 ⮢ , ᫥⥫쭮, 㢥祭
         ᭮ ࠭⢠  4 ࠧ). 室 ⬥-
        ,     ஥ ० VGA  ᯮ
         ⠭, ᪮  筮 ⢮ -
           ணࠬ ०

  5     ࠭ 몫祭
        ⠭ 祭 , ࠢ 1, 頥 ᯮ짮
        ᯫ,   ६  ஥ 㭪樨  த-
         믮.   ᯮ짮  ६ -
         ᥣ ६ 㯠   楫 襭 ᪮
          ⥭   (⠪   -
        짮  ணࠬ ⥬ ࠭ VGA)

  6-7    ᯮ



 3c5h:    ( 2)
           (Map Mask Register)



     ᪨஢  ࠧ蠥  頥 㪠
⮢   ६  .  ⠭ 
ॣ 㪠뢠,  ᮮ⢥    -
஢, ਬ, ⠭ 1-  3- ⮢ 砥,  
㤥 믮    ⮢  1  3.



     ࠡ  ⭮/⭮ ०  0, 1, 2  3 
 祭. . ॣ  ᪮ ஫
( 3cfh,  5),  ⠪ ॣ   ⥫
᫥⥫쭮 ( 4).  ᯮ짮 ० 窠
4      묨.
        ० , ..   , -
 뢠   .
    ⠭ BIOS, ।ᬮ७  㬮砭 ( 祭
⭠):

       0  1  2  3  4  5  6  7  d  e  f  10
           03 03 03 03 03 03 01 03 0f 0f 0f 0f




  0     ⮢  0

  1     ⮢  1

  2     ⮢  2

  3     ⮢  3

  4-5    ᯮ



 3c5h:     ( 3)
           (Character Map Select Register)



     ।,  ࠧ ன ⮢  -
ন () ᨬ 䠢⭮ - ஢ ०. 
⮢  ࠧ  1-4 ࠧ  8 ( ᨬ 
ࠧ ⠭  EGA).  EGA    ࠧ
 ᮤঠ   ᨬ (ᥣ   4). 
VGA  ࠧ  ᮤঠ  ᨬ .  -
   ( 쬨)   ।  ᭮
   ᨬ  뢮 512 ᨬ (롨 
1024  2048 ). EGA  । 256 ᨬ 
 64 ⠭ .



     ࠢ, ᨬ       祭,
᫥⢨ 祣 㯭 ⮫쪮 256 ᨬ. ,   -
 ணࠬ ࠧ묨 祭ﬨ, 3  ਡ (મ)
ᯮ  ⢥  ᥫ  ᨬ (,  룫廊
 設⢥ ணࠬ  ᨬ  ᮪ મ, 㤥 ⮡-
  ⥫ 256 ᨬ).
     ࠡ ⮩ 㭪樨 ࠧ ⠭  EGA 
ॢ 64.
    ⠭ ॣ 롮 쭮   ந-
 ⮫쪮 ᫥  ॣ ⥫ ᫥⥫쭮 (ᨭ-
஭  뢠  ⮣ ॣ ⥬ ᢮ 
祭 0).
    ⠭ BIOS, ।ᬮ७  㬮砭 ( 祭 -
):

       0  1  2  3  4  5  6  7  d  e  f  10
           00 00 00 00 00 00 00 00 00 00 00 00



  0-1   롮 쭮  
        ।⢮ ⮣ 筮 祭 । ࠧ
        ࠧ஬ 8, ᯮ㥬  ᭮  ᨬ
        ( 3 ਡ = 0). 祭 0-3 । ᮮ⢥-
          0-3

  2-3   롮 쭮  
        ।⢮ ⮣ 筮 祭 । ࠧ
        ࠧ஬ 8, ᯮ㥬  筮  ᨬ
        ( 3 ਡ = 1). 祭 0-3 । ᮮ⢥-
          0-3

  4     訩  쭮   (⮫쪮 VGA)
         ⥫    筮 
        ᨬ  祭 쬨  ﭨ

  5     訩  쭮   (⮫쪮 EGA)
         ⥫    ᭮ 
        ᨬ  祭 쬨  ﭨ

  6-7    ᯮ




 3c5h:    ( 4)
           (Memory Mode Register)



     ⢫ ࠢ ⠭ ० 㪠⥫
᫥⥫쭮.  । ० ᪮ ஫
. ॣ:  ᪮ ஫, 蠭.  -
 ०  ᫥   ᠭ ॣ ࠢ
 .
    ⠭ BIOS, ।ᬮ७  㬮砭 ( 祭 -
):

       0  1  2  3  4  5  6  7  d  e  f 10
           03 03 03 03 02 02 06 03 06 06 00 00

     64  EGA:

       f 10
           06 06



  0     䠢⭮-஢ ० (⮫쪮 EGA)
        祭 1 ⠭  䠢⭮-஢ ०,
         0 -  ᪨.  䠢⭮-஢ ० 
        ⮢    ᯮ짮  ⢥ -
        ஢ ᨬ

  1     塞 
        ᫨ ⠭  64 , 祭 , ࠢ 1,
         ᮢ  14  15. ⠭ 祭 0 -
          ० ᮪ ࠧ襭 EGA,  
        ७    ⠭

  2     / ०
        ᫨ ⠭ 祭 0,    묨 ᠬ
        ⮡ࠦ   ⮢  (   묨
        ᠬ -  ). ᯮ ⮫쪮 ⥫ ᫥-
        ⥫쭮. 筮  ᯮ짮 ⠪ 奬 樨
        ᪮ ஫ 믮 ⠭  4 ॣ-
          ᪮ ஫ (.  3cfh,  5)
        ᯮ짮 ⠪ 奬   䠢⭮-஢ ०-
         ( ਡ    ,  ᨬ
         -  㣮),  樨 ᪨ ० CGA 
         砥,  㯭  64   樨 
        ⮢   

  3     窠 4 (⮫쪮 VGA)
         室  / ०,  ᪫祭 -
        ஢ 横  ,    祭.  -
        ⮪ ࠢ 0,      0, ⮪ 1 - 
         1, ⮪, ࠢ 2 -   2,  3 -  
        3. ⠭ 祭 1 । ० 窠 4 (-
          256-梥⭮ ०).  ⮢ 
        ᮤন  ⢥ , ⮣   ᬠਢ
            뢭 

 4-7     ᯮ




                              8. P E   C T P    K O H T P O   E P A
             E K T P O H H O -    E B O    T P   K    (   T )




       ࠧ ᠬ  㯯 ॣ஢  EGA  VGA.
 ᫥   ॣ஢,  ।祭  ࠢ
㭪ﬨ ६ ᮣᮢ  ᨭ஭樨  . 
 㭨  ⮬ ᫥,   ᯮ짮 c  ᠬ
⮢,    3b4h/3b5h (஬ ᯫ), ⠪  3d4h/3d5h
(梥⭮ ᯫ). 設⢮   ॣ஢ 㡫 㭪樨 -
஫ 6845, ᯮ㥬 c MDA  CGA,    ⢥-
 ⫨.    ᯫ EGA  ணࠬ CGA -
   ﭨ ࠡ  ० 樨  EGA - 㪠
⫨稩.
     B 設⢥ 砥 ᮢ⨬   ணࠬ -
ন  ,   ࠦ  業-
 १ ॣ 樨 ਧ⠫쭮 ஭樨 ( 3d5h,
 2).   EGA  ন    
2 ᯮ  ॣ 砫 ⥬  ਧ⠫. B ᫥-
饩 ⠡ ਢ ᭮ ⫨.

Ŀ
 3d4h                                                           
           CGA/MDA                      EGA/VGA               
Ĵ
   2      ਧ⠫쭮 - 砫 ⥬  ਧ-  
         ஭樨                  ⠫                           
   3     ਭ ਧ⠫쭮 -   ⥬  ਧ-   
         ஭樨                  ⠫                           
   4     騩 ⨪          砫 ⭮ ஢  
                                      ਧ⠫                 
   5      ⠭ ஢     ⭮ ஢   
         ⨪                    ਧ⠫                 
   6     뢮  ࠬ             騩 ⨪             
   7     ஭  ⨪  ९                   
   8      ९⥭          ।⥫쭠 筠       
                                     ⪠                      


     ஬ ⮣,  3d8h (ॣ 롮 )  3d9h (ॣ -
 )  ਬ   EGA  VGA. B  ண-
ࠬ CGA  3d8h ᯮ  ࠭ 栭 , a  3d9h -
  梥 ᨬ ᪮ ࠭ 640x200.



 3?4h:   
           (CRTC Address Register)




        । ॣ, 祭  3b5h (
஬ ᯫ)   3d5h ( 梥 ᯫ).  -
 ॡ㥬 ॣ 뢠   3b5h  3d5h.
   
  0      騩 ਧ⠫
  1       襭 뢮  ਧ⠫
  2      砫 ⥬  ਧ⠫
  3       ⥬  ਧ⠫
  4      砫 ⭮ ஢  ਧ⠫
  5       ⭮ ஢  ਧ⠫
  6      騩 ⨪
  7      ९
  8      ।⥫쭠 筠 ⪠
  9      ᨬ쭠 ப ⪨
  Ah     砫 Kypcopa
  Bh      Kypcopa
  Ch     砫 訩 
  Dh     砫 訩 
  Eh      襣  Kypcopa
  Fh      襣  Kypcopa

 10h     砫 ⭮     ( EGA, ⥭/
          VGA)
 10h      襣  ⮢  (⥭, ⮫쪮 EGA)
 11h      ⭮     (  EGA, ⥭/
          VGA)
 11h      襣  ⮢  (⥭, ⮫쪮 EGA)
 12h      襭 뢮 ஢
 13h     饭
 14h      ન
 15h     砫 ⥬  
 16h      ⥬  
 17h     ࠢ 
 18h     ࠢ ப



      5  VGA ਬ  ஢ 奬.  祭
ᥣ   ࠢ 0.



 3?5h:    ( 0)
           (Horizontal Total Register)




     B  ॣ 㪠뢠   ਭ ⢮ ᨬ-
  ਧ⠫쭮 ࠧ⪥,  ਮ ਧ⠫쭮 ⭮
᪠஢ (     砭 ⥬  ਧ⠫
 ० ᮢ⨬, ⠪  砭 ⭮ ᪠஢  -
ਧ⠫  ० EGA).
     ஥ 稪 뢠  ⨦ 祭, ।-
  饬 ਧ⠫쭮 ॣ. Ha ᭮ ஥ 稪 pe-
  ६ 㭪樨 .  ࢠ 稭 १ -
 祭 稪 ᫥ 砭 ।饣 ࢠ.



     祭, ᯮ㥬  饬 ਧ⠫쭮 ॣ, 䠪᪨
   饣 ⢠ ᨬ  ப  EGA    - 
VGA.
      ᥣ ⠥  ᢥ稢   祭-
 稪 ࠧ⪨. 騥 ࢠ  ᪠஢ ࠢ
⪠ ࠬ, ⥬  ਧ⠫ , , ᪠஢ 
⪠ ࠬ.
     ࠭祭 ६ ࢠ ॡ   
  ⭮ ᪠஢  砭 ⥬  ਧ⠫.
 ࠧ, ⭮ ᪠஢ 稢  砭 ⥬-
  ਧ⠫,   稭  梥⭮ 
   ᢥ稢 , ᫨ 梥 ࠬ ⫨祭  ୮.
      ॣ ⠪ ࠢ ਧ⠫ ࠧ஬ ᥫ. -
 祭 稪  ⨣  ६  ਧ⠫-
 ࠧ⪨  ⭮ ᪠஢. ⮬ 襥 祭 ਢ-
  襬 ࠧ ᥫ.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

           0  1  2  3  4  5  6  7  D  E  F 10
               37 37 70 70 37 37 70 60 37 70 60 5b

     ꥬ  EGA  64K

           f 10
               60 5b

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

           0  1  2  3
               2d 2d 5d 5d


 0-7     稪 ᨬ ( 2 -  EGA,  5 -  VGA)




 3?5h:       ( 1)
           (Horizontal Display Enable End Register)



     B ॣ ᮤন 祭  ⢠ ᨬ,
㬥  ਭ ࠭.  祭 ७ 稪, ࠢ-
 祭  ॣ  襭 뢮  ਧ⠫, -
 ⭮ ᪠஢.



     祭 ॣ  襭 뢮  ਧ⠫ 䠪-
  ᨬ쭮 祭  1 (⮬ 㫥 祭 ।-
  ᨬ).
      ᥣ ⠥  ᢥ稢   祭-
 稪 ࠧ⪨. 騥 ࢠ  ᪠஢ ࠢ
⪠ ࠬ, ⥬  ਧ⠫   ᪠஢ 
⪠ ࠬ.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              27 27 4f 4f 27 27 4f 4f 27 4f 4f 4f


0-7      稪 ᨬ ( 1)  ᥩ ਭ ࠭; 筮 39
          79.




 3?5h:      ( 2)
(Start Horizontal Blanking Register)



     B ⮬ ॣ । 祭 稪,  ஬ ᯮ-
 ᨣ ⥬  ਧ⠫ ( 祭 ᭮  -
祭 ஥ 稪,   c 0  祭, -
塞  饬 ਧ⠫쭮 ॣ). ஢ ࠢ -
 ࠬ 稢  ⨦ 稪 祭, ।塞
 ॣ 砫 ⥬  ਧ⠫.



      ᥣ ⠥  ᢥ稢   -
 稪 ࠧ⪨. 騥 ࢠ  ᪠஢ -
 ⪠ ࠬ, ⥬  ਧ⠫   ᪠஢
 ⪠ ࠬ.
     B 祭 ࢠ ⥬  ਧ⠫  ᫥饩 -
 ࠧ⪨   ન   室, ⢥
    ,  ࠭  祭  横
稪.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              2d 2d 5c 5c 2d 2d 59 56 2d 59 56 53

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

          0  1  2  3
              2b 2b 53 53


 0-7     祭 稪 ᨬ, c ண 稭 ࢠ -
         ⠫쭮 ⥬.




 3?5h:     ( 3)
           (End Horizontal Blanking Register)



     B    ⮣ ॣ ᮤন 祭 稪,
 ஬ ४頥 ᨣ ⥬  ਧ⠫ ( 祭
᭮  祭 ஥ 稪,   c 0 
祭, ।塞  饬 ਧ⠫쭮 ॣ). ஢
ࠢ ⪠ ࠬ 稢  ⨦  稪 祭,
।塞  ॣ 砫 ⥬  ਧ⠫.
      ⠪ ᯥ稢 ᨬ筮 ࠢ, ஥ -
 砫 ᢥ⪨  ࠭  ⨦ 稪 祭,
।  饬 ਧ⠫쭮 ॣ.    -
㯠   ᨬ   ਡ,  ᨬ (⮢ 
2), ॣ ⭮ ࠬ஢  ਧ⠫ (. ᠭ
ॣ஢ ਡ-஫)  ८ࠧ ASCII-  ᫥-
⥫  .
     ᨬ筮 ࠢ 㦨  ᨭ஭樨 砫 ᢥ⪨
 ࠭  砫 ࠡ ஥ 稪. ᫨ ⠭
᫨誮  প,  ࠩ  ᨬ 㤥 ந
⭮;  砥 ᫨誮 让 প   ᪮쪮 ᨬ-
     ந.



      訥  ॣ  ⥬  ਧ⠫ ᥣ
 ᮮ⢥騬 ⠬ ॣ 砫 ⥬  ਧ-
⠫.
      ᥣ ⠥  ᢥ稢   -
 稪 ࠧ⪨. 騥 ࢠ  ᪠஢ -
 ⪠ ࠬ, ⥬  ਧ⠫   ᪠஢
 ⪠ ࠬ.
     B 祭 ࢠ ⥬  ਧ⠫  ᫥饩 -
 ࠧ⪨  樨 ન   室, ⢥
    ,  ࠭ ⠬   祭 
横 稪.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

           0  1  2  3  4  5  6  7  D  E  F 10
               37 37 2f 2f 37 37 2d 3a 37 2d 1a 17

     ꥬ  EGA  64K

           f 10
               3a 37

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

           0  1  2  3
               2d 2d 37 37


 0-4     祭 稪, ।饣  ࢠ ⥬
          ਧ⠫. VGA ᯮ ⥫ 6 , 
         ࠧ饭  ॣ  ⭮ ஢  ਧ-
          ( 5)
 5-6     00b -  প
         01b - প   ᨬ
         10b - প   ᨬ
         11b - প   ᨬ
   7     ᯮ ⮫쪮  VGA  ஢ 奬 ( ᥣ
           ⠭  1)




 3?5h:      ( 4)
           (Start Horizontal Retrace Pulse Register)



     B ॣ ᮤন 祭 稪,  ஬ 稭 -
⭮    ப ( 祭 । 祭
஥ 稪,    0  祭, ।-
  ॣ 騩 ਧ⠫). ந室 樠 -
   ࠭ ᫥  ࠢ. ஭ 砫 ⭮ -
  । ࠢ쭮 業஢ ࠦ.
      ᥣ ⠥  ᢥ稢   -
 稪 ࠧ⪨. 騥 ࢠ  ᪠஢ -
 ⪠ ࠬ, ⥬  ਧ⠫   ᪠஢
 ⪠ ࠬ.
     প ᨣ ⭮ ਧ⠫쭮   
 ॠ c  ॣ  ⭮   
ਧ⠫.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

           0  1  2  3  4  5  6  7  D  E  F 10
               31 31 5f 5f 30 30 5e 51 30 5e 50 50

     ꥬ  EGA  64K

           f 10
               50 52

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

           0  1  2  3
               28 28 51 51


0-7      祭 稪 ᨬ,  ஬ 稭 ⭮
            ਧ⠫




 3?5h:       ( 5)
           (End Horizontal Retrace Register)




     B    ⮣ ॣ ᮤন 祭 稪,
 ஬ ४頥 ᨣ ⭮ 室   ਧ⠫ (
祭 ᭮  祭 ஥ 稪,  -
 c 0  祭, ।  饬 ਧ⠫쭮 ॣ).
஢ ࠢ ⪠ ࠬ 稢  ⨦ -
 祭, ।塞  ॣ 砫 ⥬  ਧ⠫.
      ᯮ  ᯥ祭 প ⭮ ᪠-
,  ਬ  ᨭ஭樨 ⭮ ᪠஢,
⥬  㣨 㭪権,ॡ ᨭ஭樨, ᭮ 
ᨣ 砭 ⭮ ਧ⠫쭮 ᪠஢.



      ᠬ   ॣ  ⭮ ஢ 
ਧ⠫ ᥣ  ६ 訬 ⠬ ॣ  -
 ⭮ ஢  ਧ⠫.
      ᥣ ⠥  ᢥ稢   -
祭 稪 ࠧ⪨.騥 ࢠ  ᪠஢
ࠢ ⪠ ࠬ, ⥬  ਧ⠫ ,,᪠஢-
  ⪠ ࠬ.
      VGA  ॣ ⠪ ᮤন ⥫  ॣ
 ⥬  ਧ⠫.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
祭):

          0  1  2  3  4  5  6  7  d  e  f 10
              15 15 07 07 14 14 06 60 14 06 e0 ba

     ꥬ  EGA  64:

          f  10
              60  00

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

          0  1  2  3
              6d 6d 5b 5b



    0-4     ⮢ ᮤঠ 祭 稪 ᨬ,
          ஬ 稢 ⭮ ਧ⠫쭮 ᪠஢

    5-6   00b- প
          01b-প   ᨬ
          10b-প   ᨬ
          11b-প   ᨬ

    7     砫  ⭮\⭮   (⮫쪮  EGA).
          ଠ쭮 祭  -  0.⥫   -
          ਧ⠫쭮  ப⪨   G  -
           64.⠭⭠ ᫥⥫쭮 ⢨ (ப⪠
          ᫥ ࠢ): , ⠭  0,ப⪠ 8 ᥫ,
          ⠭   1   ப⪠ 8 ᥫ.⥬ -
          砫  㢥稢  ᫥⥫쭮 ப⪨
          .筠 㭪   VGA ᯥ稢-
             ॣ ।⥫쭠 筠 ⪠
          ( 8)
          -----------------------------------------------------------
          ਬ砭
                    ᫨ ⠭  64 , 砫 -
                    祭 ⮣   1 (। ᫥-
                    ⥫쭮).
          -----------------------------------------------------------
    7      5 ॣ  ⥬  ਧ⠫ (⮫쪮 VGA).
           6 ॣ VGA  ⥬  ਧ⠫



 3?5h:   ( 6)
          (Vertical Total Register)



      쬨  ॣ 뢠 ⢮ ᪠㥬 
⨪ ப  ਮ ⭮ 室  . (訩)
 ।  ॣ ९  (. 7). VGA ⠪
 ᯮ  ,  ।  ॣ ९-
.
     ஥ 稪 뢠  ⨦ 祭, ।-
  ॣ 騩 ⨪. ᯥ祭 㭪権 ᨭ஭-
樨 ஢   ᭮뢠  ࠡ ஥ 稪.
     ⠭ ,ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                04 04 04 04 04 04 04 70 04 04 70 6c

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

            0  1  2  3
                6c 6c 6c 6c




    0-7   ᥬ  ⮢ ६  ⨪쭮 横
          (ணࠬ  稪 ப)



 3?5h:    ( 7)
           (CRT Controller Overflow Register)



      ⮬ ॣ ணࠬ 祭  ⮢ (9- 
10-) ॣ஢ ⨪쭮 ᪠஢.
     . ਢ  ᠭ ᮮ⢥ ॣ஢ .
     ⠭ ,ਭ  BIOS  㬮砭 (⭠ -
祭):

            0  1  2  3  4  5  6  7  d  e  f 10
                11 11 11 11 11 11 11 1f 11 11 1f 1f

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

            0  1  2  3
                1f 1f 1f 1f



    0     騩 ⨪
           9 ॣ 騩 ⨪ (. 6)

    1      襭 뢮 ஢  ࠭
           9 ॣ  襭 뢮 ஢  ࠭ (-
           12h)

    2     砫 ⭮    
           9 ॣ 砫 ⭮    (.
          10h)

    3     砫 ⥬  ࠬ
           9 ॣ 砫 ⥬   (. 15h).
           10  VGA ।  ॣ ᨬ쭠 ப -
          ⪨ (. 9)

    4     ࠢ ப
           9 ॣ ࠢ ப (. 18). 10 
          VGA  ॣ ᨬ쭠 ப ⪨ (. 9)

    5     ⨪ 騩 (⮫쪮 VGA)
           10 ॣ ⨪ 騩 (. 6)

    6      襭 뢮 ஢  ࠭ (⮫쪮 VGA).
           10 ॣ  襭 뢮 ஢  ࠭
          (. 12h)

    7     砫 ⭮   ࠬ (⮫쪮 VGA)
           10 ॣ 砫 ⭮    ࠬ (.
           10h)


 3?5h:     ( 8) 
           (Preset Row Scan Register)



     ࢠ  ப ࠧ⪨   ॣ 砫
 (.  ch  dh )  ᬥ饭, ।塞 १ -
 ⮣ ॣ .  ࠧ,  ॣ ᮤন 砫-
  ப ࠧ⪨ (筮 0).




      ᯮ  ⢫ 㭪樨  ப-
  䠢⭮-஢ ० (祭   ᪮ ०-
 ᥣ   㫥).
 砫    뫠   ࢮ
ᨬ  ࠭.  ᪮ ० ࠢ  ப⪨
 ⨪ ⢫ ⮫쪮   ॣ 砫 .
     祭 ⮣ ॣ   ॢ 祭 ⥪饣
ࠧ ᨬ  ⨪.  ⨦ 祭  ᨬ
( ,  ᨬ  ࠢ ப⪨ ), ந室 -
⪠   ப   ॣ ।⥫쭠 筠 ⪠
 0 (  ᨬ).
      祭 ॣ ।⥫쭠 筠 ⪠
  砫 ᫥饣 ࢠ 뢮  ࠭. ᥭ -
    ࢮ ࢠ 뢮 ப  ⠭
稭 ⢮ . ⮬ ⠭ ॣ ।-
⥫쭠 筠 ⪠  ஢  ᫥ ࢮ -
⭮ ਧ⠫쭮 ᪠஢,   祭 ⭮ 室
  .

     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                00 00 00 00 00 00 00 00 00 00 00 00



    0-4     ।⥫쭠 筠 ⪠ (ᥫ쭠 -
            ⪠)
            祭 砫쭮  ப ᥫ ᫥ -
            襭 ⭮ 室    (筮 0)

    5-6     ࠢ ⮢ ࠬ஢ (⮫쪮 VGA)
              ⥫   ॣ ਧ⠫쭮
            ⭮ ࠬ஢  ᮥ -  -
             ⮢   ⮢ .  ०-
             BIOS  VGA  ࠧ 易 . 쪮
            ० 0fh  10h  EGA  ꥬ   64
              ⥫ ,   ⮬ ⠪ 
            㭪樨  믮   ॣ EGA  -
            ⭮ ਧ⠫쭮 ஢ (.  7)

    7        ᯮ


 3?5h:    ( 9) 
           (Maximum Scan Line Register)



       ॣ ᮤন 祭, 襥    ᨬ-
  ᥫ.



      ⠭ 祭  ᨬ ⮫쪮  䠢-
-஢ ०.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                07 07 07 07 01 01 01 0d 00 00 00 00

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

            0   1   2   3
                0d  0d  0d  0d




    0-4     ᨬ쭠 ப ⪨
            祭  ᨬ  1

    5       砫 ⥬   (⮫쪮 VGA)
              10 ॣ 砫 ⥬   (.-
             15h).  9 ᯮ  ॣ ९ (.
             7).

    6        ࠢ ப (⮫쪮 VGA)
             10 ॣ ࠢ ப (. 18h). 9
            ᯮ  ॣ ९ (. 7)

    7       ८ࠧ  200 ப  400 ப (⮫쪮 VGA)
             ⠭ 祭  1  ० "200 ப" 
            ப ࠧ⪨ 뢮 ,  䥪⨢ ࠧ-
            襭 400 ப (  ଠ쭮 ⠭).
             ⠭   0 㤢 ࠧ⪨ ⬥



 3?5h:    ( ah) 
           (Cursor Start Register)



      ॣ ।  ࢮ  ப    
ࠧ饭 ᨬ. ᫥ ப । ॣ஬  -
 ( bh).



     ⠭ ॣ  祭 ⮫쪮  ࠡ  䠢⭮-
஢ ०.
      ப 稭  0. ᯮ㥬 祭   
  砫쭮  ப ( 2 ,祬 ப). 
 EGA ⠭ 祭 ॣ,ॢ 祭 ॣ
 ,ਢ  ६饭     
ࠧ饭   孨 ࠩ     (⠪ ० 
ন  VGA  뢠 ய  ).
     ⠭ BIOS  㬮砭 䠪᪨ ࠦ 祭 
ࠬ஢. 祭  ࠬ஢  ॣ஢ 砫  
 ८ࠧ BIOS  ⢨⥫ 室 祭 
 ॣ஢. ਬ,⢨⥫ 砫 祭  
० 0  5  梥⭮ ᯫ  bh -  ᮢ襭⢮-
 梥⭮ ᯫ.
     ⠭,ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                06 06 06 06 00 00 00 0b 00 00 00 00



    0-4     砫 
            祭 ࢮ 樨 ப   1

    5       ⪫祭  (⮫쪮 VGA)
             ⠭   1  ய

    6-7      ᯮ



 3?5h:    ( bh) 
           (Cursor End Register)



      ॣ ।  ᫥ ப   
ࠧ饭 ᨬ. ࢠ ப ⠭ ॣ஬ 砫
 ( ah).
       ॣ   ⠪ ᯥ稢 ᨬ-
筮 ࠢ (䠧஢)  ঠ ᨣ ࠢ
஬  ।  0  3 ᨬ ⠪⮢.



      ᯮ ⮫쪮  䠢⭮-஢ ०.
      ப 稭  0. ᯮ㥬 祭  
   砫쭮  ப ( 2 , 祬 ப).
  EGA ⠭ 祭 ॣ 砫 , ॢ-
 祭 ॣ  ,ਢ  ६饭  
   ࠧ饭   孨 ࠩ   
 (⠪ ०  ন  VGA  뢠 ய -
).
     ⠭ BIOS  㬮砭 䠪᪨ ࠦ 祭 
ࠬ஢. 祭  ࠬ஢  ॣ஢ 砫  
 ८ࠧ BIOS  ⢨⥫ 室 祭  
ॣ஢.ਬ, ⢨⥫  祭   ०
0  7  梥⭮ ᯫ  dh - ᮢ襭⢮ 梥-
⭮ ᯫ.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                07 07 07 07 00 00 00 0c 00 00 00 00




    0-4      
            祭 ᫥ ப 

    5-6     䠧஢ 
            00b -  প
            01b - প   ᨬ
            10b - প   ᨬ
            11b - প   ᨬ

    7        ᯮ



 3?5H:     ( ch) 
           (Start Address High Register)



      쬨  ॣ 砫쭮 襣  뢠
訩   祩  (⭮⥫쭮 )  ࢮ ⮡-
 ᨬ (䠢⭮-஢ ० )  ᥫ (᪨
०). ᥬ  ⮢ 室  ॣ 砫쭮 襣
 ( dh).



      ॣ ⥭/
      砫    ॠ樨  ப⪨.
. ⠪ ᠭ ॣ஢ 饭,  13h; ਧ⠫쭮 -
⭮ ࠬ஢ ਡ-஫,  3c0h; ।⥫쭠
筠 ⪠,  8.
      祭 砫쭮  ਢ    砫
᫥饣 ⭮ 室    , ᫥⥫쭮,  -
   祭 ⨢ ࢠ 뢮 ଠ樨  ࠭.
      ꥤ  ⮢    ॣ 砫
 ᥣ 뫠    ଠ  ᫮.  ࠧ,
᫨   ꥤ   (  VGA,   易-
⥫쭮 ॠ), 砫  ᥣ 뫠   
᫮. EGA ᯥ稢 ⮤ 뤥 ᮮ⢥饣   
ॣ  ⭮ ਧ⠫쭮 ஢ ( 5). VGA
뤥    ॣ ।⥫쭠 筠 ⪠
( 8).


 0-7     訩  砫쭮 
         訥 8 ⮢ ( 16-⮢ 祭), ᮤঠ騥 
         ࢮ ⮡ࠦ ᨬ ( ᥫ)




 3?5h:     ( dh)
           (Start Address Low Register)



     B ॣ 砫 訩  (8 訥 ) ᮤন -
訩   祩  (⭮⥫쭮 ) ࢮ ⮡ࠦ
ᨬ (䠢⭮-஢ ०)  ᥫ (᪨ ०). 8
 ⮢ ᯮ  ॣ 砫 訩  (
ch).



      ⥭/.
      砫    ॠ樨  ப⪨.
. ⠪ ᠭ ॣ஢ 饭,  13h; ਧ⠫쭮 -
⭮ ࠬ஢ ਡ-஫,  3c0h; ।⥫쭠
筠 ⪠,  8.
      祭 砫쭮  ਢ    砫
᫥饣 ⭮ 室    , ᫥⥫쭮,  -
   祭 ⨢ ࢠ 뢮 ଠ樨  ࠭.

      ꥤ  ⮢    ॣ 砫
 ᥣ 뫠    ଠ  ᫮.  ࠧ,
᫨   ꥤ   (  VGA,   易-
⥫쭮 ॠ), 砫  ᥣ 뫠   
᫮. EGA ᯥ稢 ⮤ 뤥 ᮮ⢥饣   
ॣ  ⭮ ਧ⠫쭮 ஢ ( 5). VGA
뤥    ॣ ।⥫쭠 筠 ⪠
( 8).


 0-7     訩  砫쭮 
         訥 8 ⮢ ( 16-⮢ 祭), ᮤঠ騥 
         ࢮ ⮡ࠦ ᨬ ( ᥫ)




 3?5h:     ( eh)
           (Cursor Location High Register)



      襣  Kypcopa 砥 8  ⮢ 
 (⭮⥫쭮 )  . 8  ⮢ 室
 ॣ 襣  Kypcopa ( fh).



      ⥭/


 0-7     訩   Kypcopa
         8  ⮢ 16-⮢ 祭   




 3?5h:     ( fh)
           (Cursor Location Low Register)



      襣  Kypcopa ᮤন 8  ⮢  -
 (⭮⥫쭮 )  . 8  ⮢ 室 
ॣ 襣  Kypcopa ( eh).

砭

      /⥭


 0-7     訩   Kypcopa
         8  ⮢ 16-⮢ 祭   




 3?5h:       
           ( 10h [])




     B ॣ ᮤন 8  ⮢,   뢠 -
祭 稪,  ஬ 뤠 ᨣ ⭮ 室   -
py.  祭 ᭮뢠  祭 稪 筮 ࠧ⪨
( c 0  祭, ।  ॣ 騩 ⨪-
). B ॣ 砫 ⭮     । 
砫    孥 ࠭ ࠭.



      祭 稪   ᥣ ⠥  ࢮ
⮡ࠦ ப ࠧ⪨. ᫥騥 ࢠ  ᪠஢-
  ⪠ ࠬ, ⥬  ࠬ, ⭮ ᪠஢
, , ᪠஢ 孥 ⪠ ࠬ.
     楩   ப ⨪쭮 ࠧ⪨.

      9 (訩) ॣ 砫 ⭮     co-
ন  ॣ  ९ ( 7). B VGA  10 ⠪
室  ॣ ९.
     祭 ॣ 砫 ⭮     ⠭-
    10h. B EGA ⥭  10h 頥 -
 ॣ 訩  ⮢ . B VGA  
 ॣ (ᢥ⮢   VGA  ন).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              e1 e1 e1 e1 e1 e1 e0 5e e1 e0 5e 5e

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

          0  1  2  3
              5e 5e 5e 5e


 0-7      8  ⮢ co 祭 稪 ॣ 砫 -
              .



 3?5h:     
           ( 10h [⥭], ⮫쪮 EGA)
           (Light Pen High Register)



      祭 ᢥ⮢  ॣ 襣  ⮢ 
頥 訥 8 ⮢   樨 (   ࠭).



       ॣ 襣  ⮢  ⢫ 
⥭  10h;   10h 뢠 ⠭ ॣ -
 ⭮    .
    ⮢   VGA  ন.


 0-7     8  ⮢ 祩 ,  ᮮ⢥ 
         ᢥ⮢   ᫥ 祭.




 3?5h:        ( 11h [])
           (Vertical Retrace End Register)



      ணࠬ  訬 ⠬, ᮤঠ騬 -
 稪,  ஬ ᭨ ᨣ ⭮ 室   .
 祭 ᭮뢠  ᮤন 稪 筮 ࠧ⪨.
稪  c 0  祭, ।  ॣ 騩
⨪ (.  6).  砫 ⭮    -
py 뢠 砫    孥 ࠭ .
       ⭮     ⠪ ⠭ 
室   ࠧ蠥 뢠  ࠬ (IRQ2).



     楩   ப ࠧ⪨.
      祭 稪   ⠥  ࢮ ᢥ-
稢 ப ࠧ⪨. ᫥騥 ࢠ  ᪠஢
 ⪠ ࠬ, ⥬  ࠬ, ⭮   
 , , ᪠஢ 孥 ⪠ ࠬ.
     祭  ⮢ ॣ  ⭮    
ᥣ 筮 祭  ⮢ ॣ 砫 ⭮ 
  .
     ⠭ ॣ  ⭮     ⢫-
    11h. B EGA ⥭  11h 頥 -
 ॣ 襣  ⮢ . (VGA  ন ᢥ-
 ).

      ᯮ짮 ஢ 뢠 ணࠬ ࠡ⪨ 뢠-
   뢠 ( 4)  ୮ ࠧ  ( 5).
 ,  뢠 뢠  믮  -
   ,   㤥 ⠭ 祭  4, ࠢ-
 1 (    䨪  ॡ, ⮡ -
祭  ⠢ ࠢ 0,   易 c ᨥ  -
樨 ﭨ). 設⢮ ஢ EGA ࠡ  ୮ ࠧ-
蠥 뢠.  뢠 室  PS/2, ᪮  
  ਬ 뢠, ᪠  ஢, a 
ଥ ᨣ.
     ஢ 뢠  奬 ᪠  ஭ ᨣ  
ਭ㤨⥫쭮 ⢫ ⥬   5 (ࠧ襭 뢠).
 ᫥⥫쭮   ᯮ짮  । -
  樨 ﭨ ⭮ 室   , 祭
ண      ࠭ 䨪 -
 EGA (. ᠭ 㫥 ॣ   㯯 譨 ॣ-
஢).
     B ணࠬ, ᯮ   뢠 IRQ2,  
।ᬮ७  ࠡ⪨ ⥫쭮 뢠, -
襣  饭 뢠.
     㣨  ।⢠ ⠪  ஢  -
 IRQ2.  । ⮣,  뢠 뫮 맢 -
 ஬, 室  㫥 ॣ ﭨ 
(.  3c2h).
      䨪樨 ﭨ ⮢ ஢ 뢠 ᫥ 㡥-
  ⮬,  ⠫    .
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              24 24 24 24 24 24 23 2e 24 23 2e 2b

     祭  ᮢ襭⢮ 梥⭮ ᯫ

          0  1  2  3
              2b 2b 2b 2b


 0-3        稪 ॣ  ⭮ 
           
   4      ஢ 뢠
          ⠭ ⮣    0 뢠 ᫥ ஢
         뢠 (IRQ2). To  ᠬ  PS/2.
   5     襭 ஢ 뢠
         ⠭ 0  ⮬  砥 ࠧ襭 ஢ 뢠-
          (IRQ2)  砫  ⭮ 室   .
   6     롮   ⠭ (⮫쪮 VGA)
          ⢮ ⠭ ଠ樨    ६
         ਧ⠫쭮 ᪠஢. 祭    ࠢ
         1  প ஢ c ⮩ 15.75 , ॡ 
         横 ⠭  祭 ਧ⠫쭮 ᪠஢.
         ଠ쭠 ⠭, ࠢ 0, ᮮ⢥ ६ ⠭-
            横 ᪠஢.
   7      ॣ஢ 0-7 (⮫쪮 VGA)
          0-7    饭    ⠭
          ⮬  1. C   ॣ஢ ⢫ ࠢ-
          㭪ﬨ ᨭ஭樨      -
          쥧 ஡, ⮬   筮 ⠭-
           1.



 3?5h:     
           ( 11h [⥭], ⮫쪮 EGA)
           (Light Pen Low Register)




      祭 ᢥ⮢  ॣ 襣  ⮢ 
頥 8  ⮢ , ।饣  ᢥ⮢ 
(    ࠭).




       ॣ 襣  ⮢  ந室 
⥭  11h.    11h ⠭ ॣ Ko-
 ⭮    .
     B VGA ᢥ⮢   ন.


 0-7     8  ⮢  ,  ᮮ⢥ 
         ᢥ⮢   ᫥ 祭.




 3?5h:     ( 12h)
           (Vertical Display Enable End Register)




      ணࠬ  訬 ⠬,   뢠-
 ⢮ ப ࠧ⪨  .  9 ணࠬ  ॣ-
pe  ९ (.  7). B VGA ᯮ  10, 
⠪ ணࠬ  ॣ ९.



     祭, 뢠  ॣ  襭 뢮 ஢,
   饣 ⢠ ப ࠧ⪨ (⠪   -
 ࠧ⪨ ⠥ 㫥).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              c7 c7 c7 c7 c7 c7 c7 5d c7 c7 5d 5d


 0-7     8  ⮢,   ᮤন 祭 ⢠ ப
         ࠧ⪨  1.




 3?5h:   ( 13h)
           (Offset Register)



     B ॣ । ꥬ   뢮  ப
ଠ樨. ꥬ    ।  ⢮ -
,  ⢮  ᫮ (. ᠭ  2 ॣ 
஭樨,  3c5h,  1). B VGA 楩 ७ 
 4 ᫮ (.  4 ॣ  ஭樨).



      ⬥,   ॣ 뢠   ਭ
ᢥ稢 ப, a , 室  ee 뢮. 
।祭 ᯥ樠쭮  ॠ樨  ப⪨  ਧ-
.  ப   ⥫쭮  ᢥ稢  ࠭
ee .  砫  ਬ  । 樨
ࢮ ᢥ稢 ᨬ (.  ch  dh).  ᫥
  ᠭ ॣ஢ ।⥫쭠 筠 ⪠
( 8)  ਧ⠫쭮 ⭮ ࠬ஢ ਡ--
஫ ( 3c0h,  13h).
     ⠭,ਭ  BIOS  㬮砭 (᭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                14 14 28 28 14 14 28 28 14 28 14 14

     ꥬ  EGA  64:

            f   10
                28   28




    0-7     饭
            ᪠ ਭ ࠭ (ࠧ  2, 4  8)



 3?5h:    ( 14h)
           (Underline Location Register)



     ஬ ⠭  ન   ࠧ-
饭 ᨬ.



      ન 㬥  0.  ⠭ ન-
   ࠭  ᨬ,  ண ࠢ 14 -
ᥫ,     ࠢ 13.
      ⠭ ન  ⥪饩   ᨬ -
 ⬥ (㯮ॡ  梥 ०  ࠭
ᮢ⨬  CGA).ન   ࠧ襭  梥 -
.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                08 08 08 08 00 00 00 0d 00 00 0d 0f

     祭  ᮢ襭⢮ 梥⭮ ᯫ

           0  1  2  3
                0f 0f 0f 0f



    0-4      ન
             ન  ।  ࠧ饭 ᨬ-
            

    5         4 (⮫쪮 VGA)
             ⠭  1 ᯥ稢   ᨬ-
            쭮 ⠪ (  祭 稪 -
            ᮢ )  ᨬ  4, ..  
              ࠧ १   ⠪

    6          (⮫쪮 VGA)
             ⠭   1  樨  ᯮ
             ᫮.  ⮣ ⮡ ᯮ짮  , -
            室   6 ॣ ࠢ ( 17h)

    7        ᯮ


 3?5h:      ( 15h)
           (Start Vertical Blanking Register)



      ணࠬ   訬 ⠬ 祭 稪,
 ஬ 稭 ⥬  . 祭 ᭮뢠 
ᮤন 稪 筮 ࠧ⪨,  0  祭,
।塞  ॣ 騩 ⨪ ( 6).  㦨
 ᪫祭 १ ᢥ稢    ⭮
室 .



      ⢥ ࢮ 祭 稪   ᥣ ਭ-
 ࢠ ᢥ稢 ப ࠧ⪨. 騥 ࢠ 
᪠஢  ⪠ ࠬ, ⥬ ,  室 
  , , ᪠஢ 孥 ⪠ ࠬ.
     楩   ப ⨪쭮 ࠧ⪨.
      9 (訩 ) ॣ 砫 ⥬   ணࠬ-
  ॣ  ९ ( 7).

      VGA ਬ   10,  ᯮ  ॣ -
ᨬ쭠 ப ⪨ (.  9).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                e0 e0 e0 e0 e0 e0 df 5e e0 df 5e 5f

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

            0   1   2   3
                5e  5e  5e  5e



    0-7     8  ⮢, ᮤঠ 祭 稪,  ஬
            稭 ⥬  



 3?5h:      ( 16h)
           (End Vertical Blanking Register)



      ணࠬ  訬 ⠬  祭 -
稪  ஬ ४頥 ⥬  . 祭 ᭮-
  ᮤন 稪 筮 ࠧ⪨,   0
 祭, ।  ॣ 騩 ⨪ (. 
6). ஬ 砫 ⭮  室    뢠 
  孥 ࠭ ࠭.



     楩   ப ⨪쭮 ࠧ⪨.
      ⢥ ࢮ 祭 稪   ᥣ ਭ-
 ࢠ ᢥ稢 ப ࠧ⪨. 騥 ࢠ 
᪠஢  ⪠ ࠬ, ⥬ ,  室 
  , , ᪠஢ 孥 ⪠ ࠬ.
      EGA 4    ⥬   ᥣ ।-
 묨 4 訬 ⠬ 砫 ⥬  .  VGA
⮫쪮     묨:  8 ⮢ ⮣ ॣ-
 ᯮ.
      ⠡ ࠬ஢ EGA  뤥  砨,  -
 ⠭  5-7. ஬  ⥬   
 . ਬ, ⠭  ० 0 祭 f0h -
 ⠭ 10h.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                f0 f0 f0 f0 f0 f0 ef 6e f0 ef 6e 0a

     祭  ᮢ襭⢮ 梥⭮ ᯫ:

            0   1   2   3
                0a  0a  0a  0a


 0-4     쪮 EGA
         5  ⮢, ᮤঠ 祭 稪,  ஬
         ४頥 ⥬  .
 0-7     쪮 VGA
         8  ⮢, ᮤঠ 祭 稪,  ஬
         ४頥 ⥬  .



 3?5h:    ( 17h)
           (Mode Control Register)



      ᯥ稢 믮 㭪権,室  -
 ᮮ⢥⢨ ᥫ ,ਡ⮢     .
㭪樨  㭪 ॣ஢   ⥫ ᫥-
⥫쭮,  ᪮ ஫  蠭.

     ⠭,ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                a3 a3 a3 a3 a2 a2 c2 a3 e3 e3 8b 8b

     ꥬ  EGA  64:

            f   10
                e3   e3




    0       প  ⨬
             ⠭   0 ࠧ    -
              ࠭:-   ப ࠧ⪨, 㣠-
            . 砫 ⥩ ᬥ饭  8.  ⨣
            ⥬ 饭  13   訬 ⮬( 0)
            稪 ப ( ।    -
             ࠧ⪨).  㭪 ᯥ稢 ᮢ⨬ -
            樨  ᪮ ० CGA
    1       롮 稪 筮 ⪨
             ⠭  ⮬  0 ந室 饭  14
            ॣ  ⮬ 1 稪 ப.  筮
             0
    2       롮 ⭮ ਧ⠫쭮 ஢
             ⠭ ⮣   0 祭 稪 ப 
            ⨪ 㢥稢   ⭮ ਧ⠫쭮
            ᪠஢ (⠭⭮ ᯮ짮).  ⠭ 1
            祭 稪 㢥稢   ஬ ਧ-
            ⠫쭮 ᪠஢. ਬ   2 㤢
            ᨬ쭮 ࠧ襭  ⨪ (1024 ப  EGA
             2048  VGA),  ନ  ப ⨪쭮
            ࠧ⪨    稪 ப  ⨪
    3        १ 
            ⠭   0 ਢ  㢥祭   
             ⠪  ᨬ  ⮢ ⠭-
             . ⠭  1 ਢ  㢥祭 
              ஬ ᨬ쭮 ⠪  ᫮ ⠭-
             
    4       ࠢ 뢮 (⮫쪮 EGA)
             ଠ쭮 ࠡ 祭  ࠢ 0. ⠭ 1
            ਢ     室 ﭨ ᮪
             ᮯ⨢
    5       ⪠ 
                ᯮ짮  ⠭  ⮢
             ᫮ ० (. ᠭ  6 ⥪饣 ॣ-
            ). ⮢ ० ⠭    祭.
             ᫮ ० ⠭   1 ਢ  饭
             15    㫥  .  ⠭-
             0   0 頥  13, ᯮ㥬  প
            楯祪 ⮢   ᪮ ० ᮪
            ࠧ襭    EGA  64
    6          ⮢ 
            롮 ⮢ ० ந室  ⠭  ⮬ -
             祭 1,  ᫮ - 0.  ० ন
            ।    ⮢묨 栬 (-
            ,ᨬ   ਡ⮢)  楯 ⮢ 
            (. 5 ⮣ ॣ).  ० ᯥ稢 -
             ⮢ , ६頥     
            , ६頥   13,   15   0. 
            VGA ন ०  ᫮ (. ॣ -
             ન,  14,  6),  ⮬ 砥 ந-
            室    樨.  ०  ᫮ 
            0  1  ⠬ 12  13 ᮮ⢥⢥
    7        
            ⠭  ⮬  1 ࠧ蠥 ⭮ ਧ⠫쭮
            ᪠஢  ⭮ ᪠஢   (ଠ쭮
            㭪樮஢). ⠭ 0 ⬥ ⭮ ᪠஢-
            


 3?5h:    ( 18h)
           (Line Compare Register)



      ணࠬ ᥬ 訬 ⠬ 祭  -
稪, ஬ 뢠 稪 ப.  祭 ᭮뢠-
  ᮤন 稪 筮 ࠧ⪨,   0 
祭, ।  ॣ 騩 ⨪ ( 6 ). 
 ॣ ࠢ ப ᯥ稢   ࠭ 
ப⪨.    ᯮ짮  ᮧ ண .
      ॣ 砫  ।   뢮 ࢮ
   ࠭.  ⨦ ।  ப -
室 饭  㫥  . ஥  ᥣ 稭-
  㫥 .



      ⢥ ࢮ 祭 稪   ᥣ ਭ-
 ࢠ ᢥ稢 ப ࠧ⪨. 騥 ࢠ 
᪠஢  ⪠ ࠬ, ⥬ ,  室 
 , , ᪠஢ 孥 ⪠ ࠬ.
     楩   ப ⨪쭮 ࠧ⪨.
      9 (訩) ॣ ࠢ ப ணࠬ  ॣ-
  ९ ( 7).  VGA ਬ   10, -
 ᯮ  ॣ ᨬ쭠 ப ⪨(.  9).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                ff ff ff ff ff ff ff ff ff ff ff ff



 0-7     8  ⮢ 祭 稪  ࠢ ப







                                                    9.        
                                               



       ॣ஢ ᪮ ஫ ⢫ -
⪠ ⮪      EGA.  ⠪ ᯮ
 ।      ⮢   ਡ--
஫  ࠧ襭 ᪮ ०.   ॣ஢ -
᪮ ஫ ।祭  ᯥ祭 ० 樨
CGA.  㭪権 ᪮ ஫ ᤥ   -
 ७ ᮡ⥩ 㭪樮஢ .
       ⮢     8-⮢ ॣ-
饫.  ᪮ ०   뢠 (  )
 ; . ⠭  ,ꥤ     ᮤ-
 ॣ஢-饫.  4 ⠪ ॣ-饫 ( -
   ), ࠭ ᮤন ᫥ ⠭-
   . ⥬ ஢  뢠
 . ᪮ ॣ-饫 ᮤঠ   
(  ⮫쪮  ),     -
஢   ,⮡  ᮤঠ ⥪騥 .  ॣ-
-饫  㦠 ⥪饥 ᮤন    -
樨  ।  ᪮   ॣ  (ਬ,-
 MOV AL,ES:[BX], ES:[BX] -뫪   EGA). 筮 䠪-
᪮ 祭,뢠 , ,  祭 
  ࠢ  ० ⥭.
      ࠢ 䨪 ⢫ ࠢ 㭪ﬨ
஢    ॣ஢-饫. ਬ,  묨 -
  믮 ᪨ 樨 , , ᪫饥 ;-
   "ﭭ"   몫; 樨 -
⮢  ᪨஢  塞. ⬥⨬  
㭪樨 ᪨஢ ⮢ ,   㭪樥 -
 ⥫ ᫥⥫쭮.




 3cah:    2 (쪮 EGA)
           (Graphics 2 Position Register)



     B EGA 室  奬 ᪮ ஫,   -
 ࠢ  栬 (⠪,  饥 ᫮  ࠢ 4).
  奬  䨪 1  䨪 2.  -
 䨪 2 롨ࠥ,    設   । -
奬 䨪 2, .e. ।,  梥⮢  ࠢ cxe-
 䨪 2 (᫥ ,   ⥫   pea-
樨 ⮩ 㭪樨, ⠪  筮    4-⮢ -
).



     奬 ᥣ  ணࠬ஢   1.
     祭 ॣ ᮤন  ⥭  ॣ VGA ࠢ-
 ਧ (.  3?ah 㯯 譨 ॣ஢).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              01 01 01 01 01 01 01 01 01 01 01 01


 0-1      
 2-7     He ᯮ




 3cch:    1 (쪮 EGA)
           (Graphics 1 Position Register)



     B EGA 室  奬 ᪮ ஫,   -
 ࠢ  栬 (⠪,  饥 ᫮  ࠢ 4).
  奬  䨪 1  䨪 2.  -
 䨪 1 롨ࠥ,    設   । -
奬 䨪 1, .e. ।,  梥⮢  ࠢ cxe-
 䨪 1 (᫥ ,   ⥫   pea-
樨 ⮩ 㭪樨, ⠪  筮    4-⮢ -
).



     奬 ᥣ  ணࠬ஢   0.
     祭 ॣ ᮤন  ⥭  ॣ VGA 蠭-
 뢮 (.  3c2h 㯯 譨 ॣ஢).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              00 00 00 00 00 00 00 00 00 00 00 00


 0-1      
 2-7     He ᯮ




 3ceh:    1  2
           (Graphics 1 and 2 Address Register)



       䨪 1  2 । ॣ  3cfh. 
 ࠭ ॣ 뤠   3ceh ( OUT).

   
  0      ⠭/
  1      襭 ⠭/
  2      ࠢ ⮢
  3      ᪨  
  4      롮 奬 ⥭
  5       
  6      蠭
  7       ࠧ祭
  8      ⮢ ᪠



 3cfh:  / ( 0)
           (Set/Reset Register)



      ⠭/   ᯮ짮  롮 ⮢
  ० "ﭭ"   ⠭.  ।
⮢   "⠭"  ᪨஢ ⠭
 1   ६   .  । ⮢  
०    ᪨஢ ⠭ 0.
        ᯮ짮   ᮫⭮ 祭
梥   (ࠣ ᪨ 㭪ﬨ)  ࠭-
 ⢠ ࠧ襭 梥⮢ ⥬ ঠ  ⭮ -
  ( ) ﭨ "祭"  "몫祭"  
 , 饭  ॣ ᪨஢ ⮢.



       ⮫쪮  ०  0 (. ᠭ ॣ
,  5).
      ࠧ ᯮ짮 ॣ ⠭/ १ pe-
 襭 ⠭/ ( 1). B ⨢ 砥  -
⮢   ⠭  뢠    
० 0. B VGA ਬ   ० 3,  ஬ ॣ -
/ ᯮ  ( 室 ⢮ pe-
 襭 ⠭/, . ॣ ).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              00 00 00 00 00 00 00 00 00 00 00 00


   0     ⠭/, ⮢  0
   1     ⠭/, ⮢  1
   2     ⠭/, ⮢  2
   3     ⠭/, ⮢  3
 4-7     He ᯮ




 3cfh:   / ( 1)
           (Enable Set/Reset Register)



      襭 ⠭/   ᯮ짮  "-
ﭭ" ࠧ襭   ⮢  , 롨ࠥ -
१ ॣ ⠭/.



       ⮫쪮  ०  0 (.  ᠭ ॣ
).
      ࠧ襭 ⠭/ १  ॣ ᫥ ⠭-
 㭪   ⠭  ॣ ⠭/.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              00 00 00 00 00 00 00 00 00 00 00 00


   0     襭 ⠭/, ⮢  0
   1     襭 ⠭/, ⮢  1
   2     襭 ⠭/, ⮢  2
   3     襭 ⠭/, ⮢  3
 4-7     He ᯮ

     ਬ ணࠬ஢
     

      ਢ  ⪨ ணࠬ, ᠭ  DOS (BASICA)
3.2. ணࠬ, ᠭ  ᥬ,   SET_RST, a ᭮
ணࠬ  ᪠ ᠭ  몥 BASIC.
     ணࠬ S_RS ᯥ稢 ⠪ ⠭ ॣ஢,   -
⮢  0 ᥣ 뢠 0.  ᮡ ⭮  
 - 稥 ⮫쪮 8 梥⮢.    ⮬  뢮
⭠ 梥⠬, a 㦭 -  梥⮬, ᬮ  -
  । 뢮 ஢ 梥⮢.
      뫮 ⬥祭 , ॣ ⠭/  祭
⮫쪮    ० 0.  ० ᯮ  楤 -
 ᨬ  ⮬   뢮  8 梥⮢. B  
६  楤 뢮   㦭⥩ ਬ ० 뢮
2.   0 筮 ᯮ   8-⮢ 権
( ⮢ ᨬ),   ६  pe  2 ਬ
 ᪨ 楤.  ⠪ ७ ᯮ짮 ०
 ⢮  몥 BASIC.

     10   CLS:KEY OFF
     20   SCREEN 9
     30   SHELL "set_rst"
     40   FOR I%=0 TO 15
     50      FOR J%=0 TO 20
     60         LINE(0+I%*20+J%,40)-(40+I%*20+J%,200),I%
     70      NEXT J%
     80   NEXT I%

     90   CIRCLE(320,170)150
     100  LOCATE 20,1
     110  FOR I%=1 TO 15
     120     COLOR I%:PRINT I%;
     130  NEXT I%

     cseg    segment 'public'
             assume  cs:cseg

     main    proc    far
     start:
             push    DS
             sub     AX,AX
             push    AX
             mov     DX,3ceh       ;  䨪 1  2
             mov     AL,0          ;  ॣ ⠭/
             out     DX,AL
             inc     DX            ;  ॣ ⠭/
             mov     AL,0000b      ;   
             out     DX,AL
             dec     DX            ;  䨪 1  2
             mov     AL,1          ;  ॣ 襭 ⠭
                                   ; 
             out     DX,AL
             inc     DX            ;  ॣ 襭 ⠭
                                   ; 
             mov     AL,0001b      ; ࠧ襭 ⮫쪮  0
             out     DX,AL         ;  ⮫쪮   1
             ret

     main    endp
     cseg    ends
             end     start
     


 3cfh:    ( 2)
           (Color Compare Register)



      ࠢ ⮢,   ᫥   , -
 ࠢ 梥, ⠭  ॣ, c ᮤন 
. 砫  ॣ ࠢ ⮢ 뢠 祭 ᮮ-
饣 梥, a ⥬ ⠥ ᮤন . 祭 ⠥-
  㤥 ࠢ 1, ᫨ 梥 ᮢ c 㪠  ॣ
ࠢ ⮢,  0 -  ⨢ 砥 (⠪ ࠧ,  
⥭   쬨 ᥫ   ஢ ࠢ 梥⮢).
 ਬ ⮫쪮  ० ⥭ 1 (. ॣ , -
 5). ᪮ 祭  ⮢    -
஢ (ࠧ㬥 ᮢ)  ᯮ짮 ॣ 
( 7).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              00 00 00 00 00 00 00 00 00 00 00 00


 0-3      ࠢ 梥
 4-8     He ᯮ




 3cfh:     ( 3)
           (Data Rotate Register)



      ᪨   믮  㭪樨.  ᫥
 ,  ,ᠭ ,  横᪨ ᤢ ࠢ
 n 権 (筮 ⠭ 0).

     ஬ ⮣, ॣ ᯥ稢 믮 ᪮ 㭪樨,
।饩 楤 ꥤ  c ⥪騬 ᮤন ॣ-
஢-饫.    থ  १, , ,
᪫饥 .



      ᯮ짮 ६  㭪権  믮
横᪨ ᤢ.
       뢠 ⢨  ०  1.   ⮫쪮
 , 뢠     .
      ⢠ 権 ᤢ  祭 ⮫쪮  ०
 0.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              00 00 00 00 00 00 00 00 00 00 00 00


 0-2     ⢮ 権. ᪨ ᤢ   n 権
         ࠢ,  0 <= n <= 7
 3-4     롮 㭪樨
         00b -    
         01b -    묨  ᮤন ॣ-饫
         10b -    묨  ᮤন ॣ-饫
         11b -  ᪫饥   묨  ᮤন
               ॣ-饫
 5-7     He ᯮ

     ਬ  ᥬ
     

     ணࠬ 뢮  ࠭ ᨬ  ଠ "ᨢ" (ணࠬ
⠭ ⨥  CTRL-Z).  ,  ᨢ
 㫨 c  横᪮ ᤢ  孨 ᥫ
   ࠢ c ࠭  । ᥫ  ᢮
,  横᪮ ᤢ   ᥫ   7 権 -
 (⠪  䥪,   ᤢ   ). ࠩ ࠢ -
ᥫ ᪨  뢠   祪  ᤢ 
  ࠢ ࠩ ( ⠭ ࠦ ᨬ ᥣ ࠭
ࠢ ᥫ , ⠪ ࠧ ⯠ 室 ᪨஢
 ).
       ᪮쪮 ப ࠧ⪨ ᤢ    ⮦ ᫮
権  ६ 뢮  ࠭  ଠ ᨢ, ᯮ짮 -
 ।     䥪⨢, 祬 ᤢ  
, ⠪  稪   ⠭   ப, a 
ᤢ 稪 ந室   横. B ⢨⥫쭮 EGA  VGA
ࠧࠡ뢠  ⢫  䥪⨢ 뢮 ᨬ-
:  ࠭  뢮  8 ⮢,     ६  ᨬ-
 ᮮ⢥ 8 ⮢;  ०  㬮砭 뢮 쬨 -
 ந室 ࠧ 䥪⨢, 祬 뢮  ᥫ  -
᪮ ०.  ᪨஢  樨   ਬ 
ய樮쭮 ࠧ c ⥬, ⮡ ⨣ 襩 䥪⨢-
. ᪨ ᤢ  ᪨஢    ᨬ-
 ࠢ   樨 ᥫ, a ᪨஢  
ᯮ짮  ࠧ  ᨬ   祩, ᫨
 室.  ,  ⥪饥 ᮤঠ  -
 祩,   ࠭    १ 㣨
ᨬ, ࠧ騬 㦥 祩.

     data     segment 'public'

     ega_seg  dw       0a000h
     row      dw       10
     col      dw       5
     cols     dw       80
     v_dots   db       14
     ital     db       'Italic'

     data     ends

     code     segment  'public'

              assume   CS:code


     main     proc     far
     start:
              push     DS
              sub      AX,AX
              push     AX
              mov      AX,data
              mov      DS,AX
              assume   DS,data
              mov      AX,10h        ;० 10h
              int      10h
              mov      AX,1130h      ;  ᨬ  ES:BP
              mov      BH,1          ; ⥪騩  ᨬ
              int      10h
              assume   ES:nothing

     agn:     mov      AH,6          ;אַ /뢮 DOS  ᮫
              mov      DL,0ffh
              int      21h
              jz      agn            ;᫨  ᨬ, 
              mov     AH,0
              cmp     AL,26          ;஢ઠ 㯫  CTRL-Z
              je      done           ;,   ணࠬ

              mul     v_dots         ;㬭  ᫮ 祪  
                                     ;ᨬ
              add     AX,BP          ; AX - ᬥ饭 । ᨬ
              call    it_out
              add     col,1
              cmp     col,80
              jb      same_row
              mov     col,0
              add     row,1
     same_row:
              jmp     agn
     done:    ret
     main     endp

     it_out   proc    near
              mov     CX,0           ; ॣ CX
              mov     SI,AX          ;砫 ᤢ ᨬ
              mov     DI,cols        ;  ⮫殢  DI 
                                     ; 쭥襣 ᯮ짮
              mov     AX,row         ;⠭ ப 
              mul     v_dots         ;㬭  ᫮ 祪/ ᥫ
                                     ; 祭 ப ᥫ
              mul     DI             ;㬭  ⢮ ⮫殢
              add     AX,col         ; ᫥ ⮫  
                                     ;祭 ᬥ饭
              mov     BX,AX          ;। ᬥ饭  BX
              push    DS
              mov     AX,0a000h      ;ᥣ,ᮤঠ騩  ॣ. 10
              mov     DS,AX
              assume  DS:pothing
              mov     DX,3ceh        ; 䨪 1  2
              mov     AL,8           ; ॣ ⮢ ᪨
              out     DX,AL
              inc     DX             ;ॣ ⮢ ᪨
              mov     AL,11111110b   ;   ࠢ 
              out     DX,AL
              dec     DX             ; 䨪 1  2
              mov     AL,3           ; ॣ.᪨  
              out     DX,AL
              inc     DX             ;ॣ ᪨  
              mov     AL,10001b      ;ᤢ      c 
                                     ;⥪騬 ᮤঠ
              out     DX,AL
              mov     CL,5           ;5 ७
     top:     mov     AL,[BX]        ;饫 
              mov     AL,ES:[SI]     ;祭 ᨬ 
              mov     [BX],AL        ;뢮   ࠭
              add     BX,DI
              inc     SI
              loop    top


              mov     AL,10000b      ; ᤢ   c ⥪騬
                                     ;ᮤন
              out     DX,AL
              mov     CL,3           ;3 ७
     mid:     mov     AL,[BX]        ;饫 
              mov     AL,ES:[SI]     ;祭 ᨬ 
              mov     [BX],AL        ;뢮   ࠭
              add     BX,DI
              inc     SI
              loop    mid
              mov     AL,10111b      ;ᤢ  7 権   c 
                                     ;⥪騬 ᮤন
              out     DX,AL
              mov     CL,6           ;6 ७
     mid:     mov     AL,[BX]        ;饫 
              mov     AL,ES:[SI]     ;祭 ᨬ 
              mov     [BX],AL        ;뢮   ࠭
              add     BX,DI
              inc     SI
              loop    mid

              pop     DS
              ret
     it_out   endp

     code     ends
              end    start
     


 3cfh:     ( 4)
           (Read Map Select Register)



     , ᮤঠ騩   ⮢ ,   ⠭ 
   c    ॡ㥬  (0, 1, 2
 3)  ॣ 롮 奬 ⥭.



      ਬ ⮫쪮  ० ⥭ 0 (. ᠭ  4
 ᫥饬 ॣ - ॣ ).  ⥭ 0  ०,
⠭ BIOS  㬮砭, ⠪   室 ᯥ樠-
 ⠭ ० ⥭.
     ⠭, ਭ  BIOS (⭠ 祭)

          0  1  2  3  4  5  6  7  d  e  f 10
              00 00 00 00 00 00 00 00 00 00 00 00


 0-1      뢠 ⮢ 
 2-7     He ᯮ




 3cfh:   ( 5)
           (Mode Register)



        ᭠砫  ࠭ ⥬  祭 5
 ॣ  䨪 1  2 ( 3ceh).
     B  ਬ  ⮤    ⮤ ⥭. -
 롮஬ ०  ⭮   ⥫쭮 
᪮ 뢮  ⥭ ᥫ.
       ( ᮢ㯭 c ॣ஬ 襭,  6)
ᯥ稢 믮 㭪権 樨  .  㭪樨
। ॣ஬   ⥫ ᫥⥫쭮 
ॣ஬   ࠢ .




      㬮砭  BIOS ᯮ ० ⥭/ 0.
         ।⢥    ,
⮡ 砫  㦥 ॣ-饫 c ⥪騬 ᮤন .
 믮  MOV, .e. ६饭    -
    (ਬ, mov AL,ES:[BX]).
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              10 10 10 10 30 30 00 10 00 00 10 10

     ꥬ  EGA  64K:

          f 10
              00 00


 0-1      
         0 - ॣ ᪨஢  ਬ  ࠧ襭 
         饭   ⮢ , a ॣ ⮢ ᪨
         ᯮ   饭   ࠧ襭 ᥫ 
         . , 頥   , 뢠 
          ࠧ襭  ( ᪫祭  砥, 
          ।祭  ⠭/,  0)  ᥫ.
          ࠧ, c   mov  ES:[BX],9 㤥 ந-
           10000001b  ࠧ襭 ⮢  (-
          ⮫쪮   쬮 ᥫ), a ⠫ - "⪫-
         祭".
         1 - ন ॣ஢-饫 뢠  . 
         ⮢  ᮮ⢥ 8-⮢ ॣ-饫, -
           ⥭   .  ଠ쭮 㭪樮-
          ᭠砫 ந室 ꥤ  ॣ஢-饫
          , a ⥬    ,    砥 pe-
          ०  ⮫쪮  ॣ஢-饫.  ०
         , ᫨ 室 㧨 ॣ-饫  
               . ਬ, 
         ࠦ 饣 짮  ࠭  ᯮ㥬
            뢠  MOV   ⠭ ॣ-
         ஢ ᬥ 梥⮢ ( १뢠   
          ࠭)
         2 -  ⮢ ᪨ ਬ  ࠧ襭  -
          ⠭ ⤥ ᥫ  । ⮢ -
         ca, 뢠 .   । 祭 뢠-
          梥.  ࠧ,  mov ES:[BX],4 ।
          梥  4  ࠧ襭 ᥫ.  ⠪ ०
         , ᯮ㥬  IBM BASICA 3.2 (. ਬ ணࠬ-
          ॣ 襭 ⠭/,  1)
         3 - 쪮 VGA. 祭 ॣ ⠭/ ᪨
         㬭 ( )  祭 ॣ ⮢ ᪨
         ( 8)  뢠  㪠  . 
          ०   ॡ ⠭ ॣ -
         襭 ⠭/
   2     ⮢  (⮫쪮 VGA)
         ⠭  ⮬  1 ਢ    室 ஫-
          ᮪  ᮯ⨢.  ⠭ ⮫쪮
          ஢ ⨪,  ⨢ 砥 ᥣ 
         ⠭ 0
   3      ⥭
         0 -  , ⠭  ⥭   , ।-
          ⠭ ᮮ⢥饣  , । 
         ॣ 롮 奬 ⥭
         1 -  , ⠭  ⥭ ,  , ।-
          ⠭ ⮢,   ᮮ⢥⢮ 梥⠬,
         ।  ॣ ࠢ  (.  2). -
          ⥭ ⠪   ﭨ ॣ  ࠧ祭
         (.  7)
   4     /
          ⠭ ⮣   1   c 묨 ᠬ
         ᮮ⢥  ⮢ 栬 (  - -
          栬). ⠭   ⮫쪮  ࠡ -
          ஫. 筮 १  2 ॣ   yc-
         ⠭ ࠡ ॣ ⥫ ᫥⥫쭮
          ⠪  奬 (. ॣ ⥫ ᫥⥫쭮).
         ᠭ 奬  룮  ࠡ  䠢⭮--
         ஢ ० ( ਡ   , ᨬ 
         㣮),  樨 ᪨ ० CGA   樨
         ⮢       砥, ᫨ ࠧ yc-
         ⠭   64K
   5      
            ⠭,  c 묨 ࠬ  -
         ᪮  뢠   ⮢  ਡ-
         ஫. 筮  c 묨 ࠬ 뢠
           ⮢ .  ࠧ,  ᫥⥫-
          ᯮ   , ।騥  梥, ࠢ-
          ࠫ쭮-᫥⥫ ८ࠧ⥫  
         ࠧ ᫥⥫ ⮪.  奬 ࠡ -
          㫨஢ 梥 ᪨ ० CGA ( ᫥-
         ⥫   梥 ।   ࠧ
         ⮢ 栬)
   6      256 ⮢ (⮫쪮 VGA)
         㭪樮஢ 筮 ॣ , ᠭ  
         5 . ᫥ ८ࠧ   ᫥⥫  
          ८ࠧ  ᨢ 2x4   ਡ-஫.
            ᥫ ।⠢  ᫥⥫묨
         ⠬  ࠫ ⮪ (  ᫥-
         ⥫쭮   4 ࠫ ⮪),   㭪-
         権 ਡ-஫  ॠ  ० 256 梥⮢
   7     He ᯮ



 3cfh:   ( 6)
           (Miscallaneous Register)



     ஬ 蠭 ( ⠭ c ॣ஬ ,  5)
  㭪樨 樨 ᪮ ஫.
 㭪樨 믮 ॣ஬   ⥫ -
⥫쭮  ॣ஬  ࠢ .


   0     ᪨ 
         B  ⠭ 1  ᪮ ०,  0 - 
         䠢⭮-஢. B ᪮ ० 뤠  
          ᨬ c  ⮢   ࠧ蠥 -
           ᥫ
   1     ᮥ  ஢  
         ᯮ ᮢ⭮ c ⮬ 4 ॣ  ( 5). He-
            뢠   ⮢ , -
          -   .    砫 
         ⥬ 饭 襣   ⮬ 13  15 ( -
         ᨬ  ⢮   ꥬ ). B pe-
          訥     0  2 (।-
             䠪᪮ ﭨ 襣  
           祭 ० /), a 訥 -  -
          1  3. B ᭮ ࠭⢥   ⮢ -
          ᯮ ᫥  묨, 䠪᪨ 㤢 䥪-
         ⨢ ᭮ ࠭⢮   ꥬ  
         64K
 2-3      
         ⨬ ⠬ ⠭   ꥬ  
         ( אַ 㯠   ). ன  ᯫ 
           ⠭  祭 00b, ⠪  
         䫨 樨    ࠬ
         00b A000h/128K
         01b A000h/64K
         10b B000h/32K
         11b B800h/32K
 4-7     He ᯮ



 3cfh:    ( 7)
           (Color Don't Care)




     ⠭  ॣ   ஢ 㪠 -
   ⥭   EGA c  ॣ ࠢ ⮢
  ० ⥭ 1 (. ॣ ,  5  ॣ ࠢ -
⮢,  2).
     B ॣ   ⠭ 祭 fh  ᮣᮢ
梥 ⮫쪮 १ ॣ ࠢ ⮢ (⠭ 0 ਢ  ᮢ-
  梥⮢).


   0      ⠭  ᮤন 㫥 ⮢  ।-
          ᮢ騬 c ⠭ ॣ ࠢ ⮢
          ⮩ 
   1      ⠭  ᮤন ࢮ ⮢  ।-
          ᮢ騬 c ⠭ ॣ ࠢ ⮢
          ⮩ 
   2      ⠭  ᮤন ன ⮢  ।-
          ᮢ騬 c ⠭ ॣ ࠢ ⮢
          ⮩ 
   3      ⠭  ᮤন 쥩 ⮢  ।-
          ᮢ騬 c ⠭ ॣ ࠢ ⮢
          ⮩ 
 4-7     He ᯮ




 3cfh:    ( 8)
           (Bit Mask Register)




      ⮢ ᪨ ࠧ蠥  頥 䨪 
  ⮢  ⮢ , 뢠 . B ० 뢮
᪮ ࠦ  ᥫ   ࠧ襭 䨪
⮫쪮  . 襭 䨪樨 ࠧ ⢠ ⮢ -
  뢮 ᨬ ( ᪮ ० )  ਧ⠫ .



     騥    饭  ॣ-饫  cox-
࠭.  㭪 믮 : ।   ந
⥭.
     B ०  1 ⠭ ॣ   祭.


 0-7     ⠭    ⮢ 1     祭-
         .  ⠭ 0  饭. ਬ, ⠭
         0 頥     , ⠭  ffh
           ﭨ  쬨 ⮢.






                                                   10.        
                                        -            





      ਡ-஫ ࠢ । 梥⮢ 
ᮮ⢥騬 ࠬ 梥⮢,᪠஢ ࠬ  梥⮬ 䮭. 
  㪠뢠  㬥樨,ॣ 筮 ॠ  
3c1h.  ᮡ  ⢥  out  
ணࠬ஢ ॣ 筮 ⠪ ,  㣨 室 ॣ.
 ᪨ ०    筮 ।  ਡ-
஫    ᫥⥫ ⮢ ⮪ ( -
⮪  ᮮ⢥饩 ⮢  ).   ⠪ 
祪 ࠫ쭮-᫥⥫ ८ࠧ⥫ ய᪠ 
   ᫥⥫쭮 ⮪. ਡ-஫ ᯮ
4-⮢ 祭  । 梥 뢮  ࠭ ࠦ-
 ( 砥 VGA  4 ⥫ ﭭ   -
祭 8-⮢ 祭 ।  ). ⥫ ᫥-
⥫쭮 㦠 ࠫ쭮-᫥⥫ ८ࠧ⥫ 
 ⠪  ᨬ (8  9 ⮢),᫨ ⮢ 
 뫨 ᮥ.  .10.1 ந஢ ᠭ ᫥-
⥫쭮 ⢨.




 3c0h:   
           (Attribute Address Register)



       ਡ ।,   ॣ஢  -
   3c0h.    ॣ 뢠
  3c0h.  裡  ⥬,   3c0h ࠧ ॣ஬ 
 ஢묨 ॣࠬ,ॣ  ᥣ   -
஢. 믮  IN  ࢮ ॣ ﭨ 
  3bah (஬)    3dah (梥⭮0 ᥣ ⠭-
 ॣ  㭪 .

      


0-fh         
10          ࠢ 
11           
12          襭 ⮢ 
13          ਧ⠫쭮 ⭮ ࠬ஢
14          롮  (⮫쪮 VGA)




     ⠭ ॣ஢ ਡ  ந ⮫쪮  ६
⭮ 室   . 祭  5   0 (
㯠  EGA),  ⮣   ஢ ॣ  
믮 ⠭  祭 1 ᫥ 襭 ⠭.  VGA 祭 ॣ஢ ਡ   ⠭   3c1h.




    0-4      ਡ
              㥬 ॣ

    5        
            ⠭ 1 뢠  ஥ ॣ஢ EGA 
             ; 0- 㯠

    6-7      ᯮ



                                         ࠫ쭮-
                ᫥⥫         ᫥⥫
                ⮪ ⮢              ८ࠧ⥫
             Ŀ
  Ĵ ¿
                                          
                                             
            Ŀ                               
   Ĵ ¿      Ŀ
                                          
                                   Ĵ
           Ŀ                            ⮢ 
    Ĵ ¿  Ŀ    3   
                                         
       Ŀ           Ĵ        
     Ĵ ¿ Ŀ     2            
      ٳ                        
          Ĵ          
        Ŀ  1               
                                       
        Ĵ        
                   0             
                         
                               ஢
                               
               ᨣ
                            
       Ŀ             ࠢ
                     
           Ĵ            Ĭ஬
祭                      
  梥      EGA
                 
     Ŀ VGA
                                             Ġ
            Ĵ      Ŀ   
                                        ᨣ
            Ĵ          
                                               ࠢ
                                          ஬
             R'G'B'R G B                          ¿
                                                  
                                                  
          ॣ                         
                                     Ĵ
                                                   
                                                   
                                                   
                                                   
                                                   
                                                     R G B

                                                  ॣ 


                  .10.1. ⮪     



 3c0h:   ( 0 - fh) 
           (Palette Register)



      EGA   16 ॣ஢ ࠢ 䠪᪨ 梥⮬,뢮
 ࠭  ᮮ⢥饬   (樨 ⮢ ).
  0  15 ࠢ ᮮ⢥⢥ 梥⠬, ஭㬥஢묨
 0  15. 奬 । 梥  㬮砭 砥  ⮬, 
㬬 ஢  梥⮢   १ 梥,।⠢騩 
ᥡ ᬥ   梥⮢. ਬ, 梥 1 (ᨭ) + 梥 2 (-
)  梥 3 (㡮, ..  ᨭ  ). ᭮-
 梥 _ ᨭ,  , ࠧ ଠ -
 ᫥⥫쭮 1,2,4.   8  15   ન
⥭ 梥⮢ 0-7.  ᮢ襭⢮ 梥⭮ ᯫ (ECD) -
 ᫥騩 冷 梥⮢:


Ŀ
                    R'G'B'R G B        祭      
                                                         
                     5 4 3 2 1 0                      
Ĵ
                                                         
                  0 0 0 0 0 0            0         
                   0 0 0 0 0 1            1         
                 0 0 0 0 1 0            1         
 㡮                0 0 0 0 1 1            1         
                 0 0 0 1 0 0            1         
               0 0 0 1 0 1            1         
 筥             0 0 0 1 1 0            1         
                   0 0 0 1 1 1            1         
 -            1 1 1 0 0 0            1         
 ⫮-ᨭ           1 1 1 0 0 1            1         
 ⫮-         1 1 1 0 1 0            1         
 ⫮-㡮         1 1 1 0 1 1            1         
 ⫮-         1 1 1 1 0 0            1         
 ⫮-       1 1 1 1 0 1            1         
                  1 1 1 1 1 0            1         
 મ-             1 1 1 1 1 1            1         
                                                         





     ⨥ ᭮ (RGB)   (R'G'B') 梥⮢ ⭮
⮫쪮  ࠬ ஢ ⨯.    VGA ਬ-
 - ८ࠧ⥫ ()  ८ࠧ -
   ᮮ⢥騥 梥. ⢨⥫쭮  -
 ⠪ ,   ,  ன 롨 䠪᪨ 梥;
ॣ  㦠 ⮫쪮  ।   ஥
  ⠡ 梥⮢ (砫    । १ -
 롮 ,  14h).
      VGA  ० 13h ⠭ ॣ஢  뢠  -
⢨.  ⮬ ० 8-⮢ 祭,।騥 梥, ।
।⢥  .
     ⠭ ॣ஢   ⢫ ⮫쪮  ६
⭮ 室   .
      VGA ॣ ਡ   ⠭   3c1h.
     ⠭, ਭ  BIOS  㬮砭(⭠ -
): 
      
      -                        ECD
                    <64K              >64 
      
       0-3  4-5  6  7   d-e  f  10  f  10 0-3
      
                                        
                                              
        0   00   00  00  00  00  00  00 00  00 00
        1   01   13  17  08  01  08  01 08  01 01
        2   02   15  17  08  02  00  00 00  02 02
        3   03   17  17  08  03  00  00 00  03 03
        4   04   02  17  08  04  18  04 18  04 04
        5   05   04  17  08  05  18  17 18  05 05
        6   06   06  17  08  06  00  00 00  14 14
        7   07   07  17  10  10  00  00 00  07 07
        8   10   10  17  10  10  00  00 00  38 38
        9   11   11  17  18  11  08  01 08  39 39
        a   12   12  17  18  12  00  00 00  3a 3a
        b   13   13  17  18  13  00  00 00  3b 3b
        c   14   14  17  18  14  00  04 00  3c 3c
        d   15   15  17  18  15  18  07 18  3d 3d
        e   16   16  17  18  16  00  00 00  3e 3e
        f   17   17  17  18  17  00  00 00  3f 3f
      
  EGA

   0        ᭮  (⭮ ᯫ ()/ECD)
   1        ᭮  (/ECD)
   2        ᭮  (/ECD)
   3          (ECD)  ᭮ (஬)
   4          (ECD)  મ (  প -
            )
   5          (ECD)
   6-7       ᯮ


  VGA

   0-5      
            롮 梥    ॣ஢  (  ᯮ-
             256 18-⮢ ॣ஢ 梥, ᯥ稢 롮 
            262144 梥⮢). 祭     ॣ-
             ࠢ  ( 10h)  ॣ 롮 
            ( 14h)
   6-7       ᯮ



 3C0H:    ( 10h) 
           (Mode Control Register)



      롨ࠥ ࠪ⨪  ० ਡ-஫.



      3   ᯮ짮  ࠧ襭 ० 栭 
ࠡ ᪨ ⥬  ᪨ ०. 栭 ॠ
⥬ ।  梥⮢  ,     
ய 梥. ਬ, 栭 梥  15 뢠 ।-
 梥⮢ 15  8.
      VGA 祭 ॣ஢ ਡ     ⠭  
3c1h.
     ⠭, ਭ  BIOS  㬮砭 ⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                08 08 08 08 01 01 01 0e 01 01 0b 01




    0       ᪨/䠢⭮-஢ ०
            1-᪨ ०
            0-䠢⭮-᪨ ०
    1       ஬ ᯫ/
            1-। ਡ⮢ ஬ ᯫ
            0-। ਡ⮢ 
    2       襭  ᥢ䨪
             ᯮ  ० 7  প 9-⮢ ᥢ-
            ᪨ ᨬ  ஬ ᯫ.  -
                 9- 窠 ᨬ c0h-dfh 㤥
            ⠪  ,   8- 窠,  ⠪ ࠧ ᥢ-
            ᪨ ᨬ 㤥 ந 뢭 -
            ᪠ . ᫨ ⠭ 0,  9- 窠 㤥 -
            ந 梥⮬ 䮭
    3       襭 栭/⠭ મ 䮭
             ⢫ ४祭  襭 મ.
            䮭  栭 ᨬ, 뢠 ⮬ 7  -
              䠢⭮-஢ ० ( ন  CGA
            㭪 롮  16 梥⮢ 䮭,  8 梥⮢ 䮭 
             栭). ⠭ 1  ⮬  ਢ
             ।  7   栭 ( ⠪ -
             ⢫ 栭  ᪨ ०). -
               祭 0 ।  7   襭-
             મ 䮭 ( ।頥 栭  ᪨
            ०)
    4        ᯮ
    5       ⨬ ⭮ ࠬ஢ (⮫쪮 VGA)
             ⠭   1  ॣ ⭮ ࠬ-
             (. 13h) ᫥ ࠢ ப   ⭮
            室    ⠭ 0 ( 砭 -
             室     ॣ ⭮ ࠬ-
              㦠 ணࠬ 祭).  -
             ࠬ஢ ⮫쪮 孥    -
             ࠧ ࠭.  ⠭ 0 ॣ஬ -
            ⭮ ࠬ஢  ࠢ ப

    6       ⨬ ⭮ ࠬ஢(⮫쪮 VGA)
             ⠭   1  ᥫ ᮮ⢥ 8 -
            ⠬ (ਬ  ० 13h)  祭  256 梥⮢.
              㣨 ०    ⠭  0

    7       롮 5,4 (⮫쪮 VGA)
              ⮣  ⢫ ࠢ ﭨ
            4  5 ⮢ ॣ஢   롮 祭 梥 
            ⠡ .  ⠭ 1   4  5 ॣ஢ -
             ( 0-fh)  ⠬ 0  1 ॣ 뤥-
             梥 ( 14h).  ⠭ 0 祭  ॣ-
            ஢    ।  



 3C0H:   ( 11h)
           (Overscan Color Register)



      롨ࠥ મ ஭ 襪  ஬⮪ ६
 ࢠ ⭮ ᪠஢  ⥬. ⮬ -
 ॣ  訢 ࠬ.



     祭,ਭ  㬮砭   ० BIOS,  0
().
      ࠡ EGA  ० ᮪ ࠧ襭 ⮫쪮 ᯮ짮
୮ 梥  뢠 ࠧ 襭. ६ ࠭祭
樨 EGA  ECD ॡ 砫 ᪠஢ ࠬ  ⮣, 
    ࠭ ࠭.
     ஬ ⮣, ࠬ, 砥  ० 襣 ࠧ襭, 
ᨫ쭮 室  ࠭ ⨢  ࠭.   ࠧ
࠭祭 ᯮ짮 ࠬ  VGA.
      VGA 祭 ॣ஢ ਡ   ⠭  
3c1h.

  EGA

    0       ᭮  (⭮ ᯫ ()/ECD)
    1       ᭮  (/ECD)
    2       ᭮  (/ECD)
    3         (ECD)  ᭮  (஬)
    4         (ECD)  મ (  প -
            )
    5         (ECD)
    6-7      ᯮ

  VGA

    0-7     
            롮 梥    ॣ஢  (  ᯮ-
             256 18-⮢ ॣ஢ 梥, ᯥ稢 -
              262144 梥⮢)



 3C0H:     ( 12h) 
           (Color Plane Enable Register)



      । ⮢ ,   ᯮ짮.
   ᯮ짮  ࠭祭 㯠  ⮢ 栬 
० ᮢ⨬   砥 ⠭ ꥬ   EGA
 64.

砭

      VGA 祭 ॣ஢ ਡ   ⠭   3c1h.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

            0  1  2  3  4  5  6  7  d  e  f 10
                0f 0f 0f 0f 03 03 01 0f 0f 0f 05 05

     ꥬ  EGA  64K

          f 10
              05 0f


   0      ⠭ 1 ࠧ襭 ⮢  0
   1      ⠭ 1 ࠧ襭 ⮢  1
   2      ⠭ 1 ࠧ襭 ⮢  2
   3      ⠭ 1 ࠧ襭 ⮢  3
 4-5     ﭨ  MUX
           ਬ  ⨪.   ਡ
         (࠭ c   ⮢)    ⮢ 4 
         5   ﭨ  1 (. 譨 ॣ, 
         3?ah)  ᮮ⢥⢨ c ਢ :

         祭      EGA             VGA
             
         00b       /ᨭ     2/ 0
         01b       ᨭ/     5/ 4
         10b       /   3/ 1
         11b       N/A               7/ 6
             

 6-7     He ᯮ




 3C0h:    
           ( 13h)
           (Horizontal PEL Panninig Register)

Oᠭ

      ᤢ ࠦ    ⢮ ᥫ.
 㭪 ਬ   ᪮ ०, ⠪   䠢⭮-
஢.



       ⠭ ⮫쪮   ⭮ 室
  .
     C  ॣ 饭 (. ॣ ,  3?5h, 
13h)   ࠭ ᪠ ਭ ࠭,   䨧-
 ਭ. C  ॣ 砫  (.  3?5h, 
ch  dh)   ⢫ ᤢ ࠦ   ࠢ  
ᨬ.  ॣ   ⠪ ਬ  ⠭ c ⮢
ᤢ   ⢫ ⭮ ࠬ஢ ࠢ 
.  ᮥ ⮢  ॣ ᤢ 㦠 16
 32 ᥫ   쬨,  ॣ 砫  
뫠 ⮫쪮   ன  ⢥ ᨬ. B ⮬ 砥
 EGA  ॣ  ⭮ ஢  ਧ-
⠫ (.  3?5h,  5), a  VGA - ॣ ।⥫쭠 -
 ⪠ (. 3?5h,  8).
       ᪮  梥⭮ ० ࠭祭 ᨬ 8 -
ﬨ. B ஬ 䠢⭮-஢ ० (7) ᤢ   ࠢ
ᨬ 9 ᥫ.
     B VGA 祭 ॣ஢ ਡ   ⠭   3c1h.
      ,  ० 7  ० 0-3  VGA  稭
祭 8 (1000b)  0.
     ⠭, ਭ  BIOS  㬮砭 (⭠ -
):

          0  1  2  3  4  5  6  7  d  e  f 10
              00 00 00 00 00 00 00 00 00 00 00 00



 0-3     ਧ⠫쭮 ⭮ ࠬ஢
         B   뢠 ⢮ ⮢  ᤢ 
         ( ࠦ ࠢ)  ᮮ⢥⢨ co ᫥饩
         ⠡楩:
                               
         祭  7,0-3 VGA  13h VGA    Bce ⠫
                
         000b         1         0            0
         001b         2        N/A           1
         010b         3         1            2
         011b         4        N/A           3
         100b         5         2            4
         101b         6        N/A           5
         110b         7         3            6
         111b         8        N/A           7
        1000b         0        N/A          N/A
                




 3C0h:    ( 14h, ⮫쪮 VGA)
           (Color Select Register)




     C  ⮣ ॣ 㢥稢  롮 梥  VGA.
     ॣࠬ   祭 
8-⭮ 祭 ⢠ 梥⮢   (256 梥⮢).  -
  ॣ  (4  5)   ⠪ 饭 ⠬ 0
 1 ॣ 롮 .
     C   ॣ     祭 -
po.



      롮     ॣ .  ࠡ-
⠥ ⠪ ,  奬  ᥣ/ᬥ饭.   롮
 4 ஢  64 梥 (ॣ ࠢ ,  10h,  -
 7 ⠭ 0)   16 ஢  16 梥⮢ (ॣ ࠢ-
 ,  10h,   7 ⠭ 1).
       ࠡ⠥  ० 13h.
        ⠭   3c1h.


 0-1     S-梥 4 - 5
          ⠭   7 ॣ ࠢ  ਡ
         (.  10h) 祭 1 뢠   
         4  5 ॣ஢ 
 2-3     S_梥 6 - 7
           ᯮ  ⢥  ⮢ ॣ -
         
 4-7     He ᯮ





                11. P E   C T P       P O - A H A  O  O B O  O
                     P E O  P A  O B A T E     (       V G A)




       ८ࠧ 梥⮢ ଠ VGA  筮 
  ᨣ  . 㭪樮쭮 ॣ  祭 宦
c ॣࠬ .  ᮤন 256 ॣ஢ PEL ,  
 ।  梥 (⨬ ⠭ ।  VGA  256
㯭 梥⮢).  ॣ PEL    18 ⮢, 
6 ⮢   ᭮ 梥 - ,   ᨭ.  -
, 饥 ⢮ ந 梥⮢ ⠢ 262144.
     Bce 梥  ० 13h   । १ ॣ PEL
 .  16 梥⮢ ० 13h ⠭ BIOS ᮢ-
騬 c 梥⠬ ⠫ 16-梥 ०.  ᫥ 16 梥⮢,
।⠢ ࠢ୮  ⥭ ண 梥. ⠢訥
224 梥  ப ᯥ 梥⮢,  ᯮᮡ 㤮⢮
ࠪ᪨  ॡ 짮⥫. B 裡 c ⨬ (a ⠪ 
裡 c ࠭祭 ࠧ饩 ᯮᮡ ࠭) 筮  -
 ८। 祭 ॣ஢   ० 13h.
        ᯮ짮  256 梥⮢  㣨
० १ ॣ 롮  ( 14h,  㯯 ॣ஢ -
). ᬮ  ,  ६   ⢮ ⮫쪮
16 梥⮢, ⢮᪮ ணࠬ஢  ॢ   
㬥. ਬ,  ணࠬ஢   16 ॣ -
⥭ ண 梥, a   ᫥   16 梥⮢ -
 梥  ⥯ 㢥稢 મ.   ᤥ -
 騬  祭 ⥬  㬠  祭 મ c -
饭 梥⮬  c  㢥祭 祭 ॣ 롮 -
.   ࠧ,  ⮫쪮    梥   ,
 ந  ⨯樮 䥪, ⠪,  -
騩 ᭥,   娢騥 쪨 (ਬ, 栭 ).



 3C7h (쪮 VGA):   
          (DAC State Register)




      뢠 ⮣ ॣ   । ﭨ :
० ⥭  .      ⠭ , ⮫쪮
⮫쪮 ᫨ ॣ 室  ० ⥭,  ᠭ -  ०
.



      㯥 ⮫쪮  ⥭.


 0-1     00b -  室  ० ⥭
         11b -  室  ० 
 2-7     १ࢨ஢




 3C7h (쪮 VGA)   PEL 
(PEL Address Read Mode)



     C  ⮣ ॣ 롨ࠥ ॣ PEL   ⥭
(ॣ PEL    롨ࠥ c  ॣ  -
  PEL ,  3c8h). ᫥ 롮 ॣ PEL   
3c9h (ॣ PEL )   ⠭  6-⮢ 祭.
ࢮ 祭 । મ ᭮ 梥, ஥ - ,
 - ᨭ.




      㯥 ⮫쪮  .
     ᫥ 뢠 祭, ᮮ⢥ ६ ᭮ 梥⠬,
祭 ॣ PEL  ⮬᪨ 㢥稢   ᫥-
饣 ॣ PEL .
     ᫨ 横 ⥭ 뢠 - 㣨 ᮬ ⥭ 
 (ਬ,  १ 㣮 ॣ PEL ),  -
騩 横   믮   뢠 ﭨ  ﭨ ⠡-
 梥⮢ .
      ⥭   뢠   ॣ PEL  (-
  ᯮ祭 梥⮢ ⠡),  ॣ PEL   -
뢠   .
      ﭨ   ᯮ짮  । ⥪-
饣 ﭨ  (⥭  ).
     뢠   饭  祭 横 ⥭.
     ⥭    ᫥饣 ॣ PEL  
 ࠧᥭ  ६    240 ᥪ㭤.


 0-7      ॣ PEL  ( 0  255),   
         ⠭



 3C8h (쪮 VGA):   PEL 
          (PEL Address Write Mode)



     C  ⮣ ॣ 롨ࠥ ॣ PEL   
(롮 ॣ PEL   ⥭ ⢫ c  ॣ
 ⥭ PEL ,  3c7h). ᫥ 롮 ॣ PEL  
 3c9h (ॣ PEL )   ᠭ  6-⮢ -
. ࢮ 祭 । મ ᭮ 梥, ஥ - -
,  - ᨭ.



     ᫥  祭, ᮮ⢥ ६ ᭮ 梥⠬, -
 ॣ PEL  ⮬᪨ 㢥稢   ᫥饣
ॣ PEL .
     ᫨ 横 ⥭ 뢠 - 㣨 ᮬ ⥭ 
 (ਬ,  १ 㣮 ॣ PEL ),  -
騩 横   믮   뢠 ﭨ  ﭨ ⠡-
 梥⮢ .
         뢠 ⥭  ॣ PEL  (-
  ᯮ祭 梥⮢ ⠡),  ॣ PEL   -
뢠   .
      ﭨ   ᯮ짮  । ⥪-
饣 ﭨ  (⥭  ).
     뢠   饭  祭 横 .
     ⥭    ᫥饣 ॣ PEL  
 ࠧᥭ  ६    240 ᥪ㭤.


 0-7      ॣ PEL  ( 0  255),   
         ᠭ



 3C9h (쪮 VGA):  PEL 
          (PEL Data Register)




      뢠  뢠 ⥪饥 祭  ⠡
梥⮢ .  横 砥  ᥡ  ᫥⥫  
⥭  ⮬  6-⮢ 祭 મ 梥 - ᭮,
, ᨭ ᮮ⢥⢥.
     ᫨ 横   ⥭ 뢠 㣨 ᮬ ⥭ 
 (ਬ,  १ 㣮 ॣ PEL ),  ⥪-
騩 横   믮     ﭨ ⠡ 梥⮢
.

      ᬥ訢  ⥭  . ⥭ ॣ PEL -
  믮 ⮫쪮  ० ⥭, a  - ⮫쪮  pe-
 .
      ﭨ    ᯮ짮  । ⥪-
饣 ०  (⥭  ).
     뢠   饭  祭 横 ⥭  .
     ⥭    ᫥饣 ॣ PEL  
 ࠧᥭ  ६    240 ᥪ㭤.
     He ᫥   뢠  ॣ PEL   祭
ࢠ ⨢ 뢮  ࠭.    ந
  ਮ ⭮ 室   ,   ⥬ ࠭
(.  5 ॣ  ஭樨 ⥫ ᫥⥫쭮,
 3c5h,  1).


 0-5     祭 梥  ⥭  
 6-7     १ࢨ஢



 3C6h (쪮 VGA):   PEL
          (Pel Mask Register)



     BIOS 樠  ॣ 祭 ffh  ࠧ  -
 ०. 祭 ॣ    ਪ ண-
ࠬ.



      ⪠  ﭨ ॣ  뢥  
⠡ 梥⮢ .


 0-7     १ࢨ஢  ७ ᯮ짮.





                       12. O   A C T    C O X P A H E H     B I O S





     ࠧ,  BIOS ⢫ ⠭ ०,  ॣ-
pax ⠭ 祭  㬮砭, ᮮ⢥騥 ࠭
०, a ⠪ ந室 ᬥ  ᨬ, ⠭ 
㬮砭. । 祭, ⠭  㬮砭, -
, ⠪  設⢮ ॣ஢ EGA    ⠭.  -
⥫⢮   騬 ९⢨, ᫨  ணࠬ
짮⥫ ॡ ४ ०,   ணࠬ  -
  ࠧ 䨣.  BIOS EGA । -
쪮 ⥩  , c     
஡, 易 c  EGA  ४祭 ०.
       0040:0a8h ᮤন 㪠⥫, 뢠 ⥫
 ࠭,  뫠  ⠡ (⠡ ࠭),
  ᥬ 㪠⥫    ᫮.  ࢮ 樠-
樨  ࠭ ᯮ  BIOS EGA, a ee ⢥
 뫠   ࠬ஢ (ᯮ㥬 㪠⥫ 
 0000:0000). ᫨ 室 ஢  ࠭, ee
᫥ ᪮஢    , a ⥬  ﭨ ⥫
࠭  樨   .
     ⠢騬 ⠡ ࠭ :

 ⥫  ࠬ஢.  ⠡,  ன ᮤঠ-
  1   ⠭ ॣ஢ , ᯮ㥬  㬮砭. B 
         ⠪ ᮤঠ  ०, ।祭  -
         ७ ᯮ짮 EGA (० c 8  ch). ⠫쭮 ⠡
         ࠬ஢ 㤥 ᠭ .  ⠡  -
          ⮬  ࠭, ॡ㥬  㭪樮-
          EGA.

 ⥫ ᪨ ࠭塞 .
  2   ⠡  ⠭ 짮⥫ 
         뫪  256-⮢  , 뢠  ࠭-
          .  ⠭ ०   ࠭ -
            ᠭ ⠭  ॣ  
         ॣ   (16 ⮢, c 0  15 -  ॣ -
           ⥬ - ॣ  ). ⠭  
         ⠡ ࠬ஢, ⮬  뢠 㭪樨 
         .

 ᯮ⥫ ⥫ 䠢⭮-஢ .
  3   ⠡  뫪  ⠡,  ன
         ᮤন ᠭ 䠢⭮-஢  ᨬ. B
          ᬥ ०  ᨬ   㦠 
         ⮢  2 EGA  ⥬ 㦠  ᨬ, ।-
         塞 짮⥫,  ⮬ 砥, ᫨ 祭 뢠
          ⫨筮  0 (0000:0000). ᫨  ᨬ 짮-
         ⥫  ।  ⠡  0 (.e. । 
         ⠡  c 1  3) ᫥  ⠭ 䠢⭮--
         ஢ ०  ⢮  ⠡ .

 ᯮ⥫ ⥫ ᪮ .
  4   ⠡  뫪  ⠡,  ன
         ᮤন ᠭ  ᪨ ᨬ (筮
         ।饬  ⠡). ᫨ 祭  -
          0000:0000, ᯮ  ᨬ  ,  ⨢-
          砥 ਬ  ᨬ, ।塞 짮-
         ⥫. B ⫨稥  ᯮ⥫쭮 ⥫ 䠢⭮--
             砥   । ⮫쪮 
         ⠡.

 ᯮ⥫ ⥫ ࠭ (⮫쪮 VGA).
  5 ।祭  ७ ⠡ ᮢ VGA.  
         㭪樨 ⮣ 㪠⥫ 宦  ⥫ ࠭.

 ᫮ 5-7  ᯮ  EGA,  ᫮ 6-7 -  VGA.


    ࠧ   -
 , 祬 ᠬ ⥫ ࠭.  뫠   
  ᫥ .

  ন ࠧ ⠡, ᯥ稢 ee 쭥襥 ७.
 

 ⥫   権 ᯫ
  2 B ⮬  ᮤন 뫪  祭 ࠧ襭 -
         権 ஢. 祭 筮 ᯮ    -
           ஢ન   ᪥ ⥬. 
         ⠡ 室   ⥬, ᯮ ᯮ⥫-
          ⥫ ࠭.
 ன ᯮ⥫ ⥫ 䠢⭮-஢ .
  3 B ⮬  ᮤন 뫪  ⠡ ᠭ ᯮ-
         ⥫쭮  ᨬ ( ᭮   512
         ᨬ).  ᬥ ०   ᨬ 㦠
          ⮢  2  c ஬ ᨬ, ।
         १ ᯮ⥫ ⥫ 䠢⭮-஢ ०.
          ࠧ ਬ ண 㪠⥫  
           512 । 짮⥫ ᨬ, ⠭-
           㬮砭 ( ⫨稥  256 ᨬ, ।
         짮⥫,  256 ᨬ   EGA).  ⠭
         祭 0000:0000  ⠡ .
 ⥫  ࠬ஢  짮⥫.
  4   ᮤন 뫪  ⠡  ⠭
         . 筮 ॣ ਡ ⠭  ᮮ⢥-
          c 楩 ࠬ஢, a ॣ  -  ᮮ⢥⢨ co
         ஥묨 祭ﬨ ,  y 짮⥫  -
           ⠭   㣨 ॣ஢ ( ࠭
         ०) c   ࠬ஢ .  ⠭
         祭 0000:0000  .


 


     B ⠡ ࠬ஢ ᮤঠ ⠭   ਠ -
 ०. ਬ, ० 0 200-筮 ᯫ ।⠢ ⤥-
  ⮬ ⠡, ⫨  ० 0  350-筮 ᯫ.
     64  co ᫥饩 ன:

Ŀ
饭               ᠭ                               
Ĵ
   0     1   ᫮ 뢮 ⮫殢                           
   1     1   ᫮ 뢮 ப                              
   2     1     ࠧ饭 ᨬ  ᥫ       
   3     1 ᫮    ࠭ ( )          
   5     1    ᨭ஭樨                                
   6     1   ᪨஢                                 
   7     1   롮  ᨬ                          
   8     1                                           
                                                                    
   9     1    蠭                                  
Ĵ
                 ⠭ ॣ஢                              
Ĵ
   ah    1   騩 ਧ⠫                               
   bh    1    襭 뢮  ਧ⠫             
   ch    1   砫 ⥬  ਧ⠫                   
   dh    1    ⥬  ਧ⠫                    
   eh    1   砫 ⭮ ஢  ਧ⠫       
   fh    1    ⭮ ஢  ਧ⠫        
  10h    1   騩 ⨪                                 
  11h    1   ९                                       
  12h    1   ।⥫쭠 筠 ⪠                 
  13h    1   ᨬ쭠 ப ⪨                      
  14h    1   砫 Kypcopa                                     
  15h    1    Kypcopa                                      
  16h    1   He ᯮ                                    
  17h    1      - # -                                           

  18h    1      - # -                                           
  19h    1      - # -                                           
  1ah    1   砫 ⭮                    
  1bh    1    ⭮                     
  1ch    1    襭 뢮 ஢                     
  1dh    1   饭                                           
  1eh    1    ન                            
  1fh    1   砫 ⥬                           
  20h    1    ⥬                            
  21h    1   ࠢ                                  
  22h    1   ࠢ ப                                    
Ĵ
               ⠭ ॣ஢ ਡ                           
Ĵ
  23h    1     0                                  
  24h    1     1                                  
  25h    1     2                                  
  26h    1     3                                  
  27h    1     4                                  
  28h    1     5                                  
  29h    1     6                                  
  2ah    1     7                                  
  2bh    1     8                                  
  2ch    1     9                                  
  2dh    1     10                                 
  2eh    1     11                                 
  2fh    1     12                                 
  30h    1     13                                 
  31h    1     14                                 
  32h    1     15                                 
  33h    1   ࠢ                                  
  34h    1                                             
  35h    1   襭 ⮢                         
  36h    1   ਧ⠫쭮 ࠬ஢                     
Ĵ
            ᪮ ஫                          
Ĵ
  37h    1   ⠭/                                    
  38h    1   襭 ⠭/                        
  39h    1   ࠢ ⮢                                   
  3ah    1   ᪨                                   
  3bh    1   롮 奬 ⥭                                 
  3ch    1                                          
  3dh    1   蠭                                          
  3eh    1    ࠧ祭                                   
  3fh    1   ⮢ ᪠                                      


      ⠭ ॣ஢ 砫   Kypcopa a ⠡ ࠬ஢
ᯮ ᮢ ⠭  䠢⭮-஢ ० ᮪
ࠧ襭: BIOS ८ࠧ 8- ⠭ ॣ  14-  16-
 .
     B ⠡ ࠬ஢ EGA    23 ०, ᯮ-
  ᫥饬 浪: 0-3  ० CGA (200 ப), 4-eh, fh-
10h -  ⠭    64K, fh-10h -  ⠭-
   64K  0-3  ० 襭 梥⭮ 
(ECD).
      ,  ० c 8  ch 祭  ⠡,  
 㯭 (।祭  ७ ᯮ짮 BIOS). B VGA
  6 ⥫ ⮢:  ० 0  1 ( ⢥
   ਠ VGA 40 ⮫殢  400 ப  䠢⭮-
஢ ०);  ० 2  3 ( ⢥    -
ਠ VGA 80 ⮫殢  400 ப  䠢⭮-஢ ०); ०
7 (400 ப, 䠢⭮-஢ ०, ஬ ᯫ)  11h-13h.


  - 


     B ⥫쭮 䠢⭮-஢ ⠡ (㥬 १ cox-
࠭塞   BIOS) । ⠭  㬮砭
짮⥫᪨ -१ 䠢⭮-஢  ᨬ. -
祭 ⠡ ( ᮮ⢥騩  ᨬ) 㦠 ⮬-
᪨  ⠭  ०.

Ŀ
饭                  ᠭ                            
Ĵ
   0     1   ᨬ  ப ࠧ⪨  ⠡  
   1     1    (0-3 EGA, 0-7 VGA)                   
   2     1 ᫮᫮ ᨬ  ⠡                      
   4     1 ᫮ ASCII-, ।  ⠡      
   6      ⠡    640K            
          ᫮                                                     
  10     1   ᨬ  ப ࠧ⪨  뢮     
                ࠭.  ࠧ  ⫨  ⠭-
                  ⠡ ,  ⮬ 砥 BIOS 믮   
                ய樮쭮 ⠡஢ ᨬ.  yc-   
                ⠭ 祭 ffh BIOS ᯮ ᨬ쭮    
                 ࠧ ᨬ                            
 11-?    1  祭  ०, ন  ⠡-   
                楩. ᫥     -  
                祭 ffh.                                          


      ⥫쭠 ⠡ 䠢⭮-஢ ०, ਢ-
 ,   ⫨.


Ŀ
饭                  ᠭ                            
Ĵ
   0     1   ᨬ  ப ࠧ⪨  ⠡  
   1     1    (0-3 EGA, 0-7 VGA)                   
   2     1  He ᯮ                                     
   3      ⠡    640K            
          ᫮                                                     
  7-?    1  祭  ०, ন  ⠡-   
                楩. ᫥     -  
                祭 ffh.                                          




   


     B ⥫쭮 ⠡ ᪮ ० (㥬 १
࠭塞   BIOS) । ⠭  㬮-
砭 짮⥫᪨ -१  ᪨ ᨬ. -
祭 ⠡ ( ᮮ⢥騩  ᨬ) 㦠 ⮬-
᪨   ᬥ ०.

Ŀ
饭                  ᠭ                            
Ĵ
   0     1  ப ᨬ, 뢮  ࠭                 
   1     1 ᫮ ᨬ  ப ࠧ⪨  ⠡  
   3      ⠡    640K            
          ᫮                                                     
  7-?    1  祭  ०, ন  ⠡-   
                楩. ᫥     -  
                祭 ffh.                                          



   


     B ⠡  権 ᯫ ᮤঠ ⨬ 
樨 .   /ᯫ  ஢
: 0 -  ᯫ, 1 - MDA, 2 - CGA, 4 - 梥⭮ EGA, 5 - ஬-
 EGA, 6 - PGC (ᨮ ᪨ ஫), 7 - -
஬ VGA, 8 - 梥⭮ VGA.  ⨬  ନ 
塠⮢ .  ࠧ,  4,1 砥 
᪮䫨⭮ ⢮ 梥⭮ EGA  MDA.


Ŀ
饭                  ᠭ                            
Ĵ
   0     1  ᫮ ⮢ (=2*᫮ ⮢+4)        
   1     1   ᨨ ⠡                                
   2     1  ᨬ쭮 ⨬             
   3     1  He ᯮ                                     
  4-?    2 ⠳ 1 . . .  N                           



   


      ࠬ஢  짮⥫  ⢨ -
 롮  ਡ-஫      -
⠭ ०. ⢨ ⠡ 宦  ⢨ ⥫쭮 ⠡-
  䨪樨  ᨬ.  ॣ ਡ - 
 祭 ⮢ 祭   ணࠬ㥬 pe-
 ਡ. B ⠡    ॣ 室  
( -  ᭮,  -     -  ᨭ).

Ŀ
饭                  ᠭ                            
Ĵ
   0     1    ન                                 
                 1 - ન ᯮ ﭭ;           
                 0 - ᯮ ⠭⭠ ⠭  㬮砭 
                 ffh - ન  ਬ                  
   1     1   He ᯮ                                     
   1     1 ᫮ He ᯮ                                     
   1     1 ᫮ ᫮ ⠭ ॣ஢ ਡ            
   1     1 ᫮  㥬 ॣ ਡ              
   8       ⠡ ॣ஢ ਡ                   
          ᫮                                                     
  ch     1 ᫮ ᫮ ⠭ ॣ஢                 
  eh     1 ᫮  㥬 ॣ                   
 10h       ⠡ ॣ஢                         
          ᫮                                                     
14h-?    1   ᮪ ०, ন ⠡栬 .   
                 祭 ᫥    ffh       
                                                                    



  ,   BIOS

        ⠡栬  㪠⥫ BIOS ⠪ ࠭  ᥣ-
 40h  ଠ樮 . 饭 ࢮ  (INFO) -
 87h,  ண (INFO_3) - 88h. INFO  ᫥ .

     

   0     1 砥  樨  CGA ( ப, ।-
         祭  ,ਭ 㪢쭮)

   1     1 砥,  EGA ᯮ ஬ 

   2     1 ॢ BIOS   砭 ⭮ 室  
          । 믮 । 㭪権 (᫥ 
         ᯮ짮 BIOS ⠭  ⮬  0)

   3     1 砥,  EGA   ⨢ ᯫ

   4      ᯮ

   5-6    ⠭ : 0 - 64, 1 - 128, 2 - 192 
         3 - 256

   7     1 砥,  訩   ⠭  ᫥ -
         ⠭ ०


     INFO_3  ᫥ :

     

   0-3   ࠦ ⠭ ४⥫    (᭮
           ᯫ)

   4-7   ⠭ ⮢ ࠢ ਧ (.ᠭ ॣ
         ࠢ ਧ)



  EGA


      ⫨稥  VGA  EGA  ।ᬮ७ 맮 BIOS  
ଠ樨  ﭨ .  ଠ   祭
 ⥩ , १ࢨ஢  ⥬,  㪠-
 .

   ᯮ     祭
    (⭠-
   
   祭)

   0040:049          ⨢ ०
   0040:049          ᫮ ⮫殢 ᨬ
   0040:04           ⥪饩 ࠭
   0040:04          砫 ⥪饩 ࠭   
   0040:050           ࠭ 
      0040:050       ࠭ 0:   ப/⮫
      0040:052       ࠭ 1:   ப/⮫
      0040:054       ࠭ 2:   ப/⮫
      0040:056       ࠭ 3:   ப/⮫
      0040:058       ࠭ 4:   ப/⮫
      0040:05       ࠭ 5:   ப/⮫
      0040:05       ࠭ 6:   ப/⮫
      0040:05       ࠭ 7:   ப/⮫
   0040:060           : 砫/
   0040:062           ࠭
   0040:063             /뢮
   0040:065          騩 ०
   0040:066          騩 梥
   0040:084          ᫮ ᨬ ப  ࠭ -1
   0040:085          ⮢  ᨬ
   0040:087          ଠ樮  INFO
   0040:088          ଠ樮  INFO_3
   0040:0A8          ⥫   ࠭




                                                       13.       


       ᥬ ᪨ ⥬, 騬  த,
  ᪮쪨 ⨯ ᯫ.  롮  
  業  㣨  ஬ ᮢ⨬-
   EGA.  ன⢠   ᤥ ࠢ
롮 , ஬ ⮣,   ࠡ . ⢮
ᯫ । ᪮쪨 䠪ࠬ: ⨯ 䥩 (-
, ஢  ), ᪮ ࠧ⪨  ࠧ -
祪.    䠪஢ 易. ᠭ 稭
 㦤 䥩    .
     CGA ন  , ⠪  RGB . 
 砥  ᨣ (⠪ ,    ⥫).
 ᨣ ନ ⥬ ᬥ襭 ᨣ ᭮, -
   梥⮢ (ᮢ⭮  ଠ樥  ᨭ஭樨) 
,᫥ 祣   ᨣ  ࠧ.२-
⢮   ᨣ 砥  ⮬,    ।
ॡ ᥣ  .  奬   ॠ樨 -
 ࠭樨,  ஡, 易  ⢥ ࠧ-
 梥⮢ ࠭稢  ࠧ襭. EGA   -
।⢥ ন  .
     RGB   ᨣ ᭮, ᨭ   梥
 ࠧ . ⭮ ᯫ  ECD  ஢묨 RGB -
ࠬ  ਭ ᨣ      -
 ᨣ    ⠪⮢ ࠧꥬ.  梥⭮ ᯫ 
IBM ᯮ  ⠪ ࠧꥬ  । 梥⮢  ⢥-
  । મ.  ECD ਬ 6 ⠪⮢ (  2
  梥).  ⠪ -  । 梥   -
 ,  ன ⠪ । । 祭 મ.
 ᨣ   । 4 ⥯ મ ( -
襩   ⢨ ᨣ)   梥.  梥,
     4 મ,  १  ⠢
64 ⥭(444).
      ,  ஬   IBM ஥ 
⠪  奬,   RGB ,   ⮫쪮  ⠪
 梥    મ.  ᯮ짮 ஢ ஢
㢥祭 ᫠ 㯭 梥⮢ ॡ 㢥祭 ⢠
⠪⮢ ࠧꥬ.
     C 室 ਨ  ᮭ ஢ PS/2 ଠ IBM
।⠢   RGB .  ,    ஢
RGB , ᨣ ᭮, ᨭ   梥⮢ ।-
    ६ ࠧ ,   ⮬ મ ᨣ
। ஢ 殮    . ᫥⢨
⮣ ॡ ᥣ    । 梥⮢.  ࠧ,
  । 讣 ⢠ 梥⮢ 奬 ᮥ -
 RGB  ࠧ , 祬  ஢ . -
 ⢮ ந 梥⮢   ᯫ  ਭ-
樯 ࠭筮   ⮫쪮   ନ-
஢ ࠧ ஢ 殮  ﬨ 祫᪮
 ਭ ࠧ稥 ⥭.
        RGB ࠪਧ ⮫쪮  䥩
 ᯫ  .  ஬ 䥩   ࠧ
⮤ ନ஢ ࠦ.   ⠭  
ᮭ ஢ ਬ ⮤ ஢ ࠧ⪨ -
࠭  뢮 ࠦ.  ᯫ  ஢ ࠧ⪮ 
஭  (  -  ஬ ᯫ) ᫥⥫쭮
६ (᪠)  孮 . 孮 㡪
 ᫮ ,  稭 ᢥ  
  ஭ ( ஥ ६ ᫥ ⮣).   -
   몫  ॡ㥬 窥, 뢠 ⥬ ᠬ ᢥ-
祭    ⥬.
      梥 ᯫ ᫮    ᥭ  ᯮ-
ᮡ   ਠ. ਠ ⮨  ᭮,ᨭ  -
 祪  (  ஭ 襪) ,
ᯮ   㣮쭨.  ⥬   ᥭ
 ᯮ ⨪쭮 ᯮ ᭮, -
  ᨭ ஢ ( ஭ 誨, ᯮ -
⠫쭮).   ᯮᮡ ᥭ  
ਠ . ਢ  ᮮ⢥⢨ 祪   ஭
襪 ,  ⥫쭮 ਥ஢ 襪,  箬
ᢥ稢   ⮫쪮  梥.
     ஭  ᪠ 孮 ࠭, ⮣ -
஬,  ࠢ ᫥ ࠢ  ᢥ . ਮ 饭
   ஭ ࠭ 뢠  ᪠஢ 
ਧ⠫.   設⢥ 砥  ⭮ ᪠஢ -
஭ 誨   몫祭  ।饭 뢮 
⨢  ࠭ ( ,   㦥 뢥 -
 ࠦ).   뢠 ⥬  ਧ-
⠫. , ।⢥ 㦠  뢮 ଠ-
樨,  ன 誨   祭   ⭮ ᪠-
஢, 뢠 ࠬ. ⢥ ⨢  뢮
  ࠭,   뢮 ᪮ ࠦ
 ᨬ.
     ,  ன     몫  
뢮  ப (  祪), । ࠧ-
 ᯮᮡ   ਧ⠫.
     襭  ਧ⠫ 쭮  㢥.  ⮣
筮    祪.  ᮢ⨬
 EGA 奬 ॠ   ⮣ ⮤ 132-⮫殢 ०.
筮, 窨     ⮬ 筮 ,
⮡  뫮 ࠧ ⤥ ᥫ.  ਠ, ..
ࠧ ஬⪮  ᪥ ࠭, 뢠 蠣 祪. 筮,
祬  蠣 祪, ⥬  ⢮ ᯫ.  ,
 ࠧ 祪   । 筮 ࠧ -
, ⠪  ᥫ    ᪮쪨 ਠ.  -
ᥫ  ᨬ  梥   㦥 ᭮, -
  㡮 ᢥ祭  裡  ⥬,  ᢥ饭 
 ਠ.
     ᫥ 砭 筮 ࠧ⪨ ॠ ⭮ ᪠-
   ਧ⠫  室  ᫥ ப (
⭮ ⮫쪮   १ ࠬ; ⥫  -
 㣨   १묨, ⠪  뢮 
࠭ ⮫쪮   ப   祭  -
 ॡ  室   ).  ᫥⥫쭮
⢨ த  砭 ᫥ ப ࠭, ᫥
祣 稭  室   . ⢫ ⭮
室    筮 ⭮ ਧ⠫쭮 ᪠஢-
: ஭ 誨   祭 ⮫쪮  让 -
 ࠬ    몫祭 (⥬  ࠭)  -
    孥  㣫 ࠭. 
ᯮᮡ  ⨪    稭:  ப 
 ஢. 襭  ப   -
⢮ ப, 뢮   . ⢮ 뢮 ப -
  ⠪   㢥祭 ६ 뢮   
࠭ (㬥襭  ஢).   ⥫쭮 㬥-
  ஢   栭 ࠦ. 設⢮
 稭  栭   ஢  60 ,
⮬    ਬ ,   60 
( ஬ ᯫ - 50 ,  ECD - 60 ,   ᯫ PS/2 -
 ஢   60  70 ).
     樥 設⢠ ᯫ ᪠ 讥 -
  ப  ஢.  ⮢⥫ ᪠ 
த  , ᯮᮡ ⮬᪨ ࠨ-
  ப  .  ⥫⢮  
㢥७,    㤥   ࠡ 
騬 ࠬ,   ॠ  ᮪ .
筮,  ࠭⨨ ,  , ࠧࠡ⠭  -
஢ 䥩,    筮  ஢ 
 ਬ, ⠪    ᯮᮡ ᣥ஢  -
 梥⮢ ( ⭮ 䨪樨 䥩). ८ࠧ
஢ ᨣ    筮 , ⮬
 饥 ६    ਬ  -
  ᯫ.   ᯫ  ᯥ稢
᪮ ࠧ⪨, 室  ᪫祭 
栭.  㢥祭 ᪮ ࠧ⪨ 讥 ⢮ -
ᥫ   ᢥ祭  祭  ࢠ ६,
㢥稢 ⥬ ᠬ ࠧ ᯮᮡ.  ECD ন
 ᪮ ࠧ⪨: 15.75  (⠪ ,    ⠭⭮
梥⭮ ᯫ)  21.8 .    
ᯥ稢 ன  ᪮ ࠧ⪨  ᪮ ࠧ-
 .  設⢥ ⠪ ᯫ ᨬ쭠 ᪮
ࠧ⪨ ⨣ 30    ⮬ ন ࠧ襭 
900550 祪.    ᯮ  ᪮
ࠧ⪨  裡  ਬ ᢥ饣 . -
ᢥ騩  ⠥ 㦤  த⥫쭮
६ ᫥ 祭 ஭ 箬,  ⮬  
栭 ࠭,   㤭  ⥭ ࠭  ६
ப⪨. ஬ ᯫ  ਬ஬ ᯫ  -
ᢥ騬 ஬,    ਬ ᢥ-
騩    梥 ᯫ.
     筮    ᯫ     祭 ਮ
⭮ ᪠஢  ப   ,    -  祭
䠪᪮ ᪠஢. ᫨  ந     
६,   ⠥,   ࠭  "᭥". 
EGA ⥫ ᫥⥫쭮  ࠢ 㯮   
  ⠪ ࠧ, ⮡ ᪫  ࠧ -
䫨 権.  ⢨⥫쭮 ॣ ⥫ ᫥-
⥫쭮  ࠧ       ᪠஢-
,  ⮫쪮  ⮬ 砥, ᫨        -
頥.   ᪠஢  ० 襣 ࠧ襭 
      ६  ⠪⮢  ,  
 -  ⠢訩  ⠪.  奬, 筮,   -
짮  ᪮  ,     ६ ࠧ
䥪⨢, 祬  ⭮ ᪠஢.
      롮 梥⭮  ० ᥣ ᫥ ।,
 ᯫ 室:   ஢. ⥬ ᫥
ᤥ 롮   ஬  ஬  䨪-
஢ ᪮ ࠧ⪨. ᫥ 롮 ⨯  ᫥
㡥   ⢥, ᮡ ᫨  । ᯮ-
 筮 . 室 ஢, ⪮   ᨬ-
  筮 ࠡ祣 ﭨ( 筮   ࠧ).
஢ 稥   ࠭    ⢥
ᢥ饭 ( ।饭   ਬ ࠢ-
 ࠭); ஢, ࠢ쭮  ந 梥.  -
 ᠬ ⮭ , ⠪   ⨥ 祭 㠫-
. ஢ ᯥਬ  ࠧ묨 ன ॣ஢.
஬ ⮣, ᯮ짮 騬 ணࠬ ᯥ祭
 ஢ન 梥⮢  䠢⭮-஢   ᪮ ०,
⠪    ⫨ (ᮡ, ᫨ ணࠬ ᯮ
ᬥ ).


                                                       14.       
                                                




  EGA BIOS



        BIOS EGA ᯮ ४ᨢ 맮.
  ४ᨨ  쭮 ।.   ਬ஢
 ணࠬ 㧪 ୠ⨢ . ᫥ 㧪
ୠ⨢  ⠭ ० ⢫ १
맮 INT 10h. 뤥ঠ  ⠪ ᫥⥫쭮 ⢨
  室  ᠭ ணࠬ, 
騥 묨 묨 㭪ﬨ (ਬ, ᫨ ணࠬ
짮⥫  ᪠ ⮫쪮 ᫥ 䠪᪮  맮-
   䨪樨 訡  ).   ⮤  ᯥ祭
⠪ ࠡ 砥  ᫥饬: ᮧ    ६
 㫥 砫 祭, 㢥稢 祭 । 맮
ணࠬ    㬥  ࠧ  室  ணࠬ.
  짮⥫ ணࠬ  뢠 ⮫쪮 
㫥 祭 ६ (᫨  室 ﭭ -
뢠 ணࠬ, ᫥ ᮧ ७ ⥪).

     add       recur,1
     pushf
     call      old_int10
     sub       recur,1
     cmp       recur,0
     jne       skip_new
     call      new_routine
     skip_new: iret


   0  2


      ᮧ ᪨ ணࠬ   㯮  
  䥪⨢  ਬ ० 2,   -
ন BIOS (. ᠭ ॣ ).    
⢨   ० 0 ᫥ 砭 ࠡ ᪮ -
ࠬ, ⠪   ० 1  2 BIOS   ﭨ ⢨ -
४ 뢮  ࠭. ஬ ⮣, ᫥ ⠭ 祭 
ॣ஢ EGA,     (⠪ ,  ॣ -
 ᪠).
     ⫠ ᪨ ணࠬ  ० 1  2   祭
᫮. ⮬  ࠢ 㤥 ࠧࠡ ணࠬ -
祭  ० 0,  ⥬, ᫥ ⮣,  設⢮ ணࠬ -
 ⫠, ஢   ࠡ  ० 2.  
ନ ணࠬ ᮢ  ⠭ ०     -
ணࠬ  㯭 ᥬ   ᯥ祭   -
  䨪樨.



    



     ணࠬ 짮⥫ ᥣ  ⠭  -
  ન  ⮬ ᮡ⥩ EGA (. ਢ 
ᠭ ⠡ ୠ⨢ ⮢).  ࠢ 㤥
 室 ⠭  砫 ࠡ ணࠬ  ⠭
 ᫥  襭 (  ᮡ   ணࠬ,  -
  맢  㣨 ணࠬ, ਬ ⥪⮢ 
  0.  ࠢ  믮   ணࠬ (
 ⮫쪮  ணࠬ, ࠡ  EGA).



 : ,    


          ⠭    
ન ᫥ ⠪ ࠭  ⠭ ० 뢮 
࠭.  , ᫨  ணࠬ ᯮ ⠭ ०(-
 祭   ࠪ⨪, ⠪    ணࠬ,
   ᪥ ।,  ᯫ 室  ⥪-
 ०   ࠭ 稭 뢮 "", ᫨ ࠭ ᯫ
 ⠭  ᪨ ०). ᭮,   ᫥ 
 -  訩   ०.
      ⠭ ०  EGA  ணࠬ ⠭ 
7,⮡   ﭨ  ᯫ (ਬ, १
ணࠬ  ⠢      ४-
祭  ⥪⮢  ०    ᨬ  १
࠭). ᫨ ணࠬ 짮⥫ ந  ⥪饣
०,  訩   ⮬ ⠭,   ⠭ ०-
  ந室 쬠 ࠭  ( ࠭  
 襭,     直 "").  裡
 ⨬ ᫥ । ⠭ ०  訩  (
  AND mode,7fh).
     ࠭ ﭨ EGA  ४祭 ०   -
㤭   稭. -,   祭 䠢⭮-
஢ ० ந室 㧪 ⠡   ⮢ 
3,   ⭮ ४祭  ᪨ ०   -
  砩묨 祭ﬨ ( 筮 ࠦ
묨 窠  ୮ 䮭). ⮣     
ᯮ㥬 ࠭  ⥬  ᮤন ⮢
 3 (      ). -, -
 ᮤন ॣ஢-饫.  ⥫⢮ ࠥ 
஫,   ணࠬ  뢠 뢠 㣮 ணࠬ.
ন ॣ஢-饫   ࠭  ᯮ㥬
  ࠧ  ᫥  ᮬ 뢮  ࠭
(   ᤥ   ०  1; . ᠭ ॣ-
  ᪮ ஫).



  



      ᪮쪮 ᯮᮡ  ।   
 EGA. ⥩訩  砥  ஢થ 饫   -
ᮬ C000:0000h (砫  EGA). BIOS ⢫  ७
 饩  ⥬ ન  祭 aa55h  ࠧ ,
१ࢨ஢  . ⮬   ணࠬ, 믮-
 ⠪  㭪.  BIOS PS/2  ᯮ C000:0000h, 
ᠭ ⮤   砥  ਬ.
     ࠧ 訩 ⮤ 砥  ஢થ  㭪樨 BIOS,
 㭨묨  䨣樨  EGA  VGA. ० ᥣ
᫥ ⠭  BX 0  ਬ 맮 BIOS 1ah   ⨯
⨢ ( ⠭,   ⨢) . ᫨ 祭
BL  ⮬ 㤥 7,   砥,  ⢮ ஬
 VGA, ᫨ 祭 BL ࠢ 8,  梥⭮  VGA (
 饭  㣨 祭,. ᠭ 맮 㭪樨 1ah).
࠭ 㫥 祭 BX ᫥,   ⥬  ন-
 맮 BIOS 1ah.
     ⠪, ᫨ 㭪 1ah  ন, 室 ਬ -
, 㭨  EGA.  맮  12h.  BL ᫥ -
 祭 10h;  ⮬ 砥 㤥 饭   ࠧ -
⠭   ⠭  EGA. , ᫨  BL
⠥ 祭 10h,  ⠭  EGA ( 稨 EGA 祭
BL 㤥 室  ।  0  3).
     ਢ  ணࠬ 믮 ᠭ ᫥⥫-
 ⢨  뢮 ଠ  ⠭ ⨢ 
(VGA  EGA).  , ᫨ VGA  ⠭  ᯮ-
⥫ , ᮮ饭  ⮬  뤠.  䨣
   ⥬ ஢ન 祭  ॣ  ᫥ 맮
㭪樨 1ah.

     ਬ  몥 ᥬ
     

     cr      equ  13         ; ⪨
     lf      equ  10         ;ॢ ப

     B_RAM   segment at 40h
             org  87h
                  info  db  ?

     B_RAM   tnds

     data    segment public
             no_support  db  ' ⨢ EGA  VGA',cr,lf
             clr_ega     db  ' ⨢ 梥⭮ EGA',cr,lf
             clr_vga     db  ' ⨢ 梥⭮ VGA',cr,lf
             mono_ega    db  ' ⨢ ஬ EGA',cr,lf
             mono_vga    db  ' ⨢ ஬ VGA',cr,lf

     data    ends


     code    segment public
                     assume CS:code

     main    proc   far

     start:  push   DS

             sub     AX,AX
             push    AX
             mov     AX,data
             mov     DS,AX
             assume  DS:data
             mov     AX,1a00h ;㭪 1 頥  ᯫ
             int     10h      ;AL 頥 1ah,᫨  প 㭪樨
             cmp     AL,1ah
             jne     no_dc
             cmp     BL,7     ;  VGA?
             je      mono_v
             cmp     BL,8     ; 梥⭮ VGA?
             je      color_v
             mov     BL,4     ; 梥⭮ EGA?
             je      color_e
             mov     BL,5     ;  EGA?
             je      mono_e

     no_dc:
             mov     AH,12h   ;祭 ଠ樨
             mov     BL,10h   ; EGA
             int     10h
             cmp     BL,10h   ;⠫ 10h ( EGA)?
             je      invalid  ;,ய ᫥饣 ⥪
             push    DS
             mov     AX,B_RAM ;  BIOS
             mov     DS,AX
             assume  DS:B_RAM
             mov     BL,info  ;祭  ଠ樨
             pop     DS
             assume  DS:DATA
             test    BL,8     ;⨢  EGA?
             js      valid    ; 3=0 砥. EGA ⨢

     invalid:
             mov     BX,offset no_support
             jmp     finish
     valid:
             cmp     BH,1     ;஬ ?
             je      mono_e
             jmp     color_e

     mono_v:
             mov     BX,offset mono_vga
             jmp     finish

     color_v:
             mov     BX,offset clr_vga
             jmp     finish

     color_e:
             mov     BX,offset clr_ega
             jmp     finish

     mono_e:
             mov     BX,offset mono_ega
             jmp     finish

     finish:
             call    print_msg

             ret

     main    endp


     print_msg proc  near

     next_char:
             mov     dl,[bx]  ;㧨  dl
             mov     ah,2     ;뢥  ࠭
             int     2lh      ;맮 DOS
             inc     bx
             cmp     dl,10    ;ॢ ப?
             jne     next_char;, ᫥騩 ᨬ

             ret

     print_msg endp

     code    ends

     end     start
     



     


     ਬ ⠡ 㦠 ୠ⨢ ⮢ ⬥ -
ਡ ન  ० 7     
 ० 0-3  ECD.  ᮦ  ஡    ⥪⮢
  室 뢮 ୠ⨢ ᨬ  -
  ஬ . ⬥祭 ᫮ 易  ᮡ-
ﬨ BIOS EGA.
     ਬ ୠ⨢ ⮢  ஬ ० ਢ 
⮬, BIOS ⠥  ન   ப 
ࠧ饭 ᨬ.   ⮬ ᯮ  ⢥ 樨
 祩 (1),  1-1 (ਭ  ,   ப
稭  0).   ࠧ,ન   ᨬ 14 -
祪 뢠  ୠ⮩ ப,   ६   ⢨⥫-
   室  ਭ⮩. 襭 ஡ -
  ⮬, ⮡ ᫥  ⠭ ० ந -
४ ⠭ ॣ  ન.  ,
  ஡   易  ⠡楩 ࠬ஢, ⠪ 
ᯮ⥫ ⥫ 䠢⭮-஢  ⬥ -
 ⠡ ࠬ஢.
     ய   ECD ⠪ 易  ணࠬ ᯥ祭-
 BIOS.  ᯥ祭 ᮢ⨬  CGA  ० 0-3 BIOS ᥣ
ࠧ㬥 ࠧ  ࠧ饭 ᨬ,ࠢ 8 ப (
 ECD  ࠢ 14 ப).  ,    砥 ஬ -
,     ࠧ  ࠧ饭 ᨬ
(1) ( ⮬ 뢠,  ࠢ 祭  ਭ⮩ 㬥-
樨  ⥬ 㤥 1-1).   ⠭ ० "㪮祭-
" ଠ  ࠧ饭  뢠 ணࠬ BIOS,  
⠭  ப 12-13  7-8.    ,
 맮 㭪樨 BIOS  ⠭  (맮 㭪樨 1) -
 㪮祭  ࠧ饭  ᨬ,  ७ ணࠬ
BIOS  ६ ⠭ ० - .
      襭 ᠭ ஡ ᫥ ᥣ  ᢮ ணࠬ
 ⠭  ન   ( ணࠬ,
ࠧࠡ뢠   EGA). ஬ ⮣, 㤥 ࠢ 
室 祭 ⠭ । 砫 ࠡ ணࠬ 짮⥫,
⮡  砭 ⠭ .



 



   ⫨稥   ஢, ॡ 믮  権
/뢮  ࢠ ⭮ ᪠஢, 設⢮ ⠭-
 権 EGA  믮    ६. ,
 㭪樨, ਬ, 騥   ਡ⠬,  
믮 ⮫쪮  ⭮ 室   . ஬ ⮣, १-
 ࠡ  㭪権   ࠭ 㤥  룫拉,
᫨ 믮  㭪権 㤥 ந室  ६ ⭮ 室
  . ஬ ⮣, १ ࠡ  㭪権 
 ࠭ 㤥  룫拉, ᫨ ᫨ 믮  㭪権
㤥 ந室  ६ ⭮ 室   . ਬ, 
࠭  १ ꥪ⮢ ࠦ   ६ ࠧ⪨ -
  栭 ࠭. ⨢,     ६ -
⭮ ᪠஢ ࠭,    㤥  㯠  ⮩
  .  , த 㪠 栭 -
砥  "᭥"  ࠭, 饣   奬 -
஢  맢 ⥬,         .
饥 २⢮ ᯮ짮 ஢ 뢠 易  -
⮩ ᯫ. ᪮     奬 ਡ⥫쭮
 (50-70 ), 室    㦨 ஥묨
"ᠬ"   ࠭.    ᯥ -
 ࠭   ꥪ ࠦ ਬ୮   ᪮-
  ࠧ ⨯ ஢.
       ⮤ । ﭨ ⭮ 室 
 :  ਬ   뢠 IRQ2  । -
樨  ணࠬ  ஢ 뢠,  ᯮ짮 横 
஢ન ﭨ.  ᠬ   ⭮ ᯥ祭 ஢
AT  PS/2 ਬ  IRQ9 ( IRQ2),  ᮢ⨬
ணࠬ ᯥ祭  ॠ  IRQ2. ᭮ २-
⢮  ਬ IRQ2  , 뢠 ணࠬ -
 ᨬ  ᭮ ணࠬ (ணࠬ   ⠭-
   砫 ⭮ 室   ), ᯮ
 ᥣ 稭  砫 ⭮ 室    (᫨ ।-
,  ணࠬ EGA - ࢠ  楯窥).  ᯮ짮-
 IRQ2 筮 㤮    ࠢ. ஬
⮣,   EGA-ᮢ⨬  뢠 IRQ2 믮-
 ४⭮,   VGA  IBM  ஢ PC  AT -
⭮ 뢠  ন. ᠭ ணࠬ,  -
饩 ⭮ 室   ,  뢠 㤭⥩,  -
 ⭮ 室    㪠뢠 ⮫쪮  ,  
ᥩ  ࢠ ⭮ 室 ;   ஢ ஢-
  ,   㦥  稫.  ஡ 
,  ࠧ  ࢠ 뢮  ࠭   -
 砫 ⭮ 室   .
        ਬ ஢ 뢠 㤮? -
 ᯥ ணࠬ ࠡ⪨ 뢠 ଠ樥  -
; ਬ, ᫥  த ࠦ   ᥫ. -
 㡥,  IRQ2 맢  ᪨ ஬, ⠪ 
  㣨  ⠪  ਬ IRQ2. 
 ⭮     ࠧ蠥 ஢ IRQ2,  ⠪
⠭  砭 ⭮ 室   . -
 ॣ  ⭮      EGA 
⮫쪮 ॣ஬   ( VGA    ᮤন), -
ࠬ  ⠭  ࠢ쭮 ᮤঠ  ⠡ -
ࠬ஢, ஬ 砥,   ࠭஢,  ० 
㤥 . ᫥ ᯮ짮 뢠   襭
  ࠧ襭   ॣ  ⭮   
  ஫ 뢠   ᮮ饭  ࠧ襭
 뢠  襭 ணࠬ ࠡ⪨ ( 뢠-
 EOI -  뢠  믮   뫪 -
 20h   20h; ᠭ 楤  ॡ  
ᥬ⢠ PS/2). , 筮 ॡ 砭 ணࠬ -
⪨  뢠  襭 ⭮ 室   . 
  ⥫  뢠  ६ ࠡ -
ࠬ ࠡ⪨ ⭮ 室   . ஬ ⮣, 㣮 -
뢠  ঠ ࠡ ⥪饣 뢠.
     室 ,    EGA-ᮢ⨬ 
 ஡  ਬ IRQ2,   ﭨ  ⭮
祭 (. 7  ॣ 0 室 ﭨ).  㣨 -
   ४⭮ ணࠬ஢  ஢ 뢠
( 4 ॣ  ⭮    ). 筮 
뢠 ⢫ ⠭ 0,  ⠭ - ⠭
1 (  易⥫쭮  ᪠  ஭ 뢠, ᯮ-
㥬   PC  AT,  ॡ  뢠, ᪠-
  ஢ ᨣ  ਬ塞  Micro Chanel).
     ਬ஬ । ஢ 뢠   IRQ2 
ணࠬ VERTIRQ2. ணࠬ । 뢮 ப ஡ 
ப V   孨 ப ࠭. ࢠ ப 뢮 ⮫쪮
 ० ⭮ 室   ,   ப 뢮 
᪮ 믮 ஬ 横 楤.  ᪥ ணࠬ
 ,   ப (ࢠ)   ࠭ -
ﭭ,   栥.
     ணࠬ 筮    ࠧ ᪮쪮 -
⥫ 饩. - ( ,   祭   
⭮ প 뢠), 楤 IRQ2  INT 0Ah 
⠡ ஢ 뢠 (IRQ0 - IRQ7 ᯮ INT 8 - INT 0fh
ᮮ⢥⢥). -, ணࠬ    ᯥ譮 믮
 ᮡ⢥ ⥪. ணࠬ VERTINQ2 楯  ணࠬ  DOS
EOI,  ⠭ ᥣ ⥪. ᫨   ᤥ ਪ-
 ணࠬ,   䫨  ⥪, ᮧ DOS,
 ᥣ⠬    ਪ ணࠬ (楤 EOI  DOS
 筠 楤 BIOS, ᠭ  孨᪮ 㪮⢥, ⠪
 DOS  ᮤঠ 饫  뢠  ࠩ஢ ன).
B-,  襭 ணࠬ ⥫  뢠
(१ ⠭ ० BIOS) 뢠 뢠. 室 
㢥७,  ணࠬ  믮  ᫥ .
     B-⢥, ᫥ ,  ॡ  室 
믮 ⭮ 뢠. 筮,  室 
 ᭨ ⥬ ॡ ᪠ ணࠬ ⮫쪮  ।
०, ⢫ 室  ணࠬ, ᫨ ०  ᮮ⢥
ࠧ襭,  ⪠  ஢ન ०, ।,  pe-
  㤥 . 室    ᨫ쭥 ᭨ ⥬ -
஢ 㣨 ணࠬ IRQ2 ( 訩 ᯮᮡ  ࠪ⨪, ⠪ 
 ਢ  ⪠  ।, ᮡ  AT,  ஬
ꥤ  IRQ2 8 ⥫ 뢠,  뢠
⪮ ᪠). ᫨ 뫮 ਭ 襭 ਬ ஢
㣨 뢠 IRQ2, ᫥ 砭 ணࠬ ᫥ 㡥,
  INT 0ah ⠭ 室 祭. ⥬ ணࠬ ࠧ-
蠥 IRQ2  ணࠬ㥬 ஫ 뢠 ( 21h) 
࠭ ।騥 ⠭   ⠭  砭
ࠡ ணࠬ.
     ᬮ  ᫮ ᯮ짮 IRQ2,  砨, -
    뢠 ࠩ ᫮ ⢨ -
 㭪.  ⨯筮  १ (TSR) ணࠬ. ਬ, -
뢠 IRQ2   ਬ  ᮧ 饣   -
᪮ ०   ᤥ  㣫 ࠭ 뢮 ॠ쭮 ६-
   ⭮ 室   .  ணࠬ 
䫨⮢ c ணࠬ, ⢫騬  ﭨ ⭮-
 室    १ ॣ ﭨ 1, ⠪   ﭨ
।   IRQ2 ( ࠧ襭 EGA IRQ2)   㣨
ன (. ᠭ ॣ 1 室 ﭨ,  3).
     ਬ ணࠬ ࠡ⪨ 뢠  ⠭ ਪ
ணࠬ ⠪  ਭ .
     ணࠬ ࠡ⪨ IRQ2, 믮饥 "" ࠦ, -
 ࠧ   c ᭮ ணࠬ,  ࠭ 
 ⭮ 室   .    ਪ
ணࠬ ᯥ祭 ࠢ ᫥ﬨ   c 
  砫 ⭮ 室      横 (-
⥭樠쭮 ᪮ ࠡ ணࠬ  ﭭ ᬥ ࠦ).
 ᨫ쭮    ணࠬ ࠡ⪨ 뢠 -
 (IRQ1/INT 9)  ᮧ 騩   ᪮ ०
 ᯥ樠쭮  饣 ணࠬ ᯥ祭 ணࠬ஢
ॠ쭮 ६ (࠭ 䫨 co ⠭ ணࠬ ᯥ-
祭).
     ஬⮪ ६ c  뢮    ᥣ 横 -
  ० 襣 ࠧ襭 ࠩ  (0.64 )  ࠢ
c 200- ० (3.9 ),  ⮬   c ⮩
4.77   㤠 믮 筮 ⢮ ᪨ -
権.        ஡.
ਬ, ணࠬ, 믮塞  ६ ⭮ 室   -
py,   ࠧ  ᪮쪮 ணࠬ,   ᪠-
   N- ஢ 뢠.  ⢫ 뢮 ࠦ-
   ࠭ ࠭, ᪮   让 -
⥫ ࢠ ६   ஢ 뢠  ⮣ ,
 ஭  ⨣ ࠭ ᢥ稢  (㡥-
  ⮬,  ⢨,    믮  ६ -
 室   , ਬ ᬥ ,  믮  ᠬ
砫 ணࠬ).
      ᠭ ணࠬ ࠡ⪨ 뢠, ⠪   ⫠ 
 祭 ᫮묨.    ஢ ணࠬ
ࠡ⪨  뢠, ⮬     맢 
  ६. 祭 , ⮡   ஢ ண-
ࠬ ࠡ⪨ 뢠 ॣ 뫨 ⠭ 室 -
 ᫥ 砭 ணࠬ.  ⮬ ᠭ ணࠬ ࠡ⪨
뢠 ᫥ 㤨  o ਮ⥭ 襣 ⭮-
ᯮᮡ ⫠稪.
     ᫨  ,    ⫠ ணࠬ ᫥
 ணࠬ ࠡ⪨ 뢠  ⥬ 㦥 ⠢   -
祭 ணࠬ.  ⠪  ணࠬ   ணࠬ-
 ࠡ⪨ ணࠬ 뢠   㣮  뢠
(  楫 १ࢨ஢ INT 60h - INT 67h), a ⥬ -
   ah  ॠ ᮡ  뢠.
      横 ࠧࠡ⪨ 룫廊 ᫥騬 ࠧ.  ண-
ࠬ   뢭 横, 饣 맮 ணࠬ ࠢ-
 ࠭. ணࠬ, ࠢ ࠭,   砫
⭮ 室   , ஢ c砫 ࢠ ⨢ -
  ࠭, a ⥬ ࢠ ⭮ 室 , ⮡ ।
 砫 ࢠ. ணࠬ  ᯥ稢 ⠭
ᥣ ࢮ砫쭮 ᮤন ॣ஢;    ⠯ 
⮬  室,  ਣ  쭥 ८ࠧ.
, ᫥ ࠭ ணࠬ ⮫쪮 㭪ﬨ 뢮 
࠭. 稥 㭪樨 (⠪,  ᫥  ࠦ,
 c ,  ..)   ⠢  ᭮ ணࠬ.
 㦨,  ᠭ ணࠬ ࠡ⠥  ਬ
IRQ2. ᫨  ⠪,   ࠭ 讥 ⢮ ६  ᨫ.
     ᫨ ணࠬ ࠢ ࠭ ࠡ⠥ ୮, ᫥ -
 ee  ணࠬ 뢠 60h.  室 㡥,
 맮    뢠 ⢫ ࠢ쭮.  -
 ॡ   ணࠬ  INT 60h,  
 ⠭ ࢮ  ஢ન ee ᮯ殮 c "室" ண-
pa.  ⠪ 㡥  ⮬,  "室" ணࠬ -
쭮 ⠭. Ha ⮬ ⠯   ᫥  믮-
 뢠 c  ணࠬ ⫠稪.
     , ᫥  뢠  0ah.  ⮬  -
 ணࠬ஢ ஫ 뢠 ⠪, ⮡  ॠ஢
 IRQ2 ( ⠭  ࢮ砫쭮 祭 ᫥ 砭
ࠡ).    ࠡ, , ,  訡 ,
 ࠩ , ⠪,  ᫮ .
     Ha AT ணࠬ VERTIRQ2 믮 ਡ⥫쭮  16c. 
 ⠭⭮ PC ணࠬ VIRTIRQ2 㤥 믮 , 祬 
 ஬ , ⠪  横 ணࠬ  ஢
 室   .
      믮 ணࠬ, ᯮ   ⮤ -
쭮 뢠,   ⥫쭮 襭 ⥬ ࠭祭
ꥬ 뢮 ଠ樨 (뢮 ⮫쪮  c  -
ࠦ). ᫨  ࠦ  뫠 ,    室-
  ee 뢮.  ⠪ ࠧࠡ   뢮
  襣 ⢠ ࠦ    室  
 뢮 ⠢   ᫥ 横. Ho ᫮
ணࠬ஢   室  ⠪ 室  設⢥
砥 ࠪ.



 


     । ࢠ ⭮ 室      
ணࠬ 믮  ப⪨. B   ॣ 1 B室
ﭨ  EGA    ॣ, ন騥 
ப.  ਪ ணࠬ  ਭ  ᥡ 訥
 室, 易 c ᯥ祭  ப⪨. ⮤
 ⮣   ⫨  ᪮  䠢⭮-஢
०.  ᫥  ॣ, ᯮ㥬  ᥫ쭮 -
⪨:

     ॣ 
         ॣ 砫 
         ॣ ।⥫쭠 筠 ⪠
         ॣ 饭
         ॣ  ⭮ ஢  ਧ⠫ (⮫쪮
          EGA)
     ᪨ ஫
         ॣ 
     ॣ ਡ
         ॣ ⭮ ࠬ஢  ਧ⠫

     ਬ஬ ணࠬ  ᯥ祭  ப⪨ a 䠢⭮-
஢ ०  ணࠬ SMOOTH.ASM (ப⪠  ᪮
० ᪮쪮 ).  䥪⨢ ⢫  ப-
⪨     ᮧ ᪠ ᯫ ࠭,
, 祬 䠪᪨ 뢮 .  ᯥ稢 ⠭-
 ॣ 饭,  ।⢥ ࠢ 㠫쭮
ਭ 뢮.  ᢥ稢 ᨬ, ।塞 ॣ஬
饭, 筮 ᯮ   ࠢ, 祬  ᨬ 㠫-
 ࠭.  ࠭ 㠫쭮 ࠭ ᮢ c 殬
㥬  , ᫨  ਬ ࠭ ⮤.
B ⮬ 砥 ᪠ ࠭ 稢 ப, ᯮ-
 । 砫 ᫥饩 ࠭.
     ப⪠ ࠢ   ࠡ⠥   䠢⭮-஢
 ᪮ ०.  ப⪥ ࠦ ࠢ  ॣ -
⭮ ࠬ஢  ਧ⠫ ⠭ 0 (᪫ -
 䠢⭮-஢ ०,   砫 祭
 8  ⥬ 㬥蠥  0  ᫥饬 ᤢ), a ⥬
㢥稢  1   ⭮ 室   .  믮-
  ன ப⪨ ᫥ ᬥ ࠧ  ᪮ ᥫ
  ࢠ;   ப⪨ ᫥ ᫥ 筮
ᤢ ய ᪮쪮 ࢠ.  ⨦ 祭 7 (3
 ० "256 梥⮢") 祭 ॣ 砫  㢥稢-
  , a  ॣ ⭮ ࠬ஢  ਧ⠫
 ⠭ 0 (8  筮 ०).  ப⪨
 믮 ⭠ 楤: ᭠砫 㬥蠥 祭 pe-
 砫 ,  ॣ ⭮ ࠬ஢  -
⠫ ⠭ 7 ( 3  ० "256 梥⮢"). ᫥ ⮣
祭 ॣ ⭮ ࠬ஢  ਧ⠫ 㬥蠥-
  砭 ᤢ  ਭ  ᨬ.
     楤    ࠡ⠭, ᫨ ᯮ 楯-
筠 . B BIOS  ⮫쪮  楯 ० -  7 
10h  EGA c ꥬ   64K,    ᮧ
ᮡ⢥ 楯 ०   EGA, ⠪   VGA ( ⮣, 
VGA  ꥤ     ). B 裡 c ⥬,  pe-
 ᤢ 㦠 ࠧ 16 ᥫ ( 32  VGA)  8, 
16 ⮢   ᤢ   ॣ 砫 .
஬ ⭮ ࠬ஢  ਧ⠫  
 ন, ⠪   EGA   ⥫   pe-
  ⭮ ஢  ਧ⠫, a  VGA  
 ॣ ।⥫쭠 筠 ⪠. ஬ ⭮
ࠬ஢  ਧ⠫ 믮 8- 横,  
㢥祭 祭 ॣ 砫  ᫥ ࢮ 横 ந-
室  ॣ  ⭮ ஢  ਧ⠫.
     ⨪쭠 ப⪠  筠 ਧ⠫쭮. B -
⭮-஢ ०  ॣ ⭮ ࠬ஢ 
ਧ⠫ 㢥稢  㬥蠥 祭 ॣ ।-
⥫쭠 筠 ⪠.  ॣ 砫  ।-
 । 祭  ॣ ।⥫쭠 筠 -
 (筮 0  7, 13  15). ஬ ⮣, 祭 ॣ 砫
   㤢 祭 ॣ 饭 ( 室
 ᫥ ப  室  ᫥饬 ᨬ). B -
 ० ⠭ ॣ ।⥫쭠 筠 ⪠ 
 ய饭, ⠪   "ப"  ᮮ⢥  -
 ᥫ.  ப⪨  ப ᥫ ᫥  
( ) 㤢 祭 ॣ 饭.
     B  ६  ᫥⥫쭮 ப⪨  筮
⮩, ᫥  o ᮮ⢥饩 ᨭ஭樨,  
 쭮 ᫮⮩. ਬ ॣ ⭮ -
஢  ਧ⠫ 筮 : ॡ ⮫쪮 
砫 ⭮ 室     ⥬  ⠭. 
 ॣ 砫    믮  ६ -
⨢ 뢮  ࠭ (⢨  ⠭    砫
᫥饣 ⭮ 室   ).  ⨦ ।쭮
祭 ॣ ⭮ ࠬ஢  ਧ⠫ ᭠砫
   ॣ 砫  ( 祭 ࢠ 뢮),
a ⥬ - ॣ ⭮ ࠬ஢  ਧ⠫ ( ६
⭮ 室   ).
     ६ ⮤ ᯮ ॣ ।⥫쭠 筠 -
⪠.   孨᪮ 㪮⢥ ४ ந 
  祭 ࢠ 뢮  ࠭,   ணࠬ஢-
    ६, ⠪  ⠭ 筥 ⢮ ⮫쪮
 砫 ࢠ 뢮 ࠦ.  ⮬  祭 -
   ६ 뢮 ࢮ ப ࠧ⪨, , ᫨ ந-
  ⠭    , ࠦ ᪮ 
 ப. ᫨ ணࠬ஢ ॣ ।⥫쭠 筠
⪠ 믮  뢮 ଠ樨  ࠭, ᫥ -
 ⭮ ਧ⠫쭮 ᪠஢ (.  0 ॣ 1 室-
 ﭨ,  3?ah).




 
                                   15.  P  K  A  H  E    A  A  




 


     B ᪨ ਪ ணࠬ 筮 ᯮ  -
⠫ 樨: 뢮  ࠭ ᨬ, ࠦ ⤥
祪, ࠦ ᮢ  . 뢮 ᨬ  祪 筮
, ࠦ  ⠪  祭 ᫮, ᪮  뢠-
 묨 ࠢﬨ(筮 ᯮ  १).
ࠢ, 뢠騥 㦭  ,  ன 冷 
⮬   襭 ॡ  ᫮ ᫥  襥 -
. Ha     砥 ॡ ᯮ짮 樨 c
⢥묨 ᫠  ᫥ ⭮ .   
 ਬ 孨 ᫥ c  楫 ᥫ, ⠪ ,
   ⬥ १.
      १ ᯮ ⮥ ।⠢ ᥫ,
न  ࠦ 楫묨 ᫠. ᯮ짮 楫᫥
楤  믮 権  ᫠ c 饩 ⮩ -
 ᮧ த騥 楤 ନ஢ ࠦ.
 롨ࠥ ,   ᯮ  אַ (
ਢ). 砫 롨 砫쭠 窠  ࠢ 
(, , ࠢ, ).  ࠧ,   ६頥 
 ࢠ  ࠭ ࠢ,  ।,   
⪮४஢     ࠢ ௥୮ -
.  ,    ᤥ ⮫쪮 
蠣  ௥୮ ࠢ   蠣 ࠭ ࠢ
. ⮬  ࠭祭 45 ࠤᠬ.



  


     ࠢ אַ   y=mx+b. 樥  m ।-
 ⭮襭 饭  ࠢ y  饭  ࠢ
x: m=y/x.  祭 x  y , ᯮ  ࠩ 祭
(x(a),y(a))  (x(b),y(b)); y=y(b)-y(a)  x=x(b)-x(a). B  砥
祭 m 㤥 室  ।  0  1  ࢮ ࠭. Ha-
  c ந쭮 窨  אַ (x(n),y(n))  த
ࠢ   蠣  ࠩ 窨 (x(m),y(m)). - 筮
।⠢ ࠭ x(n) ࠦ 楫 ᫮,  䠪᪮ -
 y(n) 筮  楫.   y(n) ⠪, ⮡  뫮
   楫,   訬 楫 ᫮.  -
    y ⭮,  y(n)  ࠢ ࠭ (y(n)=
x(n)),     (y(n)=x(n)+1). C  ᫥⥫쭮
롮     ᥫ  砥  
⮫쪮, ᪮쪮     ᠬ    
ࠧ饩 ᯮᮡ ᯫ. न y   筮 ᮢ
c ⨭ 祭, ਭ騬 אַ, ⠪  뢠 -
祭 筮 ࠧ襭 ॠ쭮 ࠭. ⮬ ᫥ 業
ࠧ  ⢨⥫ 祭 y   ஡묨 窠:

d1=y(n)-y
d2=y-(y(n)+1)

      (d1  d2) 㤥 襩  窨 (y(n)+1  y(n)),
   䠪᪮ אַ. B ⢥ ஫쭮 ࠬ-
pa 롨ࠥ 祭 ࠧ 稭 d1  d2: t=d1-d2.  稭
t ᯮ  । 室 祭.  
:

     ਠ                 d1  d2    t(n)   롮
  1) y(n)>=y  y(n)+1>y      +s  -g      +     y(n)
  2) y(n)>=y  y(n)+1>y      -s  -g      +     y(n)
  3) y(n)     y(n)+1>y      -g  -s      -     y(n)+1
  4) y(n)<y   y(n)+1>y      -g  +s      -     y(n)+1
  g - 襥 祭  ᮫⭮ 稭
  s - 襥 祭  ᮫⭮ 稭


      ⥫쭮 t 롨ࠥ y(n), a  ⥫쭮 - y(n)+1.
襬 ࠢ  । t १ y:

t(n)=d1-d2=y(n)-y-[y-(y(n)+1)]=y(n)-y-y+y(n)+1=2y(n)-2y+1

Ŀ           Ŀ
                                                       
                       y(n)+1                           y(n)+1
                                                       
Ĵ           Ĵ
                                                  x     y
                       y(n)                             y(n)
                 x     y                               
           
                 x(n)                                x(n)

        砩 1                            砩 2


Ŀ           Ŀ
                                                  x     y
                       y(n)+1                           y(n)+1
                 x     y                               
Ĵ           Ĵ
                                                       
                       y(n)                             y(n)
                                                       
           
                 x(n)                                x(n)

        砩 3                            砩 4

           .15.1.      


     ⠢ ࠦ  y=yx/x+b  ਭ  ,  x(n)
ᥣ ⥭, 稬

     t(n)=2y(n)-2(x(n))y/x-2b+1

     C  ⮣ ࠦ  ᫨ t   窥, ਬ
 ࢮ 窨 t(1)=2y(1)-2(y/x)x(1)-2b+1,  b=y(1)-(y/x)x(1). -
,  t(1)=1.  ⥫쭮 祭  ⮬ ࢠ 窠
(x(1),y(1)).  襭 ਢ ࠢ   㦥
࠭ 窨. ࠧ   ࠢ  ᫥饩 -
 t(n+1).

     t(n+1)=2y(n+1)-2(y/x)x(n+1)-1b+1=2y(n+1)-2(y/x)(x(n)+1)-2b+1

      ᫥ ᫥饣 祭 t १ x  y, ࠧ -
祭 t  ᫥饩 窥 १  祭  ।饩. ⠪, 
t(n)  t(n+1), 稬

     t(n+1)-t(n)=2y(n+1)-2(y/x)(x(n)+1)-2b+1-[2y(n)-2(y/x)x(n)-2b+1)=
     2y(n+1)-2y(n)-2(y/x)(x(n)+1)+2(y/x)x(n)-2b+2b+1-1=
     2y(n+1)-2y(n)+2y/x(-x(n)-1+x(n))=2y(n+1)-2y(n)-2y/x

       祭, ஥    ⥪饬 祭
஫쭮 ࠬ  祭  祭  ᫥饩 窥,
.e. t(n)+(t(n+1)-t(n))=t(n+1). 稭 y(n+1)    祭
 ty(n) ( t(n)>0),  y(n)+1 ( t(n+1)<0).
      y(n+1)=y(n):

     t(n+1)-t(n)=2y(n)-2y(n)-2y/x=-2y/x
     t(n+1)=t(n)-2y/x

      y(n+1)=y(n)+1

     t(n+1)-t(n)=2y(n)+2-2y(n)-2y/x=2-2y/x
     t(n+1)=t(n)+2-2y/x


      ⥫쭮 饭 ᫥ ᪫   
ᤥ ࠢ ਣ묨  襭  楫 ᫠.  
 ࠢ  x, 稬

     xt(n+1)=xt(n)-2y     y(n+1)=y(n)
     xt(n+1)=xt(n)+2y+2x  y(n+1)=y(n)+1

     ᫨  ࠧ  祭 xt(n)  xt(n+1),  ᫥饥
祭  ,   ।饣 稭 2y ( -
⥫쭮  㫥 祭)  ਡ 2x-2y ( ⥫쭮
祭).   뢠,  砫쭮 祭 t(1)=1 ⠪
室 㬭  x: xt(1)=x. ⨬,   ࢮ 窨
ᥣ ⭮   x>0, ⮬  । xt(2)=x-2y.
      ࠧ, 祭   । אַ, 饩
᫥ ࠢ  㣫    1 ( -  ⮢ ⥬
न   -  न ᯫ):

. । ࠭ 祪 אַ (x(a),y(a))  (x(b),y(b)), 
  (x(a),y(a)) - ࠩ  窠.

. । x=x(b)-x(a)  y=y(b)=y(a)  ᫥ ஫쭮
  ࠬ  ன 窨 x-2y.   ।  -
    t: p=2y, n=2x-2y;

. 뢮  ࠭ ࢠ 窠   ᫥騥  蠣 
   ,   㤥 ஥  ﬠ.
  1. ᫨ 祭 t>=0,  祭 p    न y.
     ᫨ 祭 t<0, ᫥  n  㢥 न y  1.
  2.  x  1.
  3. 뢥   (x,y).

      ,   롮 ࠭ 祪 אַ  -
 뫨 楫묨, a ᪮ ਬ﫨 ⮫쪮 樨 ᫮  -
⠭,   १ ⠭ 楫᫥.
     室 ࠭ ⮤  ⠢訥   (""
 "" ⭮     ࠭): 砫 ᫥,  ࠢ
; 砫 ,  ࠢ ; 砫 ,  ᫥
.
       ࠢ 祭   y  , ⮬ -
 y 㤥 㬥.  ࠧ, p=-2y, a n=2x+2y.
       ࠢ   न x  y  ⠬.
 ࠧ, y ᥣ 㤥 㢥稢, a x - 㢥稢, 
t<0, p=2x, a n=2y-2x.
           न x ,  ਢ
 p=-2x  n=2y+2x,  न x 㤥 㬥  t>=0.



  


     뢮 ⬠   祭 뢮 ⬠  -
ࠦ . 砫    ந쭮  ⭮
  ⥬ । ee   ᥫ   x ( y), -
 ࠧ ਭ 襭 o ६饭   ᥫ   y (
x).  ,    ⬥ १, 롨ࠥ  ०
祭 y,     1,  ᨬ  १ ࠢ-
 c 䠪᪨ 祭.  ࠧ,  ᫥ ⭮-
   ந  ਨ 権 ᫮  ⠭. -
 c ࠢ  c 業஬  窥 0,0:

   y**2=r(2)**2-(r(2)**2)*(x**2)/r(1)**2

    e=r(2)/r(1):

   y**2=r(2)**2-(e**2)*(x**2)                          (1)



Ŀ           Ŀ
                                                       
                       y(n)                             y(n)
                                                       
Ĵ           Ĵ
                                                  x     y
                       y(n)-1                           y(n)-1
                 x     y                               
           
                 x(n)                                x(n)

        砩 1                            砩 2


Ŀ           Ŀ
                                                  x     y
                       y(n)                             y(n)
                 x     y                               
Ĵ           Ĵ
                                                       
                       y(n)-1                           y(n)-1
                                                       
           
                 x(n)                                x(n)

        砩 3                            砩 4

     .15.2.      


     ।,  砫쭠 窠 室  ࠢ 業
  ⢫ ६饭 ࠢ   ᥫ ( x(n)) 
롨ࠥ ᫥饥 祭 y (y(n)). ⨬,  x(n) ⭮, a
祭 y(n)    y(n),  y(n)-1, ⠪  ,
 y    楫 ᫮. ஬ ⮣,   砥 ᯮ-
 祭 y(n)-1  y(n)+1, ⠪   ⢫ .
᪮ न ।⠢ 楫᫥묨 祭ﬨ, 
  窨  ⫨  䠪᪮ 祭 y. 
 ।⠢   ᫥ ࠦ ( y(n)  y(n)-1):

     d1=y(n)**2-y**2
     d2=y**2-(y(n)**2-1)**2

     室  祭 (y(n)  y(n)-1),   
䠪᪮: 㣨 ᫮, ,  ண   -
  ࠧ.  । ஫ ࠬ t, 
 ண 㤥 롨 ᭮ 祭.

     t(n)=d1-d2
     t(n)=y(n)**2-2y**2+(y(n)-1)**2                      (2)

       ਠ:

     ਠ                 d1  d2    t(n)   롮
  1) y(n)>y   y(n)-=>=y     +g  -s      +     y(n)-1
  2) y(n)>y   y(n)-1<y      +g  +s      +     y(n)-1
  3) y(n)>=y  y(n)-1<y      +s  +g      -     y(n)
  4) y(n)<=y  y(n)-1<y      -s  +g      -     y(n)
  g - 襥 祭  ᮫⭮ 稭
  s - 襥 祭  ᮫⭮ 稭

      ,    ᫮ y(n)<y,  y(n)-1>
1, ⠪  y(n)>y(n)-1, ⮬  砩  祭  ᬮ७.
     ᯮ ࠢ (1)  (2), 稬

     t(n)=y(n)**2-2(r(2)**2-(e**2)(x(n)**2))+(y(n)-1)**2=
          y(n)**2-2r(2)**2+2(e**2)(x(n)**2)+y(n)**2-2y(n)+1=
          2y(n)**2-2r(2)**2+2(e**2)(x(n)**2)-2y(n)+1


      ᫥饩 ஫쭮 窨:

     t(n+1)=y(n+1)**2-2r(2)**2+2(e**2)(x(n)+1)**2+(y(n+1)-1)**2=
           2y(n+1)**2-2r(2)**2+2(t**2)(x(n)**2+2x(n)+1)-2y(n+1)+1

     To  ᠬ, ࠦ १ t(n):

     t(n+1)=t(n)+2y(n+1)**2-2y(n)**2+4(t**2)x(n)+2e**2+2y(n)-2y(n+1)=
            t(n)+2y(n+1)**2-2y(n)**2+2y(n)-2y(n+1)+4(e**2)x(n)+2e**2

      ࠢ  t(n+1)   ᠭ  ᯮᮡ
 ᨬ  祭 y(n+1):

 y(n+1)=y(n):

    t(n+1)=t(n)+4(e**2)x(n)+2e**2

 y(n+1)=y(n)-1:

    t(n+1)=t(n)-4y(n)+4+4(e**2)x(n)+2e**2

      ࠦ t(n), ਢ , ᯮ  ।,
⠥  祭 y ०  㬥蠥  1. ஬ ⮣, 
ᯮ  । ᫥饣 祭 t(n). B ⬥, -
稭騬  窥 c न⠬ (0,r(2)), 㢥稢 x, 
t(n)  ᫥饩 窨  ਢ  ࠢ  ।
祭  न y (⠢ ०  㬥  1).
     ࠢ x=0  y=r(2), ᫨ 砫쭮 祭 t(n)=
-2r(2)+1.  ᪫祭 樨  ( ,  e=r(2)/r(1))
㬭  ࠢ  r(1)**2.  裡 c ⥬,  t(n) 稭 -
⥫쭠 (  ।饣 祭), 㤥   쭥襬
ਬ 祭 t(n),   ⢨⥫쭮  t(n)r(1)**2.
 t(n)=-2r(2)r(1)**2+r(1)**2. ࠢ  t(n+1) ਬ :
4(r(2)**2)x(n)+2r(2)**2  4(r(1)**2)y(n)+4(r(2)**2)x(n)+2r(2)**2. -
⨬,    ४७ ࠦ: 4(r(2)**2)x(n)+
2r(2)**2 (砫 2r(2)**2,    ᫥饩 樨 -
 4r(2)**2)  4r(1)**2-4(r(1)**2)y(n) (஥ 㢥稢 
4r(1)**2  ࠧ,  y 㬥蠥  1).  ᫥ ,
  祭 ᯮ   । t(n)  ࢮ 窥
( ࠭ ⭠).  뢮 ࢮ 窨  ࠭ ᫥
⠭ y(n+1).
      ᫥ 믮 ਢ  楤,   ,
 x  ਬ 祭 x=sqrt((r(1)**4/(r(1)**2+r(2)**2))) (3):

1. 뢥  (x,y)
2. ᫨ t(n)=0, ਡ  t(n) ࠦ 4r(1)**2-4(r(1)**2)y(n) 
   㬥 y  1. ਡ 4r(1)**2  ।饬 ࠦ 
   ᫥饩 樨.
3. ਡ 4(r(2)**2)x(n)+2r(2)**2  t(n)  㢥 y. ਡ
   4r(2)**2  ।饬 ࠦ  ᫥饩 樨.

      ।, ਢ  ࠢ ᪠ 㣮 
ਢ   45 ࠤᮢ, ⠪  饭 x   
ᮮ⢥⢮ 饭 y,  ॢ饥 1.  ࠧ, 
ਬ ⮫쪮  ⨦ ਢ 㣫   45 ࠤᮢ.  
 窠,  ன 믮 ᫮ (3).  ⮬ 㤭 㡥-
 , ந  ࠢ (1)   f'(y)=1/2, ᫨ 
ࠢ 祭 x.
     B 楤 ᫥ ਬ 32-⮢ 䬥⨪, ⠪  
祭 室  । 16 ⮢. B  砥   祭
48-⮢ ஬ ਠ.  襭 ᪮ ᫥,
ᯮ  8087  80386,  ਬ  楫 -
. ࠡ뢠   8087, ᫥ ਬ ⥪  ⥩
, ᯮ㥬  樨.
     ஥ 祪 ᮢ    ᭮  設-
 ᪨ ਫ. 筮,  ணࠬ ᯥ祭  co-
ঠ  㣨 ணࠬ, ⠪,  訢, 嬥ୠ -
䨪, , ᣫ ᯫ  ⠡஢.  㡮
   a⭮ ᯥ祭,   䥪⨢
楤  믮  ᫥ 㭪権. Bo ⢥ 
  ⥬ ਢ   몮 ᮪ ஢. 祭 xo-
襩  c 訬 ⢮ ⬮ "Computer Graphics"
(ୠ 䨪) ஢ Donald Hearn  M.Pauline Baker.

     室 १   ਬ  ⮫쪮  襭 -
 ࠢ  ࠢ . M.L.V. Pitteway  ண
襭  ᭮ ᪨ 祭 ( )  
"Algoritm for Drawing Ellipses or Hyperbolae with a Digital Plotter",
Computer Journal, Volume 10, Issue 3, page 282-289.   
㣨,  ਬ塞 ࠢ,    ᯮ짮
ᠭ 孨 襭.
     B ਫ ᮤঠ ணࠬ (   ), -
஢ c ⮬ 㠫 ᮡ⥩. B  
⤥  ନ஢ ࠦ ⨬  ࠧ-
 ࠧ஢ ࠭.  ,  ᮢ⭮ ਬ -
  ࠧ ணࠬ 蠥 䥪⨢; ᫨ ࠦ -
㦭⥩ । 뢮 ⮫쪮  ० 640x350,   
⮣ 뤥 ⤥ ணࠬ  ࠦ . -
 ᪠  㣨, ⥫   ⨬樨
ணࠬ.




                                                      P   O  E H  E




 FPLOT.ASM


     ணࠬ FPLOT.ASM 믮 ஥ , 饩  梥-
 祪,  10- ப ࠭. ࠦ, 饥 ᫥
믮 ணࠬ, 筮 ࠦ, ନ஢  १-
 믮 ணࠬ, ਢ  ᠭ 㭪樨 0 BIOS 
 2.  ⮬  ⫨稥  㪠 ணࠬ FPLOT.ASM -
 ।⢥      饭  㭪
BIOS.  ⬥,   믮 楤 ஥ ॡ-
, ⮡ ࠭ 室  ० 80 ⮫殢, ⠪  ஥ -
⥬᪮  ணࠬ   ᫥⥫쭮 ᤢ  ᫮-
 c 㬭  80   ᮪ த⢨,   ⮬
  ணࠬ.  ⮣ ᫥⥫쭮 "ᤢ 
᫮" ⢥ 䥪⨢ ॣ஢  MUL 
8088,      ஢ ( 80286  NEC
V20)  MUL  䥪⨢  ⮩  ய樨. 稥  
ॠ樨   砥  ࠥ ⥫쭮 ஫,  ࠧ稥
 室  ਢ  ࠧ १⠬( ⠪ १⮬
  ⭠ ᨬ ணࠬ).

ਬ  몥 ᥬ


ega      segment at 0a000h
ega      ends

data     segment public
clr      db        16             ;砫쭮 祭 梥 16
data     ends

code     segment   public
         assume    CS:code

main     proc      far
start:
         push      DS
         sub       AX,AX
         push      AX

         mov       DS,AX
         assume    DS:data

         mov       AX,ega
         mov       ES,AX
         assume    ES:ega

         mov       AH,0           ;㭪 0 - 롮 ०
         mov       AL,10h         ;롮 ० 10h
         int       10h            ;饭   BIOS

         mov       CX,639         ; ⮫
lp:      mov       AL,clr         ;⠭ 梥
         dec       AX             ;⠭ 1   梥
         mov       clr,AL         ;࠭  梥
         jnz       skip           ;᫨ 梥  0, ३  skip
         mov       clr,16         ;⠭ 梥 16

skip:    mov       DX,10          ;⠭ 10 ப
         push      AX             ;࠭ ᫥ 梥
         push      CX             ;࠭ ᫥ ⮫
         call      plot           ;ந 
         pop       CX             ;⠭ ᫥ ⮫
         pop       AX             ;⠭ ᫥ 梥
         loop      lp             ;᫥騩 ⮫


         mov       AX,0ff08h      ;ॣ ⮢ ᪨
         mov       DX,3ceh        ;ॣ  䨪 1  2
         out       DX,AX
         mov       AX,0f02h       ;ॣ ᪨஢ 
                                  ;ࠧ襭  
         mov       DX,3c4h        ;ॣ  ⥫
                                  ;᫥⥫쭮
         out       DX,AX
         ret

main     endp

plot     proc      near

         push      AX             ;࠭ 梥
;B ᫥饬 ࠧ 믮 㬭 ப #  80 (640/8)
;640⮢/ப/8 ⮢/=80 ⮢/ப
;᫥⥫쭮 ᤢ-᫮ 믮 ॥  MUL

         mov       BX,DX          ;  ப  BX
         push      CX             ;࠭  ⮫
         and       CX,7           ;  ᬥ饭 (⮪
                                  ;   8)
         mov       AH,80h
         shr       AH,CL          ;ନ஢ ⮢ 
         mov       AL,8           ; ⮢ ᪨
         mov       DX,3ceh        ;ॣ  䨪 1  2
         out       DX,AX
         mov       AX,BX          ;ப ....
         shl       AX,2           ;㬭  4
         add       AX,BX          ;㬭  5
         shl       AX,4           ;㬭  80
         pop       BX             ;⮫ #
         shr       BX,3           ;ࠧ  8
         mov       AL,ES:[BX]     ;㧨 ॣ-饫
         mov       DX,3c4h        ;ॣ  ⥫
                                  ;᫥⥫쭮
         mov       AX,0f02h       ; ,  2
                                  ;(ॣ ᪨஢ 
         out       DX,AX
         mov       byte ptr ES:[BX],0 ;  ⥪ 梥⮢
         pop       AX             ;⠭ 梥
         inc       DX             ;㪠⥫  ॣ ᪨஢
                                  ;
         out       DX,AL          ;⠭ 梥

         ret
plot     endp
         end       start



 SMOOTH.ASM


     ணࠬ SMOOTH.ASM ନ 㠫 ࠭ ਭ 104 ᨬ-
   73 ப. ࠭  㪢 䠢 c ࠧ-
묨 ਡ⠬. ᫥  ࠭ 믮  ஫
  ࠢ   孥 㣫 ࠭  㯥⮬ ०. -
 ⨦ ࠢ  ࠭ ࠢ ஫  .
஫ 믮  䠢⭮-஢ ०; ஫  -
᪮ ० 祭 宦  ,  ᪮쪮 . 楤 -
뢠   14.

ਬ  몥 ᥬ


clr_flg  equ       1
ecd_flg  equ       2
g64_flg  equ       4
vga_flg  equ       8
c_wide   equ       104            ;ਭ 㠫쭮 ࠭
lines    equ       (c_wide-80)*2+25
ATC_add  equ       3c0h           ; ਡ-஫
lc_a     equ       'a'


word_out macro
; 設⢥ 権 ⨯ -   ᯮ짮
; OUT c ࠭  ଥ ᫮,     -
; ⠪  . 訩 ᯮᮡ ࠡ  
;-ᯮ짮      OUT. ᫨ ணࠬ
;   १, ee ᫥ ४஢, 
;   OUT 㣮, ⥬ ⮩ ⠭ ࠧ -
;ᠭ .

         out       DX,AX
;        out       DX,AL
;        xchg      AL,AH
;        inc       DX
;        out       DX,AL
;        xchg      AL,AH
;        dec       DX
         endm

byte_out macro
         out       DX,AL
         xchg      AL,AH
         out       DX,AL
         xchg      AL,AH
         endm

disp     macro
         local     rt
; 믮 ⮫쪮   ⨢ ᯫ.  DX ।
;믮   ᮤঠ 3c0h (ᯮ   DISPLAY
; WAIT_D).
rt:      in        AL,DX          ;஢ઠ ﭨ  ⭮
                                  ;室   
         test      AL,1000b       ;   室   
         jnz       rt             ;, த ᪠ ⢨
                                  ;⭮ 室 (ࢠ 뢮
                                  ;ࠦ)
         endm

display  macro
         mov       DX,st_add      ;ॣ ﭨ 室 1
         disp
         endm

retr     macro
         local     n_rt
; 믮 ⮫쪮  祭 ⭮ 室   . Pe-
; DX । 믮   ᮤঠ 2c0h (ᯮ
;  RETRACE  WAIT_R)
n_rt:    in        AL,DX          ;஢ઠ ﭨ  ⭮
                                  ;室   
         test      AL,1000b       ;   室   
         jz        rt             ;, த
         endm

retrace  macro
         mov       DX,st_add      ;ॣ ﭨ 室 1
         retr
         endm

wait_r   macro
; 믮 ⮫쪮 砫 ⭮ 室   . 砫
; ࢠ 뢮. ᫥ ⮣ 믮  ⭮
;室   .
         display
         retr
         endm

wait_d   macro
         retrace
         disp
         endm


fill_alpha macro
         local     keep,lp
; 믮    㪢 䠢,
;  横  ਡ.
lp:      mov       [BX],AX
         add       AX,101h        ;᫥ 㪢
         add       BX,2           ;᫥騩  
         cmp       AH,14          ;ਡ 14?
         jne       keep           ;-࠭ 
         mov       AH,18
keep:    loop      lp
         endm

data     segment   public

ltrs     db        c_wide*2+25*2 dup(?)     ; 㪢 A - Z  ਡ
;, ᠭ , 㤥  ணࠬ  㤥 룫-
; ᫥騬 ࠧ:
; ltrs   db  'a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.
;        db  'a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.
;        db  'a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.
;        db  'a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.
;         . .
; "." ।⠢ ᮡ  ਡ.   筠,
;⮡   104-ᨬ ப, 稭 c ந쭮
;㪢 䠢 (ᬥ饭 0-25)
hdwre    db        ?
even
strt_add label     byte
strt_addw dw       2dup(0)        ;   (७)
CRT_add  dw        3b4h           ; 
st_add   dw        ?              ; ॣ ﭨ 室 1
al_seg   dw        0b000h         ;ᥣ 䠢⭮-஢ ०
ch_hi    dw        13             ; ᨬ -1
ch_wi    dw        8              ;ਭ ᨬ -1
al_mode  db        7              ;䠢⭮-஢ ०
data     ends

code     segment   public
         assume    CS:code

main     proc      far
start:
         push      DS
         sub       AX,AX
         push      AX

         mov       DS,AX
         assume    DS:data

         mov       BX,offset ltrs ; 㪢
;   ᨬ/ਡ
         mov       CX,c_wide/26
lp:      push      CX
         mov       CX,26          ; 㪢
         mov       AL,lc_a        ; c a  ॣ
         mov       AH,1           ; c ਡ 1
         fill_alpha
         pop       CX
         loop      lp

         mov       AL,lc_a        ;᭮  c a
         mov       AH,1           ; ਡ 1  ३  y
         mov       CX,25
         fill_alpha

         mov       AX,1a00h       ;  ᯫ
         int       10h
         cmp       AL,1ah         ;VGA   30  1ah
         jne       not_vga
         cmp       BL,7           ; ஬ VGA
         je        yes_vga
         cmp       BL,8           ; 梥⭮ VGA
         je        yes_vga
         jmp       not_vga        ;  ஢ EGA

yes_vga: or        hdwre,vga_flg


not_vga: mov       BL,10h         ; ଠ EGA
         mov       AH,12h
         int       10h

         cmp       BH,1           ; ஬ ᯫ?
         je        mono           ;-⠭ ᤥ  㬮砭,
                                  ;ய ⠭ ࠬ஢
         cmp       CL,1001b       ;஢ઠ ﭨ ४⥫,
                                  ; ECD ᯫ?
         je        ecd
         cmp       CL,0011b       ;䠢⭮-஢ ० ᮪
                                  ;ࠧ襭
         je        ecd
; 梥⭮ ᯫ
         mov       ch_hi,'
         jmp       cd

ecd:     or        hdwre,ecd_flg  ;⠭ 䫠 ECD
;᫥騩 ࠧ  ⠭⮬  梥⭮  ECD ᯫ
cd:      or        hdwre,clr_flg  ;⠭ 䫠 梥⭮ ᯫ
         mov       ch_wi,7        ;ਭ ᨬ ࠢ 8  ⫨-
                                  ;  VGA  8-筮 ० VGA
         mov       al_seg,0b800h  ; 䠢⭮-஢ ० 
                                  ; 梥 ᯫ
         mov       al_mode,3      ;० 3  䠢⭮-஢
                                  ;०
         mov       CRT_add,3d4h   ;    梥 ०
         test      hdwre,vga_flg  ;VGA    9-筮 ०
         jz        only_8
         mov       DX,3c4h        ;ॣ  ⥫ ᫥-
                                  ;⥫쭮

         mov       AL,1           ; ० ᨭ஭樨
         out       DX,AL
         inc       DX             ;㪠⥫  ॣ 
                                  ;஭樨
         in        AL,DX          ;᫨  1=1,   ⠪
                                  ;⠢ 8
         test      AL,1
         jnz       only_8
         mov       ch_wi,8        ; VGA  9-筮 ० ਭ
                                  ;ᨬ ⠢ 9 祪
only_8:
mono:    test      hdwre,vga_flg  ;ᨬ  VGA   16 ப
                                  ; 
         jz        def_hi         ;᫨  VGA, ᯮ짮 ,
                                  ;।ᬮ७  㬮砭
         mov       ch_hi,15       ;࠭ -1 (16 ᥫ 
                                  ;VGA)
def_hi:  mov       AL,CRT_add
         add       AX,6           ;ॣ  ﭨ 1 ⠢
                                  ;+6
         mov       st_add,AX
;   B - 
         xor       AH,AH          ;饭  㭪樨 0 - ⠭
                                  ;०
         mov       AL,al_mode     ;࠭஢  ⠭
                                  ;䠢⭮-஢ ०
         int       10h

         mov       AX,al_seg      ;⠭ 㪠⥫  砫
         mov       ES,AX          ;  䠢⭮-஢
         assume    ES:pothing     ;०
         mov       DI,0

         cli

         wait_r                   ; ⭮ 室   
         mov       DX,CRT_add
         mov       AL,13h         ;ᬥ饭  ॣ
         mov       AH,c_wide/2    ;ᯮ짮 ⠪  㠫
                                  ;ਭ   䠢⭮-஢
                                  ;०
         word_out

;砫  㤥 ⠢ ࠢ 0 ( 孨 㣮), 
; 室,  ਪ ணࠬ 짮⥫  
;祭 砫쭮 

; TEKCTA HA     

         mov       BX,offset ltrs ; 砫  㪢
         xchg      AH,AL          ; ਭ ᫮  AL
         xor       AH,AH
         shl       AX,1           ;㬭  2  祭 
                                  ;ਡ
         v       CX,line

n_line:  push      CX             ;࠭ 譥 稪 横
         mov       SI,BX          ; 砫 㪢  SI
         mov       CX,AX          ;稪  ਭ ப
         rep       movsw          ;६  ப 㠫-
                                  ; ᯫ   ᯫ
         add       BX,2           ; co ᫥饩 㪢 䠢
         cmp       BX,offset ltrs+26*2   ; ᫥ z
         jne       n_ltr          ; -  ᫥ ப co
                                  ;᫥饩 㪢
         sub       BX,52          ; - ᭮  c a
n_ltr:   pop       CX             ;⠭ 譨 稪 横
         loop      n_line         ;३  ᫥饩 ப

         sti

;     (     
;)
         mov       CX,80          ;CX ᮤন ਭ ࠭  
                                  ;⥫쭮 ᫠
         add       CX,c_wide      ; ਭ 㠫쭮 ࠭
                                  ; 祭 ᫠ ᨬ 
                                  ;ࠢ ࠥ ⢨⥫쭮 
                                  ;㠫쭮 ࠭
         push      CX             ;࠭  祭  ᯮ-
                                  ;  ஬ ࠧ
again:   call      down_c
         call      right_c
         loop      again
;  HA     
         pop       CX
again2:  call      down_c
         call      left_c
         loop      again2

         xor       AH,AH          ;㭪 0 - ⠭ ०
         mov       AL,al_mode
         int       10h

         ret
main     endp

right_c  proc      near
;६饭 뤥   ⥪⮢ ०   ᨬ ࠢ
         push      AX
         push      BX
         push      CX
         push      DX

         mov       CX,ch_wi
         mov       BX,0033h       ; ॣ ⭮ -
                                  ;஢  ਧ⠫ (9 ⮢
                                  ; co 祭 0)  5 ⠭-
                                  ; (ॣ  ࠭ 
                                  ;஢묨)
         cmp       ch_wi,8        ;뫠 9-⮢ ਭ ᨬ?
         je        is_9           ; - ய ᫥騩 蠣
         inc       BH             ; -  쬨 ⮢  c 1
         cli

is_9:    wait_r                   ; ⭮ 室  ,
                                  ;(䨪 AX/DX), ⠪ ᯥ-
                                  ; ⠭ 3c0h
         mov       DX,ATC_add     ;ॣ ਡ
         mov       AX,BX
         byte_out                 ;設⢮  ᪠ OUT DX,AX
                                  ;  3c0h (  
                                  ; 㬥樨  ࠦ)
         inc       BH             ;᫥騩 蠣 ਧ⠫쭮 ஫
         loop      is_9           ;横   ਭ ᨬ.
         cmp       ch_wi,8        ;뫠 9-⮢ ਭ ᨬ
         je        is_9_2         ; - ய ᫥騩 蠣
         mov       BH,0           ; -  8 ⮢  c 1
is_9_2:  display                  ; 祭 䥪  砫 ᫥-
                                  ;饣 ⭮ 室   
                                  ;砫    ⠭-
                                  ;   뢮
         inc       strt_addw      ;㪠⥫  ᫥騩 ᨬ 
                                  ;砫쭮  뢮
         mov       AL,0ch         ; 襣 砫쭮 
         mov       AH,strt_add[1] ; 訩 
         word_out
         inc       AX             ; 襣 砫쭮 
         mov       AH,strt_add    ; 訩 
         word_out
         retrace                  ;ਢ   믮
                                  ;  뢮, ୠ ஢ઠ
                                  ;c   WAIT_R  ॡ
         mov       DX,ATC_add
         mov       AX,BX
         byte_out

         sti
         pop       DX
         pop       CX
         pop       BX
         pop       AX

         ret
right_c  endp

left_c   proc      near
;६饭 뤥   ⥪⮢ ०   ᨬ 
         push      AX
         push      BX
         push      CX
         push      DX

         cli
         display                  ; 祭 䥪  砫 ᫥-
                                  ;饣 ⭮ 室   
                                  ;砫    ⠭-
                                  ;   뢮
         dec       strt_addw      ;㪠⥫  ᫥騩 ᨬ 
                                  ;砫쭮  뢮
         mov       DX,CRT_add
         mov       AL,0ch         ; 襣 砫쭮 
         mov       AH,strt_add[1] ; 訩 
         word_out
         inc       AX             ; 襣 砫쭮 
         mov       AH,strt_add    ; 訩 
         word_out

         mov       CX,ch_wi
         inc       CX
         mov       BX,0733h       ; ॣ ⭮ -
                                  ;஢  ਧ⠫ (稭 c
                                  ;7- ᥫ)  5 ⠭
                                  ;(ॣ  ࠭ 
                                  ;஢묨)

lp_lft:  wait_r                   ; ⭮ 室  
                                  ;(䨪 AX/DX) ⠪ ᯥ-
                                  ;稢 ⠭ 3c0h
         mov       DX,ATC_add     ;ॣ ਡ
         mov       AX,BX
         byte_out                 ;設⢮  ᪠ OUT DX,AX
                                  ;  3c0h (  
                                  ; 㬥樨  ࠦ)
         dec       BH             ;᫥騩 蠣 ਧ⠫쭮 ஫-
                                  ;
         loop      lp_lft         ;横  ⠢ ⮢ (᫨
                                  ;ਭ  9 ⮢)
         cmp       ch_wi          ;뫠 9-⮢ ਭ
         jne       not_9
         mov       BH,0           ; 8-⮢ ਭ  c 0
         wait_r
         mov       DX,ATC_add
         mov       AX,0833h       ; 砥 ਭ 9 ⠭ 祭
                                  ;8  ॣ ࠬ஢
         byte_out
not_9:   sti

         pop       DX
         pop       CX
         pop       BX
         pop       AX

         ret
left_c   endp

down_c   proc      near
;६饭 뤥   ⥪⮢ ०   ᨬ 
         push      AX
         push      BX
         push      CX
         push      DX

         mov       CX,ch_hi
         mov       BX,0108h       ; ॣ ।⥫쭮
                                  ;筮 ࠧ⪨
         cli
lp_d:    wait_r                   ; ⭮ 室   
                                  ;(䨪 AX,DX)
         mov       DX,CRT_add     ; ॣ 
         mov       AX,BX
         word_out
         inc       BH             ;᫥騩 蠣 ⨪쭮 ஫-
                                  ;
         loop      lp_d           ;横     ᨬ

         mov       BX,c_wide      ;ਭ 㠫쭮 ࠭
         add       BX,strt_addw   ;BX 㪠뢠  ᫥ ப
         mov       strt_addw,BX   ;࠭  砫 

         wait_d                   ; ࢠ 뢮 
                                  ;  砫쭮 
         mov       DX,CRT_add
         mov       AL,0dh         ; 訩 
         word_out
         dec       AX
         mov       AH,BH          ; 訩 
         word_out

         retrace                  ; ⭮ 室  -
                                  ;䨪樨 ।⥫쭮 筮
                                  ;ࠧ⪨
         mov       DX,CRT_add
         mov       AX,8           ;⠭ ।⥫ 
                                  ;ࠧ  0
         word_out
         wait_d                   ;।࠭  ᯮ짮
                                  ;᫥饣 맮  ⮬  ࢠ
         sti

         pop       DX
         pop       CX
         pop       BX
         pop       AX

         ret
down_c   endp


down_p   proc      near
;६饭 뤥   ⥪⮢ ०   ᨬ 
         push      AX
         push      BX
         push      CX
         push      DX

         cli

         mov       BX,c_wide      ;ਭ 㠫쭮 ࠭
         add       BX,strt_addw   ;BX 㪠뢠  ᫥ ப
         mov       strt_addw,BX   ;࠭  砫 

         wait_d                   ; ࢠ 뢮 
                                  ;  砫쭮 
         mov       DX,CRT_add
         mov       AL,0dh         ; 訩 
         word_out
         dec       AX
         mov       AH,BH          ; 訩 
         word_out

         sti

         pop       DX
         pop       CX
         pop       BX
         pop       AX

         ret
down_p   endp

code     ends

         end       start



 ELLIPSE.ASM


      ணࠬ ELLIPSE.ASM ᯮ 楫᫥ ⮤ 
஥ .  । 㭪樨 ਬ ப. -
ப E_PROC  믮 ணࠬ ஥ , -
 祣 ⢫  ८।    (NEAR)
맮 ணࠬ. 室 ⬥,  । ࠬ஢
믮  ࢮ 맮. ᯮ짮 ࠬ஢ ᫥ ࢮ
饭  ELLIPSE 易⥫쭮, ᪮  ६ 뫠
 , ।  ࢮ 饭. ᠭ  ⬠ -
   15.

ਬ  몥 ᥬ


        PAGE,132
; ணࠬ  ந ஢ઠ . 饭 楤
;ન   ணࠬ ஥  宩 ,
;᫨ ᠬ ணࠬ  ࠭稢 ࠧ  ᯮ -
;.    ᥭ  ࠧ ࠦ  (
;祭, ࠭稢 न   x  y  ணࠬ -
;).  ⠪ ⬥,   뤠 ⪠  ࠡ 
;砥,  ᨬ ६ Y ⠭ ࠢ 0. ᫨ 
;ணࠬ  ࠭祭  ࠤ,    ஢
;⠪ ࠧ, ⮡  砥,  ᨬ ६ y ਭ-
; 祭 0, ४頫  y.

;   ॢ 640 ᥫ,  筮  設⢠
;ਬ.

ep_type='mv'            ;ࠬ   ६  'rg'
                        ;ᯮ  ॣ஢ ࠬ஢

r_l     equ     00000001b       ;᪠, । ࠢ  
                                ;   ஥
                                ;(࠭  "portion")

t_b     equ     11111110b       ;᪠, । 孨  
                                ;   ஥
                                ;(࠭  "portion")
pixpb   equ     3               ;ᥫ   ( ᤢ)
                                ;2**3=8 ᥫ
b_mask  equ     10000000b       ;⮢ ᪠ (㤥 ᤢ)

word_out macro
        out     DX,AX
        endm

;ப  ஥ 

e_d     macro

data    segment public

        even
t_e_lo  dw      ?
t_e_hi  dw      ?
r1_lo   dw      ?
r1_hi   dw      ?
r2_lo   dw      ?
r2_hi   dw      ?
y_p_lo  dw      ?
y_p_hi  dw      ?

max_x   dw      ?

c_x     dw      ?
c_y     dw      ?

x       dw      ?
y       dw      ?

portion db      ?

bprow   dw      80      ;  ப (640/8)
ega_mem dw      0a000h

data    ends
        endm

e_proc  macro   xl,yl,r1l,r2l
        jmp     skip_proc
ellip   proc    near

;  
;  祭  ஥  ந ⮫쪮 ,
; ⮣ ⮡   ६  ᫥. ⨬ ⮩
;楤  ࠥ 饩 ஫, ᪮   横 ஥.
;ࠧ  ᨬ쭮 祭 X. ⮥ ࠢ ᫥
; 横,  ࠢ, 믮 ॥, 祬 㬭 x  y
; ᮮ⢥騥 樥  ᫥饥 ࠢ.  -
;஢     믮 ६  ᮥ  殢, 
;⮬  ࠭ ⥫ 祭 ६ ॡ
;襥 ᫮ 権 㯠  .

;       AX ᮤন x
;       BX ᮤন r2
;       CX ᮤন r1

        mov     SI,AX   ;x ࠭  SI
        mov     AX,BX
        mul     BX      ;AX+DX=r2**2
        mov     BP,DX
        mov     BX,AX   ;BX+BP=r2**2
        mov     r2_lo,AX
        mov     r2_hi,DX

        mov     AX.CX


        mul     CX      ;AX+DX=r1**2
        mov     DI,DX
        mov     CX,AX
        mov     r1_lo,AX
        mov     r1_hi,DX

;       CX=襥 ᫮  r1**2
;       DI=襥 ᫮  r1**2
;       BX=襥 ᫮  r2**2
;       BP=襥 ᫮  r2**2
;       SI=x

; ᨬ쭮 x (窠 ⠭)
;[r1**4/(r2**2+r1**2)]**(-1/2)
; 裡  ⥬  ⥬,  r1**4  ॢ 32  (640**4), 
;᫥饬 ࠧ  ⤥ 権 ᯮ 48-⮢
;䬥⨪.  ⮬ ।,  DX+AX  CX+DI ᮤঠ r1**2.
;ᯮ ᫥騩 ᯮᮡ ᫥ :
;                 - 襥 ᫮
;                - 襥 ᫮
;       -----
;                  襣 ᫮
;               (2**16)
;               (2**16) 2*襥 ᫮*襥 ᫮
;               (2**32)    襣 ᫮
;砥 祭 ᥣ ⥫쭮.

        push      BX
        push      CX
        push      DI
        push      BP
        push      SI

        mul     AX        ;   襣 ᫮
        mov     BP,AX     ;  BP, 襥 ᫮ ନ஢
        mov     BX,DX     ; ९  BX

        mov     AX,DI     ; 襥 ᫮
        mul     CX        ;襥 ᫮*襥 ᫮
        shl     AX,1
        rcl     DX,1      ;2*襥 ᫮*襥 ᫮
        add     BX,AX     ;। ᫮ ନ஢
        mov     CX,DX     ; ९  CX
        mov     AX,DI     ; 襥 ᫮
        mul     AX        ;   襣 ᫮
        add     CX,AX     ;襥 ᫮ ନ஢
                          ;DX  ⢥ ᫮
                          ;(। 0)

        mov     AX,BP     ;襥 ᫮  AX
                          ;। ᫮  BX
                          ;襥 ᫮  CX

; r2**2+r1**2

        mov     DX,r2_lo  ; r2**2  DI+DX
        mov     DI,r2_hi
        add     DX,r1_lo  ;r2**2+r1**2(襥 ᫮)
        adc     DI,r1_hi  ;r2**2+r1**2(襥 ᫮)

; ॡ ࠧ CX+BX+AX  DI+DX, .e.
;r1**4/(r1**2+r2**2). B ᮯ 8087  믮 ⥬
;⠭ ⥫   ,  ᫨⥫ 
;⥫. 稪 ।⠢ ᮡ १,
;a ᫨⥫ - ⮪.

        mov     BP,0      ;⠭ 祭 稪 0
        mov     SI,0      ;⠭ ९ 稪 0


div_loop:
        cmp     CX,0      ;襥 ᫮ 0?
        jne     c_div     ; - த 
        cmp     BX,DI     ;᫨⥫ । ᫮ 
                          ;⥫ 襣 ᫮?
        ja      c_div     ; - த 
        cmp     AX,DX     ;᫨⥫ 襣 ᫮  
                          ;ࠢ ⥫ 襣 ᫮?
        jae     c_div     ; - த 
        jmp     div_done  ;  祭

c_div:  inc     BP        ; 1  横
        jnz     no_of     ;뫮  ९?
        inc     SI        ;, 㢥  1 ९
no_of:  sub     AX,DX     ;⠭  ᫮
        sbb     BX,DI     ;⠭ । ᫮
        sbb     CX,0      ;⠭  ᫮
                          ;(⥫ ᥣ 0)
        jmp     div_loop

div_done:
        shl     AX,1      ;㬭 ⪠  2
        rcl     BX,1      ;।,  CX=0 (襥
                          ; 祭 640**2)
        cmp     DI,BX     ;⥫ 襣 ᫮
                          ; ⪠ 襣 ᫮?
        ja      no_up     ; - १  㣫
        cmp     DX,AX     ;⥫ 襣 ᫮
                          ; ⪠ 襣 ᫮?
        ja      no_up     ; - १  㣫

        inc     BP        ;⮪ >=1/2* ⥫,
                          ;㣫
        jnz     no_up     ;뫮  ९?
        inc     SI        ;, 㢥  1 ९

no_up:

;ॡ   ७  १.  믮
;⥬ ࠢ ⮢ 楫 ᥫ   ,   㤥
; ᫮,  ண ॢ蠥 祭 १.
;ᯮ    ࢠ  0  1024 (  -
; 室 祭 ᨬ쭮 ࠤ, ஥ ⠢ 640).

        sub     BX,BX     ;砫쭮 祭 - 1 (=0)
        cmp     DX,0      ;஢  0
        jne     rt_strt   ; 0 - த
        cmp     SI,0
        jne     rt_strt   ; 0 - த
        jmp     rt_done

rt_strt:mov     BX,512    ;砫쭮 ஢塞 祭
        mov     CX,512    ; ஢塞 祭
rt_lp:  shr     CX,1
        mov     AX,BX

        mul     AX        ; ஢塞 祭
        cmp     DX,SI     ;ࠢ co 訬 ᫮
        jg      t_lg      ;஢塞 祭 
        jl      t_sm      ;஢塞 祭 
        cmp     AX,BP     ; । - ࠢ
                          ;訥 ᫮
        jl      t_sm      ;஢塞 祭 
        jmp     t_lg      ;᫨ ஢塞 祭
                          ; (  ࠢ )

t_sm:   add     AX,BX     ; BX  ஢ 
                          ; 
        adc     DX,0
        cmp     SI,DX     ;. e. [t**2<]x**2<=t**2+t?
        ja      t_sm2     ; - ஢塞 祭
                          ; (x )
        cmp     BP,AX     ;஢ 襥 ᫮
        ja      t_sm2     ;祭 
        jmp     rt_done   ;ॡ㥬 祭 祭


t_SM2:  add     BX,CX     ;祭 , 㢥
        jmp     rt_lp     ; த 

t_lg:   sub     AX,BX     ; BX  ஢ 
                          ; 
        sbb     DX,0
        cmp     DX,SI     ;. e. t**2-t < x**2 [<=t**2]
        ja      t_lg2     ; - ஢塞 祭
                          ;
        cmp     AX,BP     ;஢ 襥 ᫮
        ja      t_lg2     ;祭 

        jmp     rt_done   ;ॡ㥬 祭 祭

t_lg2:  sub     BX,CX     ;祭 , 㬥
        jmp     rt_lp     ; த 


rt_done:inc     BX        ;஢ 襭 樨
        mov     max_x,BX

        pop     SI
        pop     BP
        pop     DI
        pop     CX
        pop     BX

;P 砫쭮 ஢塞 祭  (t_e=-2*r1**2*y+r1**2)

        puch    BX        ;࠭ r2**2
        puch    BP

        mov     AX,CX     ;襥 ᫮ r1**2
        mul     y         ;y*r1**2 襥 ᫮ (᫮
                          ;१
        mov     AX,CX     ;࠭  BX
        mov     BP,DX     ;६ ࠭  BP
        mov     AX,DI     ;襥 ᫮ r1**2
        mul     y         ;y*r1**2 襥 ᫮
                          ;(᫮ १)
                          ;DX 㤥 0, ⠪  । ࠢ 640**3
        add     BP,AX     ;㢥 ९  ।饩
                          ;樨 MUL
                          ;[ᯮ ᮮ⭮襭
                          ;y*(a+b)=y*a+y*b]
                          ;BP+BX ᮤন y*r1**2
        neg     BX        ;-y*r1**2 ( ஥ 
                          ;襣 ᫮)
        not     BP        ;-y*r1**2 ( ஥ 
                          ; 襣 ᫮
        shl     BX,1      ;BX=2*BX (襥 ᫮)
        rcl     BP,1      ;BP=2*BP (襥 ᫮ 
                          ;訩 ࠧ 襣 ᫮)
                          ;BX+BP ᮤন -2*y*r1**2

        add     CX,BX     ;DI+CX=-2*y*r1**2+r1**2
        adc     DI,BP

        mov     t_e_lo,CX ;࠭ 襥 ᫮ t_e
        mov     t_e_hi,DI ;࠭ 襥 ᫮ t_e

; ४७ ࠬ஢ 4*r1**2*(-y+1),  y*r**2*x+2*r**2
; ⮣ ॡ 4*r1**2, 4r**2  砫 祭
;4*r1**2*(-y_i+1)=-4*r1**2*(-y_i-1)  2*r2**2

        shl     r1_lo,1
        rcl     r1_hi,1
        shl     r1_lo,1
        rcl     r1_hi,1   ;r1_lo=4*r1**2
        mov     BX,y      ; y_i  BX
        dec     BX        ;y_i-1
        mov     AX,r1_lo
        mul     BX        ;襥 ᫮ 4*r1**2*(y_i-1)
        mov     BP,DX     ;६ ࠭ ९  BX


        neg     AX        ;஥  襣
                          ;᫮, .e. AX=-4*r1**2*(y_i-1

        mov     y_p_lo,AX ;࠭ 襣 ᫮
        mov     AX,r1_hi
        mul     BX        ;襥 ᫮ 2*r1**2*(2*y_i-1)
        add     AX,BP     ;  ९

        not     AX        ;믮 ஥ 
                          ;襣 ᫮
        mov     y_p_hi,AX ;࠭  쭥襣
                          ;ᯮ짮
        pop     BP        ;⠭ r2**2
        pop     BX

        shl     BX,1      ;2*r2**2
        rcl     BP,1

        push    BX        ;६ ࠭
        push    BP        ;६ ࠭

        shl     BX,1      ;4*r2**2
        rcl     BP,1
        mov     r2_lo,BX  ;࠭ 4*r2**2
        mov     r2_hi,BP

        mov     CX,BX     ;    x,
        mov     DI,BP     ;࠭  DI+CX=4*r2**2
                          ;(ᯮ   樨)
        pop     BP        ;⠭ 2*r2**2 (砫
                          ;  x)
        pop     BX        ;BP+BX=2*r2**2
                          ;(ᯮ   樨)
        mov     DX,t_e_hi ; ஢塞
                          ;祭  DX+AX
        mov     AX,t_e_lo

;砫쭮 x     SI

retest:

;஥ 祪

        push    AX
        push    BX
        push    CX
        push    DX
        push    DI
        push    SI
        push    BP

        mov     DI,y
        old_type=ep_type
        ep_type='rg'

        test    portion,r_l
        jz      no_xchg
        xchg    SI,DI

no_xchg:mov     AL,color
        mov     CX,c_x
        add     CX,SI           ;⮫ c_x+x
        mov     DX,c_y
        add     DX,DI           ;ப  c_y+y
        plot

        sub     CX,SI
        sub     CX,SI           ;⮫ c_x-x( c_y-y)
        plot

        sub     DX,DI
        sub     DX,DI           ;ப  c_y-y( c_x-x)
        plot


        add     CX,SI
        add     CX,SI
        plot

        ep_type=old_type

        pop     BP
        pop     SI
        pop     DI
        pop     DX
        pop     CX
        pop     BX
        pop     AX

        cmp     SI,max_x   ;᫥ x?
        jne     e_cont     ; - த co ᫥饩 窨
        jmp     e_done     ; -  楤

e_cont:

;᫥饥 ஢塞 祭

        cmp     DX,0       ;᫨ ஢塞 祭 >=0, 㢥
                           ;  y  ஢塞
                           ;祭, ᫥ 祣 㬥 y 
                           ;  . 
                           ;⬥,  । ⮫쪮
                           ;訬 ⮬
        jl      less1      ;祭 < 0, ⮬ ய

;   祭 y 4*(r1**2-y*r1**2)

        push    BX         ;࠭  祭 x
        push    BP

        mov     BX,y_p_lo  ; 祭 y  BP+BX
        mov     BP,y_p_hi
        add     AX,BX      ;  祭 y
        adc     DX,BP      ; ஢塞 祭

        dec     y          ;y=y-1

        add     BX,r1_lo   ;⠭   祭 y
        adc     BP,r1_hi   ;4*(r1**2-r1**2*y) ⥬ 㢥祭
                           ; 4*r1**2(y 㬥襭  1 )

        mov     y_p_lo,BX
        mov     y_p_hi,BP  ;࠭  祭

        pop     BP         ;⠭  祭 x
        pop     BX

        add     AX,BX      ;  ஢塞 祭
        adc     DX,BP      ;t_e=t_e+4*x*r2**2+2*r2**2
                           ;(  +4*(r1**2-y*r1**2)

        inc     SI         ;㢥 x  1

        add     BX,CX      ;⠭  
        adc     BP,DI      ;祭 x ⥬ 㢥祭  4*r2**2
                           ;(ᮡ⢥ x 㢥  1
        jmp     retest

e_done:
        ret

ellip        endp

skip_proc:
        endm


e_call  macro   a,b,c,d

        push    AX
        push    BX
        push    CX
        push    DX

        mov     AX,a
        mov     c_x,AX
        mov     AX,b
        mov     c_y,AX
        mov     AX,0
        mov     x,0
        mov     BX,d
        mov     y,BX
        mov     CX,c
        mov     ellip

        pop     DX
        pop     CX
        pop     BX
        pop     AX

        endm

ellipse      macro   xl,yl,r1l,r2l

        e_d             ;; 砥 ࢮ 室 ।⢮
                        ;; ।   
        e_proc          ;;। 楤   砥
                        ;;ࢮ 믮 
        set_mode
        and     portion,t_b
        e_call  xl,yl,r1l,r2l
        or      portion,r-l
        e_call  xl,yl,r2l,r1l
        rst_mode

ellipse macro

        set_mode

        and     portion,t_b
        e_call  xl,yl,r1l,r2l   ;;८। 楤 
                                ;;饭
        or      portion,r-l
        e_call  xl,yl,r2l,r1l
        rst_mode

        endm

        endm

rst_mode     macro

;;ப ⠭ ०  EGA, ।ᬮ७ 
;;㬮砭 (0)

        mov     DX,3ceh  ;ॣ  䨪 1  2
        mov     AL,8     ; 8 (᪠ ⮢ )
        mov     AH,0ffh  ;⠭ ⮢ ᪨
                         ; ࠧ襭  ᥫ  

        word_out

        mov     DX,3ceh  ;ॣ  䨪 1  2
        mov     AL,5     ;⠭ ० 
        mov     AH,0     ;० 0 (ਭ  BIOS  㬮砭
        word_out

        endm


set_mode     macro

;;ப । ०  EGA, ⠭
;;   稥 樨,  ᯮ騥 㭪樨 BIOS,
;; ॡ 믮 ⮫쪮  ࠧ  饭.

        mov     DX,3ceh  ;ॣ  䨪 1  2
        mov     AL,5     ;⠭ ० 
        mov     AH,2     ;० 2 (梥 n  ᪨㥬 )
        word_out

        endm

plot         macro

;। ࠭ 0. B ⠫쭮 宦  INT10:
;AL=梥
;CX=⮫
;DX=ப

        push    BX
        push    CX
        push    DX
        push    AX           ;믮 ᫥ 
                             ;ᯮ짮  
        push    DX

        mov     AX,CX        ;  ⮫  AX
        push    CX           ;࠭  ⮫
        mov     CL,16-pixpb  ;।⢮ ᤢ  ⮪
                             ;  AX  ᫮ ᥫ 
                             ;
        shl     AX,CL
        shr     AX,CL
        mov     CL,AL
        mov     AL,b_mask    ;ନ஢ ⮢ ᪨ ⥬

        shr     AL,CL        ;横᪮ ᤢ
        pop     CX           ;⠭ CX

        mov     AH,AL        ; ⮢   AH
        mov     AL,8         ; ॣ ⮢ ᪨
        mov     DX,3ceh      ;ॣ ⮢ ᪨
        word_out

        pop     DX
        mov     AX,DX        ; ப  DX
        mov     BX,bprow     ; ᫮ ⮢  ப

        mul     BX           ;㬭  ᫮ /ப
        mov     BX,CX        ;  ⮫  BX
        mov     CL,pixpb
        shr     BX,CL        ;ࠧ  ᫮ ᥫ/
        add     BX,AX        ;ᬥ饭   

        mov     AX,ega_mem
        mov     ES,AX
        mov     AL,ES:[BX]   ;㧨 ॣ 饫
        pop     AX           ;⠭  梥
        mov     ES:[BX],AL   ; 梥  

        pop     DX
        pop     CX
        pop     BX

        endm


plot2   macro   c,x,y
; ⮣ ⮡ 㢨, ᪮쪮 饭  BIOS  믮-
; 楤, ᫥   楤  PLOT,  -
; PLOT -  PLOT2

        push    AX

        mov     AH,0ch
        mov     BH,0
        int     10h

        pop     AX
        endm

;  -   ,  
;  

dgroup  group   DATA

data    segment public
r1      dw      100
r2      dw      150
cntr_x  dw      320
cntr_y  dw      170
color   db      5
o_mode  db      ?
o_curs  dw      ?
data    ends

code    segment public
        assume  CS:code

main    proc    far

start:  push    DX
        sub     AX,AX
        push    AX

        mov     AX,dgroup
        mov     DS,AX
        assume  DS:dgroup

        mov     AH,0fh  ; ଠ  ⥪饬 ०
        int     10h
        mov     o_mode,AL       ;࠭ ⥪騩 ०

        mov     AH,3    ; ਡ 
        int     10h
        mov     o_curs,CX       ;࠭ ⨯ 

        mov     AH,10h  ;⠭ ० ᮪ ࠧ襭
        int     10h

        ellipse cntr_x,cntr_y,r1,r2

        mov     r1,100
        mov     r2,100
        ellipse cntr_x,cntr_y,r1,r2

        mov     AX,1000

bmrk:   mov     color,AL
        and     color,1111b
        push    AX
        mov     r1,50
        mov     r2,50
        ellipse cntr_x,cntr_y,r1,r2

        pop     AX
        dec     AX
        jz      go_on
        jmp     bmrk

go_on:  mov     AH,0    ;⠭   砫쭮 祭 ०
        mov     AL,o_mode
        int     10h


        mov     AH,1    ;⠭ ⨯ 
        mov     CX,o_curs
        int     10h

        ret
main    endp
        end     start



 LINE.ASM


      ணࠬ LINE.ASM ᯮ 楫᫥ ⮤ ஥
.  । 㭪権 ਬ ப. ப
L_PROC  믮 ணࠬ ஥ , ᫥ 祣 -
⢫ ८ࠧ    (NEAR) 맮. 室
⬥,  । ࠬ஢ 믮  ࢮ 맮.
ᯮ짮 ࠬ஢ ᫥ ࢮ 饭  LINE 易⥫쭮,
᪮  ६ 뫠  , ।  ࢮ
饭. ᠭ ⬠ ਢ   15.

ਬ  몥 ᥬ


        PAGE,132

; ணࠬ  ந ஢ઠ . 饭 楤
;ન   ணࠬ ஥  宩 ,
;᫨ ᠬ ணࠬ  ࠭稢 ࠧ  ᯮ 

ep_type='mv'            ;ࠬ   ६  'rg'
                        ;ᯮ  ॣ஢ ࠬ஢

pixpb   equ     3               ;ᥫ   ( ᤢ)
                                ;2**3=8 ᥫ
b_mask  equ     10000000b       ;⮢ ᪠ (㤥 ᤢ)
swap    equ     1               ;䫠  न x  y
neg_dx  equ     2               ;䫠  饭 x
neg_dy  equ     4               ;䫠  饭 y

word_out macro
        out     DX,AX
        endm

;    

l_d     macro

data    segment public

bprow   dw      80      ;  ப (640/8)
ega_mem dw      0a000h

data    ends
        endm

; ப ।⠢ ᮡ ॠ ⬠ -
; . LABEL 砥 砫 ,
; MAJ_DIR - ࠢ 㢥祭 (x  y), 
; MIN_DIR - ࠢ 㬥襭 (x  y)

;X   ।⠢ ᮡ ᭮ ࠢ, 
;Y - ᯮ⥫쭮

line_a  macro   label,maj_dir,min_dir
        local   l_cont,gtrt

label:  push    AX
        old_type=ln_type
        ln_type='rg'

ifidn   <maj_dir>,<y>
        xchg    CX,DX
endif
        mov     AL,color
        plot
ifidn   <maj_dir>,<y>
        xchg    CX,DX
endif


        ln_type=old_type
        pop     AX

        cmp     CX,BX   ;ᤥ ᫥ y
        jne     l_cont  ;, த  ᫥饩 窨
        jmp     l_done  ;,  楤

l_cont:
;᫥饥 ஢塞 祭

        cmp     AX,0
        jg      grtr    ;祭 >0, ३  grtr
        add     AX,DI   ;test=test+2*dx

ifidn   <min_dir>,<+>
        inc     DX      ;y=y+1
else
        dec     DX      ;y=y-1
endif

grtr:   sub     AX,SI   ;test=test-2*dy[+2*dx]
        inc     CX      ;x=x+1
        jmp     label
        endm

l_proc  macro   x1.y1.r1l,r2l
line_p  proc    near

; 砫 祭
;       AX ᮤন x_n
;       BX ᮤন y_n
;       CX ᮤন x_o
;       DX ᮤন y_o
;       BP ᯮ  䫠 ணࠬ

        sub     BP,BP   ;  䫠

        mov     DI,AX   ; ᫥   DI
        sub     DI,CX   ;DI=delta x SUB 䫠=CMP 䫠
        jae     p_dx    ;DI>=CX, delta x >0
        neg     DI      ;ॡ ⥫쭮 祭
        or      BP,neg_dx

p_dx:   mov     SI,BX   ; ᫥ y
        sub     SI,DX   ;SI=delta y
        jae     p_dy    ;SI>=DX, delta y >0
        neg     SI      ;ॡ ⥫쭮 祭
        or      BP,neg_dy

p_dy:   mov     DI,SI   ; , dx  dy
        jae     g_dx    ;饭  

;饭 y ,  裡  ⨬ 室  祭
;x  y  ⬥ ( ᤥ    ஥)

        xchg    AX,BX
        xchg    CX,DX
        xchg    DI,SI

;⠢ 䫠

        test    BP,neg_dx
        jz      no_dx
        or      BP,swap
no_dx:  and     BP,not neg_dx   ; neg_dx
        test    BP,neg_dy
        jz      no_dy
        or      BP,neg_dx
no_dx:  and     BP,not neg_dx   ; neg_dx
        test    BP,swap
        jz      no_tmp
        or      BP,neg_dy
no_tmp: or      BP,swap         ;࠭஢ 䫠 


g_dx:   test    BP,neg_dx       ;஢  ࠢ
        jz      r2l             ;  ࠢ  

        xchg    AX,CX           ; ࢮ  ᫥ 祭 
        xchg    BX,DX           ; ࢮ  ᫥ 祭 y
        xor     BP,neg_dy       ;  饭 y

r2l:    mov     BX,AX           ; ᫥   BX

; 砫쭮 祭 test

        mov     AX,DI           ;饭 
        shl     SI,1            ;SI=2*delta y
        sub     AX,SI           ;ax=delya x-2*delta y

; ४७ ࠬ஢

        shl     DI,1            ;DI=2*delta x

; AX - 祭 test
; BX - ᨬ쭠 न X
; CX - ⥪ न X
; DX - ⥪ न Y
; SI - 2*delta y
; DI - 2*delta x
; BP - 䫠   ࠢ

; ⮩   ।  믮  ࠧ 楤
; ࠧ .     ᪮஢ 
;⤥ ணࠬ,   ᪮쪮 㬥 ᪮ 믮-
; ணࠬ

        test    BP,swap
        jz      no_swp
        jmp     swap_p

no_swp: test    BP,neg_dy
        jnz     retest2

        line_a  retest,x,+
        line_a  retest2,x,-

swap_p: test    BP,neg_dy
        jnz     retest4

        line_a  retest3,y,+
        line_a  retest4,y,-

l_done: ret
line_p  endp

skip_proc:
        endm

line    macro   x1,y1,xn,yn
        l_d     ; ࢮ 믮  ।  
        l_proc  ; ࢮ 믮 । 楤

        set_mode

        push    AX
        push    BX
        push    CX
        push    DX

        mov     AX,xn
        mov     BX,yn
        mov     CX,x1
        mov     DX,y1


        call    line_p

        pop     DX
        pop     CX
        pop     BX
        pop     AX

        rst_mode

   line    macro

           set_mode

           push    AX
           push    BX
           push    CX
           push    DX

           mov     AX,xn
           mov     BX,yn
           mov     CX,x1
           mov     DX,y1

           call    line_p

           pop     DX
           pop     CX
           pop     BX
           pop     AX

           rst_mode
           endm

        endm

rst_mode macro
;ப ⠭ ०  EGA, ।ᬮ७ 
;㬮砭 (0)

        mov     DX,3ceh ;ॣ  䨪 1  2
        mov     AL,8    ; 8 (᪠ ⮢ )
        mov     AH,0ffh ;⠭ ⮢ ᪨  ࠧ襭
                        ; ᥫ  
        word_out

        mov     DX,3ceh ;ॣ  䨪 1  2
        mov     AL,5    ;⠭ ० 
        mov     AH,0    ;० 0 (ਭ  BIOS  㬮砭)
        word_out

        endm

set_mode macro
;ப । ०  EGA, ⠭  
; 稥 樨,  ᯮ騥 BIOS,  ॡ 믮
; ࠧ  饭.

        mov     DX,3ceh ;ॣ  䨪 1  2
        mov     AL,5    ;⠭ ० 
        mov     AH,2    ;० 2 (梥 n  ᪨㥬 )
        word_out

        endm

plot    macro
;। ࠭ 0.  ⠫쭮 宦  INT10
; AL=梥
; CX=⮫
; DX=ப


        push    BX
        push    CX
        push    DX
        push    AX

        push    DX

        mov     AX,CX           ;  ⮫  AX
        push    CX              ;࠭  ⮫
        mov     CL,16-pixpb     ;।⢮ ᤢ  ⮪ 
                                ; AX  ᫮ ᥫ  
        shl     AX,CL
        shr     AX,CL
        mov     CL,AL
        mov     AL,b_mask       ;   C -
        srh     AL,CL           ;  
        pop     CX              ; CX

        mov     AH,AL           ; Y MACKY B AH
        mov     AL,8            ;   
        mov     DX,3ceh         ;  
        word-out

        pop     DX

        mov     AX,DX           ; ப  AX
        mov     BX,bprow        ; ᫮ ⮢  ப
        mul     BX              ;㬭  ᫮ /ப
        mov     BX,CX           ;   ⮫  BX
        mov     CL,pixpb

        shr     BX,CL           ;ࠧ  ᫮ ᥫ  
        add     BX,AX           ;ᬥ饭   

        mov     AX,ega_mem
        mov     ES,AX
        mov     AL,ES:[BX]      ;㧨 ॣ-饫
        pop     AX              ;⠭  梥
        mov     ES:[BX],AL      ; 梥  

        pop     DX
        pop     CX
        pop     BX

        endm

;  -   , 
;   .

dgroup  droup   data

data    segment public

        x_1     dw      150
        y_1     dw      175
        x_n     dw      320
        y_n     dw      5
        color   db      5

        o_mode  db      ?
        o_curs  dw      ?

data    ends
code    segment piblic
        assume  cs:code


main    proc    far

start:  push    DS
        sub     AX,AX
        push    AX
        mov     AX,dgroup
        mov     DS,AX

        assime  DS:dgroup

        mov     AH,0fh          ; ଠ o ⥪. ०
        int     10h
        mov     o_mode,AL       ;࠭ ⥪.०
        mov     AH,3            ; ਡ 
        int     10h
        mov     o_curs,CX       ;࠭ ⨯ 

        mov     AX,10h          ;⠭ ० ᮪ ࠧ襭
        int     10h

        line    x_1,y_1,x_n,y_n
        mov     y_n,345
        mov     color,2
        line    x_1,y_1,x_n,y_n

        mov     x_1,320
        mov     x_n,490
        mov     y_n,175
        mov     AX,1000

bmrk:

;横   ᯮ짮  業 ᪮ 믮 
; . ஬ ⮣ , 横 來  ᪮
;஥  横  梥⠬.

        mov     color,al
        and     color,1111b
        push    AX

        mov     y_1,5
        line    x_1,y_1,x_n,y_n

        mov     y_1,345
        line    x_1,y_1,x_n,y_n

        pop     AX
        dec     AX
        jz      go_on
        jmp     bmrk
go_on:
        mov     AH,0            ;⠭ .祭 ०
        mov     AL,o_mode
        int     10h

        mov     AH,1            ;⠭ ⨯ 
        mov     CX,o_curs       ;⠭ ⨯ 

        int     10h

        ret

main    endp

code    ends

end     start



 VERTIRQ2.ASM


      ਢ ࠣ ணࠬ VERTIRQ2.ASM.  
஥  V  ࠭ ᯮ ⭮ 뢠
⥬ 뢠   V. B  ६   
 栥, ࢠ  ࠭ . (஥
ன  ⢫ ⮫쪮 , ᪮쪮 
 ).  ᠭ ⮣  ਢ
 . 14.


ਬ  몥 ᥬ:


clr_flg      equ      1
ecd_flg      equ      2
vga_flg      equ      4
vr_bit       equ      8
g64_flg      equ      16
cols         equ      50h

set_irq2     macro
             Local    chk_disp,chk_mem,chk_done,no_vga,vga
                      skip_prm

; ᯮ짮 ப DS   ⠭  DATA

        push    DS
        mov     AX,BIOS
        mov     DS,AX           ;⠭ ᥣ  
                                ; ࠭ BIOS
        assume  DS:BIOS
        xor     AH,AH
        mov     AL,mode         ; ⥪騩 ० 

        pop     DS
        assume  DS:DATA

        test    hdwre,vga_flg
        jz      no_vga
        jmp     vga
no_vga: cmp     AL,3
        jbe     chk_disp
        cmp     AL,0fh
        jae     chk_mem
        jmp     chk_done

chk_disp:test   hdwre,ecd_flg   ;⠭ 梥⭮ 䠢⭮-
                                ;஢ ०  350 ப?
        jz      chk_done        ;, ᯮ짮 ⠭ 
                                ;⠡ ࠬ஢
        add     AX,19           ;350- 䠢⭮-஢ ०
                                ;ॡ ०+19-  ⠡
                                ;ࠬ஢
        jmp     chk_done
chk_mem:
        test    hdwre,g64_flg   ;  EGA ⠭   64K
                                ;?
        jz      chk_done        ;, ᯮ짮 ⠭
                                ; ⠡. ࠬ஢

                                ;. ⠡. ࠬ஢ >64K,
        add     AX,2            ;350-
                                ;䠢⭮-஢
                                ;० ॡ ०+2- 
                                ;⠡ ࠬ஢
        jmp     chk_done

vga:    mov     DX,CRT_add      ;VGA   ⥪饥
                                ;ﭨ ॣ  ⭮
                                ;  
        mov     AL,11h          ; ॣ  ⭮
                                ;  
        out     DX,AL
        inc     DX
        in      AL,DX           ; ⥪饥 祭
        mov     AH,AL           ; ⥪饥 祭
                                ;  AH  쭥襣 ᯮ짮
        jmp     skip_prm


chk_done:
        push    DS

        lds     BX,prm_tbl
        assume  DS:nothing
        mov     CL,6
        shl     AX,CL           ;㬭   ᫮ /०
        add     AX,27           ;ਡ ᬥ饭  
                                ;⭮   
        add     BX,AX           ;BX ।⠢ ᮡ ᬥ饭
                                ; 室 
        mov     AH,[BX]
        pop     DS
        assume  DS:data

skip_prm: and   AH,11001111b    ;ࠧ   IRQ2(稥
                                ;  )

        mov     DX,CRT_add
        mov     AL,11h
        out     DX,AL
        inc     DX
        mov     AL,AH           ; ⠭ IRQ2  AL
        out     DX,AL
        or      AL,10000b       ; ࠧ襭 IRQ2
        out     DX,AL

        endm

BIOS    segment at 40h

        org     49h
mode    db      ?

        org 0a8h
save_wptr label word
save_prt  dd    ?

BIOS    ends

stack   segment stack

        db      100 dup ('⥪')

stack   ends

data    segment public

even

wrd_i0a label   word
old_i0a dd      ?
prm_wtbl        label    word
prm_tbl dd      ?

CRT_add         dw     3b4h     ; ॣ 
                                ;(஬.), ਭ 
                                ;㬮砭

hdwre   db      0               ; 䫠 (梥⭮
                                ;, ECD  ..)
 int_st db      ?               ;᪠ ஫ ணࠬ㥬
                                ;뢠
data    ends

code    segment public
        assume  CS:code

main    proc    far

start:  pust    DS
        sub     AX,AX
        push    AX
        mov     AX,data
        mov     DS,AX
        assume  DS:data


        mov     AX,BIOS
        mov     ES,AX
        assume  ES:BIOS

        les     BX,ES:save_prt  ;㧨  ES:BX  
                                ;SAVE_PRT

        assume  ES:nothing
        les     BX,ES:[bx]      ;㧨  EX:BX  ⠡
                                ;ࠬ஢ (  . ⠡
                                ;SAVE_PRT
        mov     prm_wtbl,BX
        mov     prm_wtbl[2],ES

        movr    BL,10h          ; ଠ EGA
        mov     AH,12h          ;ୠ⨢ 㭪樨
        int     10h             ;饭   BIOS
        cmp     BL,0            ;⠭  64 
        jz      l64           ;, g64_fld  ⠭
        or      hdwre,g64_flg

lt64k:
        cmp     BH,1            ; ஬
        je      mono            ; - ⠭ ᤥ 
                                ;.  㬮砭, ய
                                ;⠭ ࠬ஢

        cmp     CL,1001b        ;஢ઠ ﭨ ४⥫
                                ; ᮢ襭⢮ ᯫ?
        je      ecd
        cmp     CL,0011b        ; .-. ०
                                ;᮪ ࠧ襭
        je      ecd
        jmp     cd              ;,   梥⭮ ᯫ
                                ;( ECD  ० 樨 ECD)
ecd:    or      hdwre,ecd_flg

cd:     or      hdwre,clr_flg
        mov     CR_add,3d4h

 mono:  mov     AX,la100h       ;  ᯫ
        int     10h             ;饭   BIOS

        cmp     AL,lah          ;VGA( 30) 頥 lah
        jne     not_vga

        cmp     BL,7            ;஬  VGA
        je      yes_vga
        cmp     BL,8            ;梥⭮    VGA
        je      yes_vga
        jmp     not_vga

yes_vga:or      hdwre,vga_flg

not_vga:mov     AX,350ah        ; ⥪騩 
                                ;INT 0ah    ES:BX
        int     21h             ;饭  㭪樨 DOS

        mov     wrd_i0a,bx
        mov     wrd_i0a[2],es

        test    hdwre,vga_flg
        jz      do_test
        jmp     skip_test       ;஢ ୮ ⭮ 室
                                ; VGA  ॡ
do_test:
        push    DS

        mov     AX,CS
        mov     DS,AX           ;⠭  DS⠪    CS 
                                ;⠭  뢠
        mov     DX,offset fake_i0a   ;஢ 
                                     ;୮ ⭮ 室


        mov     AX,250ah        ; int 0ah  ᮮ⢥⢨
                                ;c ᮬ  DS:DX
        int     21h             ;饭  㭪樨 DOS

        pop     DS

        set_irq2

        push    AX              ;࠭ 祭 뢠

        in      AL,21h          ; ﭨ
                                ;஫ 뢠
        mov     int_st,AL       ;࠭ ﭨ
                                ;஫ 뢠
        and     AL,11111011b    ;㡥  ࠧ襭
                                ;IRQ2( 0 )
        out     21h,AL

        mov     DX,CRT_add
        mov     AL,11h
        out     DX,AL
        pop     AX              ;⠭ 祭 뢠

        or      AL,100000b      ; IRQ2
        inc     DX
        out     DX,AL

skip_test: push DS

        mov     AX,CS
        mov     DS,AX           ;⠭ DS⠪    CS 
                                ;⠭  뢠
        mov     DX,offset new_i0a
        mov     AX,250ah        ; int 0ah  ᮮ⢥⢨ c
                                ;ᮬ  DS:DX
        int     21h             ;饭  㭪樨 DOS

        pop     DS

        sep_irq2
        mov     CX,3
hold2:  push    CX
        mov     CX,2000h
        mov     AX,0b800h
        test    hdwre,clr_flg
        jnz     seg_ok
        sub     AX,800h
        mov     ES,AX

hold:   push    CX
        mov     CX,Cols         ;᫮ ⮫殢  
        mov     DI,0a0h         ;砫   0a0h
        mov     AX,0720h        ; ஡, ਡ 7
        rep     stosw
        mov     CX,Cols
        mov     DI,0a0h
        mov     AX,0756h        ; 㪢 "V", ਡ 7

        rep     stosw
        pop     CX

        loop    hold
        pop     CX
        loop    hold2

        mov     AL,int_st       ;⠭ ﭨ ஫
                                ;뢠
        out     21h,AL

        mov     AH,0fh          ; ⥪饩 ନ
        int     10h

        and     AX,007fh        ; 訩 
                                ;AL  ⠭ 0  AH
        int     10h             ;⠭ ० (뢠 IRQ2)


        lds     DX,old_i0a
        assume  DS:nothing
        mov     AX,250ah        ;⠭ int 0ah 
                                ;室  ( DS:DX)
        int     21h             ;饭  㭪樨 DOS
        mov     AH,ofh          ; ⥪騩 ନ
        int     10h
        and     AX,007fh        ; .  AL  . 0  AH
        int     10h             ;⠭ ० ( IRQ2)

        ret

new_i0a proc    far

        cli

        push    AX
        push    DX
        push    DI
        push    DS
        push    ES

        mov     AX,data
        mov     DS,AX
        assume  DS:data

        mov     DX,3c2h         ;뫮  IRQ2  EGA
                                ;㫥  室 ﭨ

        in      AL,DX
        test    AL,80h          ; ᪠  ⨪쭮
                                ;뢠?
        jnz     cnt_vr
        jmp     skp_vr

cnt_vr: mov     AX,0b800h       ;砫   梥⭮
                                ;䠢⭮-஢ ᯫ
        test    hdwre,clr_flg
        jnz     seg_ok2
        sub     AX,800h         ;砫   ஬
                                ;䠢⭮-஢ ᯫ
seg_ok2:mov     ES,AX
        push    CX
        mov     CX,Cols         ;᫮ ⮫殢  
        mov     di,0            ;   0a0H
        mov     AX,0720h        ; ஡, ਡ 7

        rep     stosw
        mov     CX,Cols
        mov     DI,0
        mov     AX,0756h        ; 㪢 "V", ਡ 7
        rep     stosw
        push    BX
        set_irq2                ; ⥪饥 IRQ2
        pop     BX
        pop     CX

skp_vr: pushf                   ;室  樨 INT
        call    [old_ioa]

        pop     ES
        pop     DS
        pop     DI
        pop     DX
        pop     AX

        iret


; 楤 ।,  ० ணࠬ INT 0 ।
;襭 뢠 (EOI).
;BIOS  㬮砭 㪠뢠  楤 EOI,   稥 ணࠬ,
;ࠢ騥 뢠ﬨ, ᯮ  楤 BIOS  ᢮ ᮡ-
;⢥.  ।,  ணࠬ ᮤন 室
; IRET

new_ioa  endp

fake_ioa proc    far

         cli

         push    AX
         push    DX
         push    DI
         push    DS
         push    ES

         mov     AX,data
         mov     DS,AX
         assume  DS:data

         mov     DX,3c2h         ; ﭨ IRQ2
                                 ;(㫥   ﭨ)
         in      AL,DX
         test    AL,80h          ; ᪠ 

         jnz     nrm_vr          ;⠭  (⠭ ⮤ EGA)
         or      hdwre,vr_bit    ; ⨪쭮 뢠
                                 ;१ࢨ
nrm_vr:  set_irq2

         pop     ES
         pop     DS
         pop     DI
         pop     DX
         pop     AX

         iret





                                                              



।᫮ ............................................................

     襭  ନ ........................................

1. ஡ ᮢ⨬ ..............................................

     ⨬  ࠭ ﬨ ஢ ........................

      (࠭筠 ࣠ , ୠ⨢ 
       ᨬ, ) .............................................

2.   BIOS. 㥬 ணࠬ ...........................

     饭  BIOS ..................................................

     ⮢  ᪨ ० ....................................

       맮 㭪樨 0: ⠭  ...............................

       맮 㭪樨 1: ⠭   .........................

       맮 㭪樨 2: ⠭ 樨  ......................

       맮 㭪樨 3: ⥭ 樨  .........................

       맮 㭪樨 4: ⥭ 樨 ⮢  ..................

       맮 㭪樨 5: ⠭ ⨢ ࠭ ࠭ ...........

       맮 㭪樨 6: ப⪠ (஫) ⨢ ࠭
          .........................................................

       맮 㭪樨 7: ப⪠ (஫) ⨢ ࠭ ....

3. BIOS ࠭ /뢮 .........................................

       맮 㭪樨 8: ⥭ ਡ/  饩 樨
          .......................................................

       맮 㭪樨 9:  ਡ/  饩 樨
          .......................................................

       맮 㭪樨 h:  ਡ/  饩 樨
          .......................................................

       맮 㭪樨 bh: ⠭ ⭮  .....................

       맮 㭪樨 h:  窨 ..................................

       맮 㭪樨 dh: 뢠 窨 ..............................

       맮 㭪樨 h: 뢮   ⨢ ࠭  
         ⠩......................................................

       맮 㭪樨 fh: । 饣 ०...............

4. ⥫  BIOS EGA/VGA .............................

       맮 㭪樨 10h: ⠭ ஢  ..................

          㭪 0: ⠭ ⤥쭮  ...........

          㭪 1: ⠭    .................

          㭪 2: ⠭  ⮢ ஢  ........


          㭪 3: ४祭  મ/栭 .............

          㭪 7 (⮫쪮 VGA): ⥭ ⤥쭮 
              .................................................

          㭪 8 (⮫쪮 VGA): ⥭    .....

          㭪 9 (⮫쪮 VGA): ⥭  ஢ ....

          㭪 10h (⮫쪮 VGA): ⠭ ⤥쭮
              .............................................

          㭪 12h (⮫쪮 VGA): ⠭  ஢
              .....................................................

          㭪 13h (⮫쪮 VGA): 롮 ⢠ ⮢.....

          㭪 15h (⮫쪮 VGA): ⥭ ⤥쭮 
              .....................................................

          㭪 17h (⮫쪮 VGA): ⥭  ஢  ....

          㭪 1 (⮫쪮 VGA): ⥭  ﭨ
             ࠭ ................................................

          㭪 1bh (⮫쪮 VGA): 㬬஢ ஢ .....
              祭 ⥭ ண ..........................

       맮 㭪樨 11h:   .........................

          㭪 0: 㧪   짮⥫
              䠢⭮-஢ ० .............................

          㭪 1: 㧪 ஬  
               ..................................................

          㭪 2: 㧪     
              ᫮ 祪 ..................................

          㭪 3: ⠭ 䨪  ................

          㭪 4: 㧪 16-筮  
             (816)   ...........................................

          㭪 10h: 㧪 ஢  짮⥫
              䠢⭮-஢  .............................

          㭪 11h: 㧪 ஬  
               ..................................................

          㭪 12h: 㧪     
              ᫮ 祪 ..................................

          㭪 14h: 㧪 16-筮  
               ..................................................

          㭪 20h: ᪨ ᨬ (88), ।塞
             짮⥫............................................

          㭪 21h: ᪨ ᨬ, ।塞
             짮⥫............................................

          㭪 22h:   814   ..................

          㭪 23h:   88   ..................

          㭪 24h:  ᨬ 816   .................

          㭪 30h: ଠ樮 .............................

       맮 㭪樨 12h: ୠ⨢ 롮 .......................

          㭪 10h: 頥 ଠ ......................

          㭪 20h: 롮 ୠ⨢ ணࠬ 
             ࠭ ..................................................

          㭪 30h (⮫쪮 VGA): 롮 ⢠ ப
             ⪨  䠢⭮-஢  ...................

          㭪 31h (⮫쪮 VGA): 襭 㧪 
              砭 ............................................


          㭪 32h (⮫쪮 VGA): 㭪 ..................

          㭪 33h (⮫쪮 VGA): 㬬஢  祭
             ࠤ権 ண .........................................

          㭪 34h:   ...........................

          㭪 35h: 롮 ⨢ ᯫ ....................

          㭪 36h:  ࠦ ....................

       맮 㭪樨 13h: 뢮 ப  ⨢ ࠭ 
           ⠩ ...........................................

       맮 㭪樨 1 (⮫쪮 VGA): ஢ 
          ᯫ () ..............................................

          㭪 0: ⥭  ...................................

          㭪 1:   ...................................

       맮 㭪樨 1bh (⮫쪮 VGA): ଠ  㭪樮
          /ﭨ .....................................

       맮 㭪樨 1ch (⮫쪮 VGA): ࠭/⠭
          ﭨ .............................................

          㭪 0: 祭   .....................

          㭪 1: ࠭ ...................................

          㭪 2: ⠭ ...............................

5. ᪠ ࣠ ஢ ....................................

      : 饭  BIOS  ।⢥ ࠡ
         ॣࠬ   ........................................

     ।⢥    .................................

     ⮤ ࠭  ࠡ⪨ ࠦ ..........................

     ⨥  ....................................................

     ࠭ .........................................................

      ᢥ  ன⢥ EGA ..............................

6.   ॣ஢ ணࠬ஢ .............................

     譨 ॣ .................................................

        3C2h:  蠭 뢮
         (Miscellaneous Output Register) .............................

        3?Ah  ࠢ ਧ
         (Feature Control Register) ..................................

        3C2h:   室 ﭨ
         (Input Status Register Zero) ................................

        3?Ah:   室 ﭨ
         (Input Status Registr One) ..................................

        3C3h (⮫쪮 VGA):  襭 ⥬
         (Video Subsystem Enable Register) ...........................

7.  ⥫ ᫥⥫쭮 ...............................

        3c4h:   ⥫ ᫥⥫쭮
         (Sequencer Address Register) ................................

        3c5h:   ( 0) (Reset Register) .........


        3c5h:   ᨭ஭樨 ( 1)
         (Clocking Mode Register) ....................................

        3c5h:  ᪨஢  ( 2)
         (Map Mask Register) .........................................

        3c5h:  롮 쭮  ( 3)
         (Character Map Select Register) .............................

        3c5h:    ( 4)
         (Memory Mode Register) ......................................

8.  ஫ ஭-祢 㡪 () ...............

        3?4h:   
         (CRTC Address Register) .....................................

        3?5h: 騩 ਧ⠫  ( 0)
         (Horizontal Total Register) .................................

        3?5h:      
         ( 1) (Horizontal Display Enable End Register) .........

        3?5h:  砫 ⥬  ਧ⠫
         ( 2) (Start Horizontal Blanking Register) .............

        3?5h:  ⥬  ਧ⠫ ( 3)
         (End Horizontal Blanking Register) ..........................

        3?5h:   砫 ⭮ ஢
         ( 4) (Start Horizontal Retrace Pulse Register) ........

        3?5h:   ⭮ ஢  ਧ⠫
         ( 5) (End Horizontal Retrace Register) ................

        3?5h: 騩 ⨪ ( 6)
         (Vertical Total Register) ...................................

        3?5h:  ९ 
         ( 7) (CRT Controller Overflow Register) ...............

        3?5h:  ।⥫쭠 筠 ⪠
         ( 8) (Preset Row Scan Register) .......................

        3?5h: ᨬ쭠 ப ⪨
         ( 9) (Maximum Scan Line Register) .....................

        3?5h:  砫 
         ( ah) (Cursor Start Register) .........................

        3?5H:  砫쭮 襣 
         ( ch) (Start  Address High Register) ..................

        3?5h:  砫쭮 襣  ( dh)
         (Start Address Low Register) ................................

        3?5h:  襣   ( eh)
         (Cursor Location High Register) .............................

        3?5h:  襣   ( fh)
         (Cursor Location Low Register) ..............................

        3?5h:  砫 ⭮    
         ( 10h []) .......................................

        3?5h:  襣  ⮢ 
         ( 10h [⥭], ⮫쪮 EGA)
         (Light Pen High Register) ...................................

        3?5h:   ⭮    
         ( 11h []) (Vertical Retrace End Register) .......

        3?5h:  襣  ⮢ 
         ( 11h [⥭], ⮫쪮 EGA)
         (Light Pen Low Register) ....................................


        3?5h:  襭 뢮 ஢ ( 12h)
         (Vertical Display Enable End Register) ......................

        3?5h:   (Offset Register) .................

        3?5h:   ન
         ( 14h) (Underline Location Register) ..................

        3?5h:  ⥬  
         ( 15h) (Start Blancing Register) ......................

        3?5h:   ⥬  
         ( 16h) (End Vertical Blanking) ........................

        3?5h:  ࠢ  ( 17h)
         (Mode Control Register) .....................................

        3?5h:  ࠢ ப
         ( 18h) (Line Compare Register) ........................

9.  ᪮ ஫ ...................................

        3CAh:   䨪 2 (쪮 EGA)
         (Graphics 2 Position Register) ..............................

        3CCh:   䨪 1 (쪮 EGA)
         (Graphics 1 Position Register) ..............................

        3CEh:   䨪 1  2
         (Graphics 1 and 2 Address Register) .........................

        3CFh:  ⠭/ ( 0)
         (Set/Reset Register) ........................................

        3CFh:  襭 ⠭/ ( 1)
         (Enable Set/Reset Register) .................................

        3CFh:  ࠢ ⮢ ( 2)
         (Color Compare Register) ....................................

        3CFh:  ᪨   ( 3)
         (Data Rotate Register) ......................................

        3CFh:  롮 奬 ⥭ ( 4)
         (Read Map Select Register) ..................................

        3CFh:   ( 5)
         (Mode Register) .............................................

        3CFh:  蠭 ( 6)
         (Miscallaneous Register) ....................................

        3CFh:   ࠧ祭 ( 7)
         (Color Don't Care) ..........................................

        3CFh:  ⮢ ᪨ ( 8)
         (Bit Mask Register) .........................................

10.  ਡ-஫ .......................................

        3c0h:   ਡ
         (Attribute Address Register) ................................

        3c0h:  
         ( 0 - fh) (Palette Register) ..........................

        3C0H:  ࠢ 
         ( 10h) (Mode Control Register) ........................

        3C0H:    ( 11h)
         (Overscan Color Register) ...................................

        3C0H: 襭  ⮢
         ( 12h) (Color Plane Enable Register) ..................


        3C0h:  ਧ⠫쭮 ⭮ ࠬ஢
         ( 13h) (Horizontal PEL Panninig Register) .............

        3C0h:  롮  ( 14h, ⮫쪮 VGA)
         (Color Select Register) .....................................

11.  - ८ࠧ⥫ (⮫쪮 VGA) ...............

        3C7h (쪮 VGA):  ﭨ 
         (DAC State Register) ........................................

        3C7h (쪮 VGA)  ⥭ PEL 
         (PEL Address Read Mode) .....................................

        3C8h (쪮 VGA):   PEL 
         (PEL Address Write Mode) ....................................

        3C9h (쪮 VGA):  PEL 
         (PEL Data Register) .........................................

        3C6h (쪮 VGA):  ᪨஢ PEL
         (Pel Mask Register) .........................................

12.  ࠭ BIOS ............................................

       ࠬ஢ ..............................................

      ⥫쭠 ⠡ 䠢⭮-஢ ० ...............

      ⥫쭠 ⠡ ᪮ ० ......................

        権 ᯫ ..............................

       ࠬ஢  짮⥫ .........................

      ⥫  , ᯮ㥬 BIOS ...................

      ⥭ ﭨ EGA ............................................

13. ᯫ ............................................................

14. ਬ ணࠬ஢  誨.........................

      䨪 뢠 EGA BIOS............................

      ਬ ०  0  2............................

        ⠭ ஢ ﭨ....

      ⠭ ०:㡥, 訩  㫥...

        ⢨........................................

      ஡  ᯮ짮 ⠡ ୠ⨢ ...

      ஢ 뢠........................................

       ப⪠..........................................

15. ਪ ..........................................

      ᪨ ணࠬ......................................

       ࠦ .................................

       ࠦ ...............................

ਫ.....................................................

    FPLOT.ASM..................................................

    SMOOTH.ASM.................................................

    ELLIPSE.ASM................................................

    LINE.ASM...................................................

    VERTIRQ2.ASM...............................................