Subversion Repositories Kolibri OS

Rev

Rev 131 | Rev 142 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 131 Rev 133
Line 983... Line 983...
983
  * ¥ª®¬¥­¤ã¥¬ ï ¢¥«¨ç¨­  § ¤¥à¦ª¨ (¢ ¯®¤¯®¤ä㭪樨 3) = 10.
983
  * ¥ª®¬¥­¤ã¥¬ ï ¢¥«¨ç¨­  § ¤¥à¦ª¨ (¢ ¯®¤¯®¤ä㭪樨 3) = 10.
984
    Œ¥­ì訥 §­ ç¥­¨ï ­¥ ®¡à ¡ â뢠îâáï COM-¬ëè ¬¨. à¨ ®ç¥­ì ¡®«ìè¨å
984
    Œ¥­ì訥 §­ ç¥­¨ï ­¥ ®¡à ¡ â뢠îâáï COM-¬ëè ¬¨. à¨ ®ç¥­ì ¡®«ìè¨å
985
    §­ ç¥­¨ïå ­¥¢®§¬®¦­® ¯¥à¥¤¢¨¦¥­¨¥ ¬ëè¨ ­  1 ¯¨ªá¥«ì ¨ ªãàá®à ¡ã¤¥â
985
    §­ ç¥­¨ïå ­¥¢®§¬®¦­® ¯¥à¥¤¢¨¦¥­¨¥ ¬ëè¨ ­  1 ¯¨ªá¥«ì ¨ ªãàá®à ¡ã¤¥â
986
    ¯à룠âì ­  ¢¥«¨ç¨­ã ãáâ ­®¢«¥­­®© ᪮à®á⨠(¯®¤¯®¤äã­ªæ¨ï 1).
986
    ¯à룠âì ­  ¢¥«¨ç¨­ã ãáâ ­®¢«¥­­®© ᪮à®á⨠(¯®¤¯®¤äã­ªæ¨ï 1).
987
    “áâ ­ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨­  ­¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à .
987
    “áâ ­ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨­  ­¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à .
-
 
988
    ‚¥«¨ç¨­ã § ¤¥à¦ª¨ ¬®¦­® ¬¥­ïâì ¢ ¯à¨«®¦¥­¨¨ SETUP.
988
  * ®¤¯®¤äã­ªæ¨ï 4 ­¥ ¯à®¢¥àï¥â ¯¥à¥¤ ­­®¥ §­ ç¥­¨¥. ¥à¥¤ ¢ë§®¢®¬
989
  * ®¤¯®¤äã­ªæ¨ï 4 ­¥ ¯à®¢¥àï¥â ¯¥à¥¤ ­­®¥ §­ ç¥­¨¥. ¥à¥¤ ¢ë§®¢®¬
989
    ­¥®¡å®¤¨¬® 㧭 âì ⥪ã饥 à §à¥è¥­¨¥ íªà ­  (¯®¤ä㭪樥© 14)
990
    ­¥®¡å®¤¨¬® 㧭 âì ⥪ã饥 à §à¥è¥­¨¥ íªà ­  (¯®¤ä㭪樥© 14)
990
    ¨ ¯à®¢¥à¨âì, çâ® ãáâ ­ ¢«¨¢ ¥¬®¥ ¯®«®¦¥­¨¥ ­¥ ¢ë室¨â §  ¯à¥¤¥«ë
991
    ¨ ¯à®¢¥à¨âì, çâ® ãáâ ­ ¢«¨¢ ¥¬®¥ ¯®«®¦¥­¨¥ ­¥ ¢ë室¨â §  ¯à¥¤¥«ë
991
    íªà ­ .
992
    íªà ­ .
Line 1848... Line 1849...
1848
  * ebx = [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ x]*65536 +
1849
  * ebx = [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ x]*65536 +
1849
              [ª®®à¤¨­ â  ª®­æ  ¯® ®á¨ x]
1850
              [ª®®à¤¨­ â  ª®­æ  ¯® ®á¨ x]
1850
  * ecx = [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]*65536 +
1851
  * ecx = [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]*65536 +
1851
              [ª®®à¤¨­ â  ª®­æ  ¯® ®á¨ y]
1852
              [ª®®à¤¨­ â  ª®­æ  ¯® ®á¨ y]
1852
  * edx = 0x00RRGGBB - 梥â
1853
  * edx = 0x00RRGGBB - 梥â
-
 
1854
    edx = 0x01xxxxxx - à¨á®¢ âì ¨­¢¥àá­ë© ®â१®ª
-
 
1855
          (¬« ¤è¨¥ 24 ¡¨â  ¨£­®à¨àãîâáï)
1853
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
1856
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
1854
  * äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
1857
  * äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
1855
‡ ¬¥ç ­¨ï:
1858
‡ ¬¥ç ­¨ï:
1856
  * Š®®à¤¨­ âë ¡¥àãâáï ®â­®á¨â¥«ì­® ®ª­ .
1859
  * Š®®à¤¨­ âë ¡¥àãâáï ®â­®á¨â¥«ì­® ®ª­ .
1857
  * Š®­¥ç­ ï â®çª  â ª¦¥ à¨áã¥âáï.
1860
  * Š®­¥ç­ ï â®çª  â ª¦¥ à¨áã¥âáï.
Line 2899... Line 2902...
2899
  * '/hd0/1/menuet/pics/tanzania.bmp',0
2902
  * '/hd0/1/menuet/pics/tanzania.bmp',0
2900
„®áâã¯­ë¥ ¯®¤ä㭪樨:
2903
„®áâã¯­ë¥ ¯®¤ä㭪樨:
2901
  * ¯®¤äã­ªæ¨ï 0 - ç⥭¨¥ ä ©« /¯ ¯ª¨
2904
  * ¯®¤äã­ªæ¨ï 0 - ç⥭¨¥ ä ©« /¯ ¯ª¨
2902
  * ¯®¤äã­ªæ¨ï 1 - ¯¥à¥§ ¯¨áì ä ©« 
2905
  * ¯®¤äã­ªæ¨ï 1 - ¯¥à¥§ ¯¨áì ä ©« 
2903
  * ¯®¤äã­ªæ¨ï 2 - 㤠«¥­¨¥ ä ©« /¯ ¯ª¨
2906
  * ¯®¤äã­ªæ¨ï 2 - 㤠«¥­¨¥ ä ©« /¯ ¯ª¨
2904
  * ¯®¤äã­ªæ¨ï 3 - § ¯¨áì ¤ ­­ëå ¢ áãé¥áâ¢ãî騩 ä ©«
-
 
2905
  * ¯®¤äã­ªæ¨ï 4 - ᮧ¤ ­¨¥ ¯ ¯ª¨
2907
  * ¯®¤äã­ªæ¨ï 4 - ᮧ¤ ­¨¥ ¯ ¯ª¨
2906
  * ¯®¤äã­ªæ¨ï 5 - ¯¥à¥¨¬¥­®¢ ­¨¥/¯¥à¥¬¥é¥­¨¥ ä ©« /¯ ¯ª¨
2908
  * ¯®¤äã­ªæ¨ï 5 - ¯¥à¥¨¬¥­®¢ ­¨¥/¯¥à¥¬¥é¥­¨¥ ä ©« /¯ ¯ª¨
2907
  * ¯®¤äã­ªæ¨ï 8 - LBA-ç⥭¨¥ á ãáâனá⢠
2909
  * ¯®¤äã­ªæ¨ï 8 - LBA-ç⥭¨¥ á ãáâனá⢠
2908
  * ¯®¤äã­ªæ¨ï 15 - ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ® ä ©«®¢®© á¨á⥬¥
2910
  * ¯®¤äã­ªæ¨ï 15 - ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ® ä ©«®¢®© á¨á⥬¥
2909
  * ¯®¤äã­ªæ¨ï 16 - § ¯ã᪠¯à¨«®¦¥­¨ï
2911
  * ¯®¤äã­ªæ¨ï 16 - § ¯ã᪠¯à¨«®¦¥­¨ï
Line 3015... Line 3017...
3015
    Š®¤ à ¡®âë á ¦ñá⪨¬ ¤¨áª®¬ ­¥¯ãáâë¥ ¯ ¯ª¨ 㤠«ï¥â ª®à४⭮
3017
    Š®¤ à ¡®âë á ¦ñá⪨¬ ¤¨áª®¬ ­¥¯ãáâë¥ ¯ ¯ª¨ 㤠«ï¥â ª®à४⭮
3016
    (â.¥. ४ãàᨢ­® á® ¢á¥¬¨ ä ©« ¬¨ ¨ ¢«®¦¥­­ë¬¨ ¯ ¯ª ¬¨).
3018
    (â.¥. ४ãàᨢ­® á® ¢á¥¬¨ ä ©« ¬¨ ¨ ¢«®¦¥­­ë¬¨ ¯ ¯ª ¬¨).
3017
     ¬¤¨áª ¯ ¯®ª ­¥ ¯®¤¤¥à¦¨¢ ¥â.
3019
     ¬¤¨áª ¯ ¯®ª ­¥ ¯®¤¤¥à¦¨¢ ¥â.
Line 3018... Line 3020...
3018
 
3020
 
3019
======================================================================
-
 
3020
==== ”ã­ªæ¨ï 58, ¯®¤äã­ªæ¨ï 3 - § ¯¨áì ¤ ­­ëå ¢ áãé¥áâ¢ãî騩 ä ©«. ===
-
 
3021
======================================================================
-
 
3022
 à ¬¥âàë:
-
 
3023
  * eax = 58 - ­®¬¥à ä㭪樨
-
 
3024
  * ebx = 㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã
-
 
3025
”®à¬ â ¨­ä®à¬ æ¨®­­®© áâàãªâãàë:
-
 
3026
  * +0: dword: 3 = ­®¬¥à ¯®¤ä㭪樨
-
 
3027
  * +4: dword: ­ ç «ì­ ï ¯®§¨æ¨ï ¢ ä ©«¥; -1 = ¤®¯¨á뢠âì ¢ ª®­¥æ
-
 
3028
  * +8: dword: ç¨á«® ¡ ©â ¤«ï § ¯¨á¨
-
 
3029
  * +12 = +0xC: dword: 㪠§ â¥«ì ­  ¤ ­­ë¥ ¤«ï § ¯¨á¨
-
 
3030
  * +16 = +0x10: dword: 㪠§ â¥«ì ­  ¡ãä¥à ¤«ï à ¡®âë á¨á⥬ë
-
 
3031
    (4096 ¡ ©â)
-
 
3032
  * +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨«  ä®à¬¨à®¢ ­¨ï ¨¬ñ­ 㪠§ ­ë ¢
-
 
3033
    ®¡é¥¬ ®¯¨á ­¨¨
-
 
3034
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
-
 
3035
  * eax = 0 - ãᯥ譮, ¨­ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
-
 
3036
  * ebx à §àãè ¥âáï
-
 
3037
‡ ¬¥ç ­¨ï:
-
 
3038
  * â  äã­ªæ¨ï ãáâ à¥« , ¨á¯®«ì§ã©â¥ ¯®¤äã­ªæ¨î 3 ä㭪樨 70.
-
 
3039
  *  ¬¤¨áª ¨ ¤¨áª¥âë ­¥ ¯®¤¤¥à¦¨¢ îâ íâã äã­ªæ¨î, ®­  ⮫쪮 ¤«ï
-
 
3040
    ¦ñáâª¨å ¤¨áª®¢.
-
 
3041
  * ” ©« ¤®«¦¥­ 㦥 áãé¥á⢮¢ âì (¨­ ç¥ ¢®§¢à é ¥âáï 5, not found).
-
 
3042
    „«ï ᮧ¤ ­¨ï ä ©«®¢ ¨á¯®«ì§ã©â¥ ¯®¤äã­ªæ¨î 1.
-
 
3043
  * …᫨ ­ ç «ì­ ï ¯®§¨æ¨ï ¡®«ìè¥ à §¬¥à  ä ©« , ¢®§¢à é ¥âáï
-
 
3044
    eax=6(EOF). …᫨ ª®­¥ç­ ï ¯®§¨æ¨ï ¡®«ìè¥ à §¬¥à  ä ©« ,
-
 
3045
    ä ©« à áè¨àï¥âáï.
-
 
3046
  * Š®¤ ®¡à ¡®âª¨ § ¯¨á¨ ¤ ­­ëå ¤«ï ¦ñá⪮£® ¤¨áª  ¨­â¥à¯à¥â¨àã¥â
-
 
3047
    ­ã«¥¢®¥ §­ ç¥­¨¥ ¯®«ï +8 ª ª 㪠§ ­¨¥ ãá¥ç¥­¨ï ä ©«  ¤® à §¬¥à ,
-
 
3048
    㪠§ ­­®£® ¢ ¯®«¥ +4. Ž¤­ ª® ª®¤ ®¡à ¡®âª¨ 58-© ä㭪樨 ¡«®ª¨àã¥â
-
 
3049
    íâã ¢®§¬®¦­®áâì ¤«ï ¯à¨«®¦¥­¨©, áࠧ㠢®§¢à é ï ã¯à ¢«¥­¨¥
-
 
3050
    (á eax=0) ¢ á«ãç ¥ ­ã«¥¢®£® à §¬¥à .
-
 
3051
 
-
 
3052
======================================================================
3021
======================================================================
3053
============== ”ã­ªæ¨ï 58, ¯®¤äã­ªæ¨ï 4 - ᮧ¤ âì ¯ ¯ªã. =============
3022
============== ”ã­ªæ¨ï 58, ¯®¤äã­ªæ¨ï 4 - ᮧ¤ âì ¯ ¯ªã. =============
3054
======================================================================
3023
======================================================================
3055
 à ¬¥âàë:
3024
 à ¬¥âàë:
3056
  * eax = 58 - ­®¬¥à ä㭪樨
3025
  * eax = 58 - ­®¬¥à ä㭪樨
Line 4137... Line 4106...
4137
„®áâã¯­ë¥ ¯®¤ä㭪樨:
4106
„®áâã¯­ë¥ ¯®¤ä㭪樨:
4138
  * ¯®¤äã­ªæ¨ï 0 - ç⥭¨¥ ä ©« 
4107
  * ¯®¤äã­ªæ¨ï 0 - ç⥭¨¥ ä ©« 
4139
  * ¯®¤äã­ªæ¨ï 1 - ç⥭¨¥ ¯ ¯ª¨
4108
  * ¯®¤äã­ªæ¨ï 1 - ç⥭¨¥ ¯ ¯ª¨
4140
  * ¯®¤äã­ªæ¨ï 2 - ᮧ¤ ­¨¥/¯¥à¥§ ¯¨áì ä ©« 
4109
  * ¯®¤äã­ªæ¨ï 2 - ᮧ¤ ­¨¥/¯¥à¥§ ¯¨áì ä ©« 
4141
  * ¯®¤äã­ªæ¨ï 3 - § ¯¨áì ¢ áãé¥áâ¢ãî騩 ä ©«
4110
  * ¯®¤äã­ªæ¨ï 3 - § ¯¨áì ¢ áãé¥áâ¢ãî騩 ä ©«
-
 
4111
  * ¯®¤äã­ªæ¨ï 4 - ãáâ ­®¢ª  à §¬¥à  ä ©« 
4142
  * ¯®¤äã­ªæ¨ï 5 - ¯®«ã祭¨¥  âਡã⮢ ä ©« /¯ ¯ª¨
4112
  * ¯®¤äã­ªæ¨ï 5 - ¯®«ã祭¨¥  âਡã⮢ ä ©« /¯ ¯ª¨
4143
  * ¯®¤äã­ªæ¨ï 6 - ãáâ ­®¢ª   âਡã⮢ ä ©« /¯ ¯ª¨
4113
  * ¯®¤äã­ªæ¨ï 6 - ãáâ ­®¢ª   âਡã⮢ ä ©« /¯ ¯ª¨
4144
  * ¯®¤äã­ªæ¨ï 7 - § ¯ã᪠¯à®£à ¬¬ë
4114
  * ¯®¤äã­ªæ¨ï 7 - § ¯ã᪠¯à®£à ¬¬ë
4145
„«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á  ¯¯ à â­ë¬¨ ®£à ­¨ç¥­¨ï¬¨ ¤®áâ㯭ë
4115
„«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á  ¯¯ à â­ë¬¨ ®£à ­¨ç¥­¨ï¬¨ ¤®áâ㯭ë
4146
⮫쪮 ¯®¤ä㭪樨 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤ä㭪権 § ¢¥àè¨âáï
4116
⮫쪮 ¯®¤ä㭪樨 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤ä㭪権 § ¢¥àè¨âáï
Line 4327... Line 4297...
4327
  * …¤¨­á⢥­­ë¬ १ã«ìâ â®¬ § ¯¨á¨ 0 ¡ ©â ï¥âáï ãáâ ­®¢ª  ¢
4297
  * …¤¨­á⢥­­ë¬ १ã«ìâ â®¬ § ¯¨á¨ 0 ¡ ©â ï¥âáï ãáâ ­®¢ª  ¢
4328
     âਡãâ å ä ©«  ¤ âë/¢à¥¬¥­¨ ¬®¤¨ä¨ª æ¨¨ ¨ ¤®áâ㯠 ¢ ⥪ãéãî.
4298
     âਡãâ å ä ©«  ¤ âë/¢à¥¬¥­¨ ¬®¤¨ä¨ª æ¨¨ ¨ ¤®áâ㯠 ¢ ⥪ãéãî.
4329
  * …᫨ ­ ç «ì­ ï ¨/¨«¨ ª®­¥ç­ ï ¯®§¨æ¨ï ¢ë室¨â §  ¯à¥¤¥«ë ä ©« 
4299
  * …᫨ ­ ç «ì­ ï ¨/¨«¨ ª®­¥ç­ ï ¯®§¨æ¨ï ¢ë室¨â §  ¯à¥¤¥«ë ä ©« 
4330
    (§  ¨áª«î祭¨¥¬ ¯à¥¤ë¤ã饣® á«ãç ï), ä ©« à áè¨àï¥âáï ¤®
4300
    (§  ¨áª«î祭¨¥¬ ¯à¥¤ë¤ã饣® á«ãç ï), ä ©« à áè¨àï¥âáï ¤®
4331
    ­¥®¡å®¤¨¬®£® à §¬¥à  ­ã«¥¢ë¬¨ ᨬ¢®« ¬¨.
4301
    ­¥®¡å®¤¨¬®£® à §¬¥à  ­ã«¥¢ë¬¨ ᨬ¢®« ¬¨.
-
 
4302
  * ”ã­ªæ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥à­ñâáï ª®¤ ®è¨¡ª¨ 2).
-
 
4303
 
-
 
4304
======================================================================
-
 
4305
========= ”ã­ªæ¨ï 70, ¯®¤äã­ªæ¨ï 4 - ãáâ ­®¢ª  à §¬¥à  ä ©« . ========
-
 
4306
======================================================================
-
 
4307
 à ¬¥âàë:
-
 
4308
  * eax = 70 - ­®¬¥à ä㭪樨
-
 
4309
  * ebx = 㪠§ â¥«ì ­  ¨­ä®à¬ æ¨®­­ãî áâàãªâãàã
-
 
4310
”®à¬ â ¨­ä®à¬ æ¨®­­®© áâàãªâãàë:
-
 
4311
  * +0: dword: 4 = ­®¬¥à ¯®¤ä㭪樨
-
 
4312
  * +4: dword: ¬« ¤è¨© dword ­®¢®£® à §¬¥à  ä ©« 
-
 
4313
  * +8: dword: áâ à訩 dword ­®¢®£® à §¬¥à  ä ©« 
-
 
4314
                   (¤®«¦¥­ ¡ëâì 0 ¤«ï FAT)
-
 
4315
  * +12 = +0xC: dword: 0 (§ à¥§¥à¢¨à®¢ ­®)
-
 
4316
  * +16 = +0x10: dword: 0 (§ à¥§¥à¢¨à®¢ ­®)
-
 
4317
  * +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨«  ä®à¬¨à®¢ ­¨ï ¨¬ñ­ 㪠§ ­ë ¢
-
 
4318
    ®¡é¥¬ ®¯¨á ­¨¨
-
 
4319
    ¨«¨
-
 
4320
  * +20 = +0x14: db 0
-
 
4321
  * +21 = +0x15: dd 㪠§ â¥«ì ­  ASCIIZ-áâபã á ¨¬¥­¥¬ ä ©« 
-
 
4322
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
-
 
4323
  * eax = 0 - ãᯥ譮, ¨­ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
-
 
4324
  * ebx à §àãè ¥âáï
-
 
4325
‡ ¬¥ç ­¨ï:
-
 
4326
  * …᫨ ­®¢ë© à §¬¥à ä ©«  ¬¥­ìè¥ áâ à®£®, ä ©« ãᥪ ¥âáï. …᫨
-
 
4327
    ­®¢ë© à §¬¥à ¡®«ìè¥ áâ à®£®, ä ©« à áè¨àï¥âáï ­ã«¥¢ë¬¨ ᨬ¢®« ¬¨.
-
 
4328
    …᫨ ­®¢ë© à §¬¥à à ¢¥­ áâ à®¬ã, ¥¤¨­á⢥­­ë¬ १ã«ìâ â®¬ ¢ë§®¢ 
-
 
4329
    ï¥âáï ãáâ ­®¢ª  ¤ âë/¢à¥¬¥­¨ ¬®¤¨ä¨ª æ¨¨ ¨ ¤®áâ㯠 ¢ ⥪ã騥.
-
 
4330
  * …᫨ ᢮¡®¤­®£® ¬¥áâ  ­  ¤¨áª¥ ­¥¤®áâ â®ç­® ¤«ï à áè¨à¥­¨ï ä ©« ,
-
 
4331
    â® äã­ªæ¨ï à áè¨à¨â ­ áª®«ìª® ¢®§¬®¦­®, ¯®á«¥ 祣® ¢¥à­ñâ
-
 
4332
    ª®¤ ®è¨¡ª¨ 8.
-
 
4333
  * ”ã­ªæ¨ï ­¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥à­ñâáï ª®¤ ®è¨¡ª¨ 2).
Line 4332... Line 4334...
4332
 
4334
 
4333
======================================================================
4335
======================================================================
4334
=== ”ã­ªæ¨ï 70, ¯®¤äã­ªæ¨ï 5 - ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ® ä ©«¥/¯ ¯ª¥. ===
4336
=== ”ã­ªæ¨ï 70, ¯®¤äã­ªæ¨ï 5 - ¯®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ® ä ©«¥/¯ ¯ª¥. ===
4335
======================================================================
4337
======================================================================