forked from KolibriOS/kolibrios
8f992ed021
git-svn-id: svn://kolibrios.org@1635 a494cfbc-eb01-0410-851d-a64ba20cac60
4685 lines
200 KiB
Plaintext
4685 lines
200 KiB
Plaintext
‘ˆ‘’…Œ<EFBFBD>›… ”“<E2809D>Š–ˆˆ Ž<>…<EFBFBD>€–ˆŽ<CB86><C5BD>Ž‰ ‘ˆ‘’…Œ› Kolibri 0.7.5.0+
|
||
|
||
<EFBFBD>®¬¥à äãªæ¨¨ ¯®¬¥é ¥âáï ¢ ॣ¨áâà eax.
|
||
‚맮¢ á¨á⥬®© äãªæ¨¨ ®áãé¥á⢫ï¥âáï ª®¬ ¤®© "int 0x40".
|
||
‚ᥠॣ¨áâàë, ªà®¬¥  㪠§ ëå ¢ ¢®§¢à é ¥¬®¬ § 票¨,
|
||
¢ª«îç ï ॣ¨áâà ä« £®¢ eflags, á®åà ïîâáï.
|
||
|
||
|
||
======================================================================
|
||
============== ”ãªæ¨ï 0 - ®¯à¥¤¥«¨âì ¨ à¨á®¢ âì ®ª®. =============
|
||
======================================================================
|
||
Ž¯à¥¤¥«ï¥â ®ª® ¯à¨«®¦¥¨ï. <20>¨áã¥â à ¬ªã ®ª , § £®«®¢®ª ¨ à ¡®çãî
|
||
®¡« áâì. „«ï ®ª® ᮠ᪨®¬ ®¯à¥¤¥«ï¥â áâ ¤ àâë¥ ª®¯ª¨ § ªàëâ¨ï ¨
|
||
¬¨¨¬¨§ 樨.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 0 - ®¬¥à äãªæ¨¨
|
||
* ebx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
||
* ecx = [ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||
* edx = 0xXYRRGGBB, £¤¥:
|
||
* Y = áâ¨«ì ®ª :
|
||
* Y=0 - ⨯ I - ®ª® 䨪á¨à®¢ ëå à §¬¥à®¢
|
||
* Y=1 - ⮫쪮 ®¯à¥¤¥«¨âì ®¡« áâì ®ª , ¨ç¥£® ¥ à¨á®¢ âì
|
||
* Y=2 - ⨯ II - ®ª® ¨§¬¥ï¥¬ëå à §¬¥à®¢
|
||
* Y=3 - ®ª® ᮠ᪨®¬
|
||
* Y=4 - ®ª® ᮠ᪨®¬ 䨪á¨à®¢ ëå à §¬¥à®¢
|
||
* ®áâ «ìë¥ ¢®§¬®¦ë¥ § 票ï (®â 5 ¤® 15) § १¥à¢¨à®¢ ë,
|
||
¢ë§®¢ äãªæ¨¨ á â ª¨¬¨ Y ¨£®à¨àã¥âáï
|
||
* RR, GG, BB = ᮮ⢥âá⢥® ªà á ï, §¥«¥ ï, á¨ïï
|
||
á®áâ ¢«ïî騥 梥â à ¡®ç¥© ®¡« á⨠®ª
|
||
(¨£®à¨àã¥âáï ¤«ï á⨫ï Y=2)
|
||
* X = DCBA (¡¨âë)
|
||
* A = 1 - ã ®ª ¥áâì § £®«®¢®ª; ¤«ï á⨫¥© Y=3,4 ¤à¥á áâப¨
|
||
§ £®«®¢ª § ¤ ñâáï ¢ edi, ¤«ï ¯à®ç¨å á⨫¥©
|
||
¨á¯®«ì§ã¥âáï ¯®¤äãªæ¨ï 1 äãªæ¨¨ 71
|
||
* B = 1 - ª®®à¤¨ âë ¢á¥å £à ä¨ç¥áª¨å ¯à¨¬¨â¨¢®¢ § ¤ îâáï
|
||
®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« á⨠®ª
|
||
* C = 1 - ¥ § ªà 訢 âì à ¡®çãî ®¡« áâì ¯à¨ ®âà¨á®¢ª¥ ®ª
|
||
* D = 0 - ®à¬ «ì ï § «¨¢ª à ¡®ç¥© ®¡« áâ¨, 1 - £à ¤¨¥â ï
|
||
‘«¥¤ãî騥 ¯ à ¬¥âàë ¯à¥¤ § ç¥ë ¤«ï ®ª® ⨯ I ¨ II ¨
|
||
¨£®à¨àãîâáï ¤«ï á⨫¥© Y=1,3:
|
||
* esi = 0xXYRRGGBB - 梥⠧ £®«®¢ª
|
||
* RR, GG, BB ®¯à¥¤¥«ïîâ á ¬ 梥â
|
||
* Y=0 - ®¡ë箥 ®ª®, Y=1 - ¥¯¥à¥¬¥é ¥¬®¥ ®ª®
|
||
* X ®¯à¥¤¥«ï¥â £à ¤¨¥â § £®«®¢ª : X=0 - ¥â £à ¤¨¥â ,
|
||
X=8 - ®¡ëçë© £à ¤¨¥â,
|
||
¤«ï ®ª® ⨯ II X=4 - ¥£ â¨¢ë© £à ¤¨¥â
|
||
* ¯à®ç¨¥ § 票ï X ¨ Y § १¥à¢¨à®¢ ë
|
||
* edi = 0x00RRGGBB - 梥â à ¬ª¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>®«®¦¥¨¥ ¨ à §¬¥àë ®ª ãáâ ¢«¨¢ îâáï ¯à¨ ¯¥à¢®¬ ¢ë§®¢¥
|
||
í⮩ äãªæ¨¨ ¨ ¨£®à¨àãîâáï ¯à¨ ¯®á«¥¤ãîé¨å; ¤«ï ¨§¬¥¥¨ï
|
||
¯®«®¦¥¨ï ¨/¨«¨ à §¬¥à®¢ 㦥 ᮧ¤ ®£® ®ª ¨á¯®«ì§ã©â¥
|
||
67-î äãªæ¨î.
|
||
* „«ï ®ª® á⨫¥© Y=3,4 á § £®«®¢ª®¬ (A=1) áâப § £®«®¢ª
|
||
ãáâ ¢«¨¢ ¥âáï ¯à¨ ¯¥à¢®¬ ¢ë§®¢¥ í⮩ äãªæ¨¨ ¨ ¨£®à¨àã¥âáï ¯à¨
|
||
¯®á«¥¤ãîé¨å (â®ç¥¥ £®¢®àï, ¨£®à¨àã¥âáï ¯®á«¥ ¢ë§®¢
|
||
¯®¤äãªæ¨¨ 2 äãªæ¨¨ 12 - ª®æ ¯¥à¥à¨á®¢ª¨);
|
||
¤«ï ¨§¬¥¥¨ï áâப¨ § £®«®¢ª 㦥 ᮧ¤ ®£® ®ª ¨á¯®«ì§ã©â¥
|
||
¯®¤äãªæ¨î 1 äãªæ¨¨ 71.
|
||
* …᫨ ¨á¯®«ì§®¢ âì ®ª ᮮ⢥âáâ¢ãîé¨å á⨫¥©, â® ¯®«®¦¥¨¥
|
||
¨/¨«¨ à §¬¥àë ®ª ¬®£ãâ ¬¥ïâìáï ¯®«ì§®¢ ⥫¥¬.
|
||
’¥ªã騥 ¯®«®¦¥¨¥ ¨ à §¬¥àë ¬®£ãâ ¡ëâì ¯®«ãç¥ë ¢ë§®¢®¬ äãªæ¨¨ 9.
|
||
* Žª® ¤®«¦® 㬥é âìáï íªà ¥. …᫨ ¯¥à¥¤ ë¥ ª®®à¤¨ âë
|
||
¨ à §¬¥àë ¥ 㤮¢«¥â¢®àïîâ í⮬ã ãá«®¢¨î, ⮠ᮮ⢥âáâ¢ãîé ï
|
||
ª®®à¤¨ â (¨«¨, ¢®§¬®¦®, ®¡¥) áç¨â ¥âáï ã«¥¬, ¥á«¨ ¨ íâ®
|
||
¥ ¯®¬®£ ¥â, ⮠ᮮ⢥âáâ¢ãî騩 à §¬¥à (¨«¨, ¢®§¬®¦®, ®¡ )
|
||
ãáâ ¢«¨¢ ¥âáï ¢ à §¬¥à íªà .
|
||
|
||
„ «¥¥ ®¡®§ 稬 xpos,ypos,xsize,ysize - § 票ï, ¯¥à¥¤ ¢ ¥¬ë¥
|
||
¢ ebx,ecx. Š®®à¤¨ âë ¯à¨¢®¤ïâáï ®â®á¨â¥«ì® «¥¢®£® ¢¥à奣®
|
||
㣫 ®ª , ª®â®àë©, â ª¨¬ ®¡à §®¬, § ¤ ¥âáï ª ª (0,0), ª®®à¤¨ âë
|
||
¯à ¢®£® ¨¦¥£® 㣫 áãâì (xsize,ysize).
|
||
* <20> §¬¥àë ®ª ¯®¨¬ îâáï ¢ á¬ëá«¥ ª®®à¤¨ â ¯à ¢®£® ¨¦¥£® 㣫 .
|
||
<20>â® ¦¥ ®â®á¨âáï ¨ ª® ¢á¥¬ ®áâ «ìë¬ äãªæ¨ï¬.
|
||
<20>â® ®§ ç ¥â, ç⮠ॠ«ìë¥ à §¬¥àë 1 ¯¨ªá¥«ì ¡®«ìè¥.
|
||
* ‚¨¤ ®ª ⨯ I:
|
||
* à¨áã¥âáï ¢¥èïï à ¬ª 梥â , 㪠§ ®£® ¢ edi,
|
||
è¨à¨®© 1 ¯¨ªá¥«ì
|
||
* à¨áã¥âáï § £®«®¢®ª - ¯àאַ㣮«ì¨ª á «¥¢ë¬ ¢¥à娬 㣫®¬ (1,1)
|
||
¨ ¯à ¢ë¬ ¨¦¨¬ (xsize-1,min(25,ysize)) 梥â , 㪠§ ®£® ¢ esi
|
||
(á ãç¥â®¬ £à ¤¨¥â )
|
||
* ¥á«¨ ysize>=26, â® § ªà 訢 ¥âáï à ¡®ç ï ®¡« áâì ®ª -
|
||
¯àאַ㣮«ì¨ª á «¥¢ë¬ ¢¥à娬 㣫®¬ (1,21) ¨ ¯à ¢ë¬ ¨¦¨¬
|
||
(xsize-1,ysize-1) (à §¬¥à ¬¨ (xsize-1)*(ysize-21)) - 梥⮬,
|
||
㪠§ ë¬ ¢ edx (á ãç¥â®¬ £à ¤¨¥â )
|
||
* ¥á«¨ A=1 ¨ áâப § £®«®¢ª ãáâ ®¢«¥ ¯®¤äãªæ¨¥© 1
|
||
äãªæ¨¨ 71, â® ® ¢ë¢®¤¨âáï ¢ ᮮ⢥âáâ¢ãî饬 ¬¥á⥠§ £®«®¢ª
|
||
* ‚¨¤ ®ª á⨫ï Y=1:
|
||
* ¯®«®áâìî ®¯à¥¤¥«ï¥âáï ¯à¨«®¦¥¨¥¬
|
||
* ‚¨¤ ®ª ⨯ II:
|
||
* à¨áã¥âáï ¢¥èïï à ¬ª è¨à¨®© 1 ¯¨ªá¥«ì "§ â¥ñ®£®" 梥â
|
||
edi (¢á¥ á®áâ ¢«ïî騥 梥â 㬥ìè îâáï ¢ ¤¢ à § )
|
||
* à¨áã¥âáï ¯à®¬¥¦ãâ®ç ï à ¬ª è¨à¨®© 3 ¯¨ªá¥«ï 梥â edi
|
||
* à¨áã¥âáï ¢ãâà¥ïï à ¬ª è¨à¨®© 1 ¯¨ªá¥«ì
|
||
"§ â¥ñ®£®" 梥â edi
|
||
* à¨áã¥âáï § £®«®¢®ª - ¯àאַ㣮«ì¨ª á «¥¢ë¬ ¢¥à娬 㣫®¬ (4,4)
|
||
¨ ¯à ¢ë¬ ¨¦¨¬ (xsize-4,min(20,ysize)) 梥â , 㪠§ ®£® ¢ esi
|
||
(á ãç¥â®¬ £à ¤¨¥â )
|
||
* ¥á«¨ ysize>=26, â® § ªà 訢 ¥âáï à ¡®ç ï ®¡« áâì ®ª -
|
||
¯àאַ㣮«ì¨ª á «¥¢ë¬ ¢¥à娬 㣫®¬ (5,20) ¨ ¯à ¢ë¬ ¨¦¨¬
|
||
(xsize-5,ysize-5) - 梥⮬, 㪠§ ë¬ ¢ edx (á ãç¥â®¬ £à ¤¨¥â )
|
||
* ¥á«¨ A=1 ¨ áâப § £®«®¢ª ãáâ ®¢«¥ ¯®¤äãªæ¨¥© 1
|
||
äãªæ¨¨ 71, â® ® ¢ë¢®¤¨âáï ¢ ᮮ⢥âáâ¢ãî饬 ¬¥á⥠§ £®«®¢ª
|
||
* ‚¨¤ ®ª ᮠ᪨®¬:
|
||
* à¨áã¥âáï ¢¥èïï à ¬ª è¨à¨®© 1 ¯¨ªá¥«ì
|
||
梥â 'outer' ¨§ ᪨
|
||
* à¨áã¥âáï ¯à®¬¥¦ãâ®ç ï à ¬ª è¨à¨®© 3 ¯¨ªá¥«ï
|
||
梥â 'frame' ¨§ ᪨
|
||
* à¨áã¥âáï ¢ãâà¥ïï à ¬ª è¨à¨®© 1 ¯¨ªá¥«ì
|
||
梥â 'inner' ¨§ ᪨
|
||
* à¨áã¥âáï § £®«®¢®ª (¯® ª à⨪ ¬ ¨§ ᪨ ) ¢ ¯àאַ㣮«ì¨ª¥
|
||
(0,0) - (xsize,_skinh-1)
|
||
* ¥á«¨ ysize>=26, â® § ªà 訢 ¥âáï à ¡®ç ï ®¡« áâì ®ª -
|
||
¯àאַ㣮«ì¨ª á «¥¢ë¬ ¢¥à娬 㣫®¬ (5,_skinh) ¨ ¯à ¢ë¬ ¨¦¨¬
|
||
(xsize-5,ysize-5) - 梥⮬, 㪠§ ë¬ ¢ edx (á ãç¥â®¬ £à ¤¨¥â )
|
||
* ®¯à¥¤¥«ïîâáï ¤¢¥ áâ ¤ àâë¥ ª®¯ª¨: § ªàëâ¨ï ¨ ¬¨¨¬¨§ 樨
|
||
(ᬮâਠäãªæ¨î 8)
|
||
* ¥á«¨ A=1 ¨ ¢ edi (¥ã«¥¢®©) 㪠§ ⥫ì áâப㠧 £®«®¢ª ,
|
||
â® ® ¢ë¢®¤¨âáï ¢ § £®«®¢ª¥ ¢ ¬¥áâ¥, ®¯à¥¤¥«ï¥¬®¬ ᪨®¬
|
||
* ‡ 票¥ ¯¥à¥¬¥®© _skinh ¤®áâ㯮 ª ª १ã«ìâ ⠢맮¢
|
||
¯®¤äãªæ¨¨ 4 äãªæ¨¨ 48
|
||
|
||
======================================================================
|
||
================= ”ãªæ¨ï 1 - ¯®áâ ¢¨âì â®çªã ¢ ®ª¥. ================
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 1 - ®¬¥à äãªæ¨¨
|
||
* ebx = x-ª®®à¤¨ â (®â®á¨â¥«ì® ®ª )
|
||
* ecx = y-ª®®à¤¨ â (®â®á¨â¥«ì® ®ª )
|
||
* edx = 0x00RRGGBB - 梥â â®çª¨
|
||
edx = 0x01xxxxxx - ¨¢¥àâ¨à®¢ âì 梥â â®çª¨
|
||
(¬« ¤è¨¥ 24 ¡¨â ¨£®à¨àãîâáï)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
======================================================================
|
||
============== ”ãªæ¨ï 2 - ¯®«ãç¨âì ª®¤ ¦ ⮩ ª« ¢¨è¨. =============
|
||
======================================================================
|
||
‡ ¡¨à ¥â ª®¤ ¦ ⮩ ª« ¢¨è¨ ¨§ ¡ãä¥à .
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 2 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ ¡ãä¥à ¯ãáâ, ¢®§¢à é ¥âáï eax=1
|
||
* ¥á«¨ ¡ãä¥à ¥¯ãáâ, â® ¢®§¢à é ¥âáï al=0, ah=ª®¤ ¦ ⮩ ª« ¢¨è¨,
|
||
áâ à襥 á«®¢® ॣ¨áâà eax ®¡ã«¥®
|
||
* ¥á«¨ ¥áâì "£®àïç ï ª« ¢¨è ", â® ¢®§¢à é ¥âáï
|
||
al=2, ah=᪠ª®¤ ¦ ⮩ ª« ¢¨è¨ (0 ¤«ï ã¯à ¢«ïîé¨å ª« ¢¨è),
|
||
áâ à襥 á«®¢® ॣ¨áâà eax ᮤ¥à¦¨â á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
|
||
¢ ¬®¬¥â ¦ â¨ï £®àï祩 ª« ¢¨è¨
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘ãé¥áâ¢ã¥â ®¡é¥á¨áâ¥¬ë© ¡ãä¥à ¦ âëå ª« ¢¨è à §¬¥à®¬ 120 ¡ ©â,
|
||
®à£ ¨§®¢ ë© ª ª ®ç¥à¥¤ì.
|
||
* ‘ãé¥áâ¢ã¥â ¥éñ ®¤¨ ®¡é¥á¨áâ¥¬ë© ¡ãä¥à 120 "£®àïç¨å ª« ¢¨è".
|
||
* <20>ਠ¢ë§®¢¥ í⮩ äãªæ¨¨ ¯à¨«®¦¥¨¥¬ á ¥ ªâ¨¢ë¬ ®ª®¬
|
||
áç¨â ¥âáï, çâ® ¡ãä¥à ¦ âëå ª« ¢¨è ¯ãáâ.
|
||
* <20>® 㬮«ç ¨î íâ äãªæ¨ï ¢®§¢à é ¥â ASCII-ª®¤ë; ¯¥à¥ª«îç¨âìáï
|
||
०¨¬ ᪠ª®¤®¢ (¨ § ¤) ¬®¦® á ¨á¯®«ì§®¢ ¨¥¬ äãªæ¨¨ 66.
|
||
Ž¤ ª®, £®àï稥 ª« ¢¨è¨ ¢á¥£¤ ¢®§¢à é îâáï ª ª ᪠ª®¤ë.
|
||
* “§ âì, ª ª¨¥ ª®¬¡¨ 樨 ª« ¢¨è ᮮ⢥âáâ¢ãîâ ª ª¨¬ ª®¤ ¬, ¬®¦®,
|
||
§ ¯ãá⨢ ¯à¨«®¦¥¨ï keyascii ¨ scancode.
|
||
* ‘ª ª®¤ë ¢®§¢à é îâáï ¥¯®á।á⢥® ª« ¢¨ âãன ¨ 䨪á¨à®¢ ë;
|
||
ASCII-ª®¤ë ¯®«ãç îâáï á ¨á¯®«ì§®¢ ¨¥¬ â ¡«¨æ ¯à¥®¡à §®¢ ¨ï,
|
||
ª®â®àë¥ ¬®¦® ãáâ ®¢¨âì ¯®¤äãªæ¨¥© 2 äãªæ¨¨ 21 ¨ ¯à®ç¨â âì
|
||
¯®¤äãªæ¨¥© 2 äãªæ¨¨ 26.
|
||
* Š ª á«¥¤á⢨¥, ASCII-ª®¤ë ãç¨âë¢ îâ ⥪ãéãî à ᪫ ¤ªã ª« ¢¨ âãàë
|
||
(rus/en) ¢ ®â«¨ç¨¥ ®â ᪠ª®¤®¢.
|
||
* <20>®áâ㯠¥â ¨ä®à¬ æ¨ï ⮫쪮 ® â¥å £®àïç¨å ª« ¢¨è å, ª®â®àë¥ ¡ë«¨
|
||
®¯à¥¤¥«¥ë í⨬ ¯®â®ª®¬ ¯®¤äãªæ¨¥© 4 äãªæ¨¨ 66.
|
||
|
||
======================================================================
|
||
================ ”ãªæ¨ï 3 - ¯®«ãç¨âì á¨á⥬®¥ ¢à¥¬ï. ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 3 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0x00SSMMHH, £¤¥ HH:MM:SS = ç áë:¬¨ãâë:ᥪã¤ë
|
||
* ª ¦¤ë© í«¥¬¥â ¢®§¢à é ¥âáï ª ª BCD-ç¨á«®, ¯à¨¬¥à,
|
||
¤«ï ¢à¥¬¥¨ 23:59:59 १ã«ìâ ⠡㤥â 0x00595923
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 9 äãªæ¨¨ 26 - ¯®«ã票¥ ¢à¥¬¥¨
|
||
á ¬®¬¥â § ¯ã᪠á¨á⥬ë; ® ¢® ¬®£¨å á«ãç ïå 㤮¡¥¥,
|
||
¯®áª®«ìªã ¢®§¢à é ¥â ¯à®áâ® DWORD-§ 票¥ áç¥â稪 ¢à¥¬¥¨.
|
||
* ‘¨á⥬®¥ ¢à¥¬ï ¬®¦® ãáâ ®¢¨âì äãªæ¨¥© 22.
|
||
|
||
======================================================================
|
||
============== ”ãªæ¨ï 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª®. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 4 - ®¬¥à äãªæ¨¨
|
||
* ebx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
|
||
* ecx = 0xX0RRGGBB, £¤¥
|
||
* RR, GG, BB § ¤ îâ 梥â ⥪áâ
|
||
* X=ABnn (¡¨âë):
|
||
* nn § ¤ ¥â ¨á¯®«ì§ã¥¬ë© èà¨äâ: 0=á¨áâ¥¬ë© ¬®®è¨à¨ë©,
|
||
1=á¨áâ¥¬ë© èà¨äâ ¯¥à¥¬¥®© è¨à¨ë
|
||
* A=0 - ¢ë¢®¤¨âì esi ᨬ¢®«®¢, A=1 - ¢ë¢®¤¨âì ASCIIZ-áâபã
|
||
* B=1 - § ªà 訢 âì ä® æ¢¥â®¬ edi
|
||
* edx = 㪠§ ⥫ì ç «® áâப¨
|
||
* esi = ¤«ï A=0 ¤«¨ áâப¨, ¤®«¦ ¡ëâì ¥ ¡®«ìè¥ 255;
|
||
¤«ï A=1 ¨£®à¨àã¥âáï
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥à¢ë© á¨áâ¥¬ë© èà¨äâ áç¨âë¢ ¥âáï ¯à¨ § £à㧪¥ ¨§ ä ©« char.mt,
|
||
¢â®à®© - ¨§ char2.mt.
|
||
* Ž¡ èà¨äâ ¨¬¥îâ ¢ëá®âã 9 ¯¨ªá¥«¥©, è¨à¨ ¬®®è¨à¨®£® èà¨äâ
|
||
à ¢ 6 ¯¨ªá¥«¥©.
|
||
|
||
======================================================================
|
||
========================= ”ãªæ¨ï 5 - ¯ 㧠. =========================
|
||
======================================================================
|
||
‡ ¤¥à¦¨¢ ¥â ¢ë¯®«¥¨¥ ¯à®£à ¬¬ë § ¤ ®¥ ¢à¥¬ï.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 5 - ®¬¥à äãªæ¨¨
|
||
* ebx = ¢à¥¬ï ¢ á®âëå ¤®«ïå ᥪã¤ë
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥à¥¤ ç ebx=0 ¥ ¯¥à¥¤ ¥â ã¯à ¢«¥¨¥ á«¥¤ãî饬㠯à®æ¥ááã ¨
|
||
¢®®¡é¥ ¥ ¯à®¨§¢®¤¨â ¨ª ª¨å ¤¥©á⢨©. …᫨ ¤¥©á⢨⥫ì®
|
||
âॡã¥âáï ¯¥à¥¤ âì ã¯à ¢«¥¨¥ á«¥¤ãî饬㠯à®æ¥ááã
|
||
(§ ª®ç¨âì ⥪ã騩 ª¢ ⠢६¥¨), ¨á¯®«ì§ã©â¥ ¯®¤äãªæ¨î 1
|
||
äãªæ¨¨ 68.
|
||
|
||
======================================================================
|
||
=============== ”ãªæ¨ï 6 - ¯à®ç¨â âì ä ©« á à ¬¤¨áª . ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 6 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨¬ï ä ©«
|
||
* ecx = ®¬¥à áâ à⮢®£® ¡«®ª , áç¨â ï á 1;
|
||
ecx=0 - ç¨â âì á ç « ä ©« (â® ¦¥ á ¬®¥, çâ® ¨ ecx=1)
|
||
* edx = ç¨á«® ¡«®ª®¢ ¤«ï ç⥨ï;
|
||
edx=0 - ç¨â âì ®¤¨ ¡«®ª (â® ¦¥ á ¬®¥, çâ® ¨ edx=1)
|
||
* esi = 㪠§ â¥«ì ®¡« áâì ¯ ¬ïâ¨, ªã¤ ¡ã¤ãâ § ¯¨á ë ¤ ë¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¤«¨ ä ©« ¢ ¡ ©â å, ¥á«¨ ä ©« ãá¯¥è® ¯à®ç¨â
|
||
* eax = -1, ¥á«¨ ä ©« ¥ ©¤¥
|
||
‡ ¬¥ç ¨ï:
|
||
* „ ï äãªæ¨ï ï¥âáï ãáâ ॢ襩; äãªæ¨ï 70
|
||
¯®§¢®«ï¥â ¢ë¯®«ïâì ⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ.
|
||
* <20>«®ª = 512 ¡ ©â.
|
||
* „«ï çâ¥¨ï ¢á¥£® ä ©« ¬®¦® 㪠§ âì § ¢¥¤®¬® ¡®«ì讥 § 票¥
|
||
¢ edx, ¯à¨¬¥à, edx = -1; ® ¢ í⮬ á«ãç ¥ ¡ã¤ì⥠£®â®¢ë ª ⮬ã,
|
||
çâ® ¯à®£à ¬¬ "㯠¤¥â", ¥á«¨ ä ©« ®ª ¦¥âáï ᫨誮¬ ¡®«ì訬
|
||
¨ "¥ ¢«¥§¥â" ¢ ¯ ¬ïâì ¯à®£à ¬¬ë.
|
||
* ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢
|
||
(¯¥à¢ë¥ 8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥,
|
||
ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨),
|
||
«¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX "
|
||
(¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« ,
|
||
¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨).
|
||
ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨.
|
||
‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ).
|
||
* <20>â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯ª¨ à ¬¤¨áª¥.
|
||
|
||
======================================================================
|
||
=============== ”ãªæ¨ï 7 - ¢ë¢¥á⨠¨§®¡à ¦¥¨¥ ¢ ®ª®. ==============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 7 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR...
|
||
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* Š®®à¤¨ âë ¨§®¡à ¦¥¨ï - íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫
|
||
¨§®¡à ¦¥¨ï ®â®á¨â¥«ì® ®ª .
|
||
* <20> §¬¥à ¨§®¡à ¦¥¨ï ¢ ¡ ©â å ¥áâì 3*xsize*ysize.
|
||
|
||
======================================================================
|
||
=============== ”ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã. ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë ¤«ï ®¯à¥¤¥«¥¨ï ª®¯ª¨:
|
||
* eax = 8 - ®¬¥à äãªæ¨¨
|
||
* ebx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
||
* ecx = [ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||
* edx = 0xXYnnnnnn, £¤¥:
|
||
* nnnnnn = ¨¤¥â¨ä¨ª â®à ª®¯ª¨
|
||
* áâ à訩 (31-©) ¡¨â edx á¡à®è¥
|
||
* ¥á«¨ 30-© ¡¨â edx ãáâ ®¢«¥ - ¥ ¯à®à¨á®¢ë¢ âì ª®¯ªã
|
||
* ¥á«¨ 29-© ¡¨â edx ãáâ ®¢«¥ - ¥ à¨á®¢ âì à ¬ªã
|
||
¯à¨ ¦ ⨨ ª®¯ªã
|
||
* esi = 0x00RRGGBB - 梥⠪®¯ª¨
|
||
<EFBFBD> à ¬¥âàë ¤«ï 㤠«¥¨ï ª®¯ª¨:
|
||
* eax = 8 - ®¬¥à äãªæ¨¨
|
||
* edx = 0x80nnnnnn, £¤¥ nnnnnn - ¨¤¥â¨ä¨ª â®à ª®¯ª¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> §¬¥àë ª®¯ª¨ ¤®«¦ë ¡ëâì ¡®«ìè¥ 0 ¨ ¬¥ìè¥ 0x8000.
|
||
* „«ï ®ª® ᮠ᪨®¬ ¯à¨ ®¯à¥¤¥«¥¨¨ ®ª (¢ë§®¢¥ 0-© äãªæ¨¨)
|
||
ᮧ¤ îâáï ¤¢¥ áâ ¤ àâë¥ ª®¯ª¨ - § ªàëâ¨ï ®ª
|
||
á ¨¤¥â¨ä¨ª â®à®¬ 1 ¨ ¬¨¨¬¨§ 樨 ®ª á ¨¤¥â¨ä¨ª â®à®¬ 0xffff.
|
||
* ‘®§¤ ¨¥ ¤¢ãå ª®¯®ª á ®¤¨ ª®¢ë¬¨ ¨¤¥â¨ä¨ª â®à ¬¨
|
||
¢¯®«¥ ¤®¯ãá⨬®.
|
||
* Š®¯ª á ¨¤¥â¨ä¨ª â®à®¬ 0xffff ¯à¨ ¦ ⨨ ¨â¥à¯à¥â¨àã¥âáï
|
||
á¨á⥬®© ª ª ª®¯ª ¬¨¨¬¨§ 樨, á¨á⥬ ®¡à ¡ âë¢ ¥â â ª®¥
|
||
¦ ⨥ á ¬®áâ®ï⥫ì®, ¥ ®¡à é ïáì ª ¯à¨«®¦¥¨î.
|
||
‚ ®á⠫쮬 íâ® ®¡ëç ï ª®¯ª .
|
||
* Ž¡é¥¥ ª®«¨ç¥á⢮ ª®¯®ª ¤«ï ¢á¥å ¯à¨«®¦¥¨© ®£à ¨ç¥®
|
||
ç¨á«®¬ 4095.
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 9 - ¨ä®à¬ æ¨ï ® ¯®â®ª¥ ¢ë¯®«¥¨ï. ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 9 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¡ãä¥à à §¬¥à 1 Š¡
|
||
* ecx = ®¬¥à ᫮⠯®â®ª
|
||
ecx = -1 - ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ⥪ã饬 ¯®â®ª¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¬ ªá¨¬ «ìë© ®¬¥à ᫮⠯®â®ª
|
||
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ebx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î:
|
||
* +0: dword: ¨á¯®«ì§®¢ ¨¥ ¯à®æ¥áá®à (᪮«ìª® ⠪⮢ ¢ ᥪã¤ã
|
||
ã室¨â ¨á¯®«¥¨¥ ¨¬¥® í⮣® ¯®â®ª )
|
||
* +4: word: ¯®§¨æ¨ï ®ª ¯®â®ª ¢ ®ª®®¬ áâíª¥
|
||
* +6: word: (¥ ¨¬¥¥â ®â®è¥¨ï ª § ¯à®è¥®¬ã ¯®â®ªã)
|
||
®¬¥à ᫮⠯®â®ª , ®ª® ª®â®à®£® 室¨âáï ¢ ®ª®®¬ áâíª¥
|
||
¢ ¯®§¨æ¨¨ ecx
|
||
* +8: word: § १¥à¢¨à®¢ ®
|
||
* +10 = +0xA: 11 ¡ ©â: ¨¬ï ¯à®æ¥áá
|
||
(¨¬ï ᮮ⢥âáâ¢ãî饣® ¨á¯®«ï¥¬®£® ä ©« ¢ ä®à¬ ⥠8+3)
|
||
* +21 = +0x15: byte: § १¥à¢¨à®¢ ®, íâ®â ¡ ©â ¥ ¨§¬¥ï¥âáï
|
||
* +22 = +0x16: dword: ¤à¥á ¯à®æ¥áá ¢ ¯ ¬ïâ¨
|
||
* +26 = +0x1A: dword: à §¬¥à ¨á¯®«ì§ã¥¬®© ¯ ¬ï⨠- 1
|
||
* +30 = +0x1E: dword: ¨¤¥â¨ä¨ª â®à (PID/TID)
|
||
* +34 = +0x22: dword: ª®®à¤¨ â ®ª ¯®â®ª ¯® ®á¨ x
|
||
* +38 = +0x26: dword: ª®®à¤¨ â ®ª ¯®â®ª ¯® ®á¨ y
|
||
* +42 = +0x2A: dword: à §¬¥à ®ª ¯®â®ª ¯® ®á¨ x
|
||
* +46 = +0x2E: dword: à §¬¥à ®ª ¯®â®ª ¯® ®á¨ y
|
||
* +50 = +0x32: word: á®áâ®ï¨¥ ᫮⠯®â®ª :
|
||
* 0 = ¯®â®ª ¢ë¯®«ï¥âáï
|
||
* 1 = ¯®â®ª ¯à¨®áâ ®¢«¥
|
||
* 2 = ¯®â®ª ¯à¨®áâ ®¢«¥ ¢ ¬®¬¥â ®¦¨¤ ¨ï ᮡëâ¨ï
|
||
* 3 = ¯®â®ª § ¢¥àè ¥âáï ¢ १ã«ìâ ⥠¢ë§®¢ äãªæ¨¨ -1 ¨«¨
|
||
ᨫìá⢥® ª ª á«¥¤á⢨¥ ¢ë§®¢ ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 18
|
||
¨«¨ § ¢¥à襨ï à ¡®âë á¨á⥬ë
|
||
* 4 = ¯®â®ª § ¢¥àè ¥âáï ¢ १ã«ìâ ⥠¨áª«î票ï
|
||
* 5 = ¯®â®ª ®¦¨¤ ¥â ᮡëâ¨ï
|
||
* 9 = § ¯à®è¥ë© á«®â ᢮¡®¤¥, ¢áï ®áâ «ì ï ¨ä®à¬ æ¨ï ®
|
||
᫮⥠¥ ¨¬¥¥â á¬ëá«
|
||
* +52 = +0x34: word: § १¥à¢¨à®¢ ®, íâ® á«®¢® ¥ ¨§¬¥ï¥âáï
|
||
* +54 = +0x36: dword: ª®®à¤¨ â ç « ª«¨¥â᪮© ®¡« áâ¨
|
||
¯® ®á¨ x
|
||
* +58 = +0x3A: dword: ª®®à¤¨ â ç « ª«¨¥â᪮© ®¡« áâ¨
|
||
¯® ®á¨ y
|
||
* +62 = +0x3E: dword: è¨à¨ ª«¨¥â᪮© ®¡« áâ¨
|
||
* +66 = +0x42: dword: ¢ëá®â ª«¨¥â᪮© ®¡« áâ¨
|
||
* +70 = +0x46: byte: á®áâ®ï¨¥ ®ª - ¡¨â®¢®¥ ¯®«¥
|
||
* ¡¨â 0 (¬ ᪠1): ®ª® ¬ ªá¨¬¨§¨à®¢ ®
|
||
* ¡¨â 1 (¬ ᪠2): ®ª® ¬¨¨¬¨§¨à®¢ ® ¢ ¯ ¥«ì § ¤ ç
|
||
* ¡¨â 2 (¬ ᪠4): ®ª® á¢ñàãâ® ¢ § £®«®¢®ª
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘«®âë 㬥àãîâáï á 1.
|
||
* ‚®§¢à é ¥¬®¥ § 票¥ ¥ ¥áâì ®¡é¥¥ ç¨á«® ¯®â®ª®¢, ¯®áª®«ìªã
|
||
¡ë¢ îâ ᢮¡®¤ë¥ á«®âë.
|
||
* <20>ਠᮧ¤ ¨¨ ¯à®æ¥áá ¢â®¬ â¨ç¥áª¨ ᮧ¤ ¥âáï ¯®â®ª ¢ë¯®«¥¨ï.
|
||
* ”ãªæ¨ï ¢ë¤ ¥â ¨ä®à¬ æ¨î ® ¯®â®ª¥. Š ¦¤ë© ¯à®æ¥áá ¨¬¥¥â
|
||
å®âï ¡ë ®¤¨ ¯®â®ª. Ž¤¨ ¯à®æ¥áá ¬®¦¥â ᮧ¤ âì ¥áª®«ìª® ¯®â®ª®¢,
|
||
¢ í⮬ á«ãç ¥ ª ¦¤ë© ¯®â®ª ¯®«ãç ¥â ᢮© á«®â, ¯à¨ç¥¬ ¯®«ï
|
||
+10, +22, +26 ¢ íâ¨å á«®â å ᮢ¯ ¤ îâ.
|
||
„«ï ¯à¨«®¦¥¨© ¥ áãé¥áâ¢ã¥â ®¡é¥£® ᯮᮡ ®¯à¥¤¥«¨âì,
|
||
¯à¨ ¤«¥¦ â «¨ ¤¢ ¯®â®ª ®¤®¬ã ¯à®æ¥ááã.
|
||
* €ªâ¨¢®¥ ®ª® - ®ª®, 室ï饥áï ¢¥à訥 ®ª®®£® áâíª ,
|
||
®® ¯®«ãç ¥â á®®¡é¥¨ï ® ¢¢®¤¥ á ª« ¢¨ âãàë. „«ï ¥£® ¯®§¨æ¨ï ¢
|
||
®ª®®¬ áâíª¥ ᮢ¯ ¤ ¥â á ¢®§¢à é ¥¬ë¬ § 票¥¬.
|
||
* ‘«®â 1 ᮮ⢥âáâ¢ã¥â á¯¥æ¨ «ì®¬ã ¯®â®ªã ®¯¥à 樮®© á¨á⥬ë,
|
||
¤«ï ª®â®à®£®:
|
||
* ®ª® 室¨âáï ¢¨§ã ®ª®®£® áâíª , ¯®«ï +4 ¨ +6 ᮤ¥à¦ â
|
||
§ 票¥ 1
|
||
* ¨¬ï ¯à®æ¥áá - "OS/IDLE" (¤®¯®«¥®¥ ¯à®¡¥« ¬¨)
|
||
* ¤à¥á ¯à®æ¥áá ¢ ¯ ¬ïâ¨ à ¢¥ 0, à §¬¥à ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨
|
||
16 Mb (0x1000000)
|
||
* PID=1
|
||
* ª®®à¤¨ âë ¨ à §¬¥àë ®ª , à ¢® ª ª ¨ ª«¨¥â᪮© ®¡« áâ¨,
|
||
ãá«®¢® ¯®« £ îâáï à ¢ë¬¨ 0
|
||
* á®áâ®ï¨¥ á«®â - ¢á¥£¤ 0 (¢ë¯®«ï¥âáï)
|
||
* ¢à¥¬ï ¢ë¯®«¥¨ï ᪫ ¤ë¢ ¥âáï ¨§ ¢à¥¬¥¨, ã室ï饣®
|
||
ᮡá⢥® à ¡®âã, ¨ ¢à¥¬¥¨ ¯à®áâ®ï ¢ ®¦¨¤ ¨¨ ¯à¥àë¢ ¨ï
|
||
(ª®â®à®¥ ¬®¦® ¯®«ãç¨âì ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 18).
|
||
* <20> ç¨ ï á® á«®â 2, à §¬¥é îâáï ®¡ëçë¥ ¯à¨«®¦¥¨ï.
|
||
* Ž¡ëçë¥ ¯à¨«®¦¥¨ï à §¬¥é îâáï ¢ ¯ ¬ï⨠¯® ¤à¥áã 0x0
|
||
(ª®áâ â ï¤à std_application_base_address).
|
||
<20> «®¦¥¨ï ¥ ¯à®¨á室¨â, ¯®áª®«ìªã ã ª ¦¤®£® ¯à®æ¥áá ᢮ï
|
||
â ¡«¨æ áâà ¨æ.
|
||
* <20>ਠᮧ¤ ¨¨ ¯®â®ª ¥¬ã § ç îâáï ᫮⠢ á¨á⥬®© â ¡«¨æ¥ ¨
|
||
¨¤¥â¨ä¨ª â®à (Process/Thread IDentifier = PID/TID), ª®â®àë¥ ¤«ï
|
||
§ ¤ ®£® ¯®â®ª ¥ ¨§¬¥ïîâáï á® ¢à¥¬¥¥¬.
|
||
<20>®á«¥ § ¢¥àè¥¨ï ¯®â®ª ¥£® ᫮⠬®¦¥â ¡ëâì § ®¢® ¨á¯®«ì§®¢
|
||
¤«ï ¤à㣮£® ¯®â®ª . ˆ¤¥â¨ä¨ª â®à ¯®â®ª ¥ ¬®¦¥â ¡ëâì § ç¥
|
||
¤à㣮¬ã ¯®â®ªã ¤ ¦¥ ¯®á«¥ § ¢¥àè¥¨ï ¯¥à¢®£®.
|
||
<20> § ç ¥¬ë¥ ®¢ë¬ ¯®â®ª ¬ ¨¤¥â¨ä¨ª â®àë ¬®®â®® à áâãâ.
|
||
* …᫨ ¯®â®ª ¥é¥ ¥ ®¯à¥¤¥«¨« ᢮¥ ®ª® ¢ë§®¢®¬ äãªæ¨¨ 0, â®
|
||
¯®«®¦¥¨¥ ¨ à §¬¥àë í⮣® ®ª ¯®« £ îâáï ã«ï¬¨.
|
||
* Š®®à¤¨ âë ª«¨¥â᪮© ®¡« á⨠®ª ¡¥àãâáï ®â®á¨â¥«ì® ®ª .
|
||
* ‚ ¤ ë© ¬®¬¥â ¨á¯®«ì§ã¥âáï ⮫쪮 ç áâì ¡ãä¥à à §¬¥à®¬
|
||
71 = 0x47 ¡ ©â . ’¥¬ ¥ ¬¥¥¥ ४®¬¥¤ã¥âáï ¨á¯®«ì§®¢ âì ¡ãä¥à
|
||
à §¬¥à®¬ 1 Š¡ ¤«ï ¡ã¤ã饩 ᮢ¬¥á⨬®áâ¨, ¢ ¡ã¤ã饬 ¬®£ãâ ¡ëâì
|
||
¤®¡ ¢«¥ë ¥ª®â®àë¥ ¯®«ï.
|
||
|
||
======================================================================
|
||
==================== ”ãªæ¨ï 10 - ®¦¨¤ âì ᮡëâ¨ï. ===================
|
||
======================================================================
|
||
…᫨ ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ , â® ¦¤¥â ¯®ï¢«¥¨ï á®®¡é¥¨ï ¢ ®ç¥à¥¤¨.
|
||
‚ â ª®¬ á®áâ®ï¨¨ ¯®â®ª ¥ ¯®«ãç ¥â ¯à®æ¥áá®à®£® ¢à¥¬¥¨.
|
||
‡ ⥬ áç¨âë¢ ¥â á®®¡é¥¨¥ ¨§ ®ç¥à¥¤¨.
|
||
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 10 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ᮡë⨥ (ᬮâਠᯨ᮪ ᮡë⨩)
|
||
‡ ¬¥ç ¨ï:
|
||
* “ç¨âë¢ îâáï ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã,
|
||
ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. <20>® 㬮«ç ¨î í⮠ᮡëâ¨ï
|
||
¯¥à¥à¨á®¢ª¨, ¦ â¨ï ª« ¢¨è¨ ¨ ª®¯ª¨.
|
||
* „«ï ¯à®¢¥àª¨, ¥áâì «¨ á®®¡é¥¨¥ ¢ ®ç¥à¥¤¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 11.
|
||
—â®¡ë ¦¤ âì ¥ ¡®«¥¥ ®¯à¥¤¥«¥®£® ¢à¥¬¥¨, ¨á¯®«ì§ã©â¥
|
||
äãªæ¨î 23.
|
||
|
||
======================================================================
|
||
======= ”ãªæ¨ï 11 - ¯à®¢¥à¨âì, ¥áâì «¨ ᮡë⨥, ¡¥§ ®¦¨¤ ¨ï. =======
|
||
======================================================================
|
||
…᫨ ¢ ®ç¥à¥¤¨ á®®¡é¥¨© ¥áâì ª ª®¥-⮠ᮡë⨥, â® áç¨âë¢ ¥â ¨
|
||
¢®§¢à é ¥â ¥£®. …᫨ ®ç¥à¥¤ì ¯ãáâ , ¢®§¢à é ¥â ã«ì.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 11 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ
|
||
* ¨ ç¥ eax = ᮡë⨥ (ᬮâਠᯨ᮪ ᮡë⨩)
|
||
‡ ¬¥ç ¨ï:
|
||
* “ç¨âë¢ îâáï ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã,
|
||
ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. <20>® 㬮«ç ¨î í⮠ᮡëâ¨ï
|
||
¯¥à¥à¨á®¢ª¨, ¦ â¨ï ª« ¢¨è¨ ¨ ª®¯ª¨.
|
||
* „«ï ®¦¨¤ ¨ï ¯®ï¢«¥¨ï ᮡëâ¨ï ¢ ®ç¥à¥¤¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 10.
|
||
—â®¡ë ¦¤ âì ¥ ¡®«¥¥ ®¯à¥¤¥«¥®£® ¢à¥¬¥¨, ¨á¯®«ì§ã©â¥
|
||
äãªæ¨î 23.
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . ==========
|
||
======================================================================
|
||
|
||
-------------- <20>®¤äãªæ¨ï 1 - ç âì ¯¥à¥à¨á®¢ªã ®ª . ---------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 12 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
------------- <20>®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . -------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 12 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ç « ¯¥à¥à¨á®¢ª¨ 㤠«ï¥â ¢á¥ ®¯à¥¤¥«ñë¥
|
||
äãªæ¨¥© 8 ª®¯ª¨, ¨å á«¥¤ã¥â ®¯à¥¤¥«¨âì ¯®¢â®à®.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª ¢ ®ª¥. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 13 - ®¬¥à äãªæ¨¨
|
||
* ebx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
||
* ecx = [ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||
* edx = 梥â 0xRRGGBB ¨«¨ 0x80RRGGBB ¤«ï £à ¤¨¥â®© § «¨¢ª¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>®¤ ª®®à¤¨ â ¬¨ ¯®¨¬ îâáï ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫
|
||
¯àאַ㣮«ì¨ª ®â®á¨â¥«ì® ®ª .
|
||
|
||
======================================================================
|
||
================ ”ãªæ¨ï 14 - ¯®«ãç¨âì à §¬¥àë íªà . ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 14 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = [xsize]*65536 + [ysize], £¤¥
|
||
* xsize = x-ª®®à¤¨ â ¯à ¢®£® ¨¦¥£® 㣫 íªà =
|
||
à §¬¥à ¯® £®à¨§®â «¨ - 1
|
||
* ysize = y-ª®®à¤¨ â ¯à ¢®£® ¨¦¥£® 㣫 íªà =
|
||
à §¬¥à ¯® ¢¥à⨪ «¨ - 1
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 5 äãªæ¨¨ 48 - ¯®«ãç¨âì à §¬¥àë à ¡®ç¥©
|
||
®¡« á⨠íªà .
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = è¨à¨ ¨§®¡à ¦¥¨ï
|
||
* edx = ¢ëá®â ¨§®¡à ¦¥¨ï
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ‚맮¢ äãªæ¨¨ ®¡ï§ ⥫¥ ¯¥à¥¤ ¢ë§®¢®¬ ¯®¤äãªæ¨© 2 ¨ 5.
|
||
* „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á
|
||
ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® .
|
||
* …áâì ¯ à ï äãªæ¨ï ¯®«ã票ï à §¬¥à®¢ ä®®¢®£® ¨§®¡à ¦¥¨ï -
|
||
¯®¤äãªæ¨ï 1 äãªæ¨¨ 39.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 2 - ¯®áâ ¢¨âì â®çªã ä®®¢®¬ ¨§®¡à ¦¥¨¨. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ᬥ饨¥
|
||
* edx = 梥â â®çª¨ 0xRRGGBB
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘¬¥é¥¨¥ ¤«ï â®çª¨ á ª®®à¤¨ â ¬¨ (x,y) ¢ëç¨á«ï¥âáï ª ª
|
||
(x+y*xsize)*3.
|
||
* …᫨ 㪠§ ®¥ ᬥ饨¥ ¯à¥¢ëè ¥â ãáâ ®¢«¥ë© ¯®¤äãªæ¨¥© 1
|
||
à §¬¥à, ¢ë§®¢ ¨£®à¨àã¥âáï.
|
||
* „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á
|
||
ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® .
|
||
* …áâì ¯ à ï äãªæ¨ï ¯®«ã票ï â®çª¨ á ä®®¢®£® ¨§®¡à ¦¥¨ï -
|
||
¯®¤äãªæ¨ï 2 äãªæ¨¨ 39.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®. ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ०¨¬ ®âà¨á®¢ª¨:
|
||
* 1 = § ¬®áâ¨âì
|
||
* 2 = à áâïãâì
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á
|
||
ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® .
|
||
* …áâì ¯ à ï ª®¬ ¤ ¯®«ã票ï ०¨¬ ®âà¨á®¢ª¨ ä® -
|
||
¯®¤äãªæ¨ï 4 äãªæ¨¨ 39.
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ä®. =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¤ ë¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR...
|
||
* edx = ᬥ饨¥ ¢ ¤ ëå ä®®¢®£® ¨§®¡à ¦¥¨ï
|
||
* esi = à §¬¥à ¤ ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥©
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>஢¥àª¨ ª®à४â®áâ¨ á¬¥é¥¨ï ¨ à §¬¥à ¥ ¯à®¨§¢®¤¨âáï.
|
||
* –¢¥â ª ¦¤®£® ¯¨ªá¥«ï åà ¨âáï ª ª 3-¡ ©â ï ¢¥«¨ç¨ BBGGRR.
|
||
* <20>¨ªá¥«¨ ä®®¢®£® ¨§®¡à ¦¥¨ï § ¯¨áë¢ îâáï ¯®á«¥¤®¢ ⥫ì®
|
||
á«¥¢ ¯à ¢®, ᢥàåã ¢¨§.
|
||
* ‘¬¥é¥¨¥ ¯¨ªá¥«ï á ª®®à¤¨ â ¬¨ (x,y) ¥áâì (x+y*xsize)*3.
|
||
* „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á
|
||
ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® .
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 6 ======================
|
||
==== ‘¯à®¥æ¨à®¢ âì ¤ ë¥ ä® ¤à¥á®¥ ¯à®áâà á⢮ ¯à®æ¥áá . ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 㪠§ â¥«ì ¤ ë¥ ä® , 0 ¯à¨ ®è¨¡ª¥
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘¯à®¥æ¨à®¢ ë¥ ¤ ë¥ ¤®áâã¯ë ç⥨¥ ¨ § ¯¨áì.
|
||
* <20> §¬¥à ¤ ëå ä® à ¢¥ 3*xsize*ysize. ˆ§¬¥¥¨¥ à §¬¥à®¢ ä®
|
||
¡«®ª¨àã¥âáï ¢à¥¬ï à ¡®âë á á¯à®¥æ¨à®¢ 묨 ¤ 묨.
|
||
* –¢¥â ª ¦¤®£® ¯¨ªá¥«ï åà ¨âáï ª ª 3-¡ ©â®¢ ï ¢¥«¨ç¨ BBGGRR.
|
||
* <20>¨ªá¥«¨ ä®®¢®£® ¨§®¡à ¦¥¨ï § ¯¨áë¢ îâáï ¯®á«¥¤®¢ ⥫ì®
|
||
á«¥¢ ¯à ¢®, ᢥàåã ¢¨§.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 7 ======================
|
||
=== ‡ ªàëâì ¯à®¥ªæ¨î ¤ ëå ä® ¤à¥á®¥ ¯à®áâà á⢮ ¯à®æ¥áá . ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 15 - ®¬¥à äãªæ¨¨
|
||
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¤ ë¥ ä®
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 1 ¯à¨ ãᯥå¥, 0 ¯à¨ ®è¨¡ª¥
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 16 - á®åà ¨âì à ¬¤¨áª ¤¨áª¥âã. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 16 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 ¨«¨ ebx = 2 - ª ªãî ¤¨áª¥âã á®åà ïâì
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ®è¨¡ª
|
||
|
||
======================================================================
|
||
============== ”ãªæ¨ï 17 - ¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨. =============
|
||
======================================================================
|
||
‡ ¡¨à ¥â ª®¤ ¦ ⮩ ª®¯ª¨ ¨§ ¡ãä¥à .
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 17 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ ¡ãä¥à ¯ãáâ, ¢®§¢à é ¥âáï eax=1
|
||
* ¥á«¨ ¡ãä¥à ¥¯ãáâ:
|
||
* áâ à訥 24 ¡¨â eax ᮤ¥à¦ â ¨¤¥â¨ä¨ª â®à ª®¯ª¨
|
||
(¢ ç áâ®áâ¨, ¢ ah ®ª §ë¢ ¥âáï ¬« ¤è¨© ¡ ©â ¨¤¥â¨ä¨ª â®à ;
|
||
¥á«¨ ¢á¥ ª®¯ª¨ ¨¬¥îâ ¨¤¥â¨ä¨ª â®à, ¬¥ì訩 256,
|
||
â® ¤«ï à §«¨ç¥¨ï ¤®áâ â®ç® ah)
|
||
* al = 0 - ª®¯ª ¡ë« ¦ â «¥¢®© ª®¯ª®© ¬ëè¨
|
||
* al = ¡¨â, ᮮ⢥âáâ¢ãî騩 ¦ ¢è¥© ª®¯ª¥ ¬ëè¨, ¥á«¨ ¥ «¥¢®©
|
||
‡ ¬¥ç ¨ï:
|
||
* "<22>ãä¥à" åà ¨â ⮫쪮 ®¤ã ª®¯ªã, ¯à¨ ¦ ⨨ ®¢®© ª®¯ª¨
|
||
¨ä®à¬ æ¨ï ® áâ ன â¥àï¥âáï.
|
||
* <20>ਠ¢ë§®¢¥ í⮩ äãªæ¨¨ ¯à¨«®¦¥¨¥¬ á ¥ ªâ¨¢ë¬ ®ª®¬
|
||
¢®§¢à é ¥âáï ®â¢¥â "¡ãä¥à ¯ãáâ".
|
||
* ‚®§¢à é ¥¬®¥ § 票¥ al ᮮ⢥âáâ¢ã¥â á®áâ®ï¨î ª®¯®ª ¬ëè¨
|
||
¢ ä®à¬ ⥠¯®¤äãªæ¨¨ 2 äãªæ¨¨ 37 ¢ ¬®¬¥â ç « ¦ â¨ï
|
||
ª®¯ªã, § ¨áª«î票¥¬ ¬« ¤è¥£® ¡¨â (ᮮ⢥âáâ¢ãî饣® «¥¢®©
|
||
ª®¯ª¥ ¬ëè¨), ª®â®àë© á¡à áë¢ ¥âáï.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 2 - § ¢¥àè¨âì ¯à®æ¥áá/¯®â®ª ¯® á«®âã. ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¬¥à ᫮⠯à®æ¥áá /¯®â®ª
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥«ì§ï § ¢¥àè¨âì ¯®â®ª ®¯¥à 樮®© á¨á⥬ë OS/IDLE (®¬¥à á«®â
|
||
1), ¬®¦® § ¢¥àè¨âì «î¡®© ®¡ëçë© ¯®â®ª/¯à®æ¥áá.
|
||
* ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 18 - § ¢¥à襨¥
|
||
¯à®æ¥áá /¯®â®ª á § ¤ ë¬ ¨¤¥â¨ä¨ª â®à®¬.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 3 - ᤥ« âì ªâ¨¢ë¬ ®ª® § ¤ ®£® ¯®â®ª . =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¬¥à ᫮⠯®â®ª
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>ਠ㪠§ ¨¨ ª®à४⮣®, ® ¥áãé¥áâ¢ãî饣® ᫮⠪⨢¨§¨àã¥âáï
|
||
ª ª®¥-â® ®ª®.
|
||
* “§ âì, ª ª®¥ ®ª® ï¥âáï ªâ¨¢ë¬, ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 7.
|
||
|
||
======================================================================
|
||
”ãªæ¨ï 18, ¯®¤äãªæ¨ï 4 - ¯®«ãç¨âì áçñâ稪 ¯ãáâëå ⠪⮢ ¢ ᥪã¤ã.
|
||
======================================================================
|
||
<EFBFBD>®¤ ¯ãáâ묨 ⠪⠬¨ ¯®¨¬ ¥âáï ¢à¥¬ï, ¢ ª®â®à®¥ ¯à®æ¥áá®à ¯à®áâ ¨¢ ¥â
|
||
¢ ®¦¨¤ ¨¨ ¯à¥àë¢ ¨ï (¢ ¨áâàãªæ¨¨ hlt).
|
||
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = § 票¥ áçñâ稪 ¯ãáâëå ⠪⮢ ¢ ᥪã¤ã
|
||
|
||
======================================================================
|
||
======== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 5 - ¯®«ãç¨âì ⠪⮢ãî ç áâ®âã. =======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ⠪⮢ ï ç áâ®â (¯® ¬®¤ã«î 2^32 ⠪⮢ = 4ƒƒæ)
|
||
|
||
======================================================================
|
||
”ãªæ¨ï 18, ¯®¤äãªæ¨ï 6 - á®åà ¨âì à ¬¤¨áª ¢ ä ©« ¦ñá⪮¬ ¤¨áª¥.
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ ⥫ì áâபã á ¯®«ë¬ ¨¬¥¥¬ ä ©«
|
||
( ¯à¨¬¥à, "/hd0/1/kolibri/kolibri.img")
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* ¨ ç¥ eax = ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
‡ ¬¥ç ¨ï:
|
||
* ‚ᥠ¯ ¯ª¨ ¢ 㪠§ ®¬ ¯ã⨠¤®«¦ë áãé¥á⢮¢ âì, ¨ ç¥ ¢¥àñâáï
|
||
§ 票¥ 5, "ä ©« ¥ ©¤¥".
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 7 - ¯®«ãç¨âì ®¬¥à ªâ¨¢®£® ®ª . =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ®¬¥à ªâ¨¢®£® ®ª (®¬¥à ᫮⠯®â®ª , ®ª® ª®â®à®£®
|
||
ªâ¨¢®)
|
||
‡ ¬¥ç ¨ï:
|
||
* €ªâ¨¢®¥ ®ª® 室¨âáï ¢¢¥àåã ®ª®®£® áâíª ¨ ¯®«ãç ¥â
|
||
á®®¡é¥¨ï ®¡® ¢áñ¬ ¢¢®¤¥ á ª« ¢¨ âãàë.
|
||
* ‘¤¥« âì ®ª® ªâ¨¢ë¬ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 8 - ®âª«îç¨âì/à §à¥è¨âì §¢ãª ᯨª¥à . ====
|
||
======================================================================
|
||
<EFBFBD>ਠ®âª«îçñ®¬ §¢ãª¥ ¢ë§®¢ë ¯®¤äãªæ¨¨ 55 äãªæ¨¨ 55 ¨£®à¨àãîâáï.
|
||
<EFBFBD>ਠ¢ª«îçñ®¬ - ¯à ¢«ïîâáï ¢áâà®¥ë© á¯¨ª¥à.
|
||
|
||
--------------- <20>®¤¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì á®áâ®ï¨¥. ----------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 1 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - §¢ãª ᯨª¥à à §à¥èñ; 1 - § ¯à¥éñ
|
||
|
||
-------------- <20>®¤¯®¤äãªæ¨ï 2 - ¯¥à¥ª«îç¨âì á®áâ®ï¨¥. --------------
|
||
<EFBFBD>¥à¥ª«îç ¥â á®áâ®ï¨ï à §à¥è¥¨ï/§ ¯à¥é¥¨ï.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 2 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 9 - § ¢¥à襨¥ à ¡®âë á¨á⥬ë á ¯ à ¬¥â஬. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¯ à ¬¥âà:
|
||
* 2 = ¢ëª«îç¨âì ª®¬¯ìîâ¥à
|
||
* 3 = ¯¥à¥§ £à㧨âì ª®¬¯ìîâ¥à
|
||
* 4 = ¯¥à¥§ ¯ãáâ¨âì ï¤à® ¨§ ä ©« kernel.mnt à ¬¤¨áª¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¯à¨ ¥¢¥à®¬ ecx ॣ¨áâàë ¥ ¬¥ïîâáï (â.¥. eax=18)
|
||
* ¯à¨ ¯à ¢¨«ì®¬ ¢ë§®¢¥ ¢á¥£¤ ¢®§¢à é ¥âáï ¯à¨§ ª ãᯥå eax=0
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥ á«¥¤ã¥â ¯®« £ âìáï ¢®§¢à é ¥¬®¥ § 票¥ ¯à¨ ¥¢¥à®¬
|
||
¢ë§®¢¥, ®® ¬®¦¥â ¨§¬¥¨âìáï ¢ ¯®á«¥¤ãîé¨å ¢¥àá¨ïå ï¤à .
|
||
|
||
======================================================================
|
||
======== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 10 - ᢥàãâì ®ª® ¯à¨«®¦¥¨ï. =======
|
||
======================================================================
|
||
‘¢®à 稢 ¥â ᮡá⢥®¥ ®ª®.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* Œ¨¨¬¨§¨à®¢ ®¥ ®ª® á â®çª¨ §à¥¨ï äãªæ¨¨ 9 á®åà ï¥â ¯®«®¦¥¨¥
|
||
¨ à §¬¥àë.
|
||
* ‚®ááâ ®¢«¥¨¥ ®ª ¯à¨«®¦¥¨ï ¯à®¨á室¨â ¯à¨ ªâ¨¢¨§¨à®¢ ¨¨
|
||
¯®¤äãªæ¨¥© 3.
|
||
* Ž¡ëç® ¥â ¥®¡å®¤¨¬®á⨠ ᢮à 稢 âì/à §¢®à 稢 âì ᢮ñ ®ª®:
|
||
᢮à 稢 ¨¥ ®ª ®áãé¥á⢫ï¥âáï á¨á⥬®© ¯à¨ ¦ ⨨ ª®¯ªã
|
||
¬¨¨¬¨§ 樨 (ª®â®à ï ¤«ï ®ª® ᮠ᪨®¬ ®¯à¥¤¥«ï¥âáï ¢â®¬ â¨ç¥áª¨
|
||
äãªæ¨¥© 0, ¤«ï ®ª® ¡¥§ ᪨ ¥ñ ¬®¦® ®¯à¥¤¥«¨âì äãªæ¨¥© 8),
|
||
¢®ááâ ®¢«¥¨¥ - ¯à¨«®¦¥¨¥¬ @panel.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 11 =====================
|
||
============= <20>®«ãç¨âì ¨ä®à¬ æ¨î ® ¤¨áª®¢®© ¯®¤á¨á⥬¥. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ⨯ â ¡«¨æë:
|
||
* 1 = ª®à®âª ï ¢¥àá¨ï, 10 ¡ ©â
|
||
* 2 = ¯®« ï ¢¥àá¨ï, 65536 ¡ ©â
|
||
* edx = 㪠§ â¥«ì ¡ãä¥à (¢ ¯à¨«®¦¥¨¨) ¤«ï â ¡«¨æë
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
”®à¬ â â ¡«¨æë: ª®à®âª ï ¢¥àá¨ï:
|
||
* +0: byte: ¨ä®à¬ æ¨ï ® <20>ƒŒ„ (¤¨áª®¢®¤ å ¤«ï ¤¨áª¥â), AAAABBBB,
|
||
£¤¥ AAAA § ¤ ñâ ⨯ ¯¥à¢®£® ¤¨áª®¢®¤ , BBBB - ¢â®à®£® ᮣ« á®
|
||
á«¥¤ãî饬ã ᯨáªã:
|
||
* 0 = ¥â ¤¨áª®¢®¤
|
||
* 1 = 360Kb, 5.25''
|
||
* 2 = 1.2Mb, 5.25''
|
||
* 3 = 720Kb, 3.5''
|
||
* 4 = 1.44Mb, 3.5''
|
||
* 5 = 2.88Mb, 3.5'' (â ª¨¥ ¤¨áª¥âë ᥩç á 㦥 ¥ ¨á¯®«ì§ãîâáï)
|
||
<20> ¯à¨¬¥à, ¤«ï áâ ¤ à⮩ ª®ä¨£ãà 樨 ¨§ ®¤®£® 1.44-¤¨áª®¢®¤
|
||
§¤¥áì ¡ã¤¥â 40h, ¤«ï á«ãç ï 1.2Mb A: ¨ 1.44Mb B:
|
||
§ 票¥ ®ª §ë¢ ¥âáï 24h.
|
||
* +1: byte: ¨ä®à¬ æ¨ï ® ¦ñáâª¨å ¤¨áª å ¨ CD-¯à¨¢®¤ å, AABBCCDD,
|
||
£¤¥ AA ᮮ⢥âáâ¢ã¥â ª®â஫«¥àã IDE0, ..., DD - IDE3:
|
||
* 0 = ãáâனá⢮ ®âáãâáâ¢ã¥â
|
||
* 1 = ¦ñá⪨© ¤¨áª
|
||
* 2 = CD-¯à¨¢®¤
|
||
<20> ¯à¨¬¥à, ¢ á«ãç ¥ HD IDE0 ¨ CD IDE2 §¤¥áì ¡ã¤¥â 48h.
|
||
* +2: 4 db: ç¨á«® ©¤¥ëå à §¤¥«®¢ ¦ñáâª¨å ¤¨áª å á
|
||
ᮮ⢥âá⢥® IDE0,...,IDE3.
|
||
<20>ਠ®âáãâá⢨¨ ¦ñá⪮£® ¤¨áª IDEx ᮮ⢥âáâ¢ãî騩 ¡ ©â
|
||
ã«¥¢®©, ¯à¨ «¨ç¨¨ ¯®ª §ë¢ ¥â ç¨á«® à ᯮ§ ëå à §¤¥«®¢,
|
||
ª®â®àëå ¬®¦¥â ¨ ¥ ¡ëâì (¥á«¨ ®á¨â¥«ì ¥ ®âä®à¬ â¨à®¢ ¨«¨
|
||
¥á«¨ ä ©«®¢ ï á¨á⥬ ¥ ¯®¤¤¥à¦¨¢ ¥âáï). ‚ ⥪ã饩 ¢¥àᨨ ï¤à
|
||
¤«ï ¦ñáâª¨å ¤¨áª®¢ ¯®¤¤¥à¦¨¢ îâáï ⮫쪮 FAT16, FAT32 ¨ NTFS.
|
||
* +6: 4 db: § १¥à¢¨à®¢ ®
|
||
”®à¬ â â ¡«¨æë: ¯®« ï ¢¥àá¨ï:
|
||
* +0: 10 db: â ª¨¥ ¦¥, ª ª ¨ ¢ ª®à®âª®© ¢¥àᨨ
|
||
* +10: 100 db: ¤ ë¥ ¤«ï ¯¥à¢®£® à §¤¥«
|
||
* +110: 100 db: ¤ ë¥ ¤«ï ¢â®à®£® à §¤¥«
|
||
* ...
|
||
* +10+100*(n-1): 100 db: ¤ ë¥ ¤«ï ¯®á«¥¤¥£® à §¤¥«
|
||
<EFBFBD> §¤¥«ë à ᯮ«®¦¥ë ¢ á«¥¤ãî饬 ¯®à浪¥: á ç « ¯®á«¥¤®¢ â¥«ì® ¢á¥
|
||
à ᯮ§ ë¥ à §¤¥«ë HD IDE0 (¥á«¨ ¥áâì),
|
||
§ ⥬ HD IDE1 (¥á«¨ ¥áâì) ¨ â.¤. ¤® IDE3.
|
||
”®à¬ â ¨ä®à¬ 樨 ® à §¤¥«¥:
|
||
* +0: dword: ç «ìë© ä¨§¨ç¥áª¨© ᥪâ®à à §¤¥«
|
||
* +4: dword: ¯®á«¥¤¨© 䨧¨ç¥áª¨© ᥪâ®à à §¤¥«
|
||
(¯à¨ ¤«¥¦¨â à §¤¥«ã)
|
||
* +8: byte: ⨯ ä ©«®¢®© á¨á⥬ë:
|
||
16=FAT16, 32=FAT32, 1=NTFS
|
||
* ä®à¬ â ¤ «ì¥©è¨å ¤ ëå § ¢¨á¨â ®â ä ©«®¢®© á¨á⥬ë,
|
||
¬®¦¥â ¬¥ïâìáï á ¨§¬¥¥¨ï¬¨ ¢ ï¤à¥ ¨ ¯®í⮬㠥 ®¯¨áë¢ ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* Š®à®âª ï â ¡«¨æ ¬®¦¥â ¡ëâì ¨á¯®«ì§®¢ ¤«ï ¯®«ãç¥¨ï ¨ä®à¬ 樨
|
||
®¡ ¨¬¥îé¨åáï ãáâனá⢠å.
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 13 - ¯®«ãç¨âì ¢¥àá¨î ï¤à . =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à (¥ ¬¥¥¥ 16 ¡ ©â), ªã¤ ¡ã¤¥â ¯®¬¥é¥
|
||
¨ä®à¬ æ¨ï
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‘âàãªâãà ¡ãä¥à :
|
||
db a,b,c,d ¤«ï ¢¥àᨨ a.b.c.d
|
||
db UID_xxx: ®¤® ¨§ UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
|
||
dd REV - ®¬¥à svn-ॢ¨§¨¨ ï¤à
|
||
„«ï ï¤à Kolibri 0.7.1.0:
|
||
db 0,7,1,0
|
||
db 2
|
||
dd 638
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 14 =====================
|
||
======= Ž¦¨¤ âì ç « ®¡à ⮣® 室 «ãç à §¢ñà⪨ ¬®¨â®à . =======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 ª ª ¯à¨§ ª ãᯥå
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¯à¥¤ § ç¥ ¨áª«îç¨â¥«ì® ¤«ï ªâ¨¢ëå
|
||
¢ë᮪®¯à®¨§¢®¤¨â¥«ìëå £à ä¨ç¥áª¨å ¯à¨«®¦¥¨©; ¨á¯®«ì§ã¥âáï ¤«ï
|
||
¯« ¢®£® ¢ë¢®¤ £à 䨪¨.
|
||
|
||
======================================================================
|
||
== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 15 - ¯®¬¥áâ¨âì ªãàá®à ¬ëè¨ ¢ æ¥âà íªà . =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 15 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 ª ª ¯à¨§ ª ãᯥå
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 16 =====================
|
||
============ <20>®«ãç¨âì à §¬¥à ᢮¡®¤®© ®¯¥à ⨢®© ¯ ¬ïâ¨. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 16 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = à §¬¥à ᢮¡®¤®© ¯ ¬ï⨠¢ ª¨«®¡ ©â å
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 17 =====================
|
||
============ <20>®«ãç¨âì à §¬¥à ¨¬¥î饩áï ®¯¥à ⨢®© ¯ ¬ïâ¨. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 17 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ®¡é¨© à §¬¥à ¨¬¥î饩áï ¯ ¬ï⨠¢ ª¨«®¡ ©â å
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 18 =====================
|
||
============= ‡ ¢¥àè¨âì ¯à®æ¥áá/¯®â®ª ¯® ¨¤¥â¨ä¨ª â®àã. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 18 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª (PID/TID)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = -1 - ®è¨¡ª (¯à®æ¥áá ¥ ©¤¥ ¨«¨ ï¥âáï á¨á⥬ë¬)
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥«ì§ï § ¢¥àè¨âì ¯®â®ª ®¯¥à 樮®© á¨á⥬ë OS/IDLE (®¬¥à á«®â
|
||
1), ¬®¦® § ¢¥àè¨âì «î¡®© ®¡ëçë© ¯®â®ª/¯à®æ¥áá.
|
||
* ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 2 - § ¢¥à襨¥
|
||
¯à®æ¥áá /¯®â®ª ¯® § ¤ ®¬ã á«®âã.
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 19 - ¯®«ãç¨âì/ãáâ ®¢¨âì áâனª¨ ¬ëè¨. ==
|
||
======================================================================
|
||
|
||
------------- <20>®¤¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì ᪮à®áâì ¬ëè¨. --------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 0 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ⥪ãé ï ᪮à®áâì ¬ëè¨
|
||
|
||
------------ <20>®¤¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ᪮à®áâì ¬ëè¨. -------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 1 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
* edx = ®¢®¥ § 票¥ ᪮à®áâ¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
------------- <20>®¤¯®¤äãªæ¨ï 2 - ¯®«ãç¨âì § ¤¥à¦ªã ¬ëè¨. --------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 2 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ⥪ãé ï § ¤¥à¦ª ¬ëè¨
|
||
|
||
------------ <20>®¤¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì § ¤¥à¦ªã ¬ëè¨. -------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 3 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
* edx = ®¢®¥ § 票¥ § ¤¥à¦ª¨ ¬ëè¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
-------- <20>®¤¯®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ¯®«®¦¥¨¥ ªãàá®à ¬ëè¨. --------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 4 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
------- <20>®¤¯®¤äãªæ¨ï 5 - ᨬ㫨஢ âì á®áâ®ï¨¥ ª« ¢¨è ¬ëè¨. --------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 5 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||
* edx = ¨ä®à¬ æ¨ï ® í¬ã«¨à㥬®¬ á®áâ®ï¨¨ ª®¯®ª ¬ëè¨:
|
||
(ᮮ⢥âáâ¢ã¥â ¢®§¢à é ¥¬®¬ã § ç¥¨î ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 37)
|
||
* ¡¨â 0 ãáâ ®¢«¥ = «¥¢ ï ª®¯ª ¦ â
|
||
* ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â
|
||
* ¡¨â 2 ãáâ ®¢«¥ = á।ïï ª®¯ª ¦ â
|
||
* ¡¨â 3 ãáâ ®¢«¥ = 4-ï ª®¯ª ¦ â
|
||
* ¡¨â 4 ãáâ ®¢«¥ = 5-ï ª®¯ª ¦ â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥ª®¬¥¤ã¥¬ ï ᪮à®áâì ¬ëè¨ (¢ ¯®¤¯®¤äãªæ¨¨ 1) ®â 1 ¤® 9.
|
||
“áâ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨ ¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à , ¯®í⮬ã
|
||
¨á¯®«ì§ã©â¥ ®áâ®à®¦®, ¯à¨ ¥ª®à४⮬ § 票¨ ªãàá®à ¬®¦¥â
|
||
"§ ¬ñà§ãâì". ‘ª®à®áâì ¬ëè¨ ¬®¦® ॣ㫨஢ âì ¢ ¯à¨«®¦¥¨¨ SETUP.
|
||
* <20>¥ª®¬¥¤ã¥¬ ï ¢¥«¨ç¨ § ¤¥à¦ª¨ (¢ ¯®¤¯®¤äãªæ¨¨ 3) = 10.
|
||
Œ¥ì訥 § ç¥¨ï ¥ ®¡à ¡ âë¢ îâáï COM-¬ëè ¬¨. <20>ਠ®ç¥ì ¡®«ìè¨å
|
||
§ 票ïå ¥¢®§¬®¦® ¯¥à¥¤¢¨¦¥¨¥ ¬ëè¨ 1 ¯¨ªá¥«ì ¨ ªãàá®à ¡ã¤¥â
|
||
¯àë£ âì ¢¥«¨ç¨ã ãáâ ®¢«¥®© ᪮à®á⨠(¯®¤¯®¤äãªæ¨ï 1).
|
||
“áâ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨ ¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à .
|
||
‚¥«¨ç¨ã § ¤¥à¦ª¨ ¬®¦® ¬¥ïâì ¢ ¯à¨«®¦¥¨¨ SETUP.
|
||
* <20>®¤¯®¤äãªæ¨ï 4 ¥ ¯à®¢¥àï¥â ¯¥à¥¤ ®¥ § 票¥. <20>¥à¥¤ ¢ë§®¢®¬
|
||
¥®¡å®¤¨¬® 㧠âì ⥪ã饥 à §à¥è¥¨¥ íªà (¯®¤äãªæ¨¥© 14)
|
||
¨ ¯à®¢¥à¨âì, çâ® ãáâ ¢«¨¢ ¥¬®¥ ¯®«®¦¥¨¥ ¥ ¢ë室¨â § ¯à¥¤¥«ë
|
||
íªà .
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 20 =====================
|
||
============= <20>®«ãç¨âì ¨ä®à¬ æ¨î ®¡ ®¯¥à ⨢®© ¯ ¬ïâ¨. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 20 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¨ä®à¬ 樨 (36 ¡ ©â)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ®¡é¨© à §¬¥à ¨¬¥î饩áï ®¯¥à ⨢®© ¯ ¬ï⨠¢ ¡ ©â å
|
||
¨«¨ -1 ¢ á«ãç ¥ ®è¨¡ª¨
|
||
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ecx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î:
|
||
* +0: dword: ®¡é¨© à §¬¥à ¨¬¥î饩áï ®¯¥à ⨢®© ¯ ¬ï⨠¢ áâà ¨æ å
|
||
* +4: dword: à §¬¥à ᢮¡®¤®© ®¯¥à ⨢®© ¯ ¬ï⨠¢ áâà ¨æ å
|
||
* +8: dword: ç¨á«® áâà ¨çëå ®è¨¡®ª (¨áª«î票© #PF)
|
||
¢ ¯à¨«®¦¥¨ïå
|
||
* +12: dword: à §¬¥à ªãç¨ ï¤à ¢ ¡ ©â å
|
||
* +16: dword: à §¬¥à ᢮¡®¤®© ¯ ¬ï⨠¢ ªãç¥ ï¤à ¢ ¡ ©â å
|
||
* +20: dword: ®¡é¥¥ ª®«¨ç¥á⢮ ¡«®ª®¢ ¯ ¬ï⨠¢ ªãç¥ ï¤à
|
||
* +24: dword: ª®«¨ç¥á⢮ ᢮¡®¤ëå ¡«®ª®¢ ¯ ¬ï⨠¢ ªãç¥ ï¤à
|
||
* +28: dword: à §¬¥à ¨¡®«ì襣® ᢮¡®¤®£® ¡«®ª ¢ ªãç¥ ï¤à
|
||
(§ १¥à¢¨à®¢ ®)
|
||
* +32: dword: à §¬¥à ¨¡®«ì襣® ¢ë¤¥«¥®£® ¡«®ª ¢ ªãç¥ ï¤à
|
||
(§ १¥à¢¨à®¢ ®)
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 21 =====================
|
||
======= <20>®«ãç¨âì ®¬¥à ᫮⠯à®æ¥áá /¯®â®ª ¯® ¨¤¥â¨ä¨ª â®àã. ======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 21 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª (PID/TID)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ®è¨¡ª (¥¢¥àë© ¨¤¥â¨ä¨ª â®à)
|
||
* ¨ ç¥ eax = ®¬¥à á«®â
|
||
|
||
======================================================================
|
||
”ãªæ¨ï 18, ¯®¤äãªæ¨ï 22 - ®¯¥à 樨 á ®ª®¬ ¤à㣮£® ¯à®æ¥áá /¯®â®ª .
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||
* ebx = 22 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ⨯ ®¯¥à 樨:
|
||
* 0 = ¬¨¨¬¨§ æ¨ï ®ª , ¯®â®ª § ¤ ®¬¥à®¬ á«®â
|
||
* 1 = ¬¨¨¬¨§ æ¨ï ®ª , ¯®â®ª § ¤ ¨¤¥â¨ä¨ª â®à®¬
|
||
* 2 = ¢®ááâ ®¢«¥¨¥ ®ª , ¯®â®ª § ¤ ®¬¥à®¬ á«®â
|
||
* 3 = ¢®ááâ ®¢«¥¨¥ ®ª , ¯®â®ª § ¤ ¨¤¥â¨ä¨ª â®à®¬
|
||
* edx = ¯ à ¬¥âà ®¯¥à 樨 (®¬¥à ᫮⠨«¨ PID/TID)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = -1 - ®è¨¡ª (¥¯à ¢¨«ìë© ¯ à ¬¥âà)
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>®â®ª ¬®¦¥â ᢥàãâì ᢮ñ ®ª® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 10.
|
||
* ‚®ááâ ®¢«¥¨¥ ®ª á ®¤®¢à¥¬¥®© ªâ¨¢¨§ 樥© ®áãé¥á⢫ï¥âáï
|
||
¯®¤äãªæ¨¨ 3 (¯à¨¨¬ î饩 ®¬¥à á«®â ).
|
||
|
||
======================================================================
|
||
==================== ”ãªæ¨ï 20 - ¨â¥à䥩á MIDI. ====================
|
||
======================================================================
|
||
|
||
------------------------ <20>®¤äãªæ¨ï 1 - á¡à®á ------------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 20 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
|
||
-------------------- <20>®¤äãªæ¨ï 2 - ¢ë¢¥á⨠¡ ©â ---------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 20 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* cl = ¡ ©â ¤«ï ¢ë¢®¤
|
||
‚®§¢à é ¥¬®¥ § 票¥ (®¤¨ ª®¢® ¤«ï ®¡¥¨å ¯®¤äãªæ¨©):
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¥ ®¯à¥¤¥«ñ ¡ §®¢ë© ¯®àâ
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ®¯à¥¤¥«ñ ¡ §®¢ë© ¯®à⠢맮¢®¬
|
||
¯®¤äãªæ¨¨ 1 äãªæ¨¨ 21.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ¡ §®¢ë© ¯®àâ MPU MIDI. ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¬¥à ¡ §®¢®£® ¯®àâ
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = -1 - ®è¨¡®çë© ®¬¥à ¯®àâ
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>®¬¥à ¯®àâ ¤®«¦¥ 㤮¢«¥â¢®àïâì ãá«®¢¨ï¬ 0x100<=ecx<=0xFFFF.
|
||
* “áâ ®¢ª ¡ §ë 㦠¤«ï à ¡®âë äãªæ¨¨ 20.
|
||
* <20>®«ãç¨âì ãáâ ®¢«¥ë© ¡ §®¢ë© ¯®àâ ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 1 äãªæ¨¨ 26.
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì à ᪫ ¤ªã ª« ¢¨ âãàë. ====
|
||
======================================================================
|
||
<EFBFBD> ᪫ ¤ª ª« ¢¨ âãàë ¨á¯®«ì§ã¥âáï ¤«ï ¯à¥®¡à §®¢ ¨ï ᪠ª®¤®¢,
|
||
¯®áâ㯠îé¨å ®â ª« ¢¨ âãàë, ¢ ASCII-ª®¤ë, áç¨âë¢ ¥¬ë¥ äãªæ¨¥© 2.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ª ªãî à ᪫ ¤ªã ãáâ ¢«¨¢ âì:
|
||
* 1 = ®à¬ «ìãî
|
||
* 2 = à ᪫ ¤ªã ¯à¨ ¦ ⮬ Shift
|
||
* 3 = à ᪫ ¤ªã ¯à¨ ¦ ⮬ Alt
|
||
* edx = 㪠§ ⥫ì à ᪫ ¤ªã - â ¡«¨æã ¤«¨®© 128 ¡ ©â
|
||
ˆ«¨:
|
||
* ecx = 9
|
||
* dx = ¨¤¥â¨ä¨ª â®à áâà ë (1=eng, 2=fi, 3=ger, 4=rus)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¯ à ¬¥âà § ¤ ¥¢¥à®
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¦ â Alt, â® ¨á¯®«ì§ã¥âáï à ᪫ ¤ª á Alt;
|
||
¥á«¨ ¥ ¦ â Alt, ® ¦ â Shift, â®
|
||
¨á¯®«ì§ã¥âáï à ᪫ ¤ª á Shift;
|
||
¥á«¨ ¥ ¦ âë Alt ¨ Shift, ® ¦ â Ctrl, â® ¨á¯®«ì§ã¥âáï
|
||
®à¬ «ì ï à ᪫ ¤ª , ¯®á«¥ 祣® ¨§ ª®¤ ¢ëç¨â ¥âáï 0x60;
|
||
¥á«¨ ¥ ¦ â ¨ ®¤ ¨§ ã¯à ¢«ïîé¨å ª« ¢¨è, â® ¨á¯®«ì§ã¥âáï
|
||
®à¬ «ì ï à ᪫ ¤ª .
|
||
* <20>®«ãç¨âì à ᪫ ¤ª¨ ¨ ¨¤¥â¨ä¨ª â®à áâà ë ¬®¦® á ¯®¬®éìî
|
||
¯®¤äãªæ¨¨ 2 äãªæ¨¨ 26.
|
||
* ˆ¤¥â¨ä¨ª â®à áâà ë - £«®¡ «ì ï á¨á⥬ ï ¯¥à¥¬¥ ï, ª®â®à ï
|
||
á ¬¨¬ ï¤à®¬ ¥ ¨á¯®«ì§ã¥âáï; ®¤ ª® ¯à¨«®¦¥¨¥ @panel ®â®¡à ¦ ¥â
|
||
ᮮ⢥âáâ¢ãîéãî ⥪ã饩 áâà ¥ ¨ª®ªã.
|
||
* <20>ਫ®¦¥¨¥ @panel ¯¥à¥ª«îç ¥â à ᪫ ¤ª¨ ¯® § ¯à®áã ¯®«ì§®¢ ⥫ï.
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì ¡ §ã CD. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¡ § CD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> § CD ¨á¯®«ì§ã¥âáï äãªæ¨¥© 24.
|
||
* <20>®«ãç¨âì ãáâ ®¢«¥ãî ¡ §ã CD ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 3 äãªæ¨¨ 26.
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 5 - ãáâ ®¢¨âì ï§ëª á¨á⥬ë. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ï§ëª á¨á⥬ë (1=eng, 2=fi, 3=ger, 4=rus)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0
|
||
‡ ¬¥ç ¨ï:
|
||
* Ÿ§ëª á¨á⥬ë - £«®¡ «ì ï á¨á⥬ ï ¯¥à¥¬¥ ï, ¨ª ª
|
||
¥ ¨á¯®«ì§ã¥¬ ï á ¬¨¬ ï¤à®¬, ®¤ ª® ¯à¨«®¦¥¨¥ @panel à¨áã¥â
|
||
ᮮ⢥âáâ¢ãîéãî ¨ª®ªã.
|
||
* <20>஢¥à®ª ª®à४â®áâì ¥ ¤¥« ¥âáï, ¯®áª®«ìªã ï¤à® íâã
|
||
¯¥à¥¬¥ãî ¥ ¨á¯®«ì§ã¥â.
|
||
* <20>®«ãç¨âì ï§ëª á¨áâ¥¬ë ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 5 äãªæ¨¨ 26.
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 7 - ãáâ ®¢¨âì ¡ §ã HD. ===========
|
||
======================================================================
|
||
<EFBFBD> § HD 㦠¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© ¦ñá⪨© ¤¨áª ¯¨á âì, ¯à¨
|
||
¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩 äãªæ¨¨ 58;
|
||
¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á /HD0,/HD1,/HD2,/HD3
|
||
¡ § ãáâ ¢«¨¢ ¥âáï ¢â®¬ â¨ç¥áª¨.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¡ § HD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0
|
||
‡ ¬¥ç ¨ï:
|
||
* ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì ¡ §ã.
|
||
* <20>¥ á«¥¤ã¥â ¨§¬¥ïâì ¡ §ã, ª®£¤ ª ª®¥-¨¡ã¤ì ¯à¨«®¦¥¨¥ à ¡®â ¥â
|
||
á ¦ñá⪨¬ ¤¨áª®¬. …᫨ ¥ å®â¨â¥ £«îª®¢ á¨á⥬ë.
|
||
* <20>®«ãç¨âì ãáâ ®¢«¥ãî ¡ §ã ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 7 äãªæ¨¨ 26.
|
||
* ‘«¥¤ã¥â â ª¦¥ ®¯à¥¤¥«¨âì ¨á¯®«ì§ã¥¬ë© à §¤¥« ¦ñá⪮£® ¤¨áª
|
||
¯®¤äãªæ¨¥© 8.
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 8 - ãáâ ®¢¨âì à §¤¥« HD. ==========
|
||
======================================================================
|
||
<EFBFBD> §¤¥« HD 㦥 ¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© à §¤¥« ¦ñá⪮£® ¤¨áª
|
||
¯¨á âì, ¯à¨ ¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩
|
||
äãªæ¨¨ 58; ¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á
|
||
/HD0,/HD1,/HD2,/HD3 ¡ § ¨ à §¤¥« ãáâ ¢«¨¢ îâáï ¢â®¬ â¨ç¥áª¨.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = à §¤¥« HD (áç¨â ï á 1)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0
|
||
‡ ¬¥ç ¨ï:
|
||
* ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì à §¤¥«.
|
||
* <20>¥ á«¥¤ã¥â ¨§¬¥ïâì à §¤¥«, ª®£¤ ª ª®¥-¨¡ã¤ì ¯à¨«®¦¥¨¥ à ¡®â ¥â
|
||
á ¦ñá⪨¬ ¤¨áª®¬. …᫨ ¥ å®â¨â¥ £«îª®¢ á¨á⥬ë.
|
||
* <20>®«ãç¨âì ãáâ ®¢«¥ë© à §¤¥« ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 8
|
||
äãªæ¨¨ 26.
|
||
* <20>஢¥à®ª ª®à४â®áâì ¥ ¤¥« ¥âáï.
|
||
* “§ âì ç¨á«® à §¤¥«®¢ ¦ñá⪮¬ ¤¨áª¥ ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 11 äãªæ¨¨ 18.
|
||
* ‘«¥¤ã¥â â ª¦¥ ®¯à¥¤¥«¨âì ¨á¯®«ì§ã¥¬ãî ¡ §ã ¦ñá⪮£® ¤¨áª
|
||
¯®¤äãªæ¨¥© 7.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 11 =====================
|
||
=========== <20> §à¥è¨âì/§ ¯à¥â¨âì ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª HD. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 0/1 - § ¯à¥â¨âì/à §à¥è¨âì
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0
|
||
‡ ¬¥ç ¨ï:
|
||
* ˆá¯®«ì§ã¥âáï ¯à¨ LBA-ç⥨¨ (¯®¤äãªæ¨ï 8 äãªæ¨¨ 58).
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï ¨á¯®«ì§ã¥â ⮫쪮 ¬« ¤è¨© ¡¨â ecx.
|
||
* <20>®«ãç¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 11 äãªæ¨¨ 26.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 12 =====================
|
||
========== <20> §à¥è¨âì/§ ¯à¥â¨âì ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 0/1 - § ¯à¥â¨âì/à §à¥è¨âì
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0
|
||
‡ ¬¥ç ¨ï:
|
||
* ˆá¯®«ì§ã¥âáï ¯à¨ à ¡®â¥ á 訮© PCI (äãªæ¨ï 62).
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï ¨á¯®«ì§ã¥â ⮫쪮 ¬« ¤è¨© ¡¨â ecx.
|
||
* <20>®«ãç¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 12 äãªæ¨¨ 26.
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 1 =============
|
||
==== ˆ¨æ¨ «¨§¨à®¢ âì + ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ¤à ©¢¥à¥ vmode.mdr. ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 1 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à
|
||
* edx = 㪠§ â¥«ì ¡ãä¥à à §¬¥à 512 ¡ ©â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ ¤à ©¢¥à ¥ § £à㦥 (¨ª®£¤ ¥ ¡ë¢ ¥â ¢ ⥪ã饩 ॠ«¨§ 樨):
|
||
* eax = -1
|
||
* ebx, ecx à §àãè îâáï
|
||
* ¥á«¨ ¤à ©¢¥à § £à㦥:
|
||
* eax = 'MDAZ' (¢ á⨫¥ fasm' , â.¥. 'M' - ¬« ¤è¨© ¡ ©â,
|
||
'Z' - áâ à訩) - ᨣ âãà
|
||
* ebx = ⥪ãé ï ç áâ®â à §¢ñà⪨ (¢ ƒæ)
|
||
* ecx à §àãè ¥âáï
|
||
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â edx, § ¯®«¥
|
||
”®à¬ â ¡ãä¥à :
|
||
* +0: 32*byte: ¨¬ï ¤à ©¢¥à , "Trans VideoDriver" (¡¥§ ª ¢ë祪,
|
||
¤®¯®«¥® ¯à®¡¥« ¬¨)
|
||
* +32 = +0x20: dword: ¢¥àá¨ï ¤à ©¢¥à (¢¥àá¨ï x.y ª®¤¨àã¥âáï ª ª
|
||
y*65536+x), ¤«ï ⥪ã饩 ॠ«¨§ 樨 1 (1.0)
|
||
* +36 = +0x24: 7*dword: § १¥à¢¨à®¢ ® (0 ¢ ⥪ã饩 ॠ«¨§ 樨)
|
||
* +64 = +0x40: 32*word: ᯨ᮪ ¯®¤¤¥à¦¨¢ ¥¬ëå ¢¨¤¥®à¥¦¨¬®¢ (ª ¦¤®¥
|
||
á«®¢® - ®¬¥à ¢¨¤¥®à¥¦¨¬ , ¯®á«¥ ᮡá⢥® ᯨ᪠¨¤ãâ 㫨)
|
||
* +128 = +0x80: 32*(5*word): ᯨ᮪ ¯®¤¤¥à¦¨¢ ¥¬ëå ç áâ®â à §¢ñà⮪
|
||
¤«ï ¢¨¤¥®à¥¦¨¬®¢: ¤«ï ª ¦¤®£® ¢¨¤¥®à¥¦¨¬ , 㪠§ ®£® ¢ ¯à¥¤ë¤ã饬
|
||
¯®«¥, 㪠§ ® ¤® 5 ¯®¤¤¥à¦¨¢ ¥¬ëå ç áâ®â
|
||
(¢ ¥¨á¯®«ì§ã¥¬ëå ¯®§¨æ¨ïå § ¯¨á ë 㫨)
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¨¨æ¨ «¨§¨àã¥â ¤à ©¢¥à (¥á«¨ ® ¥éñ ¥ ¨¨æ¨ «¨§¨à®¢ )
|
||
¨ ¤®«¦ ¢ë§ë¢ âìáï ¯¥à¢®©, ¯¥à¥¤ ®áâ «ì묨 (¨ ç¥ ®¨ ¡ã¤ãâ
|
||
¢®§¢à é âì -1, ¨ç¥£® ¥ ¤¥« ï).
|
||
* ‚ ⥪ã饩 ॠ«¨§ 樨 ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ®¤ ç áâ®â à §¢ñà⪨
|
||
¢¨¤¥®à¥¦¨¬.
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 2 =============
|
||
============= <20>®«ãç¨âì ¨ä®à¬ æ¨î ® ⥪ã饬 ¢¨¤¥®à¥¦¨¬¥. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 2 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤à ©¢¥à ¥ § £à㦥 ¨«¨ ¥ ¨¨æ¨ «¨§¨à®¢ ;
|
||
ebx,ecx à §àãè îâáï
|
||
* eax = [è¨à¨ ]*65536 + [¢ëá®â ]
|
||
* ebx = ç áâ®â ¢¥à⨪ «ì®© à §¢ñà⪨ (¢ ƒæ)
|
||
* ecx = ®¬¥à ⥪ã饣® ¢¨¤¥®à¥¦¨¬
|
||
‡ ¬¥ç ¨ï:
|
||
* „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬
|
||
äãªæ¨¨ ¤à ©¢¥à 1.
|
||
* …᫨ ã¦ë ⮫쪮 à §¬¥àë íªà , 楫¥á®®¡à §¥© ¨á¯®«ì§®¢ âì
|
||
äãªæ¨î 14 á ãçñ⮬ ⮣®, çâ® ® ¢®§¢à é ¥â à §¬¥àë 1 ¬¥ìè¥.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì ¢¨¤¥®à¥¦¨¬.
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 3 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à
|
||
* edx = [ç áâ®â à §¢ñà⪨]*65536 + [®¬¥à ¢¨¤¥®à¥¦¨¬ ]
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤à ©¢¥à ¥ § £à㦥, ¥ ¨¨æ¨ «¨§¨à®¢ ¨«¨
|
||
¯à®¨§®è« ®è¨¡ª
|
||
* eax = 0 - ãᯥè®
|
||
* ebx, ecx à §àãè îâáï
|
||
‡ ¬¥ç ¨ï:
|
||
* „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬
|
||
äãªæ¨¨ ¤à ©¢¥à 1.
|
||
* <20>®¬¥à ¢¨¤¥®à¥¦¨¬ ¨ ç áâ®â ¤®«¦ë ¡ëâì ¢ â ¡«¨æ¥, ¢®§¢à é ¥¬®©
|
||
äãªæ¨¥© ¤à ©¢¥à 1.
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 4 =============
|
||
================= ‚¥àãâìáï ª ç «ì®¬ã ¢¨¤¥®à¥¦¨¬ã. ================
|
||
======================================================================
|
||
‚®§¢à é ¥â íªà ¢ ¢¨¤¥®à¥¦¨¬, ãáâ ®¢«¥ë© ¯à¨ § £à㧪¥ á¨á⥬ë.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 4 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤à ©¢¥à ¥ § £à㦥 ¨«¨ ¥ ¨¨æ¨ «¨§¨à®¢
|
||
* eax = 0 - ãᯥè®
|
||
* ebx, ecx à §àãè îâáï
|
||
‡ ¬¥ç ¨ï:
|
||
* „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬
|
||
äãªæ¨¨ ¤à ©¢¥à 1.
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 5 =============
|
||
======== “¢¥«¨ç¨âì/㬥ìè¨âì à §¬¥à ¢¨¤¨¬®© ®¡« á⨠¬®¨â®à . ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 5 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à
|
||
* edx = 0/1 - 㬥ìè¨âì/㢥«¨ç¨âì à §¬¥à ¯® £®à¨§®â «¨
|
||
®¤ã ¯®§¨æ¨î
|
||
* edx = 2/3 - ¢ ⥪ã饩 ॠ«¨§ 樨 ¥ ¯®¤¤¥à¦¨¢ ¥âáï; ¯« ¨àã¥âáï
|
||
ª ª 㬥ì襨¥/㢥«¨ç¥¨¥ à §¬¥à ¯® ¢¥à⨪ «¨ ®¤ã ¯®§¨æ¨î
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤à ©¢¥à ¥ § £à㦥 ¨«¨ ¥ ¨¨æ¨ «¨§¨à®¢
|
||
* eax = 0 - ãᯥè®
|
||
* ebx, ecx à §àãè îâáï
|
||
‡ ¬¥ç ¨ï:
|
||
* „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬
|
||
äãªæ¨¨ ¤à ©¢¥à 1.
|
||
* ”ãªæ¨ï ¢«¨ï¥â ⮫쪮 䨧¨ç¥áª¨© à §¬¥à ¨§®¡à ¦¥¨ï
|
||
¬®¨â®à¥; «®£¨ç¥áª¨© à §¬¥à (ç¨á«® ¯¨ªá¥«¥©) ¥ ¬¥ï¥âáï.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 22 - ãáâ ®¢¨âì á¨á⥬ãî ¤ âã/¢à¥¬ï. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 22 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ãáâ ®¢¨âì ¢à¥¬ï
|
||
* ecx = 0x00SSMMHH - ¢à¥¬ï ¢ ¤¢®¨ç®-¤¥áïâ¨ç®¬ ª®¤¥ (BCD):
|
||
* HH=ç á 00..23
|
||
* MM=¬¨ãâ 00..59
|
||
* SS=ᥪ㤠00..59
|
||
* ebx = 1 - ãáâ ®¢¨âì ¤ âã
|
||
* ecx = 0x00DDMMYY - ¤ â ¢ ¤¢®¨ç®-¤¥áïâ¨ç®¬ ª®¤¥ (BCD):
|
||
* DD=¤¥ì 01..31
|
||
* MM=¬¥áïæ 01..12
|
||
* YY=£®¤ 00..99
|
||
* ebx = 2 - ãáâ ®¢¨âì ¤¥ì ¥¤¥«¨
|
||
* ecx = 1 ¤«ï ¢®áªà¥á¥ìï, ..., 7 ¤«ï áã¡¡®âë
|
||
* ebx = 3 - ãáâ ®¢¨âì ¡ã¤¨«ì¨ª
|
||
* ecx = 0x00SSMMHH
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¯ à ¬¥âà § ¤ ¥¢¥à®
|
||
* eax = 2 - CMOS-¡ â ३ª¨ à §à廊«¨áì
|
||
‡ ¬¥ç ¨ï:
|
||
* –¥®áâì ãáâ ®¢ª¨ ¤ï ¥¤¥«¨ ¯à¥¤áâ ¢«ï¥âáï ᮬ¨â¥«ì®©,
|
||
¯®áª®«ìªã ® ¬ «® £¤¥ ¨á¯®«ì§ã¥âáï
|
||
(¤¥ì ¥¤¥«¨ ¬®¦® à ááç¨â âì ¯® ¤ â¥).
|
||
* <20>㤨«ì¨ª ¬®¦® ãáâ ®¢¨âì áà ¡ âë¢ ¨¥ ¢ § ¤ ®¥ ¢à¥¬ï
|
||
ª ¦¤ë¥ áã⪨. <20>ਠí⮬ ®âª«îç¨âì ¥£® áãé¥áâ¢ãî騬¨ á¨á⥬묨
|
||
äãªæ¨ï¬¨ ¥«ì§ï.
|
||
* ‘à ¡ âë¢ ¨¥ ¡ã¤¨«ì¨ª § ª«îç ¥âáï ¢ £¥¥à 樨 IRQ8.
|
||
* ‚®®¡é¥-â® CMOS ¯®¤¤¥à¦¨¢ ¥â ¤«ï ¡ã¤¨«ì¨ª ãáâ ®¢ªã § 票ï
|
||
0xFF ¢ ª ç¥á⢥ ®¤®£® ¨§ ¯ à ¬¥â஢ ¨ ®§ ç ¥â íâ®, çâ®
|
||
ᮮ⢥âáâ¢ãî騩 ¯ à ¬¥âà ¨£®à¨àã¥âáï. <20>® ¢ ⥪ã饩 ॠ«¨§ 樨
|
||
íâ® ¥ ¯à®©¤ñâ (¢¥àñâáï § 票¥ 1).
|
||
* <20>㤨«ì¨ª - £«®¡ «ìë© á¨áâ¥¬ë© à¥áãàá; ãáâ ®¢ª ¡ã¤¨«ì¨ª
|
||
¢â®¬ â¨ç¥áª¨ ®â¬¥ï¥â ¯à¥¤ë¤ãéãî ãáâ ®¢ªã. ‚¯à®ç¥¬, ¤ ë©
|
||
¬®¬¥â ¨ ®¤ ¯à®£à ¬¬ ¥£® ¥ ¨á¯®«ì§ã¥â.
|
||
|
||
======================================================================
|
||
============== ”ãªæ¨ï 23 - ®¦¨¤ âì ᮡëâ¨ï á â ©¬ ã⮬. =============
|
||
======================================================================
|
||
…᫨ ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ , ¦¤ñâ ¯®ï¢«¥¨ï á®®¡é¥¨ï ¢ ®ç¥à¥¤¨,
|
||
® ¥ ¡®«¥¥ 㪠§ ®£® ¢à¥¬¥¨. ‡ ⥬ áç¨âë¢ ¥â á®®¡é¥¨¥ ¨§ ®ç¥à¥¤¨.
|
||
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 23 - ®¬¥à äãªæ¨¨
|
||
* ebx = â ©¬ ãâ (¢ á®âëå ¤®«ïå ᥪã¤ë)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ
|
||
* ¨ ç¥ eax = ᮡë⨥ (ᬮâਠᯨ᮪ ᮡë⨩)
|
||
‡ ¬¥ç ¨ï:
|
||
* “ç¨âë¢ îâáï ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã,
|
||
ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. <20>® 㬮«ç ¨î í⮠ᮡëâ¨ï
|
||
¯¥à¥à¨á®¢ª¨, ¦ â¨ï ª« ¢¨è¨ ¨ ª®¯ª¨.
|
||
* „«ï ¯à®¢¥àª¨, ¥áâì «¨ á®®¡é¥¨¥ ¢ ®ç¥à¥¤¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 11.
|
||
—â®¡ë ¦¤ âì ᪮«ì 㣮¤® ¤®«£®, ¨á¯®«ì§ã©â¥ äãªæ¨î 10.
|
||
* <20>¥à¥¤ ç ebx=0 ¯à¨¢®¤¨â ª ¬®¬¥â «ì®¬ã ¢®§¢à 饨î eax=0.
|
||
* <20>ਠ⥪ã饩 ॠ«¨§ 樨 ¯à®¨§®©¤ñâ ¥¬¥¤«¥ë© ¢®§¢à â ¨§ äãªæ¨¨
|
||
á eax=0, ¥á«¨ á«®¦¥¨¥ ebx á ⥪ã騬 § 票¥¬ áçñâ稪 ¢à¥¬¥¨
|
||
¢ë§®¢¥â 32-¡¨â®¥ ¯¥à¥¯®«¥¨¥.
|
||
|
||
======================================================================
|
||
======= ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 1 - ç âì ¯à®¨£àë¢ âì CD-audio. ======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 24 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 0x00FRSSMM, £¤¥
|
||
* MM = ç «ì ï ¬¨ãâ
|
||
* SS = ç «ì ï ᥪã¤
|
||
* FR = ç «ìë© ä३¬
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § CD
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ CD ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21.
|
||
* ‚ ᥪ㤥 75 ä३¬®¢, ¢ ¬¨ã⥠60 ᥪã¤.
|
||
* ”ãªæ¨ï á¨åà® (¢®§¢à é ¥â ã¯à ¢«¥¨¥, ª®£¤ ç «®áì
|
||
¯à®¨£àë¢ ¨¥).
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 2 - ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ¤®à®¦ª å. =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 24 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à ¤«ï â ¡«¨æë
|
||
(¬ ªá¨¬ã¬ 8*64h+4 ¡ ©â=100 ¤®à®¦¥ª)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § CD
|
||
‡ ¬¥ç ¨ï:
|
||
* ”®à¬ â â ¡«¨æë á ¨ä®à¬ 樥© ® ¤®à®¦ª å â ª®© ¦¥, ª ª ¨ ¤«ï
|
||
ATAPI-CD ª®¬ ¤ë 43h (READ TOC), ®¡ë箩 â ¡«¨æë (¯®¤ª®¬ ¤ 00h).
|
||
€¤à¥á ¢®§¢à é îâáï ¢ ä®à¬ ⥠MSF.
|
||
* <20>।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ CD ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21.
|
||
* ”ãªæ¨ï ¢®§¢à é ¥â ¨ä®à¬ æ¨î ⮫쪮 ® ¥ ¡®«¥¥ 祬 100
|
||
¯¥à¢ëå ¤®à®¦ª å. ‚ ¡®«ìè¨á⢥ á«ãç ¥¢ í⮣® ¤®áâ â®ç®.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 3 - ®áâ ®¢¨âì ¯à®¨£àë¢ ¥¬®¥ CD-audio. ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 24 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § CD
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ CD ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21.
|
||
|
||
======================================================================
|
||
======= ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 4 - ¨§¢«¥çì «®â®ª ¯à¨¢®¤ ¤¨áª . ======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 24 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¬¥à CD/DVD-¤¨áª
|
||
(®â 0=Primary Master ¤® 3=Secondary Slave)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
|
||
* <20>ਠ¨§¢«¥ç¥¨¨ «®âª ¯à®¨§¢®¤¨âáï à §¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï
|
||
¬¥å ¨§¬®¬ «®âª .
|
||
* <20>ਠ¨§¢«¥ç¥¨¨ «®âª ª®¤ ¯à®¨§¢®¤¨â ®ç¨áâªã ªíè ᮮ⢥âáâ¢ãî饣®
|
||
ãáâனá⢠.
|
||
* <20>ਬ¥à®¬ ¨á¯®«ì§®¢ ¨ï äãªæ¨¨ ï¥âáï ¯à¨«®¦¥¨¥ CD_tray.
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 5 - § £à㧨âì «®â®ª ¯à¨¢®¤ ¤¨áª . =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 24 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¬¥à CD/DVD-¤¨áª
|
||
(®â 0=Primary Master ¤® 3=Secondary Slave)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
|
||
* <20>ਬ¥à®¬ ¨á¯®«ì§®¢ ¨ï äãªæ¨¨ ï¥âáï ¯à¨«®¦¥¨¥ CD_tray.
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì ¡ §®¢ë© ¯®àâ MPU MIDI. =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ®¬¥à ¯®àâ
|
||
‡ ¬¥ç ¨ï:
|
||
* “áâ ®¢¨âì ¡ §®¢ë© ¯®àâ ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 1 äãªæ¨¨ 21.
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 2 - ¯®«ãç¨âì à ᪫ ¤ªã ª« ¢¨ âãàë. =====
|
||
======================================================================
|
||
<EFBFBD> ᪫ ¤ª ª« ¢¨ âãàë ¨á¯®«ì§ã¥âáï ¤«ï ¯à¥®¡à §®¢ ¨ï ᪠ª®¤®¢,
|
||
¯®áâ㯠îé¨å ®â ª« ¢¨ âãàë, ¢ ASCII-ª®¤ë, áç¨âë¢ ¥¬ë¥ äãªæ¨¥© 2.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ª ªãî à ᪫ ¤ªã ¯®«ãç âì:
|
||
* 1 = ®à¬ «ìãî
|
||
* 2 = à ᪫ ¤ªã ¯à¨ ¦ ⮬ Shift
|
||
* 3 = à ᪫ ¤ªã ¯à¨ ¦ ⮬ Alt
|
||
* edx = 㪠§ â¥«ì ¡ãä¥à ¤«¨®© 128 ¡ ©â, ªã¤ ¡ã¤¥â ᪮¯¨à®¢
|
||
à ᪫ ¤ª
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
ˆ«¨:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 9
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¨¤¥â¨ä¨ª â®à áâà ë (1=eng, 2=fi, 3=ger, 4=rus)
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¦ â Alt, â® ¨á¯®«ì§ã¥âáï à ᪫ ¤ª á Alt;
|
||
¥á«¨ ¥ ¦ â Alt, ® ¦ â Shift, â® ¨á¯®«ì§ã¥âáï
|
||
à ᪫ ¤ª á Shift;
|
||
¥á«¨ ¥ ¦ âë Alt ¨ Shift, ® ¦ â Ctrl, â® ¨á¯®«ì§ã¥âáï
|
||
®à¬ «ì ï à ᪫ ¤ª , ¯®á«¥ 祣® ¨§ ª®¤ ¢ëç¨â ¥âáï 0x60;
|
||
¥á«¨ ¥ ¦ â ¨ ®¤ ¨§ ã¯à ¢«ïîé¨å ª« ¢¨è, â® ¨á¯®«ì§ã¥âáï
|
||
®à¬ «ì ï à ᪫ ¤ª .
|
||
* “áâ ®¢¨âì à ᪫ ¤ª¨ ¨ ¨¤¥â¨ä¨ª â®à áâà ë ¬®¦® á ¯®¬®éìî
|
||
¯®¤äãªæ¨¨ 2 äãªæ¨¨ 21.
|
||
* ˆ¤¥â¨ä¨ª â®à áâà ë - £«®¡ «ì ï á¨á⥬ ï ¯¥à¥¬¥ ï, ª®â®à ï
|
||
á ¬¨¬ ï¤à®¬ ¥ ¨á¯®«ì§ã¥âáï; ®¤ ª® ¯à¨«®¦¥¨¥ @panel ®â®¡à ¦ ¥â
|
||
ᮮ⢥âáâ¢ãîéãî ⥪ã饩 áâà ¥ ¨ª®ªã
|
||
(¨á¯®«ì§ãï ®¯¨áë¢ ¥¬ãî äãªæ¨î).
|
||
* <20>ਫ®¦¥¨¥ @panel ¯¥à¥ª«îç ¥â à ᪫ ¤ª¨ ¯® § ¯à®áã ¯®«ì§®¢ ⥫ï.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 3 - ¯®«ãç¨âì ¡ §ã CD. ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¡ § CD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> § CD ¨á¯®«ì§ã¥âáï äãªæ¨¥© 24.
|
||
* “áâ ®¢¨âì ¡ §ã CD ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21.
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 5 - ¯®«ãç¨âì ï§ëª á¨á⥬ë. =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ï§ëª á¨á⥬ë (1=eng, 2=fi, 3=ger, 4=rus)
|
||
‡ ¬¥ç ¨ï:
|
||
* Ÿ§ëª á¨á⥬ë - £«®¡ «ì ï á¨á⥬ ï ¯¥à¥¬¥ ï, ¨ª ª
|
||
¥ ¨á¯®«ì§ã¥¬ ï á ¬¨¬ ï¤à®¬, ®¤ ª® ¯à¨«®¦¥¨¥ @panel à¨áã¥â
|
||
ᮮ⢥âáâ¢ãîéãî ¨ª®ªã (¨á¯®«ì§ãï ®¯¨áë¢ ¥¬ãî äãªæ¨î).
|
||
* “áâ ®¢¨âì ï§ëª á¨áâ¥¬ë ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 5 äãªæ¨¨ 21.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 7 - ¯®«ãç¨âì ¡ §ã HD. ============
|
||
======================================================================
|
||
<EFBFBD> § HD 㦠¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© ¦ñá⪨© ¤¨áª ¯¨á âì, ¯à¨
|
||
¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩 äãªæ¨¨ 58;
|
||
¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á /HD0,/HD1,/HD2,/HD3
|
||
¡ § ãáâ ¢«¨¢ ¥âáï ¢â®¬ â¨ç¥áª¨.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¡ § HD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3
|
||
‡ ¬¥ç ¨ï:
|
||
* ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì ¡ §ã.
|
||
* “áâ ®¢¨âì ¡ §ã ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 7 äãªæ¨¨ 21.
|
||
* <20>®«ãç¨âì ¨á¯®«ì§ã¥¬ë© à §¤¥« ¦ñá⪮£® ¤¨áª ¬®¦® ¯®¤äãªæ¨¥© 8.
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 8 - ¯®«ãç¨âì à §¤¥« HD. ===========
|
||
======================================================================
|
||
<EFBFBD> §¤¥« HD 㦥 ¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© à §¤¥« ¦ñá⪮£® ¤¨áª
|
||
¯¨á âì, ¯à¨ ¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩
|
||
äãªæ¨¨ 58; ¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á
|
||
/HD0,/HD1,/HD2,/HD3 ¡ § ¨ à §¤¥« ãáâ ¢«¨¢ îâáï ¢â®¬ â¨ç¥áª¨.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = à §¤¥« HD (áç¨â ï á 1)
|
||
‡ ¬¥ç ¨ï:
|
||
* ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì à §¤¥«.
|
||
* “áâ ®¢¨âì à §¤¥« ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 8 äãªæ¨¨ 21.
|
||
* “§ âì ç¨á«® à §¤¥«®¢ ¦ñá⪮¬ ¤¨áª¥ ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 11 äãªæ¨¨ 18.
|
||
* <20>®«ãç¨âì ¨á¯®«ì§ã¥¬ãî ¡ §ã ¦ñá⪮£® ¤¨áª ¬®¦® ¯®¤äãªæ¨¥© 7.
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 9 - ¯®«ãç¨âì § 票¥ áçñâ稪 ¢à¥¬¥¨. ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ç¨á«® á®âëå ¤®«¥© ᥪã¤ë, ¯à®è¥¤è¨å á ¬®¬¥â
|
||
§ ¯ã᪠á¨á⥬ë
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘çñâ稪 ¡¥àñâáï ¯® ¬®¤ã«î 2^32, ç⮠ᮮ⢥âáâ¢ã¥â ¥¬®£¨¬ ¡®«¥¥
|
||
497 áã⮪.
|
||
* ‘¨á⥬®¥ ¢à¥¬ï ¬®¦® ¯®«ãç¨âì äãªæ¨¥© 3.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 11 =====================
|
||
=========== “§ âì, à §à¥èñ «¨ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª HD. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0/1 - § ¯à¥éñ/à §à¥èñ
|
||
‡ ¬¥ç ¨ï:
|
||
* ˆá¯®«ì§ã¥âáï ¯à¨ LBA-ç⥨¨ (¯®¤äãªæ¨ï 8 äãªæ¨¨ 58).
|
||
* “áâ ®¢¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 11 äãªæ¨¨ 21.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 12 =====================
|
||
========== “§ âì, à §à¥èñ «¨ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||
* ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0/1 - § ¯à¥éñ/à §à¥èñ
|
||
‡ ¬¥ç ¨ï:
|
||
* ˆá¯®«ì§ã¥âáï ¯à¨ à ¡®â¥ á 訮© PCI (äãªæ¨ï 62).
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï ¨á¯®«ì§ã¥â ⮫쪮 ¬« ¤è¨© ¡¨â ecx.
|
||
* “áâ ®¢¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 12 äãªæ¨¨ 21.
|
||
|
||
======================================================================
|
||
================ ”ãªæ¨ï 29 - ¯®«ãç¨âì á¨á⥬ãî ¤ âã. ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 29 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0x00DDMMYY, £¤¥
|
||
(¨á¯®«ì§ã¥âáï ¤¢®¨ç®-¤¥áïâ¨ç®¥ ª®¤¨à®¢ ¨¥, BCD)
|
||
* YY = ¤¢¥ ¬« ¤è¨¥ æ¨äàë £®¤ (00..99)
|
||
* MM = ¬¥áïæ (01..12)
|
||
* DD = ¤¥ì (01..31)
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘¨á⥬ãî ¤ âã ¬®¦® ãáâ ®¢¨âì äãªæ¨¥© 22.
|
||
|
||
======================================================================
|
||
================ ”ãªæ¨ï 30 - à ¡®â á ⥪ã饩 ¯ ¯ª®©. ===============
|
||
======================================================================
|
||
|
||
-------- <20>®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ⥪ãéãî ¯ ¯ªã ¤«ï ¯®â®ª . ---------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 30 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¯ãâñ¬ ª ®¢®© ⥪ã饩 ¯ ¯ª¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
--------- <20>®¤äãªæ¨ï 2 - ¯®«ãç¨âì ⥪ãéãî ¯ ¯ªã ¤«ï ¯®â®ª . ----------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 30 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à
|
||
* edx = à §¬¥à ¡ãä¥à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = - 1 ®é¨¡ª , ¯ ¯ª ⥪ã饣® ¯®â®ª ¨¬¥¥â ¤«¨ã ¡®«¥¥ 祬 4096 ᨬ¢®«®¢.
|
||
* eax = ¤«¨ ¨¬¥¨ ⥪ã饩 ¯ ¯ª¨ (¢ª«îç ï § ¢¥àè î騩 0)
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ à §¬¥à ¡ãä¥à ¥¤®áâ â®ç® ¤«ï ª®¯¨à®¢ ¨ï ¢á¥£® ¨¬¥¨,
|
||
ª®¯¨àãîâáï ⮫쪮 ¯¥à¢ë¥ (edx-1) ¡ ©â
|
||
¨ ¢ ª®æ¥ áâ ¢¨âáï § ¢¥àè î騩 0.
|
||
|
||
======================================================================
|
||
================ ”ãªæ¨ï 32 - 㤠«¨âì ä ©« á à ¬¤¨áª . ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 32 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨¬ï ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®; ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>â äãªæ¨ï ãáâ ५ ; äãªæ¨ï 58 ¯®§¢®«ï¥â ¢ë¯®«ïâì
|
||
⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ.
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â ⮫쪮 § 票ï 0(ãᯥå) ¨
|
||
5(ä ©« ¥ ©¤¥).
|
||
* ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢ (¯¥à¢ë¥
|
||
8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥,
|
||
ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨),
|
||
«¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX "
|
||
(¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« ,
|
||
¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨).
|
||
ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨.
|
||
‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ).
|
||
* <20>â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥.
|
||
|
||
======================================================================
|
||
=============== ”ãªæ¨ï 33 - § ¯¨á âì ä ©« à ¬¤¨áª. ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 33 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨¬ï ä ©«
|
||
* ecx = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨
|
||
* edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨
|
||
* á«¥¤ã¥â ãáâ ¢«¨¢ âì esi=0
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>â äãªæ¨ï ãáâ ५ ; äãªæ¨ï 70 ¯®§¢®«ï¥â ¢ë¯®«ïâì
|
||
⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ.
|
||
* …᫨ 㪠§ âì ¥ã«¥¢®¥ § 票¥ ¢ esi ¨ à ¬¤¨áª¥ 㦥 ¥áâì
|
||
㪠§ ë© ä ©«, â® ¡ã¤¥â ᮧ¤ ¥éñ ®¤¨ ä ©« á ⥬ ¦¥ ¨¬¥¥¬.
|
||
* ‚ ¯à®â¨¢®¬ á«ãç ¥ ä ©« ¯¥à¥§ ¯¨áë¢ ¥âáï.
|
||
* ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢
|
||
(¯¥à¢ë¥ 8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥,
|
||
ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨),
|
||
«¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX "
|
||
(¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« ,
|
||
¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨).
|
||
ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨.
|
||
‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ).
|
||
* <20>â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 35 - ¯à®ç¨â âì 梥â â®çª¨ íªà ¥. ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 35
|
||
* ebx = y*xsize+x, £¤¥
|
||
* (x,y) = ª®®à¤¨ âë â®çª¨ (áç¨â ï ®â 0)
|
||
* xsize = à §¬¥à íªà ¯® £®à¨§®â «¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 梥â 0x00RRGGBB
|
||
‡ ¬¥ç ¨ï:
|
||
* “§ âì à §¬¥àë íªà ¬®¦® ¢ë§®¢®¬ äãªæ¨¨ 14. Ž¡à â¨â¥ ¢¨¬ ¨¥,
|
||
çâ® ® ¢ëç¨â ¥â 1 ¨§ ®¡®¨å à §¬¥à®¢.
|
||
* Š ¢¨¤¥®¯ ¬ï⨠¥áâì â ª¦¥ ¯àאַ© ¤®áâ㯠(¡¥§ ¢ë§®¢®¢ á¨á⥬ëå
|
||
äãªæ¨©) ç¥à¥§ ᥫ¥ªâ®à gs. <20> à ¬¥âàë ⥪ã饣® ¢¨¤¥®à¥¦¨¬
|
||
¬®¦® ¯®«ãç¨âì äãªæ¨¥© 61.
|
||
|
||
======================================================================
|
||
=============== ”ãªæ¨ï 36 - ¯à®ç¨â âì ®¡« áâì íªà . ===============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 36 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¯à¥¤¢ à¨â¥«ì® ¢ë¤¥«¥ãî ®¡« áâì ¯ ¬ïâ¨,
|
||
ªã¤ ¡ã¤¥â ¯®¬¥é¥® ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR...
|
||
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* Š®®à¤¨ âë ®¡« á⨠- íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫
|
||
®¡« á⨠®â®á¨â¥«ì® íªà .
|
||
* <20> §¬¥à ¨§®¡à ¦¥¨ï ¢ ¡ ©â å ¥áâì 3*xsize*ysize.
|
||
|
||
======================================================================
|
||
==================== ”ãªæ¨ï 37 - à ¡®â á ¬ëèìî. ====================
|
||
======================================================================
|
||
|
||
-------------- <20>®¤äãªæ¨ï 0 - íªà ë¥ ª®®à¤¨ âë ¬ëè¨ ---------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ (áç¨â ï ®â 0)
|
||
|
||
---------- <20>®¤äãªæ¨ï 1 - ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª ----------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ ®â®á¨â¥«ì®
|
||
®ª ¯à¨«®¦¥¨ï (áç¨â ï ®â 0)
|
||
‡ ¬¥ç ¨ï:
|
||
* ‡ 票¥ ¢ëç¨á«ï¥âáï ¯® ä®à¬ã«¥ (x-xwnd)*65536 + (y-ywnd).
|
||
…᫨ y>=ywnd, â® ¬« ¤è¥¥ á«®¢® ¥®âà¨æ â¥«ì® ¨ ᮤ¥à¦¨â
|
||
®â®á¨â¥«ìãî y-ª®®à¤¨ âã, áâ à襥 - ®â®á¨â¥«ìãî x-ª®®à¤¨ âã
|
||
(¯à ¢¨«ì®£® § ª ). ‚ ¯à®â¨¢®¬ á«ãç ¥ ¬« ¤è¥¥ á«®¢® ®âà¨æ ⥫ì®
|
||
¨ ¢áñ à ¢® ᮤ¥à¦¨â ®â®á¨â¥«ìãî y-ª®®à¤¨ âã,
|
||
ª áâ à襬ã á«®¢ã á«¥¤ã¥â ¯à¨¡ ¢¨âì 1.
|
||
|
||
----------------- <20>®¤äãªæ¨ï 2 - ¦ âë¥ ª®¯ª¨ ¬ëè¨ -----------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax ᮤ¥à¦¨â ¨ä®à¬ æ¨î ® ¦ âëå ª®¯ª å ¬ëè¨:
|
||
* ¡¨â 0 ãáâ ®¢«¥ = «¥¢ ï ª®¯ª ¦ â
|
||
* ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â
|
||
* ¡¨â 2 ãáâ ®¢«¥ = á।ïï ª®¯ª ¦ â
|
||
* ¡¨â 3 ãáâ ®¢«¥ = 4-ï ª®¯ª ¦ â
|
||
* ¡¨â 4 ãáâ ®¢«¥ = 5-ï ª®¯ª ¦ â
|
||
* ¯à®ç¨¥ ¡¨âë á¡à®è¥ë
|
||
|
||
------------------ <20>®¤äãªæ¨ï 4 - § £à㧨âì ªãàá®à -------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* dx = ¨áâ®ç¨ª ¤ ëå:
|
||
* dx = LOAD_FROM_FILE = 0 - ¤ ë¥ ¢ ä ©«¥
|
||
* ecx = 㪠§ â¥«ì ¯®«ë© ¯ãâì ª ä ©«ã ªãàá®à
|
||
* ä ©« ªãàá®à ¤®«¦¥ ¡ëâì ¢ ä®à¬ ⥠.cur, áâ ¤ à⮬ ¤«ï
|
||
MS Windows, ¯à¨çñ¬ à §¬¥à®¬ 32*32 ¯¨ªá¥«ï
|
||
* dx = LOAD_FROM_MEM = 1 - ¤ ë¥ ä ©« 㦥 § £àã¦¥ë ¢ ¯ ¬ïâì
|
||
* ecx = 㪠§ â¥«ì ¤ ë¥ ä ©« ªãàá®à
|
||
* ä®à¬ â ¤ ëå â ª®© ¦¥, ª ª ¨ ¢ ¯à¥¤ë¤ã饬 á«ãç ¥
|
||
* dx = LOAD_INDIRECT = 2 - ¤ ë¥ ¢ ¯ ¬ïâ¨
|
||
* ecx = 㪠§ â¥«ì ®¡à § ªãàá®à ¢ ä®à¬ ⥠ARGB 32*32 ¯¨ªá¥«ï
|
||
* edx = 0xXXYY0002, £¤¥
|
||
* XX = x-ª®®à¤¨ â "£®àï祩 â®çª¨" ªãàá®à
|
||
* YY = y-ª®®à¤¨ â
|
||
* 0 <= XX, YY <= 31
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ¥ã¤ ç
|
||
* ¨ ç¥ eax = åí¤« ªãàá®à
|
||
|
||
------------------ <20>®¤äãªæ¨ï 5 - ãáâ ®¢¨âì ªãàá®à ------------------
|
||
“áâ ¢«¨¢ ¥â ®¢ë© ªãàá®à ¤«ï ®ª ⥪ã饣® ¯®â®ª .
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ªãàá®à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = åí¤« ¯à¥¤ë¤ã饣® ãáâ ®¢«¥®£® ªãàá®à
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¯¥à¥¤ ¥ª®à४âë© åí¤«, â® äãªæ¨ï ¢®ááâ ®¢¨â ªãàá®à
|
||
¯® 㬮«ç ¨î (áâ ¤ àâãî áâ५ªã). ‚ ç áâ®áâ¨, ª ¢®ááâ ®¢«¥¨î
|
||
ªãàá®à ¯® 㬮«ç ¨î ¯à¨¢®¤¨â ¯¥à¥¤ ç ecx=0.
|
||
|
||
------------------- <20>®¤äãªæ¨ï 6 - 㤠«¨âì ªãàá®à --------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ªãàá®à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* Šãàá®à ¤®«¦¥ ¡ë« ¡ëâì à ¥¥ § £à㦥 ⥪ã騬 ¯®â®ª®¬
|
||
(¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4). ”ãªæ¨ï ¥ 㤠«ï¥â á¨áâ¥¬ë¥ ªãàá®àë ¨
|
||
ªãàá®àë, § £àã¦¥ë¥ ¤à㣨¬¨ ¯à¨«®¦¥¨ï¬¨.
|
||
* …᫨ 㤠«ï¥âáï ªâ¨¢ë© (ãáâ ®¢«¥ë© ¯®¤äãªæ¨¥© 5) ªãàá®à, â®
|
||
¢®ááâ ¢«¨¢ ¥âáï ªãàá®à ¯® 㬮«ç ¨î (áâ ¤ àâ ï áâ५ª ).
|
||
|
||
------------------ <20>®¤äãªæ¨ï 7 - ¤ ë¥ ¯à®ªàã⪨ -------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = [horizontal offset]*65536 + [vertical offset]
|
||
‡ ¬¥ç ¨ï:
|
||
* „ ë¥ ¤®áâã¯ë ⮫쪮 ªâ¨¢®¬ã ®ªã.
|
||
* <20>®á«¥ ¯à®çâ¥¨ï § ç¥¨ï ®¡ã«ïîâáï.
|
||
* „ ë¥ ¨¬¥îâ § ª®¢ë¥ § 票ï.
|
||
|
||
======================================================================
|
||
================== ”ãªæ¨ï 38 - à¨á®¢ âì ®â१®ª. ==================
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 38 - ®¬¥à äãªæ¨¨
|
||
* ebx = [ª®®à¤¨ â ç « ¯® ®á¨ x]*65536 +
|
||
[ª®®à¤¨ â ª®æ ¯® ®á¨ x]
|
||
* ecx = [ª®®à¤¨ â ç « ¯® ®á¨ y]*65536 +
|
||
[ª®®à¤¨ â ª®æ ¯® ®á¨ y]
|
||
* edx = 0x00RRGGBB - 梥â
|
||
edx = 0x01xxxxxx - à¨á®¢ âì ¨¢¥àáë© ®â१®ª
|
||
(¬« ¤è¨¥ 24 ¡¨â ¨£®à¨àãîâáï)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* Š®®à¤¨ âë ¡¥àãâáï ®â®á¨â¥«ì® ®ª .
|
||
* Š®¥ç ï â®çª â ª¦¥ à¨áã¥âáï.
|
||
|
||
======================================================================
|
||
== ”ãªæ¨ï 39, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 39 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = [è¨à¨ ]*65536 + [¢ëá®â ]
|
||
‡ ¬¥ç ¨ï:
|
||
* …áâì ¯ à ï ª®¬ ¤ ãáâ ®¢ª¨ à §¬¥à®¢ ä®®¢®£® ¨§®¡à ¦¥¨ï -
|
||
¯®¤äãªæ¨ï 1 äãªæ¨¨ 15. <20>®á«¥ ª®â®à®©, à §ã¬¥¥âáï, á«¥¤ã¥â
|
||
§ ®¢® ®¯à¥¤¥«¨âì á ¬® ¨§®¡à ¦¥¨¥.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 39, ¯®¤äãªæ¨ï 2 - ¯à®ç¨â âì â®çªã á ä®®¢®£® ¨§®¡à ¦¥¨ï. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 39 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ᬥ饨¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0x00RRGGBB - 梥â â®çª¨, ¥á«¨ ᬥ饨¥ ¤®¯ãá⨬®
|
||
(¬¥ìè¥ 0x160000-16)
|
||
* eax = 2 - ¨ ç¥
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥ á«¥¤ã¥â ¯®« £ âìáï ¢®§¢à é ¥¬®¥ § 票¥ ¢ á«ãç ¥ ¥¢¥à®£®
|
||
ᬥ饨ï, ®® ¬®¦¥â ¨§¬¥¨âìáï ¢ á«¥¤ãîé¨å ¢¥àá¨ïå ï¤à .
|
||
* ‘¬¥é¥¨¥ â®çª¨ á ª®®à¤¨ â ¬¨ (x,y) ¢ëç¨á«ï¥âáï ª ª (x+y*xsize)*3.
|
||
* …áâì ¯ à ï äãªæ¨ï ãáâ ®¢ª¨ â®çª¨ ä®®¢®¬ ¨§®¡à ¦¥¨¨ -
|
||
¯®¤äãªæ¨ï 2 äãªæ¨¨ 15.
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 39, ¯®¤äãªæ¨ï 4 - ¯®«ãç¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 39 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 1 - § ¬®áâ¨âì
|
||
* eax = 2 - à áâïãâì
|
||
‡ ¬¥ç ¨ï:
|
||
* …áâì ¯ à ï äãªæ¨ï ãáâ ®¢ª¨ ०¨¬ ®âà¨á®¢ª¨ ä® -
|
||
¯®¤äãªæ¨ï 4 äãªæ¨¨ 15.
|
||
|
||
======================================================================
|
||
======== ”ãªæ¨ï 40 - ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩. ========
|
||
======================================================================
|
||
Œ ᪠¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ ¢«¨ï¥â äãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨ 10,
|
||
11, 23 - ®¨ á®®¡é îâ ⮫쪮 ® ᮡëâ¨ïå, à §à¥èñëå í⮩ ¬ ᪮©.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 40 - ®¬¥à äãªæ¨¨
|
||
* ebx = ¬ ᪠: ¡¨â i ᮮ⢥âáâ¢ã¥â ᮡëâ¨î i+1 (á¬. ᯨ᮪ ᮡë⨩)
|
||
(ãáâ ®¢«¥ë© ¡¨â à §à¥è ¥â ¨§¢¥é¥¨¥ ® ᮡë⨨)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¯à¥¤ë¤ã饥 § 票¥ ¬ ᪨
|
||
‡ ¬¥ç ¨ï:
|
||
* Œ ᪠¯® 㬮«ç ¨î (7=111b) à §à¥è ¥â ¨§¢¥é¥¨ï ® ¯¥à¥à¨á®¢ª¥
|
||
¨ ¦ â¨ïå ª« ¢¨è ¨ ª®¯®ª.
|
||
<20>⮣® ¤®áâ â®ç® ¤«ï ¡®«ìè¨á⢠¯à¨«®¦¥¨©.
|
||
* ‘®¡ëâ¨ï, § ¯à¥éñë¥ ¢ ¬ ᪥, ¢áñ à ¢® á®åà ïîâáï, ¥á«¨
|
||
¯à¨å®¤ïâ; ® ¨å ¯à®áâ® ¥ ¨§¢¥é îâ äãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨.
|
||
* ”ãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨ ãç¨âë¢ îâ ¬ áªã ¬®¬¥â
|
||
¢ë§®¢ äãªæ¨¨, ¥ ¬®¬¥â ¯®áâ㯫¥¨ï á®®¡é¥¨ï.
|
||
|
||
======================================================================
|
||
================= ”ãªæ¨ï 41 - 㧠âì ¢« ¤¥«ìæ IRQ. =================
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 41 - ®¬¥à äãªæ¨¨
|
||
* ebx = ®¬¥à IRQ, 0..15
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = PID ¢« ¤¥«ìæ
|
||
* eax = 0, ¥á«¨ ¢« ¤¥«ìæ ¥â
|
||
* eax = -1 ¤«ï ¥ª®à४⮣® ebx
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 42 - à ¡®â á ¤ 묨, ¯®«ãç¥ë¬¨ ¯® IRQ. =========
|
||
======================================================================
|
||
<EFBFBD>ਠ¢®§¨ª®¢¥¨¨ IRQ á¨á⥬ ¬®¦¥â áç¨âë¢ âì ¤ ë¥ ¨§ 㪠§ ëå
|
||
à ¥¥ äãªæ¨¥© 44 ¯®à⮢ ¨ § ¯¨áë¢ âì í⨠¤ ë¥ ¢ ¡ãä¥à.
|
||
|
||
-------------------- <20>®¤äãªæ¨ï 0 - ç⥨¥ ¤ ëå --------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 42 - ®¬¥à äãªæ¨¨
|
||
* bl = ®¬¥à IRQ, 0..15
|
||
* bh = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ®áâ «ì ï ç áâì ॣ¨áâà ebx ¤®«¦ ¡ëâì ®¡ã«¥
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à à §¬¥à®¬ ¥ ¬¥¥¥ 4000 ¡ ©â
|
||
‚®§¢à é ¥¬®¥ § 票¥: (á¨âã æ¨î ¬®¦® à §«¨ç¨âì ¯® § 票î eax)
|
||
* ¥á«¨ ¯®â®ª ¥ ï¥âáï ¢« ¤¥«ì楬 IRQ
|
||
(¨«¨ ®¬¥à IRQ § ¤ ¥¢¥à®): eax = -1
|
||
* ¥á«¨ ¤ ëå ¥â: eax = 0
|
||
* ¥á«¨ ¢áñ ¢ ¯®à浪¥ ¨ ¤ ë¥ ¡ë«¨:
|
||
eax = à §¬¥à ¤ ëå, ¯à®ç¨â ëå ¨§ ¡ãä¥à (¢ ¡ ©â å)
|
||
|
||
------------ <20>®¤äãªæ¨ï 1 - 㧠âì à §¬¥à ¤ ëå ¢ ¡ãä¥à¥ ------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 42 - ®¬¥à äãªæ¨¨
|
||
* bl = ®¬¥à IRQ, 0..15
|
||
* bh = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ®áâ «ì ï ç áâì ॣ¨áâà ebx ¤®«¦ ¡ëâì ®¡ã«¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ ¯®â®ª ¥ ï¥âáï ¢« ¤¥«ì楬 IRQ
|
||
(¨«¨ ®¬¥à IRQ § ¤ ¥¢¥à®): eax = -1
|
||
* ¨ ç¥ eax = à §¬¥à ¤ ëå ¢ ¡ãä¥à¥
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¯®â®ª ¤®«¦¥ § १¥à¢¨à®¢ âì ¤«ï ᥡï 㪠§ ë© IRQ
|
||
äãªæ¨¥© 45.
|
||
* <20> §¬¥à ¡ãä¥à ¤«ï ¤ ëå - 4000 ¡ ©â, ¯à¨ ¯¥à¥¯®«¥¨¨
|
||
"ᢥ¦¨¥" ¤ ë¥ ¯¥à¥áâ îâ § ¯¨áë¢ âìáï ¢ ¡ãä¥à.
|
||
|
||
======================================================================
|
||
=================== ”ãªæ¨ï 43 - ¢¢®¤/¢ë¢®¤ ¢ ¯®àâ. ==================
|
||
======================================================================
|
||
|
||
------------------------ ‚뢮¤ ¤ ëå ¢ ¯®àâ -------------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 43 - ®¬¥à äãªæ¨¨
|
||
* bl = ¡ ©â ¤«ï ¢ë¢®¤
|
||
* ecx = ®¬¥à ¯®àâ 0xnnnn (®â 0 ¤® 0xFFFF)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¯®â®ª ¥ § १¥à¢¨à®¢ « 㪠§ ë© ¯®àâ
|
||
|
||
------------------------ ‚¢®¤ ¤ ëå ¨§ ¯®àâ ------------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 43 - ®¬¥à äãªæ¨¨
|
||
* ebx ¨£®à¨àã¥âáï
|
||
* ecx = 0x8000nnnn, £¤¥ nnnn = ®¬¥à ¯®àâ (®â 0 ¤® 0xFFFF)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¯à¨ í⮬ ebx = ¢¢¥¤ñë© ¡ ©â
|
||
* eax = 1 - ¯®â®ª ¥ § १¥à¢¨à®¢ « ¤ ë© ¯®àâ
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¯®â®ª ¤®«¦¥ § १¥à¢¨à®¢ âì § ᮡ®©
|
||
㪠§ ë© ¯®àâ äãªæ¨¥© 46.
|
||
* „«ï § १¥à¢¨à®¢ ëå ¯®à⮢ ¢¬¥áâ® ¢ë§®¢ íâ¨å äãªæ¨©
|
||
«ãçè¥ ¨á¯®«ì§®¢ âì ª®¬ ¤ë ¯à®æ¥áá®à in/out - íâ® § ç¨â¥«ì®
|
||
¡ëáâ॥ ¨ ¥áª®«ìª® ª®à®ç¥ ¨ ¯à®é¥. ˆ§ ¥§ १¥à¢¨à®¢ ëå
|
||
¯®à⮢ ç¨â âì ¢áñ à ¢® ¥«ì§ï.
|
||
|
||
======================================================================
|
||
======== ”ãªæ¨ï 44 - ®¯à¥¤¥«¨âì ¤¥©áâ¢¨ï ¯à¨ ¯®áâ㯫¥¨¨ IRQ. =======
|
||
======================================================================
|
||
<EFBFBD>ਠ¢®§¨ª®¢¥¨¨ IRQ á¨á⥬ ¬®¦¥â áç¨âë¢ âì ¤ ë¥ ¨§ 㪠§ ëå í⮩
|
||
äãªæ¨¥© ¯®à⮢ ¨ § ¯¨áë¢ âì í⨠¤ ë¥ ¢ ¡ãä¥à, ®âªã¤ ¨å ¬®¦®
|
||
¯à®ç¨â âì äãªæ¨¥© 42.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 44 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¬ áᨢ áâàãªâãà, ®¯¨áë¢ îé¨å ¯® ®¤®¬ã ¯®àâã:
|
||
* +0: word: 0 ®§ ç ¥â ª®¥æ ¬ áᨢ , ¨ ç¥ ®¬¥à ¯®àâ
|
||
* +2: byte: § १¥à¢¨à®¢ ® (¨£®à¨àã¥âáï)
|
||
* +3: byte: 1=áç¨âë¢ âì ¡ ©â ¨§ í⮣® ¯®àâ , 2=áç¨âë¢ âì á«®¢®
|
||
* ecx = ®¬¥à IRQ, 0..15
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¯®â®ª ¥ ï¥âáï ¢« ¤¥«ì楬 㪠§ ®£® IRQ
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¯®â®ª ¤®«¦¥ § १¥à¢¨à®¢ âì § ᮡ®©
|
||
㪠§ë¢ ¥¬ë© IRQ äãªæ¨¥© 45.
|
||
* <20>ਨ¬ îâáï ¢® ¢¨¬ ¨¥ ⮫쪮 ¯¥à¢ë¥ 16 ¯®à⮢.
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï à áᬠâਢ ¥â ¥¯à ¢¨«ì®¥ § 票¥ ¯®«ï +3
|
||
ª ª ᨣ « ¯à¥ªà é¥¨ï ®¡à ¡®âª¨ IRQ.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 45 - § १¥à¢¨à®¢ âì/®á¢®¡®¤¨âì IRQ. ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 45 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - § १¥à¢¨à®¢ âì, 1 = ®á¢®¡®¤¨âì
|
||
* ecx = ®¬¥à IRQ, 0..15
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ®è¨¡ª (¥¢¥àë© ®¬¥à IRQ ¨«¨
|
||
¯®¯ë⪠§ १¥à¢¨à®¢ âì ¥á¢®¡®¤ë© IRQ ¨«¨ ®á¢®¡®¤¨âì IRQ, ¥
|
||
§ १¥à¢¨à®¢ ë© â¥ªã騬 ¯®â®ª®¬)
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥§¥à¢¨à®¢ ¨¥ IRQ 㦮 ¤«ï à ¡®âë äãªæ¨© 42 ¨ 44.
|
||
* ’®«ìª® ®¤¨ ¯®â®ª ¬®¦¥â § १¥à¢¨à®¢ âì ª®ªà¥âë© IRQ.
|
||
* IRQ, ®¡à ¡ âë¢ ¥¬ë¥ á¨á⥬®© á ¬®áâ®ï⥫ì®, १¥à¢¨àãîâáï
|
||
á¨á⥬®© (¯®â®ª®¬ 1) ¯à¨ § £à㧪¥.
|
||
* <20>ਠ§ ¢¥à襨¨ ¯®â®ª ¢â®¬ â¨ç¥áª¨ ®á¢®¡®¦¤ îâáï
|
||
¢á¥ § १¥à¢¨à®¢ ë¥ ¨¬ IRQ.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 46 - § १¥à¢¨à®¢ âì/®á¢®¡®¤¨âì £à㯯㠯®à⮢ ¢¢®¤ /¢ë¢®¤ .
|
||
======================================================================
|
||
Š § १¥à¢¨à®¢ ë¬ ¯®àâ ¬ ¬®¦® ®¡à é âìáï ¯àï¬ãî ¨§ ¯à¨«®¦¥¨ï
|
||
ª®¬ ¤ ¬¨ in/out (४®¬¥¤ã¥¬ë© ᯮᮡ) ¨ ¢ë§®¢®¬ äãªæ¨¨ 43
|
||
(¥à¥ª®¬¥¤ã¥¬ë© ᯮᮡ).
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 46 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - § १¥à¢¨à®¢ âì, 1 - ®á¢®¡®¤¨âì
|
||
* ecx = ®¬¥à ç « ¤¨ ¯ §® ¯®à⮢
|
||
* edx = ®¬¥à ª®æ ¤¨ ¯ §® ¯®à⮢ (¢ª«îç¨â¥«ì®)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ®è¨¡ª
|
||
‡ ¬¥ç ¨ï:
|
||
* ‚ á«ãç ¥ १¥à¢¨à®¢ ¨ï ¯®à⮢ ®è¨¡ª®© áç¨â ¥âáï ¢ë¯®«¥¨¥
|
||
®¤®£® ¨§ ãá«®¢¨©:
|
||
* ç «ìë© ¤à¥á ¡®«ìè¥ ª®¥ç®£®;
|
||
* 㪠§ ë© ¤¨ ¯ §® ᮤ¥à¦¨â ¥ª®à४âë© ®¬¥à ¯®àâ
|
||
(ª®à४âë¥ - ®â 0 ¤® 0xFFFF);
|
||
* ¯à¥¢ë襮 ®£à ¨ç¥¨¥ ®¡é¥¥ ç¨á«® § १¥à¢¨à®¢ ëå ®¡« á⥩
|
||
- ¤®¯ã᪠¥âáï ¬ ªá¨¬ã¬ 255;
|
||
* 㪠§ ë© ¤¨ ¯ §® ¯¥à¥á¥ª ¥âáï á ®¤¨¬ ¨§
|
||
à ¥¥ § १¥à¢¨à®¢ ëå
|
||
* ‚ á«ãç ¥ ®á¢®¡®¦¤¥¨ï ¯®à⮢ ®è¨¡ª®© áç¨â ¥âáï ¯®¯ëâª
|
||
®á¢®¡®¦¤¥¨ï ¤¨ ¯ §® , ª®â®àë© à ¥¥ ¥ ¡ë« 楫¨ª®¬
|
||
§ १¥à¢¨à®¢ í⮩ ¦¥ äãªæ¨¥© (á â ª¨¬¨ ¦¥ § 票ﬨ ecx,edx).
|
||
* <20>ਠ®¡ à㦥¨¨ ®è¨¡ª¨ (¢ ®¡®¨å á«ãç ïå) ¨ª ª¨å ¤¥©á⢨©
|
||
¥ ¯à®¨§¢®¤¨âáï.
|
||
* <20>ਠ§ £à㧪¥ á¨á⥬ १¥à¢¨àã¥â § ᮡ®© ¯®àâë
|
||
0..0x2d, 0x30..0x4d, 0x50..0xdf, 0xe5..0xff (¢ª«îç¨â¥«ì®).
|
||
* <20>ਠ§ ¢¥à襨¨ ¯®â®ª ¢â®¬ â¨ç¥áª¨ ®á¢®¡®¦¤ îâáï ¢á¥
|
||
§ १¥à¢¨à®¢ ë¥ ¨¬ ¯®àâë.
|
||
|
||
======================================================================
|
||
================= ”ãªæ¨ï 47 - ¢ë¢¥á⨠ç¨á«® ¢ ®ª®. =================
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 47 - ®¬¥à äãªæ¨¨
|
||
* ebx = ¯ à ¬¥âàë ¯à¥®¡à §®¢ ¨ï ç¨á« ¢ ⥪áâ:
|
||
* bl = 0 - ecx ᮤ¥à¦¨â ç¨á«®
|
||
* bl = 1 - ecx ᮤ¥à¦¨â 㪠§ ⥫ì dword/qword-ç¨á«®
|
||
* bh = 0 - ®â®¡à ¦ âì ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï
|
||
* bh = 1 - ®â®¡à ¦ âì ¢ è¥áâ ¤æ â¥à¨ç®© á¨á⥬¥
|
||
* bh = 2 - ®â®¡à ¦ âì ¢ ¤¢®¨ç®© á¨á⥬¥
|
||
* ¡¨âë 16-21 = ᪮«ìª® æ¨äà ®â®¡à ¦ âì
|
||
* ¡¨âë 22-29 § १¥à¢¨à®¢ ë ¨ ¤®«¦ë ¡ëâì ãáâ ®¢«¥ë ¢ 0
|
||
* ¡¨â 30 ãáâ ®¢«¥ = ¢ë¢®¤¨âì qword (64-¡¨â®¥ ç¨á«®);
|
||
¯à¨ í⮬ ¤®«¦® ¡ëâì bl = 1
|
||
* ¡¨â 31 ãáâ ®¢«¥ = ¥ ¢ë¢®¤¨âì ¢¥¤ã騥 㫨 ç¨á«
|
||
* ecx = ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ ⥫ì (¯à¨ bl=1)
|
||
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
|
||
* esi = 0xX0RRGGBB:
|
||
* RR, GG, BB § ¤ îâ 梥â
|
||
* X = ABnn (¡¨âë)
|
||
* nn = èà¨äâ (0/1)
|
||
* A ¨£®à¨àã¥âáï
|
||
* B=1 - § ªà 訢 âì ä® æ¢¥â®¬ edi
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* “ª § ï ¤«¨ ¥ ¤®«¦ ¯à¥¢®á室¨âì 60.
|
||
* ‚뢮¤¨âáï ஢® 㪠§ ®¥ ª®«¨ç¥á⢮ æ¨äà. …᫨ ç¨á«® ¬ «® ¨
|
||
¬®¦¥â ¡ëâì § ¯¨á ® ¬¥ì訬 ª®«¨ç¥á⢮¬ æ¨äà, ®® ¤®¯®«ï¥âáï
|
||
¢¥¤ã騬¨ ã«ï¬¨; ¥á«¨ ç¨á«® ¢¥«¨ª® ¨ ¥ ¬®¦¥â ¡ëâì § ¯¨á ®
|
||
â ª¨¬ ª®«¨ç¥á⢮¬ æ¨äà, "«¨è¨¥" ¢¥¤ã騥 æ¨äàë ®¡à¥§ îâáï.
|
||
* <20> à ¬¥âàë èà¨ä⮢ 㪠§ ë ¢ ®¯¨á ¨¨ äãªæ¨¨ 4 (¢ë¢®¤ ⥪áâ ).
|
||
|
||
======================================================================
|
||
======= ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 0 - ¯à¨¬¥¨âì áâனª¨ íªà . =======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 0 - § १¥à¢¨à®¢ ®
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¯¥à¥à¨á®¢ë¢ ¥â íªà ¯®á«¥ ¨§¬¥¥¨ï ¯ à ¬¥â஢
|
||
¯®¤äãªæ¨ï¬¨ 1 ¨ 2.
|
||
* ‚맮¢ äãªæ¨¨ ¡¥§ ¯à¥¤è¥áâ¢ãîé¨å ¢ë§®¢®¢ 㪠§ ëå ¯®¤äãªæ¨©
|
||
¨£®à¨àã¥âáï.
|
||
* ‚맮¢ äãªæ¨¨ á ¥ã«¥¢ë¬ ecx ¨£®à¨àã¥âáï.
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì áâ¨«ì ª®¯®ª. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ⨯ ª®¯®ª:
|
||
* 0 = ¯«®áª¨¥
|
||
* 1 = ®¡êñ¬ë¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>®á«¥ ¢ë§®¢ ®¯¨áë¢ ¥¬®© äãªæ¨¨ á«¥¤ã¥â ¯¥à¥à¨á®¢ âì íªà
|
||
¯®¤äãªæ¨¥© 0.
|
||
* ’¨¯ ª®¯®ª ¢«¨ï¥â ⮫쪮 ¨å ¯à®à¨á®¢ªã äãªæ¨¥© 8.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ ⥫ì â ¡«¨æã 梥⮢
|
||
* edx = à §¬¥à â ¡«¨æë 梥⮢
|
||
(¤®«¦¥ ¡ëâì 40 ¡ ©â ¤«ï ¡ã¤ã饩 ᮢ¬¥á⨬®áâ¨)
|
||
”®à¬ â â ¡«¨æë 梥⮢ 㪠§ ¢ ®¯¨á ¨¨ ¯®¤äãªæ¨¨ 3.
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>®á«¥ ¢ë§®¢ ®¯¨áë¢ ¥¬®© äãªæ¨¨ á«¥¤ã¥â ¯¥à¥à¨á®¢ âì íªà
|
||
¯®¤äãªæ¨¥© 0.
|
||
* ’ ¡«¨æ áâ ¤ àâëå 梥⮢ ¢«¨ï¥â ⮫쪮 ¯à¨«®¦¥¨ï,
|
||
ª®â®àë¥ íâã â ¡«¨æã ï¢ë¬ ®¡à §®¬ ¯®«ãç îâ (¯®¤äãªæ¨¥© 3) ¨
|
||
¨á¯®«ì§ãîâ (㪠§ë¢ ï 梥⠨§ ¥ñ ¯à¨ ¢ë§®¢ å äãªæ¨© à¨á®¢ ¨ï).
|
||
* ’ ¡«¨æ áâ ¤ àâëå 梥⮢ ¢å®¤¨â ¢ ᪨ ¨ ãáâ ¢«¨¢ ¥âáï § ®¢®
|
||
¯à¨ ãáâ ®¢ª¥ ᪨ (¯®¤äãªæ¨¨ 8).
|
||
* ’ ¡«¨æã 梥⮢ ¬®¦® ¯à®á¬ âਢ âì/¨§¬¥ïâì ¨â¥à ªâ¨¢® á ¯®¬®éìî
|
||
¯à¨«®¦¥¨ï desktop.
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 3 - ¯®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à à §¬¥à®¬ edx ¡ ©â,
|
||
ªã¤ ¡ã¤¥â § ¯¨á â ¡«¨æ
|
||
* edx = à §¬¥à â ¡«¨æë 梥⮢
|
||
(¤®«¦¥ ¡ëâì 40 ¡ ©â ¤«ï ¡ã¤ã饩 ᮢ¬¥á⨬®áâ¨)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
”®à¬ â â ¡«¨æë 梥⮢: ª ¦¤ë© í«¥¬¥â -
|
||
dword-§ 票¥ 梥â 0x00RRGGBB
|
||
* +0: dword: frames - 梥â à ¬ª¨
|
||
* +4: dword: grab - 梥⠧ £®«®¢ª
|
||
* +8: dword: grab_button - 梥⠪®¯ª¨ ¯®«®á¥ § £®«®¢ª
|
||
* +12 = +0xC: dword: grab_button_text - 梥â ⥪áâ ª®¯ª¥
|
||
¯®«®á¥ § £®«®¢ª
|
||
* +16 = +0x10: dword: grab_text - 梥â ⥪áâ § £®«®¢ª¥
|
||
* +20 = +0x14: dword: work - 梥â à ¡®ç¥© ®¡« áâ¨
|
||
* +24 = +0x18: dword: work_button - 梥⠪®¯ª¨ ¢ à ¡®ç¥© ®¡« áâ¨
|
||
* +28 = +0x1C: dword: work_button_text - 梥â ⥪áâ ª®¯ª¥
|
||
¢ à ¡®ç¥© ®¡« áâ¨
|
||
* +32 = +0x20: dword: work_text - 梥â ⥪áâ ¢ à ¡®ç¥© ®¡« áâ¨
|
||
* +36 = +0x24: dword: work_graph - 梥⠣à 䨪¨ ¢ à ¡®ç¥© ®¡« áâ¨
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘âàãªâãà â ¡«¨æë 梥⮢ ®¯¨á ¢ áâ ¤ à⮬ ¢ª«îç ¥¬®¬ ä ©«¥
|
||
macros.inc ¯®¤ §¢ ¨¥¬ system_colors; ¯à¨¬¥à, ¬®¦® ¯¨á âì:
|
||
sc system_colors ; ®¡ê¥¨¥ ¯¥à¥¬¥®©
|
||
... ; £¤¥-â® ¤® ¢ë§¢ âì
|
||
; ®¯¨áë¢ ¥¬ãî äãªæ¨î á ecx=sc
|
||
mov ecx, [sc.work_button_text] ; ç¨â ¥¬ 梥â ⥪áâ
|
||
; ª®¯ª¥ ¢ à ¡®ç¥© ®¡« áâ¨
|
||
* ˆá¯®«ì§®¢ ¨¥/¥¨á¯®«ì§®¢ ¨¥ íâ¨å 梥⮢ - ¤¥«® ¨áª«îç¨â¥«ì®
|
||
á ¬®© ¯à®£à ¬¬ë. „«ï ¨á¯®«ì§®¢ ¨ï 㦮 ¯à®áâ® ¯à¨ ¢ë§®¢¥ äãªæ¨©
|
||
à¨á®¢ ¨ï 㪠§ë¢ âì 梥â, ¢§ïâë© ¨§ í⮩ â ¡«¨æë.
|
||
* <20>ਠ¨§¬¥¥¨¨ â ¡«¨æë áâ ¤ àâëå 梥⮢ (¯®¤äãªæ¨¥© 2 á
|
||
¯®á«¥¤ãî騬 ¯à¨¬¥¥¨¥¬ ¨§¬¥¥¨© ¯®¤äãªæ¨¥© 0 ¨«¨
|
||
¯à¨ ãáâ ®¢ª¥ ᪨ ¯®¤äãªæ¨¥© 8) ¢á¥¬ ®ª ¬ ¯®áë« ¥âáï á®®¡é¥¨¥
|
||
® ¥®¡å®¤¨¬®á⨠¯¥à¥à¨á®¢ª¨ (ᮡë⨥ á ª®¤®¬ 1).
|
||
* ‘â ¤ àâë¥ æ¢¥â ¬®¦® ¯à®á¬ âਢ âì/¨§¬¥ïâì ¨â¥à ªâ¨¢®
|
||
á ¯®¬®éìî ¯à¨«®¦¥¨ï desktop.
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 4 - ¯®«ãç¨âì ¢ëá®âã ᪨ . =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¢ëá®â ᪨
|
||
‡ ¬¥ç ¨ï:
|
||
* ‚ëá®â®© ᪨ ¯® ®¯à¥¤¥«¥¨î áç¨â ¥âáï ¢ëá®â § £®«®¢ª ®ª®,
|
||
¨á¯®«ì§ãîé¨å ᪨.
|
||
* ‘¬®âਠ⠪¦¥ ®¡éãî áâàãªâãàã ®ª ¢ ®¯¨á ¨¨ äãªæ¨¨ 0.
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 5 - ¯®«ãç¨âì à ¡®çãî ®¡« áâì íªà . ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = [left]*65536 + [right]
|
||
* ebx = [top]*65536 + [bottom]
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> ¡®ç ï ®¡« áâì íªà ®¯à¥¤¥«ï¥â ¯®«®¦¥¨¥ ¨ ª®®à¤¨ âë
|
||
¬ ªá¨¬¨§¨à®¢ ®£® ®ª .
|
||
* <20> ¡®ç ï ®¡« áâì íªà ¯à¨ ®à¬ «ì®© à ¡®â¥ ¥áâì ¢¥áì íªà
|
||
§ ¢ëç¥â®¬ ¯ ¥«¨ (@panel).
|
||
* (left,top) - ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫 ,
|
||
(right,bottom) - ª®®à¤¨ âë ¯à ¢®£® ¨¦¥£®.
|
||
’ ª¨¬ ®¡à §®¬, à §¬¥à à ¡®ç¥© ®¡« á⨠¯® ®á¨ x ®¯à¥¤¥«ï¥âáï
|
||
ä®à¬ã«®© right-left+1, ¯® ®á¨ y - ä®à¬ã«®© bottom-right+1.
|
||
* ‘¬®âਠ⠪¦¥ äãªæ¨î 14,
|
||
¯®§¢®«ïîéãî ®¯à¥¤¥«¨âì à §¬¥àë ¢á¥£® íªà .
|
||
* …áâì ¯ à ï äãªæ¨ï ãáâ ®¢ª¨ à ¡®ç¥© ®¡« á⨠- ¯®¤äãªæ¨ï 6.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 6 - ãáâ ®¢¨âì à ¡®çãî ®¡« áâì íªà . ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = [left]*65536 + [right]
|
||
* edx = [top]*65536 + [bottom]
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> ¡®ç ï ®¡« áâì íªà ®¯à¥¤¥«ï¥â ¯®«®¦¥¨¥ ¨ ª®®à¤¨ âë
|
||
¬ ªá¨¬¨§¨à®¢ ®£® ®ª .
|
||
* <20>â äãªæ¨ï ¨á¯®«ì§ã¥âáï ⮫쪮 ¯à¨«®¦¥¨¥¬ @panel,
|
||
ãáâ ¢«¨¢ î騬 à ¡®ç¥© ®¡« áâìî ¢¥áì íªà § ¢ëç¥â®¬ ¯ ¥«¨.
|
||
* (left,top) - ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫 ,
|
||
(right,bottom) - ª®®à¤¨ âë ¯à ¢®£® ¨¦¥£®.
|
||
’ ª¨¬ ®¡à §®¬, à §¬¥à à ¡®ç¥© ®¡« á⨠¯® ®á¨ x ®¯à¥¤¥«ï¥âáï
|
||
ä®à¬ã«®© right-left+1, ¯® ®á¨ y - ä®à¬ã«®© bottom-right+1.
|
||
* …᫨ left>=right, â® x-ª®®à¤¨ âë à ¡®ç¥© ®¡« á⨠¥ ¨§¬¥ïîâáï.
|
||
…᫨ left<0, â® left ¥ ãáâ ¢«¨¢ ¥âáï. …᫨ right ¡®«ìè¥
|
||
¨«¨ à ¢® è¨à¨ë íªà , â® right ¥ ãáâ ¢«¨¢ ¥âáï.
|
||
€ «®£¨ç® ¯® ®á¨ y.
|
||
* ‘¬®âਠ⠪¦¥ äãªæ¨î 14,
|
||
¯®§¢®«ïîéãî ®¯à¥¤¥«¨âì à §¬¥àë ¢á¥£® íªà .
|
||
* …áâì ¯ à ï äãªæ¨ï ¯®«ã票ï à ¡®ç¥© ®¡« á⨠-
|
||
¯®¤äãªæ¨ï 5.
|
||
* <20>â äãªæ¨ï ¢â®¬ â¨ç¥áª¨ ¯¥à¥à¨á®¢ë¢ ¥â íªà , ¯® 室㠤¥«
|
||
®¡®¢«ï¥â ª®®à¤¨ âë ¨ à §¬¥àë ¬ ªá¨¬¨§¨à®¢ ëå ®ª®.
|
||
‚ᥠ®ª ¨§¢¥é îâáï ® ¥®¡å®¤¨¬®á⨠¯¥à¥à¨á®¢ª¨ (ᮡë⨥ 1).
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 7 ======================
|
||
============ <20>®«ãç¨âì ®¡« áâì ᪨ ¤«ï ⥪áâ § £®«®¢ª . ============
|
||
======================================================================
|
||
‚®§¢à é ¥â ®¡« áâì § £®«®¢ª ®ª ᮠ᪨®¬, ¯à¥¤ § ç¥ãî
|
||
¤«ï ¢ë¢®¤ ⥪áâ § £®«®¢ª .
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = [left]*65536 + [right]
|
||
* ebx = [top]*65536 + [bottom]
|
||
‡ ¬¥ç ¨ï:
|
||
* ˆá¯®«ì§®¢ ¨¥/¥¨á¯®«ì§®¢ ¨¥ í⮩ äãªæ¨¨ -
|
||
«¨ç®¥ ¤¥«® ¯à¨«®¦¥¨ï.
|
||
* <20>¥ª®¬¥¤ã¥âáï ãç¨âë¢ âì § 票ï, ¢®§¢à é ¥¬ë¥ í⮩ äãªæ¨¥©,
|
||
¯à¨ ¢ë¡®à¥ ¬¥áâ ¤«ï à¨á®¢ ¨ï ⥪áâ § £®«®¢ª (äãªæ¨¥© 4) ¨«¨
|
||
ª ª®£®-¨¡ã¤ì § ¬¥¨â¥«ï ⥪áâ § £®«®¢ª
|
||
(¯® ãᬮâà¥¨î ¯à¨«®¦¥¨ï).
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 8 - ãáâ ®¢¨âì ¨á¯®«ì§ã¥¬ë© ᪨ ®ª®. ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 48 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¨¬ï ä ©« ᪨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¥ 㤠«®áì § £à㧨âì ä ©«
|
||
* eax = 2 - ä ©« ¥ ï¥âáï ä ©«®¬ ᪨
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>ਠãᯥ让 § £à㧪¥ ᪨ ¢á¥ ®ª ¨§¢¥é îâáï ® ¥®¡å®¤¨¬®áâ¨
|
||
¯¥à¥à¨á®¢ª¨ (ᮡë⨥ 1).
|
||
* <20>ਠ§ £à㧪¥ á¨á⥬ áç¨âë¢ ¥â ᪨ ¨§ ä ©« default.skn
|
||
à ¬¤¨áª¥.
|
||
* <20>®«ì§®¢ â¥«ì ¬®¦¥â ¨§¬¥ïâì ᪨ áâ â¨ç¥áª¨, ᮧ¤ ¢ ᢮©
|
||
default.skn, ¨«¨ ¤¨ ¬¨ç¥áª¨ á ¯®¬®éìî ¯à¨«®¦¥¨ï desktop.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 49 - Advanced Power Management (APM). ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 49 - ®¬¥à äãªæ¨¨
|
||
* dx = ®¬¥à äãªæ¨¨ APM ( «®£ ax ¢ ᯥæ¨ä¨ª 樨)
|
||
* bx, cx = ¯ à ¬¥âàë äãªæ¨¨ APM
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* 16-¡¨âë¥ à¥£¨áâàë ax, bx, cx, dx, si, di ¨ ä« £ CF
|
||
ãáâ ®¢«¥ë ¢ ᮮ⢥âá⢨¨ ᮠᯥæ¨ä¨ª 樥© APM
|
||
* áâ à訥 ¯®«®¢¨ë 32-¡¨âëå ॣ¨áâ஢ eax, ebx, ecx,
|
||
edx, esi, edi à §àãè îâáï
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘¯¥æ¨ä¨ª æ¨ï APM 1.2 ®¯¨áë¢ ¥âáï ¢ ¤®ªã¬¥â¥
|
||
"Advanced Power Management (APM) BIOS Specification"
|
||
(Revision 1.2), ¤®áâ㯮¬
|
||
http://www.microsoft.com/whdc/archive/amp_12.mspx;
|
||
ªà®¬¥ ⮣®, ® ¢ª«îç¥ ¢ ¨§¢¥áâë© Interrupt List by Ralf Brown
|
||
(http://www.pobox.com/~ralf/files.html,
|
||
ftp://ftp.cs.cmu.edu/afs/cs/user/ralf/pub/).
|
||
|
||
======================================================================
|
||
================= ”ãªæ¨ï 50 - ãáâ ®¢ª ä®à¬ë ®ª . =================
|
||
======================================================================
|
||
Ž¡ëçë¥ ®ª ¯à¥¤áâ ¢«ïîâ ᮡ®© ¯àאַ㣮«ì¨ª¨. ‘ ¯®¬®éìî í⮩ äãªæ¨¨
|
||
®ªã ¬®¦® ¯à¨¤ âì ¯à®¨§¢®«ìãî ä®à¬ã. ”®à¬ § ¤ ñâáï ¡®à®¬ â®ç¥ª
|
||
¢ãâਠ®¡à ¬«ïî饣® ¯àאַ㣮«ì¨ª , ¯à¨ ¤«¥¦ é¨å ®ªã. <20>®«®¦¥¨¥ ¨
|
||
à §¬¥àë ®¡à ¬«ïî饣® ¯àאַ㣮«ì¨ª § ¤ îâáï äãªæ¨¥© 0 ¨ ¨§¬¥ïîâáï
|
||
äãªæ¨¥© 67.
|
||
|
||
--------------- “áâ ®¢ª ¤ ëå á ¨ä®à¬ 樥© ® ä®à¬¥ ---------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 50 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¤ ë¥ ä®à¬ë (¬ áᨢ ¡ ©â 0/1)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
------------------ “áâ ®¢ª ¬ áèâ ¡ ¤ ëå ä®à¬ë -------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 50 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx § ¤ ñâ ¬ áèâ ¡: ª ¦¤ë© ¡ ©â ¤ ëå ®¯à¥¤¥«ï¥â
|
||
(2^scale)*(2^scale) ¯¨ªá¥«¥©
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* Œ áèâ ¡ ¯® 㬮«ç ¨î à ¢¥ 0 (¬ áèâ ¡¨àãî騩 ¬®¦¨â¥«ì 1). …᫨ ¢
|
||
¤ ëå ä®à¬ë ®¤¨ ¡ ©â ᮮ⢥âáâ¢ã¥â ®¤®¬ã ¯¨ªá¥«î, â® ¬ áèâ ¡
|
||
¬®¦® ¥ ãáâ ¢«¨¢ âì.
|
||
* Ž¡®§ 稬 xsize = è¨à¨ ®ª (¢ ¯¨ªá¥«ïå), ysize = ¢ëá®â ;
|
||
®¡à â¨â¥ ¢¨¬ ¨¥, çâ® ®¨ ¥¤¨¨æã ¡®«ìè¥, 祬 ãáâ ¢«¨¢ ¥¬ë¥
|
||
äãªæ¨ï¬¨ 0, 67.
|
||
* <20>® ®¯à¥¤¥«¥¨î ¬ áèâ ¡ xsize ¨ ysize ¤®«¦ë ¤¥«¨âìáï 2^scale.
|
||
* <20> ©â ¤ ëå ¯® ᬥ饨î a ¤®«¦¥ ¡ëâì 0/1 ¨
|
||
®¯à¥¤¥«ï¥â ¯à¨ ¤«¥¦®áâì ®ªã ª¢ ¤à â á® áâ®à®®© 2^scale
|
||
(¯à¨ scale=0 ¯®«ãç ¥¬ ¯¨ªá¥«ì) ¨ ª®®à¤¨ â ¬¨ «¥¢®£® ¢¥à奣® 㣫
|
||
(a mod (xsize shr scale), a div (xsize shr scale))
|
||
* <20> §¬¥à ¤ ëå: (xsize shr scale)*(ysize shr scale).
|
||
* „ ë¥ ¤®«¦ë ¯à¨áãâá⢮¢ âì ¢ ¯ ¬ï⨠¨ ¥ ¬¥ïâìáï
|
||
¯®á«¥ ãáâ ®¢ª¨ ä®à¬ë.
|
||
* ‘¨á⥬ ¯à®á¬ âਢ ¥â ¤ ë¥ ® ä®à¬¥ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥ ®ª
|
||
äãªæ¨¥© 0.
|
||
* ‚맮¢ ¯®¤äãªæ¨¨ 0 á ã«¥¢ë¬ 㪠§ ⥫¥¬ ¯à¨¢®¤¨â ª ¢®§¢à âã
|
||
ª ¯àאַ㣮«ì®© ä®à¬¥.
|
||
|
||
======================================================================
|
||
===================== ”ãªæ¨ï 51 - ᮧ¤ âì ¯®â®ª. ====================
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 51 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ¥¤¨á⢥ ï ¯®¤äãªæ¨ï
|
||
* ecx = ¤à¥á â®çª¨ ¢å®¤ ¯®â®ª ( ç «ìë© eip)
|
||
* edx = 㪠§ ⥫ì áâíª ¯®â®ª ( ç «ìë© esp)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ®è¨¡ª (¢ á¨á⥬¥ ᫨誮¬ ¬®£® ¯®â®ª®¢)
|
||
* ¨ ç¥ eax = TID - ¨¤¥â¨ä¨ª â®à ¯®â®ª
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì ª®ä¨£ãà æ¨î á¥â¥¢®£® ¤à ©¢¥à .
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¤¢®©®¥ á«®¢® ª®ä¨£ãà 樨
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘«®¢® ª®ä¨£ãà 樨 ¬®¦® ãáâ ®¢¨âì ¯®¤äãªæ¨¥© 2.
|
||
* Ÿ¤à® ¥ ¨á¯®«ì§ã¥â ᮮ⢥âáâ¢ãîéãî ¯¥à¥¬¥ãî.
|
||
–¥®áâì í⮩ ¯¥à¥¬¥®© ¨ à ¡®â îé¨å á ¥© ¯®¤äãªæ¨© 0 ¨ 2
|
||
¯à¥¤áâ ¢«ï¥âáï ᮬ¨â¥«ì®©.
|
||
|
||
======================================================================
|
||
======= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì «®ª «ìë© IP- ¤à¥á. ======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = IP- ¤à¥á (4 ¡ ©â )
|
||
‡ ¬¥ç ¨ï:
|
||
* ‹®ª «ìë© IP- ¤à¥á ãáâ ¢«¨¢ ¥âáï ¯®¤äãªæ¨¥© 3.
|
||
|
||
======================================================================
|
||
”ãªæ¨ï 52, ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì ª®ä¨£ãà æ¨î á¥â¥¢®£® ¤à ©¢¥à .
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¤¢®©®¥ á«®¢® ª®ä¨£ãà 樨; ¥á«¨ ¬« ¤è¨¥ 7 ¡¨â ®¡à §ãîâ
|
||
ç¨á«® 3, íâ® ¢®á¯à¨¨¬ ¥âáï ª ª § ¯à®á [¯¥à¥-]¨¨æ¨ «¨§ æ¨î
|
||
Ethernet-ª àâë, ¢ ¯à®â¨¢®¬ á«ãç ¥ Ethernet ¢ëª«îç ¥âáï
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ ¥ § ¯à®è¥ Ethernet-¨â¥à䥩á, â® ¢®§¢à é ¥âáï eax=2,
|
||
® íâ® ¬®¦¥â ¨§¬¥¨âìáï ¢ ¡ã¤ãé¨å ¢¥àá¨ïå ï¤à
|
||
* ¥á«¨ § ¯à®è¥ Ethernet-¨â¥à䥩á, â® eax=0 ®§ ç ¥â ®è¨¡ªã
|
||
(®âáãâá⢨¥ Ethernet-ª àâë), ¥ã«¥¢®¥ § 票¥ - ãᯥå
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘«®¢® ª®ä¨£ãà 樨 ¬®¦® ¯à®ç¨â âì ¯®¤äãªæ¨¥© 0.
|
||
* Ÿ¤à® ¥ ¨á¯®«ì§ã¥â ᮮ⢥âáâ¢ãîéãî ¯¥à¥¬¥ãî.
|
||
–¥®áâì í⮩ ¯¥à¥¬¥®©, ¯®¤äãªæ¨¨ 0 ¨ ç á⨠¯®¤äãªæ¨¨ 2,
|
||
ãáâ ¢«¨¢ î饩 íâã ¯¥à¥¬¥ãî, ¯à¥¤áâ ¢«ï¥âáï ᮬ¨â¥«ì®©.
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì «®ª «ìë© IP- ¤à¥á. =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = IP- ¤à¥á (4 ¡ ©â )
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=3, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥®
|
||
¢ ¡ã¤ãé¨å ¢¥àá¨ïå
|
||
‡ ¬¥ç ¨ï:
|
||
* ‹®ª «ìë© IP- ¤à¥á ¬®¦® ¯®«ãç¨âì ¯®¤äãªæ¨¥© 1.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 6 - ¤®¡ ¢¨âì ¤ ë¥ ¢ á⥪ ¢å®¤®© ®ç¥à¥¤¨. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* edx = à §¬¥à ¤ ëå
|
||
* esi = 㪠§ â¥«ì ¤ ë¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ®è¨¡ª
|
||
* eax = 0 - ãᯥè®
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>â äãªæ¨ï ¯à¥¤ § ç¥ â®«ìª® ¤«ï ¬¥¤«¥ëå á¥â¥¢ëå ¤à ©¢¥à®¢
|
||
(PPP, SLIP).
|
||
* <20> §¬¥à ¤ ëå ¥ ¤®«¦¥ ¯à¥¢®á室¨âì 1500 ¡ ©â,
|
||
å®âï ¯à®¢¥à®ª ª®à४â®á⨠¥ ¤¥« ¥âáï.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 8 ======================
|
||
============= <20>à®ç¨â âì ¤ ë¥ ¨§ á¥â¥¢®© ®ç¥à¥¤¨ ¢ë¢®¤ . ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* esi = 㪠§ â¥«ì ¡ãä¥à à §¬¥à®¬ 1500 ¡ ©â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ç¨á«® ¯à®ç¨â ëå ¡ ©â (¢ ⥪ã饩 ॠ«¨§ 樨
|
||
«¨¡® 0 = ¥â ¤ ëå, «¨¡® 1500)
|
||
* ¤ ë¥ áª®¯¨à®¢ ë ¢ ¡ãä¥à
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>â äãªæ¨ï ¯à¥¤ § ç¥ â®«ìª® ¤«ï ¬¥¤«¥ëå á¥â¥¢ëå ¤à ©¢¥à®¢
|
||
(PPP, SLIP).
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 9 - ¯®«ãç¨âì gateway IP. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = gateway IP (4 ¡ ©â )
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 10 - ¯®«ãç¨âì ¬ áªã ¯®¤á¥â¨. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¬ ᪠¯®¤á¥â¨
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 11 - ãáâ ®¢¨âì gateway IP. =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = gateway IP (4 ¡ ©â )
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=11, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥®
|
||
¢ ¡ã¤ãé¨å ॠ«¨§ æ¨ïå
|
||
|
||
======================================================================
|
||
======== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 12 - ãáâ ®¢¨âì ¬ áªã ¯®¤á¥â¨. =======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¬ ᪠¯®¤á¥â¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=12, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥®
|
||
¢ ¡ã¤ãé¨å ¢¥àá¨ïå
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 13 - ¯®«ãç¨âì DNS IP. ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = DNS IP (4 ¡ ©â )
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 14 - ãáâ ®¢¨âì DNS IP. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = DNS IP (4 ¡ ©â )
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=14, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥®
|
||
¢ á«¥¤ãîé¨å ¢¥àá¨ïå
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 15 - ¯®«ãç¨âì «®ª «ìë© MAC- ¤à¥á. =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||
* ebx = 15 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 0 - ç¨â âì ¯¥à¢ë¥ 4 ¡ ©â ,
|
||
ecx = 4 - ç¨â âì ¯®á«¥¤¨¥ 2 ¡ ©â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¤«ï ecx=0: eax = ¯¥à¢ë¥ 4 ¡ ©â MAC- ¤à¥á
|
||
* ¤«ï ecx=4: ax = ¯®á«¥¤¨¥ 2 ¡ ©â MAC- ¤à¥á ,
|
||
áâ àè ï ¯®«®¢¨ eax à §àãè ¥âáï
|
||
* ¤«ï ¤à㣨å ecx: eax = -1 ª ª ¯à¨§ ª ®è¨¡ª¨
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 0 - ®âªàëâì UDP-᮪¥â. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = «®ª «ìë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®),
|
||
ecx = 0 - ¯à¥¤®áâ ¢¨âì á¨á⥬¥ ¢ë¡®à «®ª «ì®£® ¯®àâ
|
||
* edx = 㤠«ñë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®)
|
||
* esi = 㤠«ñë© IP
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 = 0xFFFFFFFF - ®è¨¡ª ; ebx à §àãè ¥âáï
|
||
* eax = åí¤« ᮪¥â (¥ª®â®à®¥ ç¨á«®, ®¤®§ ç® ¨¤¥â¨ä¨æ¨àãî饥
|
||
᮪¥â ¨ ¨¬¥î饥 á¬ë᫠⮫쪮 ¤«ï á¨á⥬ë) - ãᯥè®;
|
||
ebx à §àãè ¥âáï
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 1 - § ªàëâì UDP-᮪¥â. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¥¢¥àë© åí¤«
|
||
* eax = 0 - ãᯥè®
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï ¥ § ªàë¢ ¥â ¢â®¬ â¨ç¥áª¨ ¢á¥ ᮪¥âë ¯®â®ª
|
||
¯à¨ ¥£® § ¢¥à襨¨. ‚ ç áâ®áâ¨, ¥ á«¥¤ã¥â ¯à¨¡¨¢ âì ¯®â®ª
|
||
á ªã祩 ®âªàëâëå ᮪¥â®¢ - ¡ã¤¥â ãâ¥çª à¥áãàᮢ.
|
||
|
||
======================================================================
|
||
============== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 2 - ®¯à®á ᮪¥â . ==============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ç¨á«® ¯®«ãç¥ëå ¡ ©â, 0 ¤«ï ¥¢¥à®£® åí¤«
|
||
* ebx à §àãè ¥âáï
|
||
|
||
======================================================================
|
||
======== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 3 - ¯à®ç¨â âì ¡ ©â ¨§ ᮪¥â . ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ ¥â ¯à¨ïâëå ¤ ëå ¨«¨ 㪠§ ¥¢¥àë© åí¤«:
|
||
eax=0, bl=0, ¯à®ç¨¥ ¡ ©âë ebx à §àãè îâáï
|
||
* ¥á«¨ ¡ë«¨ ¯à¨ïâë¥ ¤ ë¥: eax=ç¨á«® ®áâ ¢è¨åáï ¡ ©â
|
||
(¢®§¬®¦®, 0), bl=¯à®ç¨â ë© ¡ ©â, ¯à®ç¨¥ ¡ ©âë ebx à §àãè îâáï
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 4 - § ¯¨á âì ¢ UDP-᮪¥â. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
* edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨
|
||
* esi = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0xffffffff - ®è¨¡ª (¥¢¥àë© åí¤« ¨«¨ ¥¤®áâ â®ç® ¯ ¬ïâ¨)
|
||
* eax = 0 - ãᯥè®
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* —¨á«® ¡ ©â ¤«ï § ¯¨á¨ ¥ ¬®¦¥â ¯à¥¢ëè âì 1500-28, å®âï
|
||
ᮮ⢥âáâ¢ãî饩 ¯à®¢¥àª¨ ¥ ¤¥« ¥âáï.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 5 - ®âªàëâì TCP-᮪¥â. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = «®ª «ìë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®),
|
||
ecx = 0 - ¯à¥¤®áâ ¢¨âì á¨á⥬¥ ¢ë¡®à «®ª «ì®£® ¯®àâ
|
||
* edx = 㤠«ñë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®)
|
||
* esi = 㤠«ñë© IP
|
||
* edi = ०¨¬ ®âªàëâ¨ï: SOCKET_PASSIVE=0 ¨«¨ SOCKET_ACTIVE=1
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 = 0xFFFFFFFF - ®è¨¡ª ; ebx à §àãè ¥âáï
|
||
* eax = åí¤« ᮪¥â (¥ª®â®à®¥ ç¨á«®, ®¤®§ ç® ¨¤¥â¨ä¨æ¨àãî饥
|
||
᮪¥â ¨ ¨¬¥î饥 á¬ë᫠⮫쪮 ¤«ï á¨á⥬ë) - ãᯥè®;
|
||
ebx à §àãè ¥âáï
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 6 - ¯®«ãç¨âì á®áâ®ï¨¥ TCP-᮪¥â . =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 ¤«ï ¥¢¥à®£® ᮪¥â ¨«¨ áâ âãá: ®¤® ¨§
|
||
* TCB_LISTEN = 1
|
||
* TCB_SYN_SENT = 2
|
||
* TCB_SYN_RECEIVED = 3
|
||
* TCB_ESTABLISHED = 4
|
||
* TCB_FIN_WAIT_1 = 5
|
||
* TCB_FIN_WAIT_2 = 6
|
||
* TCB_CLOSE_WAIT = 7
|
||
* TCB_CLOSING = 8
|
||
* TCB_LAST_ASK = 9
|
||
* TCB_TIME_WAIT = 10
|
||
* TCB_CLOSED = 11
|
||
* ebx à §àãè ¥âáï
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 7 - § ¯¨á âì ¢ TCP-᮪¥â. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
* edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨
|
||
* esi = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0xffffffff - ®è¨¡ª (¥¢¥àë© åí¤« ¨«¨ ¥¤®áâ â®ç® ¯ ¬ïâ¨)
|
||
* eax = 0 - ãᯥè®
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* —¨á«® ¡ ©â ¤«ï § ¯¨á¨ ¥ ¬®¦¥â ¯à¥¢ëè âì 1500-40,
|
||
å®âï ᮮ⢥âáâ¢ãî饩 ¯à®¢¥àª¨ ¥ ¤¥« ¥âáï.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 8 - § ªàëâì TCP-᮪¥â. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ®è¨¡ª (¥¢¥àë© åí¤« ¨«¨
|
||
¥¤®áâ â®ç® ¯ ¬ï⨠¤«ï ¯ ª¥â § ªàëâ¨ï ᮪¥â )
|
||
* eax = 0 - ãᯥè®
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï ¥ § ªàë¢ ¥â ¢â®¬ â¨ç¥áª¨ ¢á¥ ᮪¥âë ¯®â®ª
|
||
¯à¨ ¥£® § ¢¥à襨¨. ‚ ç áâ®áâ¨, ¥ á«¥¤ã¥â ¯à¨¡¨¢ âì ¯®â®ª
|
||
á ªã祩 ®âªàëâëå ᮪¥â®¢ - ¡ã¤¥â ãâ¥çª à¥áãàᮢ.
|
||
|
||
======================================================================
|
||
== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 9 - ¯à®¢¥à¨âì, ᢮¡®¤¥ «¨ «®ª «ìë© ¯®àâ. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¬¥à «®ª «ì®£® ¯®àâ (¨á¯®«ì§ãîâáï ⮫쪮 ¬« ¤è¨¥ 16 ¡¨â)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ¯®à⠨ᯮ«ì§ã¥âáï
|
||
* eax = 1 - ¯®àâ ᢮¡®¤¥
|
||
* ebx à §àãè ¥âáï
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 10 - ¯®«ãç¨âì áâ âãá ª ¡¥«ï Ethernet. ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* al = -1 - ¤à ©¢¥à á¥â¥¢®© ª àâë ¥ § £à㦥 ¨«¨
|
||
¥ ¯®¤¤¥à¦¨¢ ¥â íâã äãªæ¨î
|
||
* al = 0 - ª ¡¥«ì ¥ ¯®¤ª«îçñ
|
||
* al = 1 - ª ¡¥«ì ¯®¤ª«îçñ
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* ’¥ªãé ï ॠ«¨§ æ¨ï ï¤à ¯®¤¤¥à¦¨¢ ¥â íâã äãªæ¨î
|
||
⮫쪮 ¤«ï á¥â¥¢ëå ª àâ RTL8139.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 11 - ¯à®ç¨â âì ¤ ë¥ á¥â¥¢®£® á⥪ . ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = åí¤« ᮪¥â
|
||
* edx = 㪠§ â¥«ì ¡ãä¥à
|
||
* esi = ç¨á«® ¡ ©â ¤«ï ç⥨ï;
|
||
* esi = 0 - ç¨â âì ¢á¥ ¤ ë¥ (¬ ªá¨¬ã¬ 4096 ¡ ©â)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ç¨á«® ¯à®ç¨â ëå ¡ ©â (0 ¯à¨ ¥¢¥à®¬ åí¤«¥)
|
||
* ebx à §àãè ¥âáï
|
||
|
||
======================================================================
|
||
”ãªæ¨ï 53, ¯®¤äãªæ¨ï 255 - ®â« ¤®ç ï ¨ä®à¬ æ¨ï á¥â¥¢®£® ¤à ©¢¥à .
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 53 - ®¬¥à äãªæ¨¨
|
||
* ebx = 255 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ⨯ § ¯à 訢 ¥¬®© ¨ä®à¬ 樨 (ᬮâਠ¨¦¥)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = § ¯à®è¥ ï ¨ä®à¬ æ¨ï
|
||
* ebx à §àãè ¥âáï
|
||
‚®§¬®¦ë¥ § 票ï ecx:
|
||
* 100: ¤«¨ ®ç¥à¥¤¨ 0 (empty queue)
|
||
* 101: ¤«¨ ®ç¥à¥¤¨ 1 (ip-out queue)
|
||
* 102: ¤«¨ ®ç¥à¥¤¨ 2 (ip-in queue)
|
||
* 103: ¤«¨ ®ç¥à¥¤¨ 3 (net1out queue)
|
||
* 200: ç¨á«® í«¥¬¥â®¢ ¢ â ¡«¨æ¥ ARP
|
||
* 201: à §¬¥à â ¡«¨æë ARP (¢ í«¥¬¥â å) (20 ¢ ⥪ã饩 ¢¥àᨨ)
|
||
* 202: ¯à®ç¨â âì í«¥¬¥â edx â ¡«¨æë ARP ¢® ¢à¥¬¥ë© ¡ãä¥à, ®âªã¤
|
||
¡¥àãâ ¨ä®à¬ æ¨î 5 ¯®á«¥¤ãîé¨å ⨯®¢;
|
||
¢ í⮬ á«ãç ¥ eax ¥®¯à¥¤¥«ñ
|
||
* 203: IP- ¤à¥á, § ¯®¬¥ë© ⨯®¬ 202
|
||
* 204: áâ à襥 dword MAC- ¤à¥á , § ¯®¬¥®£® ⨯®¬ 202
|
||
* 205: ¬« ¤è¥¥ word MAC- ¤à¥á , § ¯®¬¥®£® ⨯®¬ 202
|
||
* 206: á«®¢® áâ âãá , § ¯®¬¥®¥ ⨯®¬ 202
|
||
* 207: á«®¢® ttl, § ¯®¬¥®¥ ⨯®¬ 202
|
||
* 2: ®¡é¥¥ ç¨á«® ¯®«ãç¥ëå IP-¯ ª¥â®¢
|
||
* 3: ®¡é¥¥ ç¨á«® ¯¥à¥¤ ëå IP-¯ ª¥â®¢
|
||
* 4: ®¡é¥¥ ç¨á«® ᤠ¬¯«¥ëå ¯®«ãç¥ëå ¯ ª¥â®¢
|
||
* 5: ®¡é¥¥ ç¨á«® ¯®«ãç¥ëå ARP-¯ ª¥â®¢
|
||
* 6: áâ âãá ¤à ©¢¥à ¯ ª¥â®¢, 0=¥ ªâ¨¢¥,
|
||
¥ã«¥¢®¥ § 票¥= ªâ¨¢¥
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 55, ¯®¤äãªæ¨ï 55 =====================
|
||
========== <20> ç âì ¯à®¨£àë¢ âì ¤ ë¥ ¢áâ஥®¬ ᯨª¥à¥. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 55 - ®¬¥à äãªæ¨¨
|
||
* ebx = 55 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* esi = 㪠§ â¥«ì ¤ ë¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 55 - ®è¨¡ª (ᯨª¥à ®âª«îçñ ¨«¨ § ïâ)
|
||
„ ë¥ - íâ® ¬ áᨢ í«¥¬¥â®¢ ¯¥à¥¬¥®© ¤«¨ë.
|
||
”®à¬ â ª ¦¤®£® í«¥¬¥â ®¯à¥¤¥«ï¥âáï ¯¥à¢ë¬ ¡ ©â®¬:
|
||
* 0 = ª®¥æ ¤ ëå
|
||
* 1..0x80 = § ¤ ñâ ¤«¨â¥«ì®áâì §¢ãç ¨ï ¢ á®âëå ¤®«ïå ᥪã¤ë
|
||
®âë, ®¯à¥¤¥«ï¥¬®© ¥¯®á।áâ¢¥ë¬ § 票¥¬ ç áâ®âë
|
||
* á«¥¤ãî饥 á«®¢® (2 ¡ ©â ) ᮤ¥à¦¨â ¤¥«¨â¥«ì ç áâ®âë;
|
||
ç áâ®â ®¯à¥¤¥«ï¥âáï ª ª 1193180/divider
|
||
* 0x81 = invalid
|
||
* 0x82..0xFF = ®â , ®¯à¥¤¥«ï¥¬ ï ®ªâ ¢®© ¨ ®¬¥à®¬:
|
||
* ¤«¨â¥«ì®áâì ¢ á®âëå ¤®«ïå ᥪã¤ë = (¯¥à¢ë© ¡ ©â)-0x81
|
||
* ¯à¨áãâáâ¢ã¥â ¥éñ ®¤¨ ¡ ©â;
|
||
* (¢â®à®© ¡ ©â)=0xFF - ¯ ã§
|
||
* ¨ ç¥ ® ¨¬¥¥â ¢¨¤ a*0x10+b, £¤¥ b=®¬¥à ®âë ¢ ®ªâ ¢¥ ®â 1
|
||
¤® 12, a=®¬¥à ®ªâ ¢ë (áç¨â ï á 0)
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¨é ¨¥ ᯨª¥à®¬ ¬®¦¥â ¡ëâì § ¯à¥é¥®/à §à¥è¥® ¯®¤äãªæ¨¥© 8
|
||
äãªæ¨¨ 18.
|
||
* ”ãªæ¨ï ¢®§¢à é ¥â ã¯à ¢«¥¨¥, á®®¡é¨¢ ªã¤ á«¥¤ã¥â ¨ä®à¬ æ¨î
|
||
® § ¯à®á¥. ‘ ¬® ¯à®¨£àë¢ ¨¥ ¨¤ñâ ¥§ ¢¨á¨¬® ®â ¯à®£à ¬¬ë.
|
||
* „ ë¥ ¤®«¦ë á®åà ïâìáï ¢ ¯ ¬ï⨠¯® ªà ©¥© ¬¥à¥
|
||
¤® ª®æ ¯à®¨£àë¢ ¨ï.
|
||
|
||
======================================================================
|
||
======================= ”ãªæ¨ï 57 - PCI BIOS. =======================
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 57 - ®¬¥à äãªæ¨¨
|
||
* ebp ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¢ ᯥæ¨ä¨ª 樨 PCI BIOS
|
||
* ®áâ «ìë¥ à¥£¨áâàë - ¯® ᯥæ¨ä¨ª 樨 PCI BIOS
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* CF ¥ ®¯à¥¤¥«ñ
|
||
* ®áâ «ìë¥ à¥£¨áâàë - ¯® ᯥæ¨ä¨ª 樨 PCI BIOS
|
||
‡ ¬¥ç ¨ï:
|
||
* Œ®£¨å १ã«ìâ ⮢ í⮩ äãªæ¨¨ ¬®¦® â ª¦¥ ¤®¡¨âìáï ¢ë§®¢®¬
|
||
ᮮ⢥âáâ¢ãîé¨å ¯®¤äãªæ¨© äãªæ¨¨ 62.
|
||
* ”ãªæ¨ï ¢ë§ë¢ ¥â à áè¨à¥¨¥ PCI32 BIOS, ¤®ªã¬¥â¨à®¢ ®¥,
|
||
¯à¨¬¥à, ¢ http://alpha1.dyns.net/files/PCI/bios21.pdf.
|
||
* …᫨ BIOS ¥ ¯®¤¤¥à¦¨¢ ¥â íâ® à áè¨à¥¨¥, ¯®¢¥¤¥¨¥ äãªæ¨¨
|
||
í¬ã«¨àã¥âáï (ç¥à¥§ «®£¨ ¯®¤äãªæ¨© äãªæ¨¨ 62 ०¨¬ ï¤à ).
|
||
|
||
======================================================================
|
||
============== ”ãªæ¨ï 58 - à ¡®â á ä ©«®¢®© á¨á⥬®©. ==============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 58
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®; ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ¢ § ¢¨á¨¬®á⨠®â ¯®¤äãªæ¨¨ ¬®¦¥â ¢®§¢à é âìáï § 票¥ ¨
|
||
¢ ¤à㣨å ॣ¨áâà å
|
||
Ž¡é¨© ä®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ®¬¥à ¡«®ª
|
||
* +8: dword: à §¬¥à
|
||
* +12 = +0xC: dword: 㪠§ â¥«ì ¤ ë¥
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¯ ¬ïâì ¤«ï à ¡®âë á¨á⥬ë
|
||
(4096 ¡ ©â)
|
||
* +20 = +0x14: n db: ASCIIZ-áâப á ¨¬¥¥¬ ä ©«
|
||
“â®ç¥¨ï - ¢ ¤®ªã¬¥â 樨 ᮮ⢥âáâ¢ãîéãî ¯®¤äãªæ¨î.
|
||
ˆ¬ï ä ©« ¥çã¢áâ¢¨â¥«ì® ª ॣ¨áâàã « â¨áª¨å ¡ãª¢,
|
||
àãá᪨¥ ¡ãª¢ë ¤®«¦ë ¡ëâì § £« ¢ë¬¨.
|
||
”®à¬ â ¨¬¥¨ ä ©« :
|
||
/base/number/dir1/dir2/.../dirn/file,
|
||
£¤¥ /base/number ¨¤¥â¨ä¨æ¨àã¥â ãáâனá⢮, ª®â®à®¬ ¨é¥âáï ä ©«:
|
||
®¤® ¨§
|
||
* /RD/1 = /RAMDISK/1 ¤«ï ¤®áâ㯠ª à ¬¤¨áªã
|
||
* /FD/1 = /FLOPPYDISK/1 ¤«ï ¤®áâ㯠ª ¯¥à¢®¬ã ä«®¯¯¨-¤¨áª®¢®¤ã,
|
||
/FD/2 = /FLOPPYDISK/2 ¤«ï ¢â®à®£® ä«®¯¯¨-¤¨áª®¢®¤
|
||
* /HD/x = /HARDDISK/x - ãáâ ॢ訩 ¢ ਠ⠤®áâ㯠ª ¦ñá⪮¬ã ¤¨áªã
|
||
(¢ í⮬ á«ãç ¥ ¡ § ®¯à¥¤¥«ï¥âáï ¯®¤äãªæ¨¥© 7 äãªæ¨¨ 21),
|
||
x - ®¬¥à à §¤¥« (áç¨â ï á 1)
|
||
* /HD0/x, /HD1/x, /HD2/x, /HD3/x ¤«ï ¤®áâ㯠ᮮ⢥âá⢥®
|
||
ª ãáâனá⢠¬ IDE0 (Primary Master), IDE1 (Primary Slave),
|
||
IDE2 (Secondary Master), IDE3 (Secondary Slave);
|
||
x - ®¬¥à à §¤¥« ¢ë¡à ®¬ ¢¨ç¥áâ¥à¥, ¨§¬¥ï¥âáï ®â 1 ¤® 255
|
||
( ª ¦¤®¬ ¨§ ¢¨ç¥áâ¥à®¢ 㬥à æ¨ï ç¨ ¥âáï á 1)
|
||
‡ ¬¥ç ¨ï:
|
||
* ‚ ¯¥à¢ëå ¤¢ãå á«ãç ïå ¤®¯ã᪠¥âáï ¨á¯®«ì§®¢ ¨¥ FIRST ¢¬¥áâ® 1,
|
||
SECOND ¢¬¥áâ® 2, ® ¨á¯®«ì§®¢ âì íâã ¢®§¬®¦®áâì
|
||
¥ ४®¬¥¤ã¥âáï ¤«ï 㤮¡á⢠¯¥à¥å®¤ ¡ã¤ã騥 à áè¨à¥¨ï.
|
||
* <20> ª« ¤ë¢ ¥âáï ®£à ¨ç¥¨¥ n<=39.
|
||
* ˆ¬¥ ¯ ¯®ª ¨ ä ©« dir1,...,dirn,file ¤®«¦ë ¡ëâì ¢ ä®à¬ ⥠8.3:
|
||
¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ ¥ ¡®«¥¥ 3 ᨬ¢®«®¢.
|
||
•¢®áâ®¢ë¥ ¯à®¡¥«ë ¨£®à¨àãîâáï. „àã£¨å ¯à®¡¥«®¢ ¡ëâì ¥ ¤®«¦®.
|
||
…᫨ ¨¬ï § ¨¬ ¥â ஢® 8 ᨬ¢®«®¢, â®çªã ¬®¦® ®¯ãáâ¨âì
|
||
(å®âï ¯®«ì§®¢ âìáï í⨬ ¥ ४®¬¥¤ã¥âáï ¤«ï 㤮¡á⢠¯¥à¥å®¤
|
||
¡ã¤ã騥 à áè¨à¥¨ï).
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥.
|
||
<EFBFBD>ਬ¥àë:
|
||
* '/RAMDISK/FIRST/KERNEL.ASM',0
|
||
'/rd/1/kernel.asm',0
|
||
* '/HD0/1/kernel.asm',0
|
||
* '/hd0/1/menuet/pics/tanzania.bmp',0
|
||
„®áâã¯ë¥ ¯®¤äãªæ¨¨:
|
||
* ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©« /¯ ¯ª¨
|
||
* ¯®¤äãªæ¨ï 8 - LBA-ç⥨¥ á ãáâனáâ¢
|
||
* ¯®¤äãªæ¨ï 15 - ¯®«ã票¥ ¨ä®à¬ 樨 ® ä ©«®¢®© á¨á⥬¥
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 58, ¯®¤äãªæ¨ï 0 - ¯à®ç¨â âì ä ©«/¯ ¯ªã. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 58
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 0 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ®¬¥à ¡«®ª ¤«ï ç⥨ï (áç¨â ï á 0)
|
||
* +8: dword: ç¨á«® ¡«®ª®¢ ¤«ï ç⥨ï
|
||
* +12 = +0xC: dword: 㪠§ â¥«ì ¡ãä¥à, ªã¤ ¡ã¤ãâ § ¯¨á ë ¤ ë¥
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¡ãä¥à ¤«ï à ¡®âë á¨á⥬ë
|
||
(4096 ¡ ©â)
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx = à §¬¥à ä ©« (¢ ¡ ©â å) ¨«¨
|
||
-1=0xffffffff, ¥á«¨ ä ©« ¥ ©¤¥
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> §¬¥à ¡«®ª - 512 ¡ ©â.
|
||
* <20>â äãªæ¨ï ãáâ ५ , ¤«ï ç⥨ï ä ©«®¢ ¨á¯®«ì§ã©â¥ ¯®¤äãªæ¨î 0
|
||
äãªæ¨¨ 70, ¤«ï çâ¥¨ï ¯ ¯®ª - ¯®¤äãªæ¨î 1 äãªæ¨¨ 70.
|
||
* ”ãªæ¨ï ¯®§¢®«ï¥â ç¨â âì ᮤ¥à¦¨¬®¥ ¯ ¯ª¨. ˆ§ ä ©«®¢ëå á¨á⥬
|
||
¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 FAT. ”®à¬ â FAT-¯ ¯ª¨ ®¯¨á ¢ «î¡®©
|
||
¤®ªã¬¥â 樨 ¯® FAT.
|
||
* <20> §¬¥à ¯ ¯ª¨ ®¯à¥¤¥«ï¥âáï ¯® à §¬¥àã 楯®çª¨ ª« áâ¥à®¢ ¢ FAT.
|
||
* …᫨ ä ©« ª®ç¨«áï à ìè¥, 祬 ¡ë« ¯à®ç¨â ¯®á«¥¤¨© § ¯à®è¥ë©
|
||
¡«®ª, â® äãªæ¨ï ¯à®ç¨â ¥â, ᪮«ìª® ᬮ¦¥â, ¯®á«¥ 祣® ¢¥àñâ
|
||
eax=6 (EOF).
|
||
* ”ãªæ¨ï ¯®§¢®«ï¥â ç¨â âì ª®à¥¢ë¥ ¯ ¯ª¨ /rd/1,/fd/x,/hd[n]/x, ®
|
||
¢ ¯¥à¢ëå ¤¢ãå á«ãç ïå ⥪ãé ï ॠ«¨§ æ¨ï ¥ á«¥¤ã¥â
|
||
ãáâ ®¢«¥ë¬ ¯à ¢¨« ¬:
|
||
¤«ï /rd/1:
|
||
* ¥á«¨ 㪠§ ® 0 ¡«®ª®¢ ¤«ï ç⥨ï, áç¨â ¥âáï,
|
||
çâ® § ¯à 訢 ¥âáï 1;
|
||
* ¥á«¨ § ¯à 訢 ¥âáï ¡®«ìè¥ 14 ¡«®ª®¢ ¨«¨ ç «ìë© ¡«®ª
|
||
¥ ¬¥ìè¥ 14-£®, â® ¢®§¢à é ¥âáï eax=5 (not found) ¨ ebx=-1;
|
||
* à §¬¥à ª®à¥¢®£® ª â «®£ à ¬¤¨áª = 14 ¡«®ª®¢,
|
||
0x1C00=7168 ¡ ©â; ® ¢®§¢à é ¥âáï ebx=0
|
||
(§ ¨áª«î票¥¬ á«ãç ï ¯à¥¤ë¤ã饣® ¯ãªâ );
|
||
* ª ª ¨ áâà ®, ¬®¦® ¯à®ç¨â âì 14-© ¡«®ª (â ¬, ¢®®¡é¥ £®¢®àï,
|
||
¬ãá®à - ¯®¬¨ î, áçñâ ¢¥¤ñâáï á 0);
|
||
* ¥á«¨ ¡ë« § ¯à®è¥ å®âï ¡ë ®¤¨ ¡«®ª á ®¬¥à®¬, ¥ ¬¥ì訬 14,
|
||
â® ¢®§¢à é ¥âáï eax=6(EOF); ¨ ç¥ eax=0.
|
||
„«ï /fd/x:
|
||
* ¥á«¨ ç «ìë© ¡«®ª ¥ ¬¥ìè¥ 14-£®, â® ¢®§¢à é ¥âáï
|
||
eax=5 (not found) ¨ ebx=0;
|
||
* ªáâ ⨠£®¢®àï, ä®à¬ â FAT12 ¤®¯ã᪠¥â ¤¨áª¥âë á à §¬¥à®¬
|
||
ª®à¥¢®£® ª â «®£ ¬¥ìè¥ ¨«¨ ¡®«ìè¥ 14 ¡«®ª®¢;
|
||
* ¯à®¢¥àª¨ ¤«¨ë ¥ ¤¥« ¥âáï;
|
||
* ¥á«¨ 㤠«®áì ¯à®ç¨â âì ¤ ë¥ á ¤¨áª¥âë, ¢®§¢à é ¥âáï
|
||
eax=0,ebx=0; ¢ ¯à®â¨¢®¬ á«ãç ¥ eax=10 (access denied), ebx=-1.
|
||
* ”ãªæ¨ï ®¡à ¡ âë¢ ¥â ç⥨¥ á¯¥æ¨ «ìëå ¯ ¯®ª /,/rd,/fd,/hd[n];
|
||
® १ã«ìâ â ¥ ᮮ⢥âáâ¢ã¥â ®¦¨¤ ¥¬®¬ã
|
||
(¯® à ¡®â¥ á ®¡ëç묨 ä ©« ¬¨/¯ ¯ª ¬¨), ¥ á«¥¤ã¥â ãáâ ®¢«¥ë¬
|
||
¯à ¢¨« ¬, ¬®¦¥â ¨§¬¥¨âìáï ¢ á«¥¤ãîé¨å ¢¥àá¨ïå ï¤à ¨ ¯®â®¬ã
|
||
¥ ®¯¨áë¢ ¥âáï. „«ï ¯®«ãç¥¨ï ¨ä®à¬ 樨 ®¡ ®¡®à㤮¢ ¨¨
|
||
¨á¯®«ì§ã©â¥ ¯®¤äãªæ¨î 11 äãªæ¨¨ 18 ¨«¨
|
||
ç¨â ©â¥ ᮮ⢥âáâ¢ãî騥 ¯ ¯ª¨ ¯®¤äãªæ¨¥© 1 äãªæ¨¨ 70.
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 58, ¯®¤äãªæ¨ï 8 - LBA-ç⥨¥ á ãáâனá⢠. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 58 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 8 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ®¬¥à ¡«®ª ¤«ï ç⥨ï (áç¨â ï á 0)
|
||
* +8: dword: ¨£®à¨àã¥âáï (ãáâ ¢«¨¢ ©â¥ ¢ 1)
|
||
* +12 = +0xC: dword: 㪠§ â¥«ì ¡ãä¥à, ªã¤ ¡ã¤ãâ § ¯¨á ë ¤ ë¥
|
||
(512 ¡ ©â)
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¡ãä¥à ¤«ï à ¡®âë á¨á⥬ë
|
||
(4096 ¡ ©â)
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ãáâனá⢠: ¥çã¢áâ¢¨â¥«ì® ª ॣ¨áâàã,
|
||
®¤® ¨§ /rd/1 = /RamDisk/1, /hd/n = /HardDisk/n,
|
||
1<=n<=4 - ®¬¥à ãáâனá⢠: 1=IDE0, ..., 4=IDE3.
|
||
‚¬¥áâ® æ¨äà ¤®¯ã᪠¥âáï, å®âï ¨ ¥ ४®¬¥¤ã¥âáï ¤«ï 㤮¡áâ¢
|
||
¯¥à¥å®¤ ¡ã¤ã騥 à áè¨à¥¨ï,
|
||
¨á¯®«ì§®¢ ¨¥ 'first','second','third','fourth'.
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ 㪠§ ® ¨¬ï ãáâனá⢠/hd/xxx, £¤¥ xxx ¥ 室¨âáï
|
||
¢ ᯨ᪥ ¢ëè¥:
|
||
* eax = ebx = 1
|
||
* ¥á«¨ 㪠§ ® ¥¯à ¢¨«ì®¥ ¨¬ï ãáâனáâ¢
|
||
(§ ¨áª«î票¥¬ ¯à¥¤ë¤ã饣® á«ãç ï):
|
||
* eax = 5
|
||
* ebx ¥ ¬¥ï¥âáï
|
||
* ¥á«¨ LBA-¤®áâ㯠§ ¯à¥éñ ¯®¤äãªæ¨¥© 11 äãªæ¨¨ 21:
|
||
* eax = 2
|
||
* ebx à §àãè ¥âáï
|
||
* ¤«ï à ¬¤¨áª : ¯®¯ë⪠çâ¥¨ï ¡«®ª § ¯à¥¤¥« ¬¨ à ¬¤¨áª
|
||
(18*2*80 ¡«®ª®¢) ¯à¨¢®¤¨â ª
|
||
* eax = 3
|
||
* ebx = 0
|
||
* ¯à¨ ãᯥ讬 ç⥨¨:
|
||
* eax = ebx = 0
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> §¬¥à ¡«®ª - 512 ¡ ©â; ç¨â ¥âáï ®¤¨ ¡«®ª.
|
||
* <20>¥ á«¥¤ã¥â ¯®« £ âìáï ¢®§¢à é ¥¬®¥ § 票¥,
|
||
®® ¬®¦¥â ¨§¬¥¨âìáï ¢ á«¥¤ãîé¨å ¢¥àá¨ïå.
|
||
* ’ॡã¥âáï, çâ®¡ë ¡ë« à §à¥èñ LBA-¤®áâ㯠ª ãáâனá⢠¬
|
||
¯®¤äãªæ¨¥© 11 äãªæ¨¨ 21. “§ âì íâ® ¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¥© 11 äãªæ¨¨ 26.
|
||
* LBA-ç⥨¥ ¤¨áª¥âë ¥ ¯®¤¤¥à¦¨¢ ¥âáï.
|
||
* ”ãªæ¨ï áç¨âë¢ ¥â ¤ ë¥ ä¨§¨ç¥áª®£® ¦ñá⪮£® ¤¨áª ;
|
||
¥á«¨ ¯® ª ª¨¬-â® ¯à¨ç¨ ¬ ã¦ë ¤ ë¥ ª®ªà¥â®£® à §¤¥« ,
|
||
¯à¨¤ñâáï ®¯à¥¤¥«ïâì ç «ìë© á¥ªâ®à í⮣® à §¤¥«
|
||
(«¨¡® ¯àï¬ãî ç¥à¥§ MBR, «¨¡® ¨§ à áè¨à¥®© áâàãªâãàë,
|
||
¢®§¢à é ¥¬®© ⮩ ¦¥ ¯®¤äãªæ¨¥© 11 äãªæ¨¨ 18).
|
||
* ”ãªæ¨ï ¥ ¯à®¢¥àï¥â ª®¤ ®è¨¡ª¨ ¦ñá⪮£® ¤¨áª , â ª çâ® § ¯à®á
|
||
¥áãé¥áâ¢ãî饣® ᥪâ®à ¢áñ à ¢® çâ®-â® ¯à®ç¨â ¥â
|
||
(¢¥à®ï⥥ ¢á¥£®, 㫨, ® íâ® ®¯à¥¤¥«ï¥âáï ãáâனá⢮¬) ¨
|
||
íâ® ¡ã¤¥â áç¨â âìáï ãᯥ宬 (eax=0).
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 58, ¯®¤äãªæ¨ï 15 - ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ä ©«®¢®© á¨á⥬¥.
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 58 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 15 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ¨£®à¨àã¥âáï
|
||
* +8: dword: ¨£®à¨àã¥âáï
|
||
* +12 = +0xC: dword: ¨£®à¨àã¥âáï
|
||
* +16 = +0x10: dword: ¨£®à¨àã¥âáï
|
||
* +20 = +0x14: (¯à®¢¥àï¥âáï ⮫쪮 ¢â®à®© ᨬ¢®«, áà §ã ¯®á«¥ á«íè )
|
||
/rd=/RAMDISK ¨«¨ /hd=/HARDDISK
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¥á«¨ ¢â®à®© ᨬ¢®« ¥ ¯à¨ ¤«¥¦¨â ¬®¦¥áâ¢ã {'r','R','h','H'}:
|
||
* eax = 3
|
||
* ebx = ecx = dword [fileinfo] = 0
|
||
* ¤«ï à ¬¤¨áª :
|
||
* eax = 0 (ãᯥå)
|
||
* ebx = ®¡é¥¥ ç¨á«® ª« áâ¥à®¢ = 2847
|
||
* ecx = ç¨á«® ᢮¡®¤ëå ª« áâ¥à®¢
|
||
* dword [fileinfo] = à §¬¥à ª« áâ¥à = 512
|
||
* ¤«ï ¦ñá⪮£® ¤¨áª : ¡ § ¨ à §¤¥« ®¯à¥¤¥«ïîâáï ¯®¤äãªæ¨ï¬¨ 7 ¨ 8
|
||
äãªæ¨¨ 21:
|
||
* eax = 0 (ãᯥå)
|
||
* ebx = ®¡é¥¥ ç¨á«® ª« áâ¥à®¢
|
||
* ecx = ç¨á«® ᢮¡®¤ëå ª« áâ¥à®¢
|
||
* dword [fileinfo] = à §¬¥à ª« áâ¥à (¢ ¡ ©â å)
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>¥ 㤨¢«ï©â¥áì áâà ®¬ã à ᯮ«®¦¥¨î 4-£® ¢®§¢à é ¥¬®£®
|
||
¯ à ¬¥âà - ª®£¤ ¯¨á «áï íâ®â ª®¤, ¯à¨ á¨á⥬ëå ¢ë§®¢ å
|
||
¯à¨«®¦¥¨î ¢®§¢à é «¨áì ⮫쪮 ॣ¨áâàë eax,ebx,ecx (¨§
|
||
pushad-áâàãªâãàë, ¯¥à¥¤ î饩áï ª ª à£ã¬¥â á¨á⥬®© äãªæ¨¨).
|
||
’¥¯¥àì íâ® ¨á¯à ¢«¥®, â ª çâ®, ¢®§¬®¦®, ¨¬¥¥â á¬ëá« ¢®§¢à é âì
|
||
à §¬¥à ª« áâ¥à ¢ edx, ¯®ª íâã äãªæ¨î ¥ ç «¨ ¨á¯®«ì§®¢ âì.
|
||
* ‚®®¡é¥-â® ¥éñ áãé¥áâ¢ã¥â ¯®¤äãªæ¨ï 11 äãªæ¨¨ 18, ¢®§¢à é îé ï
|
||
¨ä®à¬ æ¨î ® ä ©«®¢®© á¨á⥬¥. <20>® à áè¨à¥®© â ¡«¨æ¥ ¤¨áª®¢®©
|
||
¯®¤á¨áâ¥¬ë ¬®¦® ®¯à¥¤¥«¨âì à §¬¥à ª« áâ¥à (â ¬ ® åà ¨âáï
|
||
¢ ᥪâ®à å) ¨ ®¡é¥¥ ç¨á«® ª« áâ¥à®¢ ¤«ï ¦ñáâª¨å ¤¨áª®¢.
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 60 - Inter Process Communication (IPC). ==========
|
||
======================================================================
|
||
IPC ¯à¨¬¥ï¥âáï ¤«ï ¯®áë«®ª á®®¡é¥¨© ®â ®¤®£® ¯à®æ¥áá /¯®â®ª
|
||
¤à㣮¬ã. <20>ਠí⮬ á«¥¤ã¥â ¯à¥¤¢ à¨â¥«ì® ¤®£®¢®à¨âìáï ® ⮬, ª ª
|
||
¨â¥à¯à¥â¨à®¢ âì ª®ªà¥â®¥ á®®¡é¥¨¥.
|
||
|
||
-------- <20>®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ®¡« áâì ¤«ï ¯®«ã票ï IPC ---------
|
||
‚ë§ë¢ ¥âáï ¯à®æ¥áᮬ-¯à¨ñ¬¨ª®¬.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 60 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à
|
||
* edx = à §¬¥à ¡ãä¥à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ¢á¥£¤ ãᯥè®
|
||
”®à¬ â IPC-¡ãä¥à :
|
||
* +0: dword: ¥á«¨ §¤¥áì ¥ 0, â® ¡ãä¥à áç¨â ¥âáï § ¡«®ª¨à®¢ ë¬;
|
||
¡«®ª¨àã©â¥/à §¡«®ª¨àã©â¥ ¡ãä¥à, ª®£¤ ¢ë á ¨¬ ªâ¨¢® à ¡®â ¥â¥
|
||
¨ ¢ ¬ ¤®, çâ®¡ë ¨§¢¥ ¥ ¨§¬¥ï«¨áì ¤ ë¥ ¡ãä¥à
|
||
(¥ ¯®áâ㯠«¨ ®¢ë¥ á®®¡é¥¨ï)
|
||
* +4: dword: § ïâ® ¬¥áâ ¢ ¡ãä¥à¥ (¢ ¡ ©â å)
|
||
* +8: ¯¥à¢®¥ á®®¡é¥¨¥
|
||
* +8+n: ¢â®à®¥ á®®¡é¥¨¥
|
||
* ...
|
||
”®à¬ â á®®¡é¥¨ï:
|
||
* +0: dword: PID ¯à®æ¥áá /¯®â®ª , ¯®á« ¢è¥£® á®®¡é¥¨¥
|
||
* +4: dword: ¤«¨ á®®¡é¥¨ï (¥ áç¨â ï íâ®â § £®«®¢®ª)
|
||
* +8: n*byte: ¤ ë¥ á®®¡é¥¨ï
|
||
|
||
--------------- <20>®¤äãªæ¨ï 2 - ¯®á« âì á®®¡é¥¨¥ IPC. ----------------
|
||
‚ë§ë¢ ¥âáï ¯à®æ¥áᮬ-¨¨æ¨ â®à®¬.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 60 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = PID ¯à¨ñ¬¨ª
|
||
* edx = 㪠§ â¥«ì ¤ ë¥ á®®¡é¥¨ï
|
||
* esi = ¤«¨ á®®¡é¥¨ï (¢ ¡ ©â å)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¯à¨ñ¬¨ª ¥ ®¯à¥¤¥«¨« ¡ãä¥à ¤«ï IPC-á®®¡é¥¨©
|
||
(¬®¦¥â ¡ëâì, ¥éñ ¥ ãᯥ«, ¬®¦¥â ¡ëâì, íâ® ¥ â®â ¯®â®ª,
|
||
ª®â®àë© ã¦¥)
|
||
* eax = 2 - ¯à¨ñ¬¨ª § ¡«®ª¨à®¢ « IPC-¡ãä¥à;
|
||
¯®¯à®¡ã©â¥ ¥¬®£® ¯®¤®¦¤ âì
|
||
* eax = 3 - ¯¥à¥¯®«¥¨¥ IPC-¡ãä¥à ¯à¨ñ¬¨ª
|
||
* eax = 4 - ¯à®æ¥áá /¯®â®ª á â ª¨¬ PID ¥ áãé¥áâ¢ã¥â
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘¨á⥬ áà §ã ¯®á«¥ § ¯¨á¨ IPC-á®®¡é¥¨ï ¢ ¡ãä¥à ¯®áë« ¥â
|
||
¯®â®ªã-¯à¨ñ¬¨ªã ᮡë⨥ á ª®¤®¬ 7 (á¬. ª®¤ë ᮡë⨩).
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 61 - ¯®«ãç¨âì ¯ à ¬¥âàë ¤«ï ¯àאַ£® ¤®áâ㯠ª £à 䨪¥. ===
|
||
======================================================================
|
||
<EFBFBD>à®£à ¬¬¥ ¤®áâã¯ë ¤ ë¥ £à ä¨ç¥áª®£® íªà (®¡« áâì ¯ ¬ïâ¨, ª®â®à ï
|
||
ᮡá⢥® ¨ ®â®¡à ¦ ¥â ᮤ¥à¦¨¬®¥ íªà ) ¯àï¬ãî ¡¥§ ¢ë§®¢®¢
|
||
á¨á⥬ëå äãªæ¨© ç¥à¥§ ᥫ¥ªâ®à gs:
|
||
mov eax, [gs:0]
|
||
¯®¬¥áâ¨â ¢ eax ¯¥à¢ë© dword ¡ãä¥à , ᮤ¥à¦ 騩 ¨ä®à¬ æ¨î ® 梥â¥
|
||
«¥¢®© ¢¥à奩 â®çª¨ (¨, ¢®§¬®¦®, 梥⠥᪮«ìª¨å á«¥¤ãîé¨å).
|
||
mov [gs:0], eax
|
||
¯à¨ à ¡®â¥ ¢ ०¨¬ å VESA c LFB
|
||
ãáâ ®¢¨â 梥⠫¥¢®© ¢¥à奩 â®çª¨
|
||
(¨ ¢®§¬®¦®, 梥⠥᪮«ìª¨å á«¥¤ãîé¨å).
|
||
„«ï ¨â¥à¯à¥â 樨 ¤ ëå £à ä¨ç¥áª®£® íªà âॡã¥âáï § ¨¥
|
||
¥ª®â®àëå ¯ à ¬¥â஢, ª®â®àë¥ ¢®§¢à é îâáï í⮩ äãªæ¨¥©.
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> à ¬¥âàë £à 䨪¨ ®ç¥ì ।ª® ¬¥ïîâáï ¯à¨ à ¡®â¥ á¨á⥬ë,
|
||
¨¬¥®, ⮫쪮 ¢ á«ãç ïå, ª®£¤ ¯®«ì§®¢ ⥫ì à ¡®â ¥â
|
||
á ¯à®£à ¬¬®© VRR.
|
||
* <20>ਠ¨§¬¥¥¨¨ ¢¨¤¥®à¥¦¨¬ á¨á⥬ ¯¥à¥à¨á®¢ë¢ ¥â ¢á¥ ®ª
|
||
(ᮡë⨥ á ª®¤®¬ 1) ¨ ¯¥à¥à¨á®¢ë¢ ¥â ä® (ᮡë⨥ 5).
|
||
<20>⨠¦¥ ᮡëâ¨ï ¯à®¨á室ïâ ¨ ¢ ¤à㣨å á«ãç ïå,
|
||
ª®â®àë¥ ¢áâà¥ç îâáï § ç¨â¥«ì® ç é¥, 祬 ¨§¬¥¥¨¥ ¢¨¤¥®à¥¦¨¬ .
|
||
* <20>à¨ à ¡®â¥ ¢ ¢¨¤¥®à¥¦¨¬ å á LFB ᥫ¥ªâ®à gs 㪠§ë¢ ¥â
|
||
ᮡá⢥® LFB, â ª çâ® ç⥨¥/§ ¯¨áì ¯® gs ¯à¨¢®¤ïâ
|
||
¥¯®á।á⢥® ª ¨§¬¥¥¨î ᮤ¥à¦¨¬®£® íªà . <20>à¨ à ¡®â¥ ¢
|
||
¢¨¤¥®à¥¦¨¬ å ¡¥§ LFB gs 㪠§ë¢ ¥â ¥ª®â®àãî ®¡« áâì ¤ ëå
|
||
ï¤à , ¯à¨çñ¬ ¢á¥ äãªæ¨¨ ¢ë¢®¤ íªà ¤®¡à®á®¢¥áâ® ¢ë¯®«ïîâ
|
||
¤¢®©ãî à ¡®âã ¯® § ¯¨á¨ ¥¯®á।á⢥® íªà ¨ ¯® § ¯¨á¨
|
||
¢ íâ®â ¡ãä¥à. ‚ १ã«ìâ ⥠¯à¨ ç⥨¨ ᮤ¥à¦¨¬®£® í⮣® ¡ãä¥à
|
||
१ã«ìâ âë ᮮ⢥âáâ¢ãîâ ᮤ¥à¦¨¬®¬ã íªà
|
||
(á, ¢®®¡é¥ £®¢®àï, ¡®«ì訬 æ¢¥â®¢ë¬ à §à¥è¥¨¥¬),
|
||
§ ¯¨áì ¨£®à¨àã¥âáï.
|
||
ˆáª«î票¥¬ ï¥âáï ०¨¬ 320*200, ¤«ï ª®â®à®£® ¢ £« ¢®¬ 横«¥
|
||
á¨á⥬®£® ¯®â®ª ¢ë¯®«ï¥âáï ®¡®¢«¥¨¥ íªà ¢ ᮮ⢥âá⢨¨
|
||
á ¤¢¨¦¥¨ï¬¨ ªãàá®à ¬ëè¨.
|
||
|
||
------------------------- <20> §à¥è¥¨¥ íªà --------------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 61 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = [à §à¥è¥¨¥ ¯® ®á¨ x]*65536 + [à §à¥è¥¨¥ ¯® ®á¨ y]
|
||
‡ ¬¥ç ¨ï:
|
||
* Œ®¦® ¨á¯®«ì§®¢ âì äãªæ¨î 14 á ãçñ⮬ ⮣®, çâ® ® ¢®§¢à é ¥â
|
||
à §¬¥àë 1 ¬¥ìè¥. <20>â® ¯®«®áâìî íª¢¨¢ «¥âë© á¯®á®¡.
|
||
|
||
------------------------ —¨á«® ¡¨â ¯¨ªá¥«ì ------------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 61 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ç¨á«® ¡¨â ¯¨ªá¥«ì (24 ¨«¨ 32)
|
||
|
||
------------------------ —¨á«® ¡ ©â áâபã ------------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 61 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ç¨á«® ¡ ©â, ª®â®à®¥ § ¨¬ ¥â ®¤ áâப à §¢ñà⪨
|
||
(£®à¨§®â «ì ï «¨¨ï íªà ¥)
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì ¢¥àá¨î PCI-¨â¥à䥩á . =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ; ¨ ç¥
|
||
* ah.al = ¢¥àá¨ï PCI-¨â¥à䥩á (ah=¢¥àá¨ï, al=¯®¤¢¥àá¨ï)
|
||
* áâ à襥 á«®¢® eax ®¡ã«¥®
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
||
* …᫨ PCI BIOS ¥ ¯®¤¤¥à¦¨¢ ¥âáï, â® § 票¥ ax ¥®¯à¥¤¥«¥®.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì ®¬¥à ¯®á«¥¤¥© PCI-è¨ë. ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ; ¨ ç¥
|
||
* al = ®¬¥à ¯®á«¥¤¥© PCI-è¨ë; ®á⠢訥áï ¡ ©âë eax à §àãè îâáï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
||
* …᫨ PCI BIOS ¥ ¯®¤¤¥à¦¨¢ ¥âáï, â® § 票¥ al ¥®¯à¥¤¥«¥®.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 2 ======================
|
||
== <20>®«ãç¨âì ¬¥å ¨§¬ ®¡à é¥¨ï ª ª®ä¨£ãà 樮®¬ã ¯à®áâà áâ¢ã PCI. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ; ¨ ç¥
|
||
* al = ¬¥å ¨§¬ (1 ¨«¨ 2); ¯à®ç¨¥ ¡ ©âë eax à §àãè îâáï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
||
* Œ¥å ¨§¬ ®¡à é¥¨ï ¢ë¡¨à ¥âáï ¢ ᮮ⢥âá⢨¨
|
||
á å à ªâ¥à¨á⨪ ¬¨ ®¡®à㤮¢ ¨ï.
|
||
* <20>®¤äãªæ¨¨ çâ¥¨ï ¨ § ¯¨á¨ ¢â®¬ â¨ç¥áª¨ à ¡®â îâ
|
||
á ¢ë¡à ë¬ ¬¥å ¨§¬®¬.
|
||
|
||
======================================================================
|
||
======== ”ãªæ¨ï 62, ¯®¤äãªæ¨¨ 4,5,6 - ¯à®ç¨â âì PCI-ॣ¨áâà. =======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 4 - ç¨â âì ¡ ©â
|
||
* bl = 5 - ç¨â âì á«®¢®
|
||
* bl = 6 - ç¨â âì ¤¢®©®¥ á«®¢®
|
||
* bh = ®¬¥à PCI-è¨ë
|
||
* ch = dddddfff, £¤¥ ddddd = ®¬¥à ãáâனá⢠訥,
|
||
fff = ®¬¥à äãªæ¨¨ ãáâனáâ¢
|
||
* cl = ®¬¥à ॣ¨áâà (¤®«¦¥ ¡ëâì çñâë¬ ¤«ï bl=5,
|
||
¤¥«¨âìáï 4 ¤«ï bl=6)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ®è¨¡ª (§ ¯à¥éñ ¤®áâ㯠ª PCI ¨«¨
|
||
¥¯®¤¤¥à¦¨¢ ¥¬ë¥ ¯ à ¬¥âàë); ¨ ç¥
|
||
* al/ax/eax (¢ § ¢¨á¨¬®á⨠®â § ¯à®è¥®£® à §¬¥à ) ᮤ¥à¦¨â ¤ ë¥;
|
||
®áâ ¢è ïáï ç áâì ॣ¨áâà eax à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
||
* Œ¥å ¨§¬ ¤®áâ㯠2 ¯®¤¤¥à¦¨¢ ¥â ⮫쪮 16 ãáâனá⢠訥 ¨
|
||
¨£®à¨àã¥â ®¬¥à äãªæ¨¨. <20>®«ãç¨âì ¬¥å ¨§¬ ¤®áâ㯠¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 2.
|
||
* <20>¥ª®â®àë¥ à¥£¨áâàë áâ ¤ àâë ¨ áãé¥áâ¢ãîâ ¤«ï ¢á¥å ãáâனáâ¢,
|
||
¥ª®â®àë¥ ®¯à¥¤¥«ïîâáï ª®ªà¥âë¬ ãáâனá⢮¬. ‘¯¨á®ª ¯¥à¢ëå
|
||
¢å®¤¨â, ¯à¨¬¥à, ¢ ¨§¢¥áâë© Interrupt List by Ralf Brown
|
||
(http://www.pobox.com/~ralf/files.html,
|
||
ftp://ftp.cs.cmu.edu/afs/cs/user/ralf/pub/);
|
||
ᯨ᮪ ¢â®àëå ¤®«¦¥ ¡ëâì 㪠§ ¢ ¤®ªã¬¥â 樨 ¯® ãáâனáâ¢ã.
|
||
|
||
======================================================================
|
||
======= ”ãªæ¨ï 62, ¯®¤äãªæ¨¨ 8,9,10 - § ¯¨á âì ¢ PCI-ॣ¨áâà. ======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 8 - ¯¨á âì ¡ ©â
|
||
* bl = 9 - ¯¨á âì á«®¢®
|
||
* bl = 10 - ¯¨á âì ¤¢®©®¥ á«®¢®
|
||
* bh = ®¬¥à PCI-è¨ë
|
||
* ch = dddddfff, £¤¥ ddddd = ®¬¥à ãáâனá⢠訥,
|
||
fff = ®¬¥à äãªæ¨¨ ãáâனáâ¢
|
||
* cl = ®¬¥à ॣ¨áâà (¤®«¦¥ ¡ëâì çñâë¬ ¤«ï bl=9,
|
||
¤¥«¨âìáï 4 ¤«ï bl=10)
|
||
* dl/dx/edx (¢ § ¢¨á¨¬®á⨠®â § ¯à®è¥®£® à §¬¥à ) ᮤ¥à¦¨â
|
||
¤ ë¥ ¤«ï § ¯¨á¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ®è¨¡ª (§ ¯à¥éñ ¤®áâ㯠ª PCI ¨«¨
|
||
¥¯®¤¤¥à¦¨¢ ¥¬ë¥ ¯ à ¬¥âàë)
|
||
* eax = 0 - ãᯥè®
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
||
* Œ¥å ¨§¬ ¤®áâ㯠2 ¯®¤¤¥à¦¨¢ ¥â ⮫쪮 16 ãáâனá⢠訥 ¨
|
||
¨£®à¨àã¥â ®¬¥à äãªæ¨¨. <20>®«ãç¨âì ¬¥å ¨§¬ ¤®áâ㯠¬®¦® ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 2.
|
||
* <20>¥ª®â®àë¥ à¥£¨áâàë áâ ¤ àâë ¨ áãé¥áâ¢ãîâ ¤«ï ¢á¥å ãáâனáâ¢,
|
||
¥ª®â®àë¥ ®¯à¥¤¥«ïîâáï ª®ªà¥âë¬ ãáâனá⢮¬. ‘¯¨á®ª ¯¥à¢ëå
|
||
¢å®¤¨â, ¯à¨¬¥à, ¢ ¨§¢¥áâë© Interrupt List by Ralf Brown;
|
||
ᯨ᮪ ¢â®àëå ¤®«¦¥ ¡ëâì 㪠§ ¢ ¤®ªã¬¥â 樨 ¯® ãáâனáâ¢ã.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 11 =====================
|
||
== ˆ¨æ¨ «¨§¨à®¢ âì ¯®«ì§®¢ ⥫ì᪨© ‚/‚ á ®â®¡à ¦¥¨¥¬ ¯ ¬ïâì ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* cx = ¤à¥á PCI-ãáâனáâ¢
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ;
|
||
* eax = -2 - ¤®áâ㯠ª MMIO-¡«®ª ¬ ãáâனá⢠¥ à §à¥èñ;
|
||
* eax = -3 - ®è¨¡ª ««®ª 樨 ¯®«ì§®¢ ⥫ì᪮© ¤¨. ¯ ¬ïâ¨; ¨ ç¥
|
||
* eax = à §¬¥à ¤®áâ㯮© ¤¨ ¬¨ç¥áª®© ¯ ¬ïâ¨.
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
||
* ¤à¥á PCI-ãáâனá⢠¤®«¦¥ ᮢ¯ ¤ âì á á¨á⥬®© ¯¥à¥¬¥®©
|
||
mmio_pci_addr
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 12 =====================
|
||
== ‚뤥«¨âì ¤¨ ¯ §® «¨¥©ëå ¤à¥á®¢ ¤«ï ¯®«ì§®¢ ⥫ì᪮£® MMIO ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* bh = ®¬¥à BAR-ॣ¨áâà ¢ ª®ä¨£ãà 樮®© §®¥ PCI
|
||
* ecx = à §¬¥à MMIO-¡«®ª (¢ ¡ ©â å)
|
||
* edx = ᬥ饨¥ ®â®á¨â¥«ì® ç « MMIO-¡«®ª (¢ 4K-áâà ¨æ å!)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ;
|
||
* eax = -2 - ¥¢¥àë© ®¬¥à BAR-ॣ¨áâà ;
|
||
* eax = -3 - BAR ¥ ᮤ¥à¦¨â ¤à¥á IO;
|
||
* eax = -4 - BAR ¤à¥áã¥â ¯®àâë IO;
|
||
* eax = -5 - ®è¨¡ª ««®ª 樨; ¨ ç¥
|
||
* eax = ç «ìë© ¤à¥á MMIO ¢ ¤à¥á®¬ ¯à®áâà á⢥ ¯à¨«®¦¥¨ï.
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
||
* €¤à¥á PCI-ãáâனá⢠§ ¤ ¥âáï á¨á⥬®© ¯¥à¥¬¥®© mmio_pci_addr.
|
||
* <20>।®áâ ¢«¥ë© ¤¨ ¯ §® «¨¥©ëå ¤à¥á®¢ ¤®«¦¥ ®á¢®¡®¦¤ âìáï
|
||
¯®á।á⢮¬ ¢ë§®¢ äãªæ¨¨ 62:13
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 13 =====================
|
||
== Žá¢®¡®¤¨âì ¤¨ ¯ §® «¨¥©ëå ¤à¥á®¢ ¯®«ì§®¢ ⥫ì᪮£® MMIO ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 62 - ®¬¥à äãªæ¨¨
|
||
* bl = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ç «ìë© ¤à¥á ®á¢®¡®¦¤ ¥¬®£® MMIO-¡«®ª ¢ ¤à¥á®¬
|
||
¯à®áâà á⢥ ¯à¨«®¦¥¨ï
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 1 - ¡«®ª ãá¯¥è® ®á¢®¡®¦¤¥;
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® ¯à¨«®¦¥¨î ¤®«¦¥ ¡ëâì ¢ë¤¥«¥ uMMIO-¡«®ª (fn62:12)
|
||
|
||
======================================================================
|
||
================ ”ãªæ¨ï 63 - à ¡®â á ¤®áª®© ®â« ¤ª¨. ===============
|
||
======================================================================
|
||
„®áª ®â« ¤ª¨ ¯à¥¤áâ ¢«ï¥â ᮡ®© á¨áâ¥¬ë© ¡ãä¥à ( 4096 ¡ ©â),
|
||
¢ ª®â®àë© «î¡ ï ¯à®£à ¬¬ ¬®¦¥â § ¯¨á âì (¢®®¡é¥ £®¢®àï, ¯à®¨§¢®«ìë¥)
|
||
¤ ë¥ ¨ ¨§ ª®â®à®£® ¤àã£ ï ¯à®£à ¬¬ ¬®¦¥â í⨠¤ ë¥ ¯à®ç¨â âì.
|
||
…áâì ᮣ« 襨¥, ¢ ᮮ⢥âá⢨¨ á ª®â®àë¬ § ¯¨áë¢ ¥¬ë¥ ¤ ë¥ -
|
||
⥪áâ®¢ë¥ áâப¨, ¨â¥à¯à¥â¨àã¥¬ë¥ ª ª ®â« ¤®çë¥ á®®¡é¥¨ï ® 室¥
|
||
¢ë¯®«¥¨ï ¯à®£à ¬¬ë. Ÿ¤à® ¢ ®¯à¥¤¥«ñëå á¨âã æ¨ïå â ª¦¥ § ¯¨áë¢ ¥â
|
||
¤®áªã ®â« ¤ª¨ ᢥ¤¥¨ï ® ¢ë¯®«¥¨¨ ¥ª®â®àëå äãªæ¨©;
|
||
¯® ᮣ« 襨î á®®¡é¥¨ï ï¤à ç¨ îâáï á ¯à¥ä¨ªá "K : ".
|
||
„«ï ¯à®á¬®âà ¤®áª¨ ®â« ¤ª¨ ᮧ¤ ® ¯à¨«®¦¥¨¥ board,
|
||
ª®â®à®¥ áç¨âë¢ ¥â ¤ ë¥ ¨§ ¡ãä¥à ¨ ®â®¡à ¦ ¥â ¨å ¢ ᢮ñ¬ ®ª¥. board
|
||
¯®¨¬ ¥â ¯®á«¥¤®¢ ⥫ì®áâì ª®¤®¢ 13,10 ª ª ¯¥à¥å®¤ ®¢ãî áâபã.
|
||
‘¨¬¢®« á ã«¥¢ë¬ ª®¤®¬ ¢ ª®æ¥ áâப¨ ¥ ®¡ï§ ⥫¥, ® ¨ ¥ ¬¥è ¥â.
|
||
‚ á¢ï§¨ á ¯®ï¢«¥¨¥¬ ®â« ¤ç¨ª 楮áâì ¤®áª¨ ®â« ¤ª¨ ¥áª®«ìª®
|
||
ᨧ¨« áì, ¯®áª®«ìªã ®â« ¤ç¨ª ¯®§¢®«ï¥â ¯®«®áâìî ª®â஫¨à®¢ âì 室
|
||
¢ë¯®«¥¨ï ¯à®£à ¬¬ë, ¯à¨çñ¬ ¤«ï í⮣® ¥ âॡã¥âáï ¨ª ª¨å ãᨫ¨©
|
||
á® áâ®à®ë á ¬®© ¯à®£à ¬¬ë. ’¥¬ ¥ ¬¥¥¥ ¢® ¬®£¨å á«ãç ïå
|
||
¤®áª ®â« ¤ª¨ ¯à®¤®«¦ ¥â ®áâ ¢ âìáï ¯®«¥§®©.
|
||
|
||
---------------------------- ‡ ¯¨áì ¡ ©â ----------------------------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 63 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* cl = ¡ ©â ¤ ëå
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20> ©â § ¯¨áë¢ ¥âáï ¢ ¡ãä¥à. „«¨ ¡ãä¥à - 512 ¡ ©â.
|
||
<20>ਠ¯¥à¥¯®«¥¨¨ ¡ãä¥à ¢á¥ ¯®«ãç¥ë¥ ¤ ë¥ â¥àïîâáï
|
||
¨ § ¯®«¥¨¥ ç¨ ¥âáï ᮢ á ã«ï.
|
||
* „«ï ¢ë¢®¤ ¤®áªã ®â« ¤ª¨ ¡®«¥¥ á«®¦ëå ®¡ê¥ªâ®¢ (áâப, ç¨á¥«)
|
||
¤®áâ â®ç® í⮩ äãªæ¨¨, ¢ë§ë¢ ¥¬®© ¢ 横«¥. Œ®¦® ¥ ¯¨á âì
|
||
¢àãçãî ᮮ⢥âáâ¢ãî騩 ª®¤, ¢®á¯®«ì§®¢ âìáï ä ©«®¬ debug.inc,
|
||
¢å®¤ï騬 ¢ ¤¨áâਡã⨢.
|
||
|
||
---------------------------- —⥨¥ ¡ ©â ----------------------------
|
||
‡ ¡¨à ¥â ¡ ©â ¨§ ¡ãä¥à .
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 63 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ebx = 0 - ¡ãä¥à ¯ãáâ
|
||
* eax = ¡ ©â, ebx = 1 - ¡ ©â ãá¯¥è® ¯à®ç¨â
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 64 - ¯¥à¥à á¯à¥¤¥«¨âì ¯ ¬ïâì ¯à¨«®¦¥¨ï. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 64 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ¥¤¨á⢥ ï ¯®¤äãªæ¨ï
|
||
* ecx = ®¢ë© à §¬¥à ¯ ¬ïâ¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¥¤®áâ â®ç® ¯ ¬ïâ¨
|
||
‡ ¬¥ç ¨ï:
|
||
* …áâì ¤à㣮© ᯮᮡ ¢ë¤¥«¥¨ï/®á¢®¡®¦¤¥¨ï ¤¨ ¬¨ç¥áª®© ¯ ¬ï⨠-
|
||
¯®¤äãªæ¨¨ 11, 12, 13 äãªæ¨¨ 68.
|
||
* ”ãªæ¨ï ¥ ¬®¦¥â ¨á¯®«ì§®¢ âìáï ᮢ¬¥áâ® á 68.11, 68.12, 68.13.
|
||
‚맮¢ äãªæ¨¨ ¡ã¤¥â ¨£®à¨à®¢ âìáï, ¥á«¨ ¯à¨«®¦¥¨¥ ᮧ¤ áâ
|
||
«®ª «ìãî ªãç㠢맮¢®¬ 68.11.
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 65 - ¢ë¢¥á⨠¨§®¡à ¦¥¨¥ á ¯ «¨âன ¢ ®ª®. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 65 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨§®¡à ¦¥¨¥
|
||
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
|
||
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
|
||
* esi = ç¨á«® ¡¨â ¯¨ªá¥«ì, ¤®«¦® ¡ëâì 1,2,4,8,15,16,24 ¨«¨ 32
|
||
* edi = 㪠§ â¥«ì ¯ «¨âàã (2 ¢ á⥯¥¨ esi 梥⮢ 0x00RRGGBB);
|
||
¨£®à¨àã¥âáï ¯à¨ esi > 8
|
||
* ebp = ᬥ饨¥ ¤ ëå ª ¦¤®© á«¥¤ãî饩 áâப¨ ¨§®¡à ¦¥¨ï
|
||
®â®á¨â¥«ì® ¯à¥¤ë¤ã饩
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* Š®®à¤¨ âë ¨§®¡à ¦¥¨ï - íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫
|
||
¨§®¡à ¦¥¨ï ®â®á¨â¥«ì® ®ª .
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 1 ¡¨â®¬ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï,
|
||
§ ¨áª«î票¥¬, ¡ëâì ¬®¦¥â, ¯®á«¥¤¨å ¡ ©â®¢ áâப, ᮤ¥à¦¨â
|
||
¨ä®à¬ æ¨î ® 梥⥠8 ¯¨ªá¥«¥©, áâ à訩 ¡¨â ᮮ⢥âáâ¢ã¥â ¯¥à¢®¬ã
|
||
¯¨ªá¥«î.
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 2 ¡¨â ¬¨ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï,
|
||
§ ¨áª«î票¥¬, ¡ëâì ¬®¦¥â, ¯®á«¥¤¨å ¡ ©â®¢ áâப, ᮤ¥à¦¨â
|
||
¨ä®à¬ æ¨î ® 梥⥠4 ¯¨ªá¥«¥©, áâ à訥 ¤¢ ¡¨â ᮮ⢥âáâ¢ãîâ
|
||
¯¥à¢®¬ã ¯¨ªá¥«î.
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 4 ¡¨â ¬¨ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï,
|
||
§ ¨áª«î票¥¬ ¯®á«¥¤¨å ¡ ©â®¢ áâப (¥á«¨ è¨à¨ ¨§®¡à ¦¥¨ï
|
||
¥çñâ ), ᮤ¥à¦¨â ¨ä®à¬ æ¨î ® 梥⥠2 ¯¨ªá¥«¥©, áâ àè ï â¥âà ¤
|
||
ᮮ⢥âáâ¢ã¥â ¯¥à¢®¬ã ¯¨ªá¥«î.
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 8 ¡¨â ¬¨ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï
|
||
à áᬠâਢ ¥âáï ª ª ¨¤¥ªá ¢ ¯ «¨âà¥.
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 15 ¡¨â ¬¨ ¯¨ªá¥«ì: 梥⠪ ¦¤®£® ¯¨ªá¥«ï
|
||
ª®¤¨àã¥âáï ª ª (¢ ¡¨â®¢®¬ ¯à¥¤áâ ¢«¥¨¨) 0RRRRRGGGGGBBBBB -
|
||
¯® 5 ¯¨ªá¥«¥© ª ¦¤ë© 梥â.
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 16 ¡¨â ¬¨ ¯¨ªá¥«ì: 梥⠪ ¦¤®£® ¯¨ªá¥«ï
|
||
ª®¤¨àã¥âáï ª ª RRRRRGGGGGGBBBBB (á奬 5+6+5).
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 24 ¡¨â ¬¨ ¯¨ªá¥«ì: 梥⠪ ¦¤®£® ¯¨ªá¥«ï
|
||
ª®¤¨àã¥âáï âà¥¬ï ¡ ©â ¬¨ - ¯®á«¥¤®¢ â¥«ì® á¨ïï, §¥«ñ ï, ªà á ï
|
||
á®áâ ¢«ïî騥 梥â .
|
||
* ”®à¬ â ¨§®¡à ¦¥¨ï á 32 ¡¨â ¬¨ ¯¨ªá¥«ì: «®£¨ç® 24, ⮫쪮
|
||
¥áâì ¥éñ ¨£®à¨àã¥¬ë© ç¥â¢ñàâë© ¡ ©â.
|
||
* ‚맮¢ äãªæ¨¨ 7 íª¢¨¢ «¥â¥ ¢ë§®¢ã í⮩ äãªæ¨¨ á ¯ à ¬¥âà ¬¨
|
||
esi=24, ebp=0.
|
||
|
||
======================================================================
|
||
================= ”ãªæ¨ï 66 - à ¡®â á ª« ¢¨ âãன. =================
|
||
======================================================================
|
||
<EFBFBD>¥¦¨¬ ¢¢®¤ ¢«¨ï¥â १ã«ìâ âë çâ¥¨ï ª« ¢¨è äãªæ¨¥© 2.
|
||
<EFBFBD>ਠ§ £à㧪¥ ¯à®£à ¬¬ë ¤«ï ¥ñ ãáâ ¢«¨¢ ¥âáï ASCII-०¨¬ ¢¢®¤ .
|
||
…᫨ ¢ë§ë¢ ¥âáï ¥áãé¥áâ¢ãîé ï ¯®¤äãªæ¨ï ¢®§¢à é ¥âáï ¢ eax=-1.
|
||
|
||
-------- <20>®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ०¨¬ ¢¢®¤ á ª« ¢¨ âãàë. ---------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 66 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ०¨¬:
|
||
* 0 = ®¡ëçë© (ASCII-ᨬ¢®«ë)
|
||
* 1 = ᪠ª®¤ë
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
--------- <20>®¤äãªæ¨ï 2 - ¯®«ãç¨âì ०¨¬ ¢¢®¤ á ª« ¢¨ âãàë. ----------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 66 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ⥪ã騩 ०¨¬
|
||
|
||
------- <20>®¤äãªæ¨ï 3 - ¯®«ãç¨âì á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è. --------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 66 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¡¨â®¢ ï ¬ ᪠:
|
||
* ¡¨â 0 (¬ ᪠1): «¥¢ë© Shift ¦ â
|
||
* ¡¨â 1 (¬ ᪠2): ¯à ¢ë© Shift ¦ â
|
||
* ¡¨â 2 (¬ ᪠4): «¥¢ë© Ctrl ¦ â
|
||
* ¡¨â 3 (¬ ᪠8): ¯à ¢ë© Ctrl ¦ â
|
||
* ¡¨â 4 (¬ ᪠0x10): «¥¢ë© Alt ¦ â
|
||
* ¡¨â 5 (¬ ᪠0x20): ¯à ¢ë© Alt ¦ â
|
||
* ¡¨â 6 (¬ ᪠0x40): CapsLock ¢ª«îçñ
|
||
* ¡¨â 7 (¬ ᪠0x80): NumLock ¢ª«îçñ
|
||
* ¡¨â 8 (¬ ᪠0x100): ScrollLock ¢ª«îçñ
|
||
* ¯à®ç¨¥ ¡¨âë á¡à®è¥ë
|
||
|
||
----- <20>®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ®¡é¥á¨á⥬ãî "£®àïçãî ª« ¢¨èã". -----
|
||
Ž ¦ ⨨ "£®àï祩 ª« ¢¨è¨" ¨§¢¥é îâáï ⮫쪮 ¯à¨«®¦¥¨ï,
|
||
ãáâ ®¢¨¢è¨¥ ¥ñ; ªâ¨¢®¥ ¯à¨«®¦¥¨¥ (ª ª®â®à®¬ã ¯®áâ㯠¥â
|
||
¢¥áì ®à¬ «ìë© ¢¢®¤) â ª¨å ª« ¢¨è ¥ ¯®«ãç ¥â.
|
||
ˆ§¢¥é¥¨¥ § ª«îç ¥âáï ¢ ¯®á뫪¥ ᮡëâ¨ï á ª®¤®¬ 2.
|
||
<EFBFBD>à®ç¨â âì "£®àïçãî ª« ¢¨èã" ¬®¦® â ª ¦¥, ª ª ¨ ®¡ëçãî, -
|
||
äãªæ¨¥© 2.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 66 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* cl § ¤ ñâ ᪠ª®¤ ª« ¢¨è¨;
|
||
¨á¯®«ì§ã©â¥ cl=0 ¤«ï § ¤ ¨ï ª®¬¡¨ 権 ⨯ Ctrl+Shift
|
||
* edx = 0xXYZ § ¤ ñâ ¢®§¬®¦ë¥ á®áâ®ï¨ï ã¯à ¢«ïîé¨å ª« ¢¨è:
|
||
* Z (¬« ¤è¨¥ 4 ¡¨â ) § ¤ ñâ á®áâ®ï¨¥ ª« ¢¨è LShift ¨ RShift:
|
||
* 0 = ¨ ®¤ ¨§ ª« ¢¨è ¥ ¤®«¦ ¡ëâì ¦ â ;
|
||
* 1 = ஢® ®¤ ¨§ ª« ¢¨è ¤®«¦ ¡ëâì ¦ â ;
|
||
* 2 = ®¡¥ ª« ¢¨è¨ ¤®«¦ë ¡ëâì ¦ âë;
|
||
* 3 = ¤®«¦ ¡ëâì ¦ â LShift, ® ¥ RShift;
|
||
* 4 = ¤®«¦ ¡ëâì ¦ â RShift, ® ¥ LShift
|
||
* Y - «®£¨ç® ¤«ï LCtrl ¨ RCtrl;
|
||
* X - «®£¨ç® ¤«ï LAlt ¨ RAlt
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax=0 - ãᯥè®
|
||
* eax=1 - ᫨誮¬ ¬®£® "£®àïç¨å ª« ¢¨è" (¤®¯ã᪠¥âáï ¬ ªá¨¬ã¬ 256)
|
||
‡ ¬¥ç ¨ï:
|
||
* ƒ®àïç ï ª« ¢¨è ¬®¦¥â áà ¡ âë¢ âì «¨¡® ¯à¨ ¦ ⨨,
|
||
«¨¡® ¯à¨ ®â¯ã᪠¨¨. ‘ª ª®¤ ®â¯ã᪠¨ï ª« ¢¨è¨ 128 ¡®«ìè¥,
|
||
祬 ᪠ª®¤ ¦ â¨ï (â.¥. ãáâ ®¢«¥ áâ à訩 ¡¨â).
|
||
* <20>¥áª®«ìª® ¯à¨«®¦¥¨© ¬®£ãâ ãáâ ®¢¨âì ®¤ã ¨ âã ¦¥ ª®¬¡¨ æ¨î;
|
||
® ¦ ⨨ â ª®© ª®¬¡¨ 樨 ¡ã¤ãâ ¨§¢¥é âìáï ¢á¥ â ª¨¥ ¯à¨«®¦¥¨ï.
|
||
|
||
------ <20>®¤äãªæ¨ï 5 - 㤠«¨âì ãáâ ®¢«¥ãî "£®àïçãî ª« ¢¨èã". -------
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 66 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* cl = ᪠ª®¤ ª« ¢¨è¨ ¨ edx = 0xXYZ â ª¨¥ ¦¥, ª ª ¨ ¢ ¯®¤äãªæ¨¨ 4
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¥â â ª®© £®àï祩 ª« ¢¨è¨
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>ਠ§ ¢¥à襨¨ ¯à®æ¥áá /¯®â®ª 㤠«ïîâáï ¢á¥ ãáâ ®¢«¥ë¥ ¨¬
|
||
£®àï稥 ª« ¢¨è¨.
|
||
* ‚맮¢ äãªæ¨¨ ¥ ¢«¨ï¥â ¤à㣨¥ ¯à¨«®¦¥¨ï.
|
||
…᫨ ¤à㣮¥ ¯à¨«®¦¥¨¥ ®¯à¥¤¥«¨«® íâã ¦¥ ª®¬¡¨ æ¨î,
|
||
®® ¯®-¯à¥¦¥¬ã ¡ã¤¥â ¯®«ãç âì 㢥¤®¬«¥¨ï.
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 67 - ¨§¬¥¨âì ¯®«®¦¥¨¥/à §¬¥àë ®ª . ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 67 - ®¬¥à äãªæ¨¨
|
||
* ebx = ®¢ ï x-ª®®à¤¨ â ®ª
|
||
* ecx = ®¢ ï y-ª®®à¤¨ â ®ª
|
||
* edx = ®¢ë© x-à §¬¥à ®ª
|
||
* esi = ®¢ë© y-à §¬¥à ®ª
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ‡ 票¥ -1 ¤«ï ¯ à ¬¥âà ®§ ç ¥â "¥ ¨§¬¥ïâì"; ¯à¨¬¥à, ¤«ï
|
||
¯¥à¥¬¥é¥¨ï ®ª ¡¥§ ¨§¬¥¥¨ï à §¬¥à®¢ ¬®¦® 㪠§ âì edx=esi=-1.
|
||
* <20>।¢ à¨â¥«ì® ®ª® ¤®«¦® ¡ëâì ®¯à¥¤¥«¥® äãªæ¨¥© 0.
|
||
Ž ¦¥ § ¤ ñâ ç «ìë¥ ª®®à¤¨ âë ¨ à §¬¥àë ®ª .
|
||
* <20> §¬¥àë ®ª ¯®¨¬ îâáï ¢ á¬ëá«¥ äãªæ¨¨ 0, â.¥.
|
||
®¤¨ ¯¨ªá¥«ì ¬¥ìè¥, 祬 ॠ«ìë¥ à §¬¥àë.
|
||
* ‚맮¢ äãªæ¨¨ ¤«ï ¬ ªá¨¬¨§¨à®¢ ëå ®ª® ¯à®áâ® ¨£®à¨àã¥âáï.
|
||
* „«ï ®ª® ᮮ⢥âáâ¢ãîé¨å á⨫¥© ¯®«®¦¥¨¥ ¨/¨«¨ à §¬¥àë ¬®£ãâ ¡ëâì
|
||
¨§¬¥¥ë ¯®«ì§®¢ ⥫¥¬; ⥪ã騥 ¯®«®¦¥¨¥ ¨ à §¬¥àë ¬®£ãâ ¡ëâì
|
||
¯®«ãç¥ë ¢ë§®¢®¬ äãªæ¨¨ 9.
|
||
* ”ãªæ¨ï ¯®áë« ¥â ®ªã ᮡë⨥ ¯¥à¥à¨á®¢ª¨ (á ª®¤®¬ 1).
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì áçñâ稪 ¯¥à¥ª«î票© § ¤ ç. ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ç¨á«® ¯¥à¥ª«î票© § ¤ ç á ¬®¬¥â § £à㧪¨ á¨á⥬ë
|
||
(¯® ¬®¤ã«î 2^32)
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 1 ======================
|
||
============ <20>¥à¥ª«îç¨âìáï á«¥¤ãî騩 ¯®â®ª ¢ë¯®«¥¨ï. ============
|
||
======================================================================
|
||
”ãªæ¨ï § ¢¥àè ¥â ⥪ã騩 ª¢ ⠢६¥¨, ¢ë¤¥«¥ë© ¯®â®ªã,
|
||
¨ ¯¥à¥ª«îç ¥âáï á«¥¤ãî騩.
|
||
(Š ª®© ¯®â®ª ª ª®£® ¯à®æ¥áá ¡ã¤¥â á«¥¤ãî騬, ¯à¥¤áª § âì ¥«ì§ï).
|
||
<EFBFBD>®§¤¥¥, ª®£¤ ¤® ⥪ã饣® ¯®â®ª ¤®©¤ñâ ®ç¥à¥¤ì,
|
||
¢ë¯®«¥¨¥ ¢®§®¡®¢¨âáï.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
======================================================================
|
||
=============== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 2 - ªíè + rdpmc. ==============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = âॡ㥬®¥ ¤¥©á⢨¥:
|
||
* ecx = 0 - à §à¥è¨âì ¢ë¯®«¥¨¥ ¨áâàãªæ¨¨ rdpmc
|
||
(ReaD Performance-Monitoring Counters)
|
||
* ecx = 1 - 㧠âì, ¢ª«îçñ/¢ëª«îç¥ ªíè
|
||
* ecx = 2 - ¢ª«îç¨âì ªíè
|
||
* ecx = 3 - ¢ëª«îç¨âì ªíè
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¤«ï ecx=0:
|
||
* eax = § 票¥ cr4
|
||
* ¤«ï ecx=1:
|
||
* eax = (cr0 and 0x60000000):
|
||
* eax = 0 - ªíè ¢ª«îçñ
|
||
* eax <> 0 - ªíè ¢ëª«îç¥
|
||
* ¤«ï ecx=2 ¨ ecx=3:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 3 - ¯à®ç¨â âì MSR-ॣ¨áâà. =========
|
||
======================================================================
|
||
MSR = Model Specific Register; ¯®«ë© ᯨ᮪ MSR-ॣ¨áâ஢ ¯à®æ¥áá®à
|
||
ᮤ¥à¦¨âáï ¢ ¤®ªã¬¥â 樨 ¯® ¯à®æ¥áá®àã ( ¯à¨¬¥à, IA-32 Intel
|
||
Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||
ª ¦¤®¥ ᥬ¥©á⢮ ¯à®æ¥áá®à®¢ ¨¬¥¥â ᢮ñ ¯®¤¬®¦¥á⢮ MSR-ॣ¨áâ஢.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx ¨£®à¨àã¥âáï
|
||
* edx = ¤à¥á MSR
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ebx:eax = áâ à訩:¬« ¤è¨© dword १ã«ìâ â
|
||
‡ ¬¥ç ¨ï:
|
||
* “ª § ¨¥ ¢ ecx ¥áãé¥áâ¢ãî饣® ¨«¨ ¥à¥ «¨§®¢ ®£® ¤«ï ¤ ®£®
|
||
¯à®æ¥áá®à MSR ¯®¢«¥çñ⠨᪫î票¥ ¢ ï¤à¥, ª®â®à®¥ ¯à¨¡ìñâ ¯®â®ª.
|
||
* <20>।¢ à¨â¥«ì® á«¥¤ã¥â ®¯à¥¤¥«¨âì, ¯®¤¤¥à¦¨¢ îâáï «¨ MSR ¢ 楫®¬,
|
||
ª®¬ ¤®© cpuid. ˆ ç¥ ¢®§¨ª¥â 㦥 ¤à㣮¥ ¨áª«î票¥ ¢ ï¤à¥,
|
||
ª®â®à®¥ ¢áñ à ¢® ¯à¨¡ìñâ ¯®â®ª.
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 4 - § ¯¨á âì ¢ MSR-ॣ¨áâà. =========
|
||
======================================================================
|
||
MSR = Model Specific Register; ¯®«ë© ᯨ᮪ MSR-ॣ¨áâ஢ ¯à®æ¥áá®à
|
||
ᮤ¥à¦¨âáï ¢ ¤®ªã¬¥â 樨 ¯® ¯à®æ¥áá®àã ( ¯à¨¬¥à, IA-32 Intel
|
||
Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||
ª ¦¤®¥ ᥬ¥©á⢮ ¯à®æ¥áá®à®¢ ¨¬¥¥â ᢮ñ ¯®¤¬®¦¥á⢮ MSR-ॣ¨áâ஢.
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx ¨£®à¨àã¥âáï
|
||
* edx = ¤à¥á MSR
|
||
* esi:edi = áâ à訩:¬« ¤è¨© dword
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* “ª § ¨¥ ¢ ecx ¥áãé¥áâ¢ãî饣® ¨«¨ ¥à¥ «¨§®¢ ®£® ¤«ï ¤ ®£®
|
||
¯à®æ¥áá®à MSR ¯®¢«¥çñ⠨᪫î票¥ ¢ ï¤à¥, ª®â®à®¥ ¯à¨¡ìñâ ¯®â®ª.
|
||
* <20>।¢ à¨â¥«ì® á«¥¤ã¥â ®¯à¥¤¥«¨âì, ¯®¤¤¥à¦¨¢ îâáï «¨ MSR ¢ 楫®¬,
|
||
ª®¬ ¤®© cpuid. ˆ ç¥ ¢®§¨ª¥â 㦥 ¤à㣮¥ ¨áª«î票¥ ¢ ï¤à¥,
|
||
ª®â®à®¥ ¢áñ à ¢® ¯à¨¡ìñâ ¯®â®ª.
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 11 - ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá . ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ¥ãᯥå
|
||
* ¨ ç¥ à §¬¥à ᮧ¤ ®© ªãç¨
|
||
‡ ¬¥ç ¨ï:
|
||
* ‚맮¢ äãªæ¨¨ ¨¨æ¨ «¨§¨àã¥â ªãçã, ¨§ ª®â®à®© ¢¯®á«¥¤á⢨¨ ¬®¦®
|
||
¢ë¤¥«ïâì ¨ ®á¢®¡®¦¤ âì ¡«®ª¨ ¯ ¬ï⨠¯®¤äãªæ¨ï¬¨ 12 ¨ 13.
|
||
<20> §¬¥à ªãç¨ à ¢¥ à §¬¥à㠢ᥩ ᢮¡®¤®© ¯ ¬ï⨠¯à¨«®¦¥¨ï.
|
||
* <20>ਠ¯®¢â®à®¬ ¢ë§®¢¥ äãªæ¨¨ ⥬ ¦¥ ¯à®æ¥áᮬ äãªæ¨ï ¢¥àñâ
|
||
à §¬¥à áãé¥áâ¢ãî饩 ªãç¨.
|
||
* <20>®á«¥ ᮧ¤ ¨ï ªãç¨ ¢ë§®¢ë äãªæ¨¨ 64 ¨£®à¨àãîâáï.
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 12 - ¢ë¤¥«¨âì ¡«®ª ¯ ¬ïâ¨. =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = âà¥¡ã¥¬ë© à §¬¥à ¢ ¡ ©â å
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 㪠§ â¥«ì ¢ë¤¥«¥ë© ¡«®ª
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® á«¥¤ã¥â ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 11.
|
||
* ”ãªæ¨ï ¢ë¤¥«ï¥â 楫®¥ ç¨á«® áâà ¨æ (4 Š¡) â ª, çâ® ä ªâ¨ç¥áª¨©
|
||
à §¬¥à ¢ë¤¥«¥®£® ¡«®ª ¡®«ìè¥ ¨«¨ à ¢¥ § ¯à®è¥®¬ã.
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 13 - ®á¢®¡®¤¨âì ¡«®ª ¯ ¬ïâ¨. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡«®ª ¯ ¬ïâ¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 1 - ãᯥè®
|
||
* eax = 0 - ¥ã¤ ç
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>«®ª ¯ ¬ï⨠¤®«¦¥ ¡ëâì à ¥¥ ¢ë¤¥«¥ ¯®¤äãªæ¨¥© 12
|
||
¨«¨ ¯®¤äãªæ¨¥© 20.
|
||
|
||
======================================================================
|
||
==================== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 14 =======================
|
||
===== Ž¦¨¤ âì ¯®«ã票ï ᨣ « , ®â ¤àã£¨å ¯à¨«®¦¥¨©/¤à ©¢¥à®¢. =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¨ä®à¬ 樨 (24 ¡ ©â )
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ecx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î:
|
||
* +0: dword: ¨¤¥â¨ä¨ª â®à ¯®á«¥¤ãîé¨å ¤ ëå ᨣ «
|
||
* +4: ¤ ë¥ ¯à¨ï⮣® ᨣ « (20 ¡ ©â), ä®à¬ â ª®â®àëå
|
||
®¯à¥¤¥«ï¥âáï ¯¥à¢ë¬ dword-®¬
|
||
|
||
======================================================================
|
||
== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 15 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© FPU. =
|
||
======================================================================
|
||
“¤ «¥ (¢ ⥪ã饩 ॠ«¨§ 樨 ¯à®áâ® ¢®§¢à é ¥â 0)
|
||
ˆá¯®«ì§®¢ âì ¯®¤äãªæ¨¨ 24, 25
|
||
|
||
======================================================================
|
||
=========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 16 - § £à㧨âì ¤à ©¢¥à. ===========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 16 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ¤à ©¢¥à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ¥ã¤ ç
|
||
* ¨ ç¥ eax = åí¤« ¤à ©¢¥à
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¤à ©¢¥à ¥éñ ¥ § £à㦥, ® § £à㦠¥âáï;
|
||
¥á«¨ ¤à ©¢¥à 㦥 § £à㦥, ¨ç¥£® ¥ ¬¥ï¥âáï.
|
||
* ˆ¬ï ¤à ©¢¥à çã¢áâ¢¨â¥«ì® ª ॣ¨áâàã ᨬ¢®«®¢.
|
||
Œ ªá¨¬ «ì ï ¤«¨ ¨¬¥¨ - 16 ᨬ¢®«®¢, ¢ª«îç ï § ¢¥àè î騩
|
||
ã«¥¢®© ᨬ¢®«, ®áâ «ìë¥ á¨¬¢®«ë ¨£®à¨àãîâáï.
|
||
* „à ©¢¥à á ¨¬¥¥¬ ABC § £à㦠¥âáï ¨§ ä ©« /rd/1/drivers/ABC.obj.
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 17 - ã¯à ¢«¥¨¥ ¤à ©¢¥à®¬. =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 17 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ ⥫ì ã¯à ¢«ïîéãî áâàãªâãàã:
|
||
* +0: dword: åí¤« ¤à ©¢¥à
|
||
* +4: dword: ª®¤ äãªæ¨¨ ¤à ©¢¥à
|
||
* +8: dword: 㪠§ â¥«ì ¢å®¤ë¥ ¤ ë¥
|
||
* +12 = +0xC: dword: à §¬¥à ¢å®¤ëå ¤ ëå
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¢ëå®¤ë¥ ¤ ë¥
|
||
* +20 = +0x14: dword: à §¬¥à ¢ë室ëå ¤ ëå
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ®¯à¥¤¥«ï¥âáï ¤à ©¢¥à®¬
|
||
‡ ¬¥ç ¨ï:
|
||
* Š®¤ë äãªæ¨© ¨ áâàãªâãà ¢å®¤ëå/¢ë室ëå ¤ ëå
|
||
®¯à¥¤¥«ïîâáï ¤à ©¢¥à®¬.
|
||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¯®«ãç¥ åí¤« ¤à ©¢¥à ¯®¤äãªæ¨¥© 16.
|
||
|
||
======================================================================
|
||
== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 18 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© SSE. =
|
||
======================================================================
|
||
“¤ «¥ (¢ ⥪ã饩 ॠ«¨§ 樨 ¯à®áâ® ¢®§¢à é ¥â 0)
|
||
ˆá¯®«ì§®¢ âì ¯®¤äãªæ¨¨ 24, 25
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 19 - § £à㧨âì DLL. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¯®«ë¬ ¯ãâñ¬ ª DLL
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ¥ã¤ ç
|
||
* ¨ ç¥ eax = 㪠§ ⥫ì â ¡«¨æã íªá¯®àâ DLL
|
||
‡ ¬¥ç ¨ï:
|
||
* ’ ¡«¨æ íªá¯®à⠯।áâ ¢«ï¥â ᮡ®© ¬ áᨢ áâàãªâãà ¯® 2 dword' ,
|
||
§ ª 稢 î騩áï ã«ñ¬. <20>¥à¢ë© dword ¢ áâàãªâãॠï¥âáï
|
||
㪠§ ⥫¥¬ ¨¬ï äãªæ¨¨, ¢â®à®© ᮤ¥à¦¨â ¤à¥á äãªæ¨¨.
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 20 - ¯¥à¥à á¯à¥¤¥«¨âì ¡«®ª ¯ ¬ïâ¨. =====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 20 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¢ë© à §¬¥à ¢ ¡ ©â å
|
||
* edx = 㪠§ ⥫ì 㦥 ¢ë¤¥«¥ë© ¡«®ª ¯ ¬ïâ¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 㪠§ â¥«ì ¯¥à¥à á¯à¥¤¥«ñë© ¡«®ª, 0 ¯à¨ ®è¨¡ª¥
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® á«¥¤ã¥â ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 11.
|
||
* ”ãªæ¨ï ¢ë¤¥«ï¥â 楫®¥ ç¨á«® áâà ¨æ (4 Š¡) â ª, çâ® ä ªâ¨ç¥áª¨©
|
||
à §¬¥à ¢ë¤¥«¥®£® ¡«®ª ¡®«ìè¥ ¨«¨ à ¢¥ § ¯à®è¥®¬ã.
|
||
* …᫨ edx=0, â® ¢ë§®¢ äãªæ¨¨ íª¢¨¢ «¥â¥ ¢ë¤¥«¥¨î ¯ ¬ïâ¨
|
||
¯®¤äãªæ¨¥© 12. ‚ ¯à®â¨¢®¬ á«ãç ¥ ¡«®ª ¯ ¬ï⨠¯® ¤à¥áã edx
|
||
¤®«¦¥ ¡ëâì à ¥¥ ¢ë¤¥«¥ ¯®¤äãªæ¨¥© 12 ¨«¨
|
||
®¯¨áë¢ ¥¬®© ¯®¤äãªæ¨¥©.
|
||
* …᫨ ecx=0, â® äãªæ¨ï ®á¢®¡®¦¤ ¥â ¡«®ª ¯ ¬ï⨠¯® ¤à¥áã edx ¨
|
||
¢®§¢à é ¥â 0.
|
||
* ‘®¤¥à¦¨¬®¥ ¯ ¬ï⨠¢¯«®âì ¤® ¨¬¥ì襣® ¨§ áâ ண® ¨ ®¢®£®
|
||
à §¬¥à®¢ á®åà ï¥âáï.
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 22 - ®âªàëâì ¨¬¥®¢ ãî ®¡« áâì ¯ ¬ïâ¨. ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 22 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¬ï ®¡« áâ¨. Œ ªá¨¬ã¬ 31 ᨬ¢®«, ¢ª«îç ï § ¢¥àè î騩 ®«ì
|
||
* edx = à §¬¥à ®¡« á⨠¢ ¡ ©â å ¤«ï SHM_CREATE ¨ SHM_OPEN_ALWAYS
|
||
* esi = ä« £¨ ®âªàëâ¨ï ¨ ¤®áâ㯠:
|
||
* SHM_OPEN = 0x00 - ®âªàëâì áãé¥áâ¢ãîéãî ®¡« áâì ¯ ¬ïâ¨.
|
||
…᫨ ®¡« áâì á â ª¨¬ ¨¬¥¥¬ ¥ áãé¥áâ¢ã¥â,
|
||
äãªæ¨ï ¢¥àñâ ª®¤ ®è¨¡ª¨ 5.
|
||
* SHM_OPEN_ALWAYS = 0x04 - ®âªàëâì áãé¥áâ¢ãîéãî ¨«¨ ᮧ¤ âì ®¢ãî
|
||
®¡« áâì ¯ ¬ïâ¨.
|
||
* SHM_CREATE = 0x08 - ᮧ¤ âì ®¢ãî ®¡« áâì ¯ ¬ïâ¨.
|
||
…᫨ ®¡« áâì á â ª¨¬ ¨¬¥¥¬ 㦥 áãé¥áâ¢ã¥â,
|
||
äãªæ¨ï ¢¥àñâ ª®¤ ®è¨¡ª¨ 10.
|
||
* SHM_READ = 0x00 - ¤®áâ㯠⮫쪮 ç⥨¥
|
||
* SHM_WRITE = 0x01 - ¤®áâ㯠ç⥨¥ ¨ § ¯¨áì
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 㪠§ â¥«ì ®¡« áâì ¯ ¬ïâ¨, 0 ¯à¨ ®è¨¡ª¥
|
||
* ¯à¨ ᮧ¤ ¨¨ ®¢®© ®¡« á⨠(SHM_CREATE ¨«¨ SHM_OPEN_ALWAYS):
|
||
edx = 0 - ãᯥå, ¨ ç¥ - ª®¤ ®è¨¡ª¨
|
||
* ¯à¨ ®âªàë⨨ áãé¥áâ¢ãî饩 ®¡« á⨠(SHM_OPEN ¨«¨ SHM_OPEN_ALWAYS):
|
||
edx = ª®¤ ®è¨¡ª¨ (¯à¨ eax=0) ¨«¨ à §¬¥à ®¡« á⨠¢ ¡ ©â å
|
||
Š®¤ë ®è¨¡®ª:
|
||
* E_NOTFOUND = 5
|
||
* E_ACCESS = 10
|
||
* E_NOMEM = 30
|
||
* E_PARAM = 33
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>।¢ à¨â¥«ì® á«¥¤ã¥â ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá ¢ë§®¢®¬
|
||
¯®¤äãªæ¨¨ 11.
|
||
* …᫨ ᮧ¤ ñâáï ®¢ ï ®¡« áâì, â® ä« £¨ ¤®áâ㯠ãáâ ¢«¨¢ îâ
|
||
¬ ªá¨¬ «ìë¥ ¯à ¢ ¤®áâ㯠¤«ï ®áâ «ìëå ¯à®æ¥áᮢ. <20>®¯ëâª
|
||
®âªàëâ¨ï ¤à㣨¬ ¯®â®ª®¬ á ¥à §à¥èñ묨 ¯à ¢ ¬¨ ¯à®¢ «¨âáï
|
||
á ª®¤®¬ ®è¨¡ª¨ E_ACCESS.
|
||
* <20>à®æ¥áá, ᮧ¤ ¢è¨© ®¡« áâì, ¢á¥£¤ ¨¬¥¥â ¤®áâ㯠§ ¯¨áì.
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 23 - § ªàëâì ¨¬¥®¢ ãî ®¡« áâì ¯ ¬ïâ¨. ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 23 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¬ï ®¡« áâ¨. Œ ªá¨¬ã¬ 31 ᨬ¢®«, ¢ª«îç ï § ¢¥àè î騩 ®«ì
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* Ž¡« áâì ¯ ¬ï⨠䨧¨ç¥áª¨ ®á¢®¡®¦¤ ¥âáï (á § ¡ë¢ ¨¥¬ ¢á¥å ¤ ëå
|
||
¨ ¢ë᢮¡®¦¤¥¨¥¬ 䨧¨ç¥áª®© ¯ ¬ïâ¨), ª®£¤ ¥ñ § ªà®îâ
|
||
¢á¥ ®âªàë¢è¨¥ ¯®â®ª¨.
|
||
* <20>ਠ§ ¢¥à襨¨ ¯®â®ª ®á¢®¡®¦¤ îâáï ¢á¥ ®âªàëâë¥ ¨¬
|
||
®¡« á⨠¯ ¬ïâ¨.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 24 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 24 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¤à¥á ®¢®£® ®¡à ¡®â稪 ¨áª«î票©
|
||
* edx = ¬ ᪠®¡à ¡ âë¢ ¥¬ëå ¨áª«î票©
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票© (0, ¥á«¨ ¥ ãáâ ®¢«¥)
|
||
* ebx = ¬ ᪠áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>®¬¥à ¡¨â ¢ ¬ ᪥ ¨áª«î票© ᮮ⢥âáâ¢ãîâ ®¬¥à㠨᪫îç¥¨ï ¯®
|
||
ᯥæ¨ä¨ª 樨 ¯à®æ¥áá®à (Intel-PC). ’ ª ¯à¨¬¥à, ¨áª«î票ï FPU
|
||
¨¬¥îâ ®¬¥à 16 (#MF), SSE - 19 (#XF).
|
||
* ‚ ¤ ®© ॠ«¨§ 樨 ¨£®à¨àã¥âáï § ¯à®á ¯¥à¥å¢ ⠨᪫î票ï 7
|
||
- á¨á⥬ ®¡à ¡ âë¢ ¥â #NM á ¬®áâ®ï⥫ì®.
|
||
* <20>®«ì§®¢ ⥫ì᪨© ®¡à ¡®â稪 ¯®«ãç ¥â ®¬¥à ¨áª«îç¥¨ï ¯ à ¬¥â஬
|
||
¢ á⥪¥. <20>®íâ®¬ã ¯à ¢¨«ìë© ¢ë室 ¨§ ®¡à ¡®â稪 : RET 4. ‚®§¢à â
|
||
¯à¨ í⮬ ¯à®¨§¢®¤¨âáï ª®¬ ¤ã, ¢ë§¢ ¢èãî ¨áª«î票¥.
|
||
* <20>ਠ¯¥à¥¤ ç¥ ã¯à ¢«¥¨ï ®¡à ¡®â稪㠨᪫î票©, á¡à áë¢ ¥âáï
|
||
ᮮ⢥âáâ¢ãî騩 ¡¨â ¢ ¬ ᪥ ¨áª«î票©. ‚®§¨ª®¢¥¨¥ í⮣® ¦¥
|
||
¨áª«îç¥¨ï ¢ ¯®á«¥¤á⢨¨ - ¯à¨¢¥¤¥â ª default-®¡à ¡®âª¥ â ª®¢®£®.
|
||
€ ¨¬¥®: ª § ¢¥à襨î à ¡®âë ¯à¨«®¦¥¨ï, ¨«¨ ¯à¨®áâ ®¢ª¥ á
|
||
®â¨ä¨ª 樥© ®â« ¦¨¢ î饬㠯ਫ®¦¥¨î.
|
||
* <20>®á«¥ § ¢¥àè¥¨ï ªà¨â¨ç¥áª¨å ¤¥©á⢨© ¢ ®¡à ¡®â稪¥ ¯®«ì§®¢ ⥫ï,
|
||
¢®ááâ ®¢«¥¨¥ ¡¨â ¬ ᪨ ¤ ®£® ¨áª«îç¥¨ï ¬®¦® ᤥ« âì
|
||
¯®¤äãªæ¨¥© 25. ‘¡à®á ä« £®¢ ¨áª«î票© ¢ ¬®¤ã«ïå FPU ¨ XMM -
|
||
â ª¦¥ ¢®§« £ ¥âáï ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ï.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 25 - ¨§¬¥¥¨¥ á®áâ®ï¨ï ªâ¨¢®á⨠ᨣ « =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||
* ebx = 25 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ®¬¥à ᨣ «
|
||
* edx = § 票¥ ãáâ ¢«¨¢ ¥¬®© ªâ¨¢®á⨠(0/1)
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = áâ ஥ § 票¥ ªâ¨¢®á⨠ᨣ « (0/1)
|
||
‡ ¬¥ç ¨ï:
|
||
* ‚ ⥪ã饩 ॠ«¨§ 樨 ¨§¬¥ï¥âáï ⮫쪮 ¬ ᪠¯®«ì§®¢ ⥫ì᪮£®
|
||
®¡à ¡®â稪 ¨áª«î票©, ãáâ ®¢«¥®£® ¯®¤äãªæ¨¥© 24. <20>ਠí⮬,
|
||
®¬¥à ᨣ « ᮮ⢥âáâ¢ã¥â ®¬¥à㠨᪫î票ï.
|
||
|
||
======================================================================
|
||
======================== ”ãªæ¨ï 69 - ®â« ¤ª . =======================
|
||
======================================================================
|
||
<EFBFBD>à®æ¥áá ¬®¦¥â § £à㧨âì ¤à㣮© ¯à®æ¥áá ª ª ®â« ¦¨¢ ¥¬ë© ãáâ ®¢ª®©
|
||
ᮮ⢥âáâ¢ãî饣® ¡¨â ¯à¨ ¢ë§®¢¥ ¯®¤äãªæ¨¨ 7 äãªæ¨¨ 70.
|
||
“ ¯à®æ¥áá ¬®¦¥â ¡ëâì ⮫쪮 ®¤¨ ®â« ¤ç¨ª; ®¤¨ ¯à®æ¥áá ¬®¦¥â
|
||
®â« ¦¨¢ âì ¥áª®«ìª® à §ëå. ‘¨á⥬ 㢥¤®¬«ï¥â ®â« ¤ç¨ª ® ᮡëâ¨ïå,
|
||
¯à®¨á室ïé¨å á ®â« ¦¨¢ ¥¬ë¬ ¯à®æ¥áᮬ. ‘®®¡é¥¨ï § ¯¨áë¢ îâáï ¢ ¡ãä¥à,
|
||
®¯à¥¤¥«ñë© ¯®¤äãªæ¨¥© 0.
|
||
”®à¬ â á®®¡é¥¨ï:
|
||
* +0: dword: ª®¤ á®®¡é¥¨ï
|
||
* +4: dword: PID ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá
|
||
* +8: ¬®£ãâ ¯à¨áãâá⢮¢ âì ¤®¯®«¨â¥«ìë¥ ¤ ë¥,
|
||
®¯à¥¤¥«ï¥¬ë¥ ª®¤®¬ á®®¡é¥¨ï
|
||
Š®¤ë á®®¡é¥¨©:
|
||
* 1 = ¨áª«î票¥
|
||
* ¤®¯®«¨â¥«ì® ¯¥à¥¤ ñâáï dword-®¬¥à ¨áª«î票ï
|
||
* ¯à®æ¥áá ¯à¨®áâ ®¢«¥
|
||
* 2 = ¯à®æ¥áá § ¢¥à訫áï
|
||
* ¯à¨å®¤¨â ¯à¨ «î¡®¬ § ¢¥à襨¨: ª ª ç¥à¥§ á¨á⥬ãî äãªæ¨î -1,
|
||
â ª ¨ ¯à¨ "㡨©á⢥" «î¡ë¬ ¤à㣨¬ ¯à®æ¥áᮬ
|
||
(¢ ⮬ ç¨á«¥ á ¬¨¬ ®â« ¤ç¨ª®¬)
|
||
* 3 = ®â« ¤®ç®¥ ¨áª«î票¥ int 1 = #DB
|
||
* ¤®¯®«¨â¥«ì® ¯¥à¥¤ ñâáï dword-®¡à § ॣ¨áâà DR6:
|
||
* ¡¨âë 0-3: ¢ë¯®«¥® ãá«®¢¨¥ ᮮ⢥âáâ¢ãî饩 â®çª¨ ®áâ ®¢
|
||
(ãáâ ®¢«¥®© ¯®¤äãªæ¨¥© 9)
|
||
* ¡¨â 14: ¨áª«î票¥ ¯à®¨§®è«® ¨§-§ ०¨¬
|
||
¯®è £®¢®© âà áá¨à®¢ª¨ (ãáâ ®¢«¥ ä« £ TF)
|
||
* ¯à®æ¥áá ¯à¨®áâ ®¢«¥
|
||
<EFBFBD>ਠ§ ¢¥à襨¨ ®â« ¤ç¨ª ¯à¨¡¨¢ îâáï ¢á¥ ®â« ¦¨¢ ¥¬ë¥ ¯à®æ¥ááë.
|
||
…᫨ ®â« ¤ç¨ª í⮣® ¥ å®ç¥â, ® ¤®«¦¥ ¯à¥¤¢ à¨â¥«ì® ®âª«îç¨âìáï
|
||
¯®¤äãªæ¨¥© 3.
|
||
|
||
‚ᥠ¯®¤äãªæ¨¨ ¯à¨¬¥¨¬ë ⮫쪮 ª ¯à®æ¥áá ¬/¯®â®ª ¬, § ¯ãé¥ë¬
|
||
¨§ ⥪ã饣® äãªæ¨¥© 70 á ãáâ ®¢«¥ë¬ ä« £®¬ ®â« ¤ª¨.
|
||
Žâ« ¤ª ¬®£®¯®â®çëå ¯à®£à ¬¬ ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï.
|
||
<EFBFBD>®«ë© ᯨ᮪ ¯®¤äãªæ¨©:
|
||
* ¯®¤äãªæ¨ï 0 - ®¯à¥¤¥«¨âì ®¡« áâì ¤ ëå ¤«ï ®â« ¤®çëå á®®¡é¥¨©
|
||
* ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª
|
||
* ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª
|
||
* ¯®¤äãªæ¨ï 3 - ®âª«îç¨âìáï ®â ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá
|
||
* ¯®¤äãªæ¨ï 4 - ¯à¨®áâ ®¢¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª
|
||
* ¯®¤äãªæ¨ï 5 - ¢®§®¡®¢¨âì ¢ë¯®«¥¨¥ ®â« ¦¨¢ ¥¬®£® ¯®â®ª
|
||
* ¯®¤äãªæ¨ï 6 - ¯à®ç¨â âì ¨§ ¯ ¬ï⨠®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá
|
||
* ¯®¤äãªæ¨ï 7 - § ¯¨á âì ¢ ¯ ¬ïâì ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá
|
||
* ¯®¤äãªæ¨ï 8 - § ¢¥àè¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª
|
||
* ¯®¤äãªæ¨ï 9 - ãáâ ®¢¨âì/áïâì ¯¯ à âãî â®çªã ®áâ ®¢
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 0 ======================
|
||
========= Ž¯à¥¤¥«¨âì ®¡« áâì ¤ ëå ¤«ï ®â« ¤®çëå á®®¡é¥¨©. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = 㪠§ ⥫ì
|
||
”®à¬ â ®¡« á⨠¤ ëå:
|
||
* +0: dword: N = à §¬¥à ¡ãä¥à (¥ áç¨â ï í⮣® § £®«®¢ª )
|
||
* +4: dword: § ïâ® ¢ ¡ãä¥à¥
|
||
* +8: N*byte: ¡ãä¥à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¯®«¥ à §¬¥à ®âà¨æ ⥫ì®, ¡ãä¥à áç¨â ¥âáï § ¡«®ª¨à®¢ ë¬
|
||
¨ ¯à¨ ¯®áâ㯫¥¨¨ ®¢®£® á®®¡é¥¨ï á¨á⥬ ¡ã¤¥â ¦¤ âì.
|
||
„«ï á¨åந§ 樨 ®¡à ¬«ï©â¥ ¢áî à ¡®âã á ¡ãä¥à®¬ ®¯¥à æ¨ï¬¨
|
||
¡«®ª¨à®¢ª¨/à §¡«®ª¨à®¢ª¨
|
||
neg [bufsize]
|
||
* „ ë¥ ¢ ¡ãä¥à¥ âà ªâãîâáï ª ª ¬ áᨢ í«¥¬¥â®¢ ¯¥à¥¬¥®© ¤«¨ë -
|
||
á®®¡é¥¨©. ”®à¬ â á®®¡é¥¨ï 㪠§ ¢ ®¡é¥¬ ®¯¨á ¨¨.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 1 ======================
|
||
========= <20>®«ãç¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª . =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à ¯®â®ª
|
||
* edx = ¤«¨ áâàãªâãàë ª®â¥ªáâ , ¤®«¦® ¡ëâì 0x28=40 ¡ ©â
|
||
* esi = 㪠§ ⥫ì áâàãªâãàã ª®â¥ªáâ
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
”®à¬ â áâàãªâãàë ª®â¥ªáâ : (FPU ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï)
|
||
* +0: dword: eip
|
||
* +4: dword: eflags
|
||
* +8: dword: eax
|
||
* +12 = +0xC: dword: ecx
|
||
* +16 = +0x10: dword: edx
|
||
* +20 = +0x14: dword: ebx
|
||
* +24 = +0x18: dword: esp
|
||
* +28 = +0x1C: dword: ebp
|
||
* +32 = +0x20: dword: esi
|
||
* +36 = +0x24: dword: edi
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¯®â®ª ¢ë¯®«ï¥â ª®¤ 0-ª®«ìæ , ¢®§¢à é ¥âáï
|
||
á®áâ®ï¨¥ ॣ¨áâ஢ 3-ª®«ìæ .
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 2 ======================
|
||
======== “áâ ®¢¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª . ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à ¯®â®ª
|
||
* edx = ¤«¨ áâàãªâãàë ª®â¥ªáâ , ¤®«¦® ¡ëâì 0x28=40 ¡ ©â
|
||
* esi = 㪠§ ⥫ì áâàãªâãàã ª®â¥ªáâ
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
”®à¬ â áâàãªâãàë ª®â¥ªáâ 㪠§ ¢ ®¯¨á ¨¨ ¯®¤äãªæ¨¨ 1.
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¯®â®ª ¢ë¯®«ï¥â ª®¤ 0-ª®«ìæ , ãáâ ¢«¨¢ ¥âáï
|
||
á®áâ®ï¨¥ ॣ¨áâ஢ 3-ª®«ìæ .
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
|
||
======================================================================
|
||
== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 3 - ®âª«îç¨âìáï ®â ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá . =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¯à®æ¥áá ¡ë« ¯à¨®áâ ®¢«¥, ® ¢®§®¡®¢«ï¥â ¢ë¯®«¥¨¥.
|
||
|
||
======================================================================
|
||
==== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 4 - ¯à¨®áâ ®¢¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª. ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à ¯à®æ¥áá
|
||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 5 ======================
|
||
============ ‚®§®¡®¢¨âì ¢ë¯®«¥¨¥ ®â« ¦¨¢ ¥¬®£® ¯®â®ª . ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 6 ======================
|
||
============= <20>à®ç¨â âì ¨§ ¯ ¬ï⨠®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá . ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à
|
||
* edx = ᪮«ìª® ¡ ©â ç¨â âì
|
||
* esi = ¤à¥á ¯ ¬ï⨠®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá
|
||
* edi = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¤ ëå
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 ¯à¨ ®è¨¡ª¥ (¥¢¥àë© PID ¨«¨ ¡ãä¥à)
|
||
* ¨ ç¥ eax = ç¨á«® ¯à®ç¨â ëå ¡ ©â (¢®§¬®¦®, 0,
|
||
¥á«¨ ¢ esi ᫨誮¬ ¡®«ì讥 § 票¥)
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
|
||
======================================================================
|
||
”ãªæ¨ï 69, ¯®¤äãªæ¨ï 7 - § ¯¨á âì ¢ ¯ ¬ïâì ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá .
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à
|
||
* edx = ᪮«ìª® ¡ ©â ¯¨á âì
|
||
* esi = ¤à¥á ¯ ¬ï⨠¢ ®â« ¦¨¢ ¥¬®¬ ¯à®æ¥áá¥
|
||
* edi = 㪠§ â¥«ì ¤ ë¥
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = -1 ¯à¨ ®è¨¡ª¥ (¥¢¥àë© PID ¨«¨ ¡ãä¥à)
|
||
* ¨ ç¥ eax = ç¨á«® § ¯¨á ëå ¡ ©â (¢®§¬®¦®, 0,
|
||
¥á«¨ ¢ esi ᫨誮¬ ¡®«ì讥 § 票¥)
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
|
||
======================================================================
|
||
====== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 8 - § ¢¥àè¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª. ======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
* ”ãªæ¨ï «®£¨ç ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 18 á ¤¢ã¬ï ®â«¨ç¨ï¬¨:
|
||
âॡã¥âáï ¢ë¯®«¥¨¥ ¯¥à¢®£® § ¬¥ç ¨ï ¨ ¯à¨¨¬ ¥âáï PID,
|
||
¥ ®¬¥à á«®â .
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 9 ======================
|
||
============= “áâ ®¢¨âì/áïâì ¯¯ à âãî â®çªã ®áâ ®¢ . ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 69 - ®¬¥à äãªæ¨¨
|
||
* ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¨¤¥â¨ä¨ª â®à ¯®â®ª
|
||
* dl = ¨¤¥ªá â®çª¨ ®áâ ®¢ , ®â 0 ¤® 3 ¢ª«îç¨â¥«ì®
|
||
* dh = ä« £¨:
|
||
* ¥á«¨ áâ à訩 ¡¨â á¡à®è¥ - ãáâ ®¢¨âì â®çªã ®áâ ®¢ :
|
||
* ¡¨âë 0-1 - ãá«®¢¨¥:
|
||
* 00 = â®çª ®áâ ®¢ ¢ë¯®«¥¨¥
|
||
* 01 = â®çª ®áâ ®¢ § ¯¨áì
|
||
* 11 = â®çª ®áâ ®¢ ç⥨¥/§ ¯¨áì
|
||
* ¡¨âë 2-3 - ¤«¨ ; ¤«ï â®ç¥ª ®áâ ®¢ ¨á¯®«¥¨¥ ¤®«¦® ¡ëâì
|
||
00, ¢ ¯à®â¨¢®¬ á«ãç ¥ ®¤® ¨§
|
||
* 00 = ¡ ©â
|
||
* 01 = á«®¢®
|
||
* 11 = ¤¢®©®¥ á«®¢®
|
||
* esi = ¤à¥á â®çª¨ ®áâ ®¢ ; ¤®«¦¥ ¡ëâì ¢ë஢¥
|
||
ᮮ⢥âá⢥® ¤«¨¥ (â.¥. ¤®«¦¥ ¡ëâì çñâë¬ ¤«ï
|
||
â®ç¥ª ®áâ ®¢ á«®¢®, ªà ⥠4 ¤«ï ¤¢®©®£® á«®¢ )
|
||
* ¥á«¨ áâ à訩 ¡¨â ãáâ ®¢«¥ - á¡à®á¨âì â®çªã ®áâ ®¢
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ®è¨¡ª ¢® ¢å®¤ëå ¤ ëå
|
||
* eax = 2 - (§ १¥à¢¨à®¢ ®, ¨ª®£¤ ¥ ¢®§¢à é ¥âáï
|
||
¢ ⥪ã饩 ॠ«¨§ 樨) á í⨬ ¨¤¥ªá®¬ 㦥 ãáâ ®¢«¥
|
||
£«®¡ «ì ï â®çª ®áâ ®¢
|
||
‡ ¬¥ç ¨ï:
|
||
* <20>à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢
|
||
®¡é¥¬ ®¯¨á ¨¨).
|
||
* €¯¯ à âë¥ â®çª¨ ®áâ ®¢ ॠ«¨§ãîâáï ç¥à¥§ DRx-ॣ¨áâàë
|
||
¯à®æ¥áá®à , ®âáî¤ ¢á¥ ®£à ¨ç¥¨ï.
|
||
* ”ãªæ¨ï ¬®¦¥â ¯¥à¥ãáâ ®¢¨âì à ¥¥ ãáâ ®¢«¥ãî ¥© ¦¥
|
||
â®çªã ®áâ ®¢ (¨ª ª ¥ á®®¡é ï ®¡ í⮬).
|
||
‚¥¤¨â¥ ᯨ᮪ ãáâ ®¢«¥ëå â®ç¥ª ®áâ ®¢ ¢ ®â« ¤ç¨ª¥.
|
||
* ‘à ¡ âë¢ ¨¥ â®çª¨ ®áâ ®¢ § ª«îç ¥âáï ¢ £¥¥à¨à®¢ ¨¨
|
||
®â« ¤®ç®£® ¨áª«î票ï #DB, ® ª®â®à®¬ á¨á⥬ á®®¡é ¥â ®â« ¤ç¨ªã.
|
||
* ’®çª ®áâ ®¢ § ¯¨áì ¨ ç⥨¥/§ ¯¨áì áà ¡ âë¢ ¥â ¯®á«¥
|
||
¢ë¯®«¥¨ï ¢ë§¢ ¢è¥© ¥ñ ¨áâàãªæ¨¨.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 70 - à ¡®â á ä ©«®¢®© á¨á⥬®© á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®; ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ¢ § ¢¨á¨¬®á⨠®â ¯®¤äãªæ¨¨ ¬®¦¥â ¢®§¢à é âìáï § 票¥ ¨
|
||
¢ ¤à㣨å ॣ¨áâà å
|
||
Ž¡é¨© ä®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ᬥ饨¥ ¢ ä ©«¥
|
||
* +8: dword: áâ à訩 dword ᬥ饨ï (¤®«¦¥ ¡ëâì 0) ¨«¨ ¯®«¥ ä« £®¢
|
||
* +12 = +0xC: dword: à §¬¥à
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¤ ë¥
|
||
* +20 = +0x14: n db: ASCIIZ-áâப á ¨¬¥¥¬ ä ©«
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
“â®ç¥¨ï - ¢ ¤®ªã¬¥â 樨 ᮮ⢥âáâ¢ãîéãî ¯®¤äãªæ¨î.
|
||
ˆ¬ï ä ©« ¥çã¢áâ¢¨â¥«ì® ª ॣ¨áâà㠡㪢. <20>ãá᪨¥ ¡ãª¢ë ¤®«¦ë ¡ëâì
|
||
§ ¯¨á ë ¢ ª®¤¨à®¢ª¥ cp866 (DOS).
|
||
”®à¬ â ¨¬¥¨ ä ©« :
|
||
/base/number/dir1/dir2/.../dirn/file,
|
||
£¤¥ /base/number ¨¤¥â¨ä¨æ¨àã¥â ãáâனá⢮, ª®â®à®¬ ¨é¥âáï ä ©«:
|
||
®¤® ¨§
|
||
* /RD/1 = /RAMDISK/1 ¤«ï ¤®áâ㯠ª à ¬¤¨áªã
|
||
* /FD/1 = /FLOPPYDISK/1 ¤«ï ¤®áâ㯠ª ¯¥à¢®¬ã ä«®¯¯¨-¤¨áª®¢®¤ã,
|
||
/FD/2 = /FLOPPYDISK/2 ¤«ï ¢â®à®£® ä«®¯¯¨-¤¨áª®¢®¤
|
||
* /HD0/x, /HD1/x, /HD2/x, /HD3/x ¤«ï ¤®áâ㯠ᮮ⢥âá⢥®
|
||
ª ¦ñá⪨¬ ¤¨áª ¬ IDE0 (Primary Master), IDE1 (Primary Slave),
|
||
IDE2 (Secondary Master), IDE3 (Secondary Slave);
|
||
x - ®¬¥à à §¤¥« ¢ë¡à ®¬ ¢¨ç¥áâ¥à¥, ¨§¬¥ï¥âáï ®â 1 ¤® 255
|
||
( ª ¦¤®¬ ¨§ ¢¨ç¥áâ¥à®¢ 㬥à æ¨ï ç¨ ¥âáï á 1)
|
||
* /CD0/1, /CD1/1, /CD2/1, /CD3/1 ¤«ï ¤®áâ㯠ᮮ⢥âá⢥®
|
||
ª CD IDE0 (Primary Master), IDE1 (Primary Slave),
|
||
IDE2 (Secondary Master), IDE3 (Secondary Slave)
|
||
* /SYS - ®¯à¥¤¥«ï¥â á¨á⥬ãî ¯ ¯ªã; ¯à¨ ®¡ë箩 § £à㧪¥ á¨á⥬ë
|
||
á ¤¨áª¥âë íª¢¨¢ «¥â® /RD/1
|
||
<EFBFBD>ਬ¥àë:
|
||
* '/rd/1/kernel.asm',0
|
||
* '/HD0/1/kernel.asm',0
|
||
* '/hd0/2/menuet/pics/tanzania.bmp',0
|
||
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
|
||
* '/sys/MySuperApp.ini',0
|
||
„®áâã¯ë¥ ¯®¤äãªæ¨¨:
|
||
* ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©«
|
||
* ¯®¤äãªæ¨ï 1 - ç⥨¥ ¯ ¯ª¨
|
||
* ¯®¤äãªæ¨ï 2 - ᮧ¤ ¨¥/¯¥à¥§ ¯¨áì ä ©«
|
||
* ¯®¤äãªæ¨ï 3 - § ¯¨áì ¢ áãé¥áâ¢ãî騩 ä ©«
|
||
* ¯®¤äãªæ¨ï 4 - ãáâ ®¢ª à §¬¥à ä ©«
|
||
* ¯®¤äãªæ¨ï 5 - ¯®«ã票¥ âਡã⮢ ä ©« /¯ ¯ª¨
|
||
* ¯®¤äãªæ¨ï 6 - ãáâ ®¢ª âਡã⮢ ä ©« /¯ ¯ª¨
|
||
* ¯®¤äãªæ¨ï 7 - § ¯ã᪠¯à®£à ¬¬ë
|
||
* ¯®¤äãªæ¨ï 8 - 㤠«¥¨¥ ä ©« /¯ ¯ª¨
|
||
* ¯®¤äãªæ¨ï 9 - ᮧ¤ ¨¥ ¯ ¯ª¨
|
||
„«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á ¯¯ à â묨 ®£à ¨ç¥¨ï¬¨ ¤®áâã¯ë
|
||
⮫쪮 ¯®¤äãªæ¨¨ 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤äãªæ¨© § ¢¥àè¨âáï
|
||
®è¨¡ª®© á ª®¤®¬ 2.
|
||
<EFBFBD>ਠ¯¥à¢®¬ ®¡à 饨¨ ¯®¤äãªæ¨© 0,1,5,7 ª ãáâனá⢠¬ ATAPI
|
||
(CD ¨ DVD) ¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï ¬¥å ¨§¬®¬
|
||
«®âª . <20>â® á¢ï§ ® á ªíè¨à®¢ ¨¥¬ ¤ ëå, ¯®«ãç¥ëå ®â ¯à¨¢®¤ .
|
||
<EFBFBD> §¡«®ª¨à®¢ª ®áãé¥á⢫ï¥âáï ¯à¨ ®¡à 饨¨ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 24
|
||
ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©« á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 0 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ¯®§¨æ¨ï ¢ ä ©«¥ (¢ ¡ ©â å)
|
||
* +8: dword: 0 (§ १¥à¢¨à®¢ ® ¯®¤ áâ à訩 dword ¯®§¨æ¨¨)
|
||
* +12 = +0xC: dword: ᪮«ìª® ¡ ©â ç¨â âì
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¡ãä¥à, ªã¤ ¡ã¤ãâ § ¯¨á ë ¤ ë¥
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx = ç¨á«® ¯à®ç¨â ëå ¡ ©â ¨«¨
|
||
-1=0xffffffff, ¥á«¨ ä ©« ¥ ©¤¥
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ä ©« ª®ç¨«áï à ìè¥, 祬 ¡ë« ¯à®ç¨â ¯®á«¥¤¨© § ¯à®è¥ë©
|
||
¡«®ª, â® äãªæ¨ï ¯à®ç¨â ¥â, ᪮«ìª® ᬮ¦¥â, ¯®á«¥ 祣® ¢¥àñâ
|
||
eax=6 (EOF).
|
||
* ”ãªæ¨ï ¥ ¯®§¢®«ï¥â ç¨â âì ¯ ¯ª¨
|
||
(¢¥àñâáï eax=10, access denied).
|
||
|
||
======================================================================
|
||
= ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 1 - ç⥨¥ ¯ ¯ª¨ á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. =
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 1 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ¨¤¥ªá ç «ì®£® ¡«®ª (áç¨â ï á 0)
|
||
* +8: dword: ¯®«¥ ä« £®¢:
|
||
* ¡¨â 0 (¬ ᪠1): ¢ ª ª®¬ ä®à¬ ⥠¢®§¢à é âì ¨¬¥ ,
|
||
0=ANSI, 1=UNICODE
|
||
* ¯à®ç¨¥ ¡¨âë § १¥à¢¨à®¢ ë ¨ ¤®«¦ë ¡ëâì ãáâ ®¢«¥ë ¢ 0
|
||
¤«ï ¡ã¤ã饩 ᮢ¬¥á⨬®áâ¨
|
||
* +12 = +0xC: dword: ᪮«ìª® ¡«®ª®¢ ç¨â âì
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¡ãä¥à, ªã¤ ¡ã¤ãâ § ¯¨á ë
|
||
¤ ë¥, à §¬¥à ¡ãä¥à ¤®«¦¥ ¡ëâì ¥ ¬¥ìè¥ 32 + [+12]*560 ¡ ©â
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ¯ ¯ª¨, ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx = ç¨á«® ä ©«®¢, ¨ä®à¬ æ¨ï ® ª®â®àëå ¡ë« § ¯¨á ¢ ¡ãä¥à,
|
||
¨«¨ -1=0xffffffff, ¥á«¨ ¯ ¯ª ¥ ©¤¥
|
||
‘âàãªâãà ¡ãä¥à :
|
||
* +0: 32*byte: § £®«®¢®ª
|
||
* +32 = +0x20: n1*byte: ¡«®ª á ¨ä®à¬ 樥© ® ä ©«¥ 1
|
||
* +32+n1: n2*byte: ¡«®ª á ¨ä®à¬ 樥© ® ä ©«¥ 2
|
||
* ...
|
||
‘âàãªâãà § £®«®¢ª :
|
||
* +0: dword: ¢¥àá¨ï áâàãªâãàë (⥪ãé ï ¢¥àá¨ï = 1)
|
||
* +4: dword: ª®«¨ç¥á⢮ à §¬¥éñëå ¡«®ª®¢; ¥ ¡®«ìè¥, 祬 § ¯à®è¥®
|
||
¢ ¯®«¥ +12 ¨ä®à¬ 樮®© áâàãªâãàë; ¬®¦¥â ¡ëâì ¬¥ìè¥,
|
||
¥á«¨ ¢ ¯ ¯ª¥ ª®ç¨«¨áì ä ©«ë (â® ¦¥ á ¬®¥, çâ® ¨ ¢ ebx)
|
||
* +8: dword: ®¡é¥¥ ç¨á«® ä ©«®¢ ¢ ¯ ¯ª¥
|
||
* +12 = +0xC: 20*byte: § १¥à¢¨à®¢ ® (㫨)
|
||
‘âàãªâãà ¡«®ª ¤ ëå ¢å®¤ ª â «®£ (<28>„‚Š):
|
||
* +0: dword: âਡãâë ä ©« :
|
||
* ¡¨â 0 (¬ ᪠1): ä ©« ⮫쪮 ¤«ï ç⥨ï
|
||
* ¡¨â 1 (¬ ᪠2): ä ©« ï¥âáï áªàëâë¬
|
||
* ¡¨â 2 (¬ ᪠4): ä ©« ï¥âáï á¨á⥬ë¬
|
||
* ¡¨â 3 (¬ ᪠8): íâ® ¥ ä ©«, ¬¥âª ⮬
|
||
( § ¤ ®¬ à §¤¥«¥ ¢áâà¥ç ¥âáï ¥ ¡®«¥¥ ®¤®£® à § ¨
|
||
⮫쪮 ¢ ª®à¥¢®© ¯ ¯ª¥)
|
||
* ¡¨â 4 (¬ ᪠0x10): íâ® ¯ ¯ª
|
||
* ¡¨â 5 (¬ ᪠0x20): ä ©« ¥ à娢¨à®¢ «áï - ¬®£¨¥ ¯à®£à ¬¬ë
|
||
à娢 樨 ¨¬¥îâ ®¯æ¨î, ¯® ª®â®à®© à娢¨àãîâáï ⮫쪮 ä ©«ë
|
||
á ãáâ ®¢«¥ë¬ í⨬ ¡¨â®¬, ¯®á«¥ 祣® íâ®â ¡¨â á¡à áë¢ ¥âáï -
|
||
íâ® ¬®¦¥â ¡ëâì ¯®«¥§® ¤«ï ¢â®¬ â¨ç¥áª®£® ᮧ¤ ¨ï
|
||
backup- à娢®¢, ¨¡® ¯à¨ § ¯¨á¨ ¡¨â ®¡ëç® ãáâ ¢«¨¢ ¥âáï
|
||
(¥ ¢ Kolibri, ¯à ¢¤ )
|
||
* +4: byte: ⨯ ¤ ëå ¨¬¥¨:
|
||
(ᮢ¯ ¤ ¥â á ¡¨â®¬ 0 ä« £®¢ ¨ä®à¬ 樮®© áâàãªâãàë)
|
||
* 0 = ASCII = 1-¡ ©â®¥ ¯à¥¤áâ ¢«¥¨¥ ª ¦¤®£® ᨬ¢®«
|
||
* 1 = UNICODE = 2-¡ ©â®¥ ¯à¥¤áâ ¢«¥¨¥ ª ¦¤®£® ᨬ¢®«
|
||
* +5: 3*byte: § १¥à¢¨à®¢ ® (㫨)
|
||
* +8: 4*byte: ¢à¥¬ï ᮧ¤ ¨ï ä ©«
|
||
* +12 = +0xC: 4*byte: ¤ â ᮧ¤ ¨ï ä ©«
|
||
* +16 = +0x10: 4*byte: ¢à¥¬ï ¯®á«¥¤¥£® ¤®áâ㯠(ç⥨¥ ¨«¨ § ¯¨áì)
|
||
* +20 = +0x14: 4*byte: ¤ â ¯®á«¥¤¥£® ¤®áâã¯
|
||
* +24 = +0x18: 4*byte: ¢à¥¬ï ¯®á«¥¤¥© ¬®¤¨ä¨ª 樨
|
||
* +28 = +0x1C: 4*byte: ¤ â ¯®á«¥¤¥© ¬®¤¨ä¨ª 樨
|
||
* +32 = +0x20: qword: à §¬¥à ä ©« ¢ ¡ ©â å (¤® 16777216 ’¡)
|
||
* +40 = +0x28: ¨¬ï
|
||
* ¤«ï ä®à¬ â ASCII: ¬ ªá¨¬ «ì ï ¤«¨ ¨¬¥¨ 263 ᨬ¢®«
|
||
(263 ¡ ©â ), ¡ ©â ¯®á«¥ ¨¬¥¨ ¨¬¥¥â § 票¥ 0
|
||
* ¤«ï ä®à¬ â UNICODE: ¬ ªá¨¬ «ì ï ¤«¨ ¨¬¥¨ 259 ᨬ¢®«®¢
|
||
(518 ¡ ©â), ¤¢ ¡ ©â ¯®á«¥ ¨¬¥¨ ¨¬¥îâ § 票¥ 0
|
||
”®à¬ ⠢६¥¨:
|
||
* +0: byte: ᥪã¤ë
|
||
* +1: byte: ¬¨ãâë
|
||
* +2: byte: ç áë
|
||
* +3: byte: § १¥à¢¨à®¢ ® (0)
|
||
* ¯à¨¬¥à, 23.59.59 § ¯¨áë¢ ¥âáï ª ª (¢ hex) 3B 3B 17 00
|
||
”®à¬ â ¤ âë:
|
||
* +0: byte: ¤¥ì
|
||
* +1: byte: ¬¥áïæ
|
||
* +2: word: £®¤
|
||
* ¯à¨¬¥à, 25.11.1979 § ¯¨áë¢ ¥âáï ª ª (¢ hex) 19 0B BB 07
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¢ <20>„‚Š ¯à¨áãâáâ¢ã¥â ¨¬ï ¢ ASCII, â® ¤«¨ <20>„‚Š á®áâ ¢«ï¥â
|
||
304 ¡ ©â , ¥á«¨ ¢ UNICODE - 560 ¡ ©â. ‡ 票¥ ¤«¨ë ¢ëà ¢¥®
|
||
楫®¥ ªà ⮥ 16 ¡ ©â
|
||
(¤«ï ãáª®à¥¨ï ®¡à ¡®âª¨ ¢ ªíè-¯ ¬ï⨠CPU).
|
||
* <20>¥à¢ë© ᨬ¢®« ¯®á«¥ ¨¬¥¨ ã«¥¢®© (ASCIIZ-áâப ). „ «ì¥©è¨¥
|
||
¤ ë¥ á®¤¥à¦ â ¬ãá®à.
|
||
* …᫨ ä ©«ë ¢ ¯ ¯ª¥ ª®ç¨«¨áì à ìè¥, 祬 ¡ë«® ¯à®ç¨â ®
|
||
§ ¯à®è¥®¥ ª®«¨ç¥á⢮, â® äãªæ¨ï ¯à®ç¨â ¥â, ᪮«ìª® ᬮ¦¥â,
|
||
¯®á«¥ 祣® ¢¥àñâ eax=6 (EOF).
|
||
* ‹î¡ ï ¯ ¯ª ¤¨áª¥, ªà®¬¥ ª®à¥¢®©, ᮤ¥à¦¨â ¤¢ á¯¥æ¨ «ìëå
|
||
¢å®¤ "." ¨ "..", ¨¤¥â¨ä¨æ¨àãîé¨å ᮮ⢥âá⢥® á ¬ã ¯ ¯ªã ¨
|
||
த¨â¥«ìáªãî ¯ ¯ªã.
|
||
* ”ãªæ¨ï ¯®§¢®«ï¥â â ª¦¥ ç¨â âì ¢¨àâã «ìë¥ ¯ ¯ª¨ "/", "/rd",
|
||
"/fd", "/hd[n]", ¯à¨ í⮬ âਡãâë ¯®¤¯ ¯®ª ¯®« £ îâáï à ¢ë¬¨
|
||
0x10, ¢à¥¬¥ ¨ ¤ âë ®¡ã«¥ë. €«ìâ¥à â¨¢ë© á¯®á®¡ ¯®«ã票ï
|
||
¨ä®à¬ 樨 ®¡ ®¡®à㤮¢ ¨¨ - ¯®¤äãªæ¨ï 11 äãªæ¨¨ 18.
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 2 ======================
|
||
======== ‘®§¤ ¨¥/¯¥à¥§ ¯¨áì ä ©« á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 2 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +8: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +12 = +0xC: dword: ᪮«ìª® ¡ ©â ¯¨á âì
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¤ ë¥
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx = ç¨á«® § ¯¨á ëå ¡ ©â (¢®§¬®¦®, 0)
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ä ©« á â ª¨¬ ¨¬¥¥¬ ¥ áãé¥á⢮¢ «, ® ᮧ¤ ñâáï; ¥á«¨
|
||
áãé¥á⢮¢ «, â® ¯¥à¥§ ¯¨áë¢ ¥âáï.
|
||
* …᫨ ᢮¡®¤®£® ¬¥áâ ¤¨áª¥ ¥¤®áâ â®ç®, â® äãªæ¨ï § ¯¨è¥â,
|
||
᪮«ìª® ᬮ¦¥â, ¯®á«¥ 祣® ¢¥àñâ ª®¤ ®è¨¡ª¨ 8.
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥àñâáï ª®¤ ®è¨¡ª¨ 2).
|
||
|
||
======================================================================
|
||
====================== ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 3 ======================
|
||
======== ‡ ¯¨áì ¢ áãé¥áâ¢ãî騩 ä ©« á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. =======
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 3 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ¯®§¨æ¨ï ¢ ä ©«¥ (¢ ¡ ©â å)
|
||
* +8: dword: áâ à訩 dword ¯®§¨æ¨¨ (¤®«¦¥ ¡ëâì 0 ¤«ï FAT)
|
||
* +12 = +0xC: dword: ᪮«ìª® ¡ ©â ¯¨á âì
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¤ ë¥
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx = ç¨á«® § ¯¨á ëå ¡ ©â (¢®§¬®¦®, 0)
|
||
‡ ¬¥ç ¨ï:
|
||
* ” ©« ¤®«¦¥ 㦥 áãé¥á⢮¢ âì, ¨ ç¥ ¢¥àñâáï eax=5.
|
||
* …¤¨áâ¢¥ë¬ à¥§ã«ìâ ⮬ § ¯¨á¨ 0 ¡ ©â ï¥âáï ãáâ ®¢ª ¢
|
||
âਡãâ å ä ©« ¤ âë/¢à¥¬¥¨ ¬®¤¨ä¨ª 樨 ¨ ¤®áâ㯠¢ ⥪ãéãî.
|
||
* …᫨ ç «ì ï ¨/¨«¨ ª®¥ç ï ¯®§¨æ¨ï ¢ë室¨â § ¯à¥¤¥«ë ä ©«
|
||
(§ ¨áª«î票¥¬ ¯à¥¤ë¤ã饣® á«ãç ï), ä ©« à áè¨àï¥âáï ¤®
|
||
¥®¡å®¤¨¬®£® à §¬¥à ã«¥¢ë¬¨ ᨬ¢®« ¬¨.
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥àñâáï ª®¤ ®è¨¡ª¨ 2).
|
||
|
||
======================================================================
|
||
========= ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 4 - ãáâ ®¢ª à §¬¥à ä ©« . ========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 4 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ¬« ¤è¨© dword ®¢®£® à §¬¥à ä ©«
|
||
* +8: dword: áâ à訩 dword ®¢®£® à §¬¥à ä ©«
|
||
(¤®«¦¥ ¡ëâì 0 ¤«ï FAT)
|
||
* +12 = +0xC: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +16 = +0x10: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ®¢ë© à §¬¥à ä ©« ¬¥ìè¥ áâ ண®, ä ©« ãᥪ ¥âáï. …᫨
|
||
®¢ë© à §¬¥à ¡®«ìè¥ áâ ண®, ä ©« à áè¨àï¥âáï ã«¥¢ë¬¨ ᨬ¢®« ¬¨.
|
||
…᫨ ®¢ë© à §¬¥à à ¢¥ áâ ஬ã, ¥¤¨áâ¢¥ë¬ à¥§ã«ìâ ⮬ ¢ë§®¢
|
||
ï¥âáï ãáâ ®¢ª ¤ âë/¢à¥¬¥¨ ¬®¤¨ä¨ª 樨 ¨ ¤®áâ㯠¢ ⥪ã騥.
|
||
* …᫨ ᢮¡®¤®£® ¬¥áâ ¤¨áª¥ ¥¤®áâ â®ç® ¤«ï à áè¨à¥¨ï ä ©« ,
|
||
â® äãªæ¨ï à áè¨à¨â ᪮«ìª® ¢®§¬®¦®, ¯®á«¥ 祣® ¢¥àñâ
|
||
ª®¤ ®è¨¡ª¨ 8.
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥àñâáï ª®¤ ®è¨¡ª¨ 2).
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 5 - ¯®«ã票¥ ¨ä®à¬ 樨 ® ä ©«¥/¯ ¯ª¥. ===
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 5 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +8: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +12 = +0xC: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¡ãä¥à, ªã¤ ¡ã¤ãâ § ¯¨á ë ¤ ë¥
|
||
(40 ¡ ©â)
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx à §àãè ¥âáï
|
||
ˆä®à¬ æ¨ï ® ä ©«¥ ¢®§¢à é ¥âáï ¢ ä®à¬ ⥠<20>„‚Š
|
||
(¡«®ª ¤ ëå ¢å®¤ ª â «®£ ), 㪠§ ®¬ ¢ ®¯¨á ¨¨
|
||
¯®¤äãªæ¨¨ 1, ® ¡¥§ ¨¬¥¨ ä ©«
|
||
(â® ¥áâì ¯¥à¢ë¥ 40 = 0x28 ¡ ©â).
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¢¨àâã «ìë¥ ¯ ¯ª¨ ⨯ /, /rd ¨
|
||
ª®à¥¢ë¥ ¯ ¯ª¨ ⨯ /rd/1.
|
||
|
||
======================================================================
|
||
===== ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 6 - ãáâ ®¢ª âਡã⮢ ä ©« /¯ ¯ª¨. ====
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 6 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +8: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +12 = +0xC: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +16 = +0x10: dword: 㪠§ â¥«ì ¡ãä¥à á âਡãâ ¬¨ (32 ¡ ©â )
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx à §àãè ¥âáï
|
||
€âਡãâë ä ©« - ¯¥à¢ë¥ 32 ¡ ©â ¢ <20>„‚Š (¡«®ª¥ ¤ ëå ¢å®¤ ª â «®£ ),
|
||
ä®à¬ â ª®â®à®£® 㪠§ ¢ ®¯¨á ¨¨ ¯®¤äãªæ¨¨ 1
|
||
(â® ¥áâì ¡¥§ ¨¬¥¨ ¨ à §¬¥à ä ©« ). €âਡãâ ä ©«/¯ ¯ª /¬¥âª ⮬
|
||
(¡¨âë 3,4 ¢ dword'¥ +0) ¥ ¬¥ï¥âáï.
|
||
<EFBFBD> ©â +4 (ä®à¬ â ¨¬¥¨) ¨£®à¨àã¥âáï.
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¢¨àâã «ìë¥ ¯ ¯ª¨ ⨯ /, /rd ¨
|
||
ª®à¥¢ë¥ ¯ ¯ª¨ ⨯ /rd/1.
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥àñâáï ª®¤ ®è¨¡ª¨ 2).
|
||
|
||
======================================================================
|
||
============ ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 7 - § ¯ã᪠¯à®£à ¬¬ë. ============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 7 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: ¯®«¥ ä« £®¢:
|
||
* ¡¨â 0: § ¯ãáâ¨âì ¯à®æ¥áá ª ª ®â« ¦¨¢ ¥¬ë©
|
||
* ®áâ «ìë¥ ¡¨âë § १¥à¢¨à®¢ ë ¨ ¤®«¦ë ¡ëâì ãáâ ®¢«¥ë ¢ 0
|
||
* +8: dword: 0 ¨«¨ 㪠§ ⥫ì ASCIIZ-áâபã á ¯ à ¬¥âà ¬¨
|
||
* +12 = +0xC: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +16 = +0x10: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax > 0 - ¯à®£à ¬¬ § £à㦥 , eax ᮤ¥à¦¨â PID
|
||
* eax < 0 - ¯à®¨§®è« ®è¨¡ª , -eax ᮤ¥à¦¨â
|
||
ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* Š®¬ ¤ ï áâப ¤®«¦ § ª 稢 âìáï ᨬ¢®«®¬ á ª®¤®¬ 0
|
||
(ASCIIZ-áâப ); ãç¨âë¢ îâáï «¨¡® ¢á¥ ᨬ¢®«ë ¤® § ¢¥àè î饣® ã«ï
|
||
¢ª«îç¨â¥«ì®, «¨¡® ¯¥à¢ë¥ 256 ᨬ¢®«®¢, ¢ § ¢¨á¨¬®á⨠®â ⮣®,
|
||
çâ® ¬¥ìè¥.
|
||
* …᫨ ¯à®æ¥áá § ¯ã᪠¥âáï ª ª ®â« ¦¨¢ ¥¬ë©, ® ᮧ¤ ñâáï
|
||
¢ § ¬®à®¦¥®¬ á®áâ®ï¨¨; ¤«ï § ¯ã᪠¨á¯®«ì§ã©â¥
|
||
¯®¤äãªæ¨î 5 äãªæ¨¨ 69.
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 8 - 㤠«¥¨¥ ä ©« /¯ ¯ª¨. ==========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 8 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +8: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +12 = +0xC: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +16 = +0x10: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ä ©« , ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ä ©«
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥àñâáï ª®¤ ®è¨¡ª¨ 2).
|
||
* Œ®¦® 㤠«ïâì ⮫쪮 ¯ãáâë¥ ¯ ¯ª¨ (¯®¯ë⪠㤠«¥¨ï ¥¯ãá⮩ ¯ ¯ª¨
|
||
¯à¨¢¥¤ñâ ª ®è¨¡ª¥ á ª®¤®¬ 10, "¤®áâ㯠§ ¯à¥éñ").
|
||
|
||
======================================================================
|
||
============= ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 9 - ᮧ¤ ¨¥ ¯ ¯ª¨. =============
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 70 - ®¬¥à äãªæ¨¨
|
||
* ebx = 㪠§ â¥«ì ¨ä®à¬ 樮ãî áâàãªâãàã
|
||
”®à¬ â ¨ä®à¬ 樮®© áâàãªâãàë:
|
||
* +0: dword: 9 = ®¬¥à ¯®¤äãªæ¨¨
|
||
* +4: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +8: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +12 = +0xC: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +16 = +0x10: dword: 0 (§ १¥à¢¨à®¢ ®)
|
||
* +20 = +0x14: ASCIIZ-¨¬ï ¯ ¯ª¨, ¯à ¢¨« ä®à¬¨à®¢ ¨ï ¨¬ñ 㪠§ ë ¢
|
||
®¡é¥¬ ®¯¨á ¨¨
|
||
¨«¨
|
||
* +20 = +0x14: db 0
|
||
* +21 = +0x15: dd 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ¯ ¯ª¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||
* ebx à §àãè ¥âáï
|
||
‡ ¬¥ç ¨ï:
|
||
* ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥àñâáï ª®¤ ®è¨¡ª¨ 2).
|
||
* <20>®¤¨â¥«ìáª ï ¯ ¯ª ¤®«¦ 㦥 áãé¥á⢮¢ âì.
|
||
* …᫨ ¯ ¯ª 㦥 áãé¥áâ¢ã¥â, äãªæ¨ï § ¢¥àè¨âáï ãá¯¥è® (eax=0).
|
||
|
||
======================================================================
|
||
=== ”ãªæ¨ï 71, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì § £®«®¢®ª ®ª ¯à®£à ¬¬ë. ==
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 71 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ¤à¥á áâப¨ § £®«®¢ª
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||
‡ ¬¥ç ¨ï:
|
||
* ‘âப § £®«®¢ª ¤®«¦ ¡ëâì ¢ ä®à¬ ⥠ASCIIZ. ‚ § £®«®¢ª¥
|
||
®â®¡à ¦ ¥âáï ¥ ¡®«¥¥ 255 ᨬ¢®«®¢ ¥§ ¢¨á¨¬® ®â ¯®«®© ¤«¨ë
|
||
áâப¨.
|
||
* —⮡ë ã¡à âì § £®«®¢®ª, ¯¥à¥¤ ©â¥ NULL ¢ ecx.
|
||
|
||
======================================================================
|
||
================ ”ãªæ¨ï 72 - ¯®á« âì á®®¡é¥¨¥ ®ªã. ================
|
||
======================================================================
|
||
|
||
--- <20>®¤äãªæ¨ï 1 - ¯®á« âì á®®¡é¥¨¥ á ¯ à ¬¥â஬ ªâ¨¢®¬ã ®ªã. ----
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = 72 - ®¬¥à äãªæ¨¨
|
||
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
|
||
* ecx = ª®¤ ᮡëâ¨ï: 2 ¨«¨ 3
|
||
* edx = ª®¤ ª« ¢¨è¨ ¤«ï ecx=2, ¨¤¥â¨ä¨ª â®à ª®¯ª¨ ¤«ï ecx=3
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* eax = 0 - ãᯥè®
|
||
* eax = 1 - ¡ãä¥à § ¯®«¥
|
||
|
||
======================================================================
|
||
========== ”ãªæ¨ï -1 - § ¢¥àè¨âì ¢ë¯®«¥¨¥ ¯®â®ª /¯à®æ¥áá =========
|
||
======================================================================
|
||
<EFBFBD> à ¬¥âàë:
|
||
* eax = -1 - ®¬¥à äãªæ¨¨
|
||
‚®§¢à é ¥¬®¥ § 票¥:
|
||
* äãªæ¨ï ¥ ¢®§¢à é ¥â ¨ § 票ï, ¨ ã¯à ¢«¥¨ï
|
||
‡ ¬¥ç ¨ï:
|
||
* …᫨ ¯à®æ¥áá  ¥ ᮧ¤ ¢ « ¯®â®ª®¢, â® ã ¥£® ¥áâì ⮫쪮
|
||
®¤¨ ¯®â®ª, § ¢¥à襨¥ ª®â®à®£® ¯à¨¢®¤¨â ª § ¢¥àè¥¨î ¯à®æ¥áá .
|
||
* …᫨ ⥪ã騩 ¯®â®ª - ¯®á«¥¤¨© ¢ ¯à®æ¥áá¥, â® ¥£® § ¢¥à襨¥
|
||
â ª¦¥ ¯à¨¢®¤¨â ª § ¢¥àè¥¨î ¯à®æ¥áá .
|
||
* <20>â äãªæ¨ï § ¢¥àè ¥â ⥪ã騩 ¯®â®ª. „à㣮© ¯®â®ª ¬®¦® ¯à¨¡¨âì
|
||
¢ë§®¢®¬ ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 18.
|
||
|
||
======================================================================
|
||
=========================== ‘¯¨á®ª ᮡë⨩ ===========================
|
||
======================================================================
|
||
Žç¥à¥¤®¥ ᮡë⨥ ¬®¦® ¯®«ãç¨âì ¢ë§®¢®¬ ®¤®© ¨§ äãªæ¨© 10
|
||
(®¦¨¤ âì ᮡëâ¨ï), 11 (¯à®¢¥à¨âì ¡¥§ ®¦¨¤ ¨ï), 23
|
||
(®¦¨¤ âì ¢ â¥ç¥¨¥ § ¤ ®£® ¢à¥¬¥¨).
|
||
<EFBFBD>⨠äãªæ¨¨ ¢®§¢à é îâ ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã,
|
||
ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. <20>® 㬮«ç ¨î íâ® ¯¥à¢ë¥ âà¨, 祣®
|
||
¢¯®«¥ ¤®áâ â®ç® ¤«ï ¬®£¨å ¯à¨«®¦¥¨©.
|
||
Š®¤ë ᮡë⨩:
|
||
* 1 = á®®¡é¥¨¥ ® ¯¥à¥à¨á®¢ª¥ (á¡à áë¢ ¥âáï ¯à¨ ¢ë§®¢¥ äãªæ¨¨ 0)
|
||
* 2 = ¦ â ª« ¢¨è ª« ¢¨ âãॠ(¯®áâ㯠¥â, ⮫쪮 ª®£¤ ®ª®
|
||
ªâ¨¢®) ¨«¨ ¦ â "£®àïç ï ª« ¢¨è ";
|
||
á¡à áë¢ ¥âáï, ª®£¤ ¢á¥ ª« ¢¨è¨ ¨§ ¡ãä¥à áç¨â ë äãªæ¨¥© 2
|
||
* 3 = ¦ â ª®¯ª , ®¯à¥¤¥«ñ ï à ¥¥ äãªæ¨¥© 8 (¨«¨ ª®¯ª
|
||
§ ªàëâ¨ï, ᮧ¤ ï ¥ï¢® äãªæ¨¥© 0; ª®¯ª ¬¨¨¬¨§ 樨
|
||
®¡à ¡ âë¢ ¥âáï á¨á⥬®© ¨ ® ¥© á®®¡é¥¨ï ¥ ¯à¨å®¤¨â;
|
||
¯®áâ㯠¥â, ⮫쪮 ª®£¤ ®ª® ªâ¨¢®; á¡à áë¢ ¥âáï, ª®£¤ ¢á¥
|
||
ª®¯ª¨ ¨§ ¡ãä¥à áç¨â ë äãªæ¨¥© 17)
|
||
* 4 = § १¥à¢¨à®¢ ® (¢ ⥪ã饩 ॠ«¨§ 樨 ¨ª®£¤ ¥ ¯à¨å®¤¨â ¤ ¦¥
|
||
¯à¨ à §¬ ᪨஢ª¥ äãªæ¨¥© 40)
|
||
* 5 = ¯¥à¥à¨á®¢ë¢ ¥âáï ä® à ¡®ç¥£® á⮫ (á¡à áë¢ ¥âáï
|
||
¢â®¬ â¨ç¥áª¨ ¯®á«¥ ¯¥à¥à¨á®¢ª¨, â ª çâ® ¥á«¨ ¢® ¢à¥¬ï ¯¥à¥à¨á®¢ª¨
|
||
ä® ¯à®£à ¬¬ ¥ ¦¤ñâ ¨ ¥ ¯à®¢¥àï¥â ᮡëâ¨ï, â® í⮣® ᮡëâ¨ï
|
||
® ¥ § ¬¥â¨â)
|
||
* 6 = ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ¦ ⨥ ª®¯ªã ¬ëè¨
|
||
¨«¨ ¯¥à¥¬¥é¥¨¥; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨)
|
||
* 7 = ¯à®¨§®è«® ᮡë⨥ IPC (ᬮâਠäãªæ¨î 60 - Inter Process
|
||
Communication; á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨)
|
||
* 8 = ¯à®¨§®è«® á¥â¥¢®¥ ᮡë⨥ (á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨;
|
||
ᬮâà¨ à ¡®âã á á¥âìî)
|
||
* 9 = ¯à®¨§®è«® ®â« ¤®ç®¥ ᮡë⨥ (á¡à áë¢ ¥âáï ¯à¨ ¯à®ç⥨¨;
|
||
ᬮâਠ®â« ¤®çãî ¯®¤á¨á⥬ã)
|
||
* 16..31 = ¯à®¨§®è«® ᮡë⨥ á ᮮ⢥âáâ¢ãî騬 IRQ
|
||
(16=IRQ0, 31=IRQ15) (á¡à áë¢ ¥âáï ¯à¨ áç¨âë¢ ¨¨ ¢á¥å ¤ ëå IRQ)
|
||
|
||
======================================================================
|
||
==================== Š®¤ë ®è¨¡®ª ä ©«®¢®© á¨á⥬ë ====================
|
||
======================================================================
|
||
* 0 = ãᯥè®
|
||
* 1 = ¥ ®¯à¥¤¥«¥ ¡ § ¨/¨«¨ à §¤¥« ¦ñá⪮£® ¤¨áª (¯®¤äãªæ¨ï¬¨
|
||
7, 8 äãªæ¨¨ 21)
|
||
* 2 = äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï ¤ ®© ä ©«®¢®© á¨á⥬ë
|
||
* 3 = ¥¨§¢¥áâ ï ä ©«®¢ ï á¨á⥬
|
||
* 4 = § १¥à¢¨à®¢ ®, ¨ª®£¤ ¥ ¢®§¢à é ¥âáï ¢ ⥪ã饩 ॠ«¨§ 樨
|
||
* 5 = ä ©« ¥ ©¤¥
|
||
* 6 = ä ©« § ª®ç¨«áï
|
||
* 7 = 㪠§ â¥«ì ¢¥ ¯ ¬ï⨠¯à¨«®¦¥¨ï
|
||
* 8 = ¤¨áª § ¯®«¥
|
||
* 9 = â ¡«¨æ FAT à §àãè¥
|
||
* 10 = ¤®áâ㯠§ ¯à¥éñ
|
||
* 11 = ®è¨¡ª ãáâனáâ¢
|
||
<EFBFBD>ਠ§ ¯ã᪥ ¯à®£à ¬¬ë ¢®§¬®¦ë â ª¦¥ á«¥¤ãî騥 ª®¤ë ®è¨¡®ª:
|
||
* 30 = 0x1E = ¥¤®áâ â®ç® ¯ ¬ïâ¨
|
||
* 31 = 0x1F = ä ©« ¥ ï¥âáï ¨á¯®«¨¬ë¬
|
||
* 32 = 0x20 = ᫨誮¬ ¬®£® ¯à®æ¥áᮢ
|