‘ˆ‘’…Œ›… ”“Š–ˆˆ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ› Kolibri 0.6.5.0 ®¬¥à äãªæ¨¨ ¯®¬¥é ¥âáï ¢ ॣ¨áâà eax. ‚맮¢ á¨á⥬®© äãªæ¨¨ ®áãé¥á⢫ï¥âáï ª®¬ ¤®© "int 0x40". ‚ᥠॣ¨áâàë, ªà®¬¥  㪠§ ëå ¢ ¢®§¢à é ¥¬®¬ § 票¨, ¢ª«îç ï ॣ¨áâà ä« £®¢ eflags, á®åà ïîâáï. ====================================================================== ============== ”ãªæ¨ï 0 - ®¯à¥¤¥«¨âì ¨ à¨á®¢ âì ®ª®. ============= ====================================================================== Ž¯à¥¤¥«ï¥â ®ª® ¯à¨«®¦¥¨ï. ¨áã¥â à ¬ªã ®ª , § £®«®¢®ª ¨ à ¡®çãî ®¡« áâì. „«ï ®ª® ᮠ᪨®¬ ®¯à¥¤¥«ï¥â áâ ¤ àâë¥ ª®¯ª¨ § ªàëâ¨ï ¨ ¬¨¨¬¨§ 樨. à ¬¥âàë: * eax = 0 - ®¬¥à äãªæ¨¨ * ebx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] * ecx = [ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y] * edx = 0xXYRRGGBB, £¤¥: * Y = áâ¨«ì ®ª : * Y=0 - ⨯ I - ®ª® 䨪á¨à®¢ ëå à §¬¥à®¢ * Y=1 - ⮫쪮 ®¯à¥¤¥«¨âì ®¡« áâì ®ª , ¨ç¥£® ¥ à¨á®¢ âì * Y=2 - ⨯ II - ®ª® ¨§¬¥ï¥¬ëå à §¬¥à®¢ * Y=3 - ®ª® ᮠ᪨®¬ * ®áâ «ìë¥ ¢®§¬®¦ë¥ § 票ï (®â 4 ¤® 15) § १¥à¢¨à®¢ ë, ¢ë§®¢ äãªæ¨¨ á â ª¨¬¨ Y ¨£®à¨àã¥âáï * RR, GG, BB = ᮮ⢥âá⢥® ªà á ï, §¥«¥ ï, á¨ïï á®áâ ¢«ïî騥 梥â à ¡®ç¥© ®¡« á⨠®ª (¨£®à¨àã¥âáï ¤«ï á⨫ï Y=2) * X = DCBA (¡¨âë) * A = 1 - ã ®ª ¥áâì § £®«®¢®ª; ¤«ï á⨫ï Y=3 ¤à¥á áâப¨ § £®«®¢ª § ¤ ñâáï ¢ 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 - 梥â à ¬ª¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ®«®¦¥¨¥ ¨ à §¬¥àë ®ª ãáâ ¢«¨¢ îâáï ¯à¨ ¯¥à¢®¬ ¢ë§®¢¥ í⮩ äãªæ¨¨ ¨ ¨£®à¨àãîâáï ¯à¨ ¯®á«¥¤ãîé¨å; ¤«ï ¨§¬¥¥¨ï ¯®«®¦¥¨ï ¨/¨«¨ à §¬¥à®¢ 㦥 ᮧ¤ ®£® ®ª ¨á¯®«ì§ã©â¥ 67-î äãªæ¨î. * „«ï ®ª® á⨫ï Y=3 á § £®«®¢ª®¬ (A=1) áâப § £®«®¢ª ãáâ ¢«¨¢ ¥âáï ¯à¨ ¯¥à¢®¬ ¢ë§®¢¥ í⮩ äãªæ¨¨ ¨ ¨£®à¨àã¥âáï ¯à¨ ¯®á«¥¤ãîé¨å (â®ç¥¥ £®¢®àï, ¨£®à¨àã¥âáï ¯®á«¥ ¢ë§®¢ ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 12 - ª®æ ¯¥à¥à¨á®¢ª¨); ¤«ï ¨§¬¥¥¨ï áâப¨ § £®«®¢ª 㦥 ᮧ¤ ®£® ®ª ¨á¯®«ì§ã©â¥ ¯®¤äãªæ¨î 1 äãªæ¨¨ 71. * …᫨ ¨á¯®«ì§®¢ âì ®ª ᮮ⢥âáâ¢ãîé¨å á⨫¥©, â® ¯®«®¦¥¨¥ ¨/¨«¨ à §¬¥àë ®ª ¬®£ãâ ¬¥ïâìáï ¯®«ì§®¢ ⥫¥¬. ’¥ªã騥 ¯®«®¦¥¨¥ ¨ à §¬¥àë ¬®£ãâ ¡ëâì ¯®«ãç¥ë ¢ë§®¢®¬ äãªæ¨¨ 9. * Žª® ¤®«¦® 㬥é âìáï íªà ¥. …᫨ ¯¥à¥¤ ë¥ ª®®à¤¨ âë ¨ à §¬¥àë ¥ 㤮¢«¥â¢®àïîâ í⮬ã ãá«®¢¨î, ⮠ᮮ⢥âáâ¢ãîé ï ª®®à¤¨ â (¨«¨, ¢®§¬®¦®, ®¡¥) áç¨â ¥âáï ã«¥¬, ¥á«¨ ¨ íâ® ¥ ¯®¬®£ ¥â, ⮠ᮮ⢥âáâ¢ãî騩 à §¬¥à (¨«¨, ¢®§¬®¦®, ®¡ ) ãáâ ¢«¨¢ ¥âáï ¢ à §¬¥à íªà . „ «¥¥ ®¡®§ 稬 xpos,ypos,xsize,ysize - § 票ï, ¯¥à¥¤ ¢ ¥¬ë¥ ¢ ebx,ecx. Š®®à¤¨ âë ¯à¨¢®¤ïâáï ®â®á¨â¥«ì® «¥¢®£® ¢¥à奣® 㣫 ®ª , ª®â®àë©, â ª¨¬ ®¡à §®¬, § ¤ ¥âáï ª ª (0,0), ª®®à¤¨ âë ¯à ¢®£® ¨¦¥£® 㣫 áãâì (xsize,ysize). * §¬¥àë ®ª ¯®¨¬ îâáï ¢ á¬ëá«¥ ª®®à¤¨ â ¯à ¢®£® ¨¦¥£® 㣫 . â® ¦¥ ®â®á¨âáï ¨ ª® ¢á¥¬ ®áâ «ìë¬ äãªæ¨ï¬. â® ®§ ç ¥â, ç⮠ॠ«ìë¥ à §¬¥àë 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 - ¯®áâ ¢¨âì â®çªã ¢ ®ª¥. ================ ====================================================================== à ¬¥âàë: * eax = 1 - ®¬¥à äãªæ¨¨ * ebx = x-ª®®à¤¨ â (®â®á¨â¥«ì® ®ª ) * ecx = y-ª®®à¤¨ â (®â®á¨â¥«ì® ®ª ) * edx = 0x00RRGGBB - 梥â â®çª¨ edx = 0x01xxxxxx - ¨¢¥àâ¨à®¢ âì 梥â â®çª¨ (¬« ¤è¨¥ 24 ¡¨â ¨£®à¨àãîâáï) ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï ====================================================================== ============== ”ãªæ¨ï 2 - ¯®«ãç¨âì ª®¤ ¦ ⮩ ª« ¢¨è¨. ============= ====================================================================== ‡ ¡¨à ¥â ª®¤ ¦ ⮩ ª« ¢¨è¨ ¨§ ¡ãä¥à . à ¬¥âàë: * eax = 2 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * ¥á«¨ ¡ãä¥à ¯ãáâ, ¢®§¢à é ¥âáï eax=1 * ¥á«¨ ¡ãä¥à ¥¯ãáâ, â® ¢®§¢à é ¥âáï al=0, ah=ª®¤ ¦ ⮩ ª« ¢¨è¨, áâ à襥 á«®¢® ॣ¨áâà eax ®¡ã«¥® * ¥á«¨ ¥áâì "£®àïç ï ª« ¢¨è ", â® ¢®§¢à é ¥âáï al=2, ah=᪠ª®¤ ¦ ⮩ ª« ¢¨è¨ (0 ¤«ï ã¯à ¢«ïîé¨å ª« ¢¨è), áâ à襥 á«®¢® ॣ¨áâà eax ᮤ¥à¦¨â á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è ¢ ¬®¬¥â ¦ â¨ï £®àï祩 ª« ¢¨è¨ ‡ ¬¥ç ¨ï: * ‘ãé¥áâ¢ã¥â ®¡é¥á¨áâ¥¬ë© ¡ãä¥à ¦ âëå ª« ¢¨è à §¬¥à®¬ 120 ¡ ©â, ®à£ ¨§®¢ ë© ª ª ®ç¥à¥¤ì. * ‘ãé¥áâ¢ã¥â ¥éñ ®¤¨ ®¡é¥á¨áâ¥¬ë© ¡ãä¥à 120 "£®àïç¨å ª« ¢¨è". * ਠ¢ë§®¢¥ í⮩ äãªæ¨¨ ¯à¨«®¦¥¨¥¬ á ¥ ªâ¨¢ë¬ ®ª®¬ áç¨â ¥âáï, çâ® ¡ãä¥à ¦ âëå ª« ¢¨è ¯ãáâ. * ® 㬮«ç ¨î íâ äãªæ¨ï ¢®§¢à é ¥â ASCII-ª®¤ë; ¯¥à¥ª«îç¨âìáï ०¨¬ ᪠ª®¤®¢ (¨ § ¤) ¬®¦® á ¨á¯®«ì§®¢ ¨¥¬ äãªæ¨¨ 66. Ž¤ ª®, £®àï稥 ª« ¢¨è¨ ¢á¥£¤ ¢®§¢à é îâáï ª ª ᪠ª®¤ë. * “§ âì, ª ª¨¥ ª®¬¡¨ 樨 ª« ¢¨è ᮮ⢥âáâ¢ãîâ ª ª¨¬ ª®¤ ¬, ¬®¦®, § ¯ãá⨢ ¯à¨«®¦¥¨ï keyascii ¨ scancode. * ‘ª ª®¤ë ¢®§¢à é îâáï ¥¯®á।á⢥® ª« ¢¨ âãன ¨ 䨪á¨à®¢ ë; ASCII-ª®¤ë ¯®«ãç îâáï á ¨á¯®«ì§®¢ ¨¥¬ â ¡«¨æ ¯à¥®¡à §®¢ ¨ï, ª®â®àë¥ ¬®¦® ãáâ ®¢¨âì ¯®¤äãªæ¨¥© 2 äãªæ¨¨ 21 ¨ ¯à®ç¨â âì ¯®¤äãªæ¨¥© 2 äãªæ¨¨ 26. * Š ª á«¥¤á⢨¥, ASCII-ª®¤ë ãç¨âë¢ îâ ⥪ãéãî à ᪫ ¤ªã ª« ¢¨ âãàë (rus/en) ¢ ®â«¨ç¨¥ ®â ᪠ª®¤®¢. * ®áâ㯠¥â ¨ä®à¬ æ¨ï ⮫쪮 ® â¥å £®àïç¨å ª« ¢¨è å, ª®â®àë¥ ¡ë«¨ ®¯à¥¤¥«¥ë í⨬ ¯®â®ª®¬ ¯®¤äãªæ¨¥© 4 äãªæ¨¨ 66. ====================================================================== ================ ”ãªæ¨ï 3 - ¯®«ãç¨âì á¨á⥬®¥ ¢à¥¬ï. =============== ====================================================================== à ¬¥âàë: * eax = 3 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0x00SSMMHH, £¤¥ HH:MM:SS = ç áë:¬¨ãâë:ᥪã¤ë * ª ¦¤ë© í«¥¬¥â ¢®§¢à é ¥âáï ª ª BCD-ç¨á«®, ¯à¨¬¥à, ¤«ï ¢à¥¬¥¨ 23:59:59 १ã«ìâ ⠡㤥â 0x00595923 ‡ ¬¥ç ¨ï: * ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 9 äãªæ¨¨ 26 - ¯®«ã票¥ ¢à¥¬¥¨ á ¬®¬¥â § ¯ã᪠á¨á⥬ë; ® ¢® ¬®£¨å á«ãç ïå 㤮¡¥¥, ¯®áª®«ìªã ¢®§¢à é ¥â ¯à®áâ® DWORD-§ 票¥ áç¥â稪 ¢à¥¬¥¨. * ‘¨á⥬®¥ ¢à¥¬ï ¬®¦® ãáâ ®¢¨âì äãªæ¨¥© 22. ====================================================================== ============== ”ãªæ¨ï 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª®. ============= ====================================================================== à ¬¥âàë: * 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 ¨£®à¨àã¥âáï ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ¥à¢ë© á¨áâ¥¬ë© èà¨äâ áç¨âë¢ ¥âáï ¯à¨ § £à㧪¥ ¨§ ä ©« char.mt, ¢â®à®© - ¨§ char2.mt. * Ž¡ èà¨äâ ¨¬¥îâ ¢ëá®âã 9 ¯¨ªá¥«¥©, è¨à¨ ¬®®è¨à¨®£® èà¨äâ à ¢ 6 ¯¨ªá¥«¥©. ====================================================================== ========================= ”ãªæ¨ï 5 - ¯ 㧠. ========================= ====================================================================== ‡ ¤¥à¦¨¢ ¥â ¢ë¯®«¥¨¥ ¯à®£à ¬¬ë § ¤ ®¥ ¢à¥¬ï. à ¬¥âàë: * eax = 5 - ®¬¥à äãªæ¨¨ * ebx = ¢à¥¬ï ¢ á®âëå ¤®«ïå ᥪã¤ë ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ¥à¥¤ ç ebx=0 ¥ ¯¥à¥¤ ¥â ã¯à ¢«¥¨¥ á«¥¤ãî饬㠯à®æ¥ááã ¨ ¢®®¡é¥ ¥ ¯à®¨§¢®¤¨â ¨ª ª¨å ¤¥©á⢨©. …᫨ ¤¥©áâ¢¨â¥«ì® âॡã¥âáï ¯¥à¥¤ âì ã¯à ¢«¥¨¥ á«¥¤ãî饬㠯à®æ¥ááã (§ ª®ç¨âì ⥪ã騩 ª¢ ⠢६¥¨), ¨á¯®«ì§ã©â¥ ¯®¤äãªæ¨î 1 äãªæ¨¨ 68. * ਠ⥪ã饩 ॠ«¨§ 樨 ¯à®¨§®©¤¥â ¥¬¥¤«¥ë© ¢®§¢à â ¨§ äãªæ¨¨, ¥á«¨ á«®¦¥¨¥ ebx á ⥪ã騬 § 票¥¬ áç¥â稪 ¢à¥¬¥¨ ¢ë§®¢¥â 32-¡¨â®¥ ¯¥à¥¯®«¥¨¥. ====================================================================== =============== ”ãªæ¨ï 6 - ¯à®ç¨â âì ä ©« á à ¬¤¨áª . =============== ====================================================================== à ¬¥âàë: * eax = 6 - ®¬¥à äãªæ¨¨ * ebx = 㪠§ â¥«ì ¨¬ï ä ©« * ecx = ®¬¥à áâ à⮢®£® ¡«®ª , áç¨â ï á 1; ecx=0 - ç¨â âì á ç « ä ©« (â® ¦¥ á ¬®¥, çâ® ¨ ecx=1) * edx = ç¨á«® ¡«®ª®¢ ¤«ï ç⥨ï; edx=0 - ç¨â âì ®¤¨ ¡«®ª (â® ¦¥ á ¬®¥, çâ® ¨ edx=1) * esi = 㪠§ â¥«ì ®¡« áâì ¯ ¬ïâ¨, ªã¤ ¡ã¤ãâ § ¯¨á ë ¤ ë¥ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¤«¨ ä ©« ¢ ¡ ©â å, ¥á«¨ ä ©« ãá¯¥è® ¯à®ç¨â * eax = -1, ¥á«¨ ä ©« ¥ ©¤¥ ‡ ¬¥ç ¨ï: * „ ï äãªæ¨ï ï¥âáï ãáâ ॢ襩; äãªæ¨ï 70 ¯®§¢®«ï¥â ¢ë¯®«ïâì ⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ. * «®ª = 512 ¡ ©â. * „«ï çâ¥¨ï ¢á¥£® ä ©« ¬®¦® 㪠§ âì § ¢¥¤®¬® ¡®«ì讥 § 票¥ ¢ edx, ¯à¨¬¥à, edx = -1; ® ¢ í⮬ á«ãç ¥ ¡ã¤ì⥠£®â®¢ë ª ⮬ã, çâ® ¯à®£à ¬¬ "㯠¤¥â", ¥á«¨ ä ©« ®ª ¦¥âáï ᫨誮¬ ¡®«ì訬 ¨ "¥ ¢«¥§¥â" ¢ ¯ ¬ïâì ¯à®£à ¬¬ë. * ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢ (¯¥à¢ë¥ 8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥, ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨), «¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX " (¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« , ¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨). ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨. ‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ). * â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯ª¨ à ¬¤¨áª¥. ====================================================================== =============== ”ãªæ¨ï 7 - ¢ë¢¥á⨠¨§®¡à ¦¥¨¥ ¢ ®ª®. ============== ====================================================================== à ¬¥âàë: * eax = 7 - ®¬¥à äãªæ¨¨ * ebx = 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... * ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] * edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * Š®®à¤¨ âë ¨§®¡à ¦¥¨ï - íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫 ¨§®¡à ¦¥¨ï ®â®á¨â¥«ì® ®ª . * §¬¥à ¨§®¡à ¦¥¨ï ¢ ¡ ©â å ¥áâì 3*xsize*ysize. ====================================================================== =============== ”ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã. =============== ====================================================================== à ¬¥âàë ¤«ï ®¯à¥¤¥«¥¨ï ª®¯ª¨: * eax = 8 - ®¬¥à äãªæ¨¨ * ebx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] * ecx = [ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y] * edx = 0xXYnnnnnn, £¤¥: * nnnnnn = ¨¤¥â¨ä¨ª â®à ª®¯ª¨ * áâ à訩 (31-©) ¡¨â edx á¡à®è¥ * ¥á«¨ 30-© ¡¨â edx ãáâ ®¢«¥ - ¥ ¯à®à¨á®¢ë¢ âì ª®¯ªã * ¥á«¨ 29-© ¡¨â edx ãáâ ®¢«¥ - ¥ à¨á®¢ âì à ¬ªã ¯à¨ ¦ ⨨ ª®¯ªã * esi = 0x00RRGGBB - 梥⠪®¯ª¨ à ¬¥âàë ¤«ï 㤠«¥¨ï ª®¯ª¨: * eax = 8 - ®¬¥à äãªæ¨¨ * edx = 0x80nnnnnn, £¤¥ nnnnnn - ¨¤¥â¨ä¨ª â®à ª®¯ª¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * §¬¥àë ª®¯ª¨ ¤®«¦ë ¡ëâì ¡®«ìè¥ 0 ¨ ¬¥ìè¥ 0x8000. * „«ï ®ª® ᮠ᪨®¬ ¯à¨ ®¯à¥¤¥«¥¨¨ ®ª (¢ë§®¢¥ 0-© äãªæ¨¨) ᮧ¤ îâáï ¤¢¥ áâ ¤ àâë¥ ª®¯ª¨ - § ªàëâ¨ï ®ª á ¨¤¥â¨ä¨ª â®à®¬ 1 ¨ ¬¨¨¬¨§ 樨 ®ª á ¨¤¥â¨ä¨ª â®à®¬ 0xffff. * ‘®§¤ ¨¥ ¤¢ãå ª®¯®ª á ®¤¨ ª®¢ë¬¨ ¨¤¥â¨ä¨ª â®à ¬¨ ¢¯®«¥ ¤®¯ãá⨬®. * Š®¯ª á ¨¤¥â¨ä¨ª â®à®¬ 0xffff ¯à¨ ¦ ⨨ ¨â¥à¯à¥â¨àã¥âáï á¨á⥬®© ª ª ª®¯ª ¬¨¨¬¨§ 樨, á¨á⥬ ®¡à ¡ âë¢ ¥â â ª®¥ ¦ ⨥ á ¬®áâ®ï⥫ì®, ¥ ®¡à é ïáì ª ¯à¨«®¦¥¨î. ‚ ®á⠫쮬 íâ® ®¡ëç ï ª®¯ª . * Ž¡é¥¥ ª®«¨ç¥á⢮ ª®¯®ª ¤«ï ¢á¥å ¯à¨«®¦¥¨© ®£à ¨ç¥® ç¨á«®¬ 4095. ====================================================================== ============= ”ãªæ¨ï 9 - ¨ä®à¬ æ¨ï ® ¯®â®ª¥ ¢ë¯®«¥¨ï. ============ ====================================================================== à ¬¥âàë: * 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. * ‚®§¢à é ¥¬®¥ § 票¥ ¥ ¥áâì ®¡é¥¥ ç¨á«® ¯®â®ª®¢, ¯®áª®«ìªã ¡ë¢ îâ ᢮¡®¤ë¥ á«®âë. * ਠᮧ¤ ¨¨ ¯à®æ¥áá ¢â®¬ â¨ç¥áª¨ ᮧ¤ ¥âáï ¯®â®ª ¢ë¯®«¥¨ï. * ”ãªæ¨ï ¢ë¤ ¥â ¨ä®à¬ æ¨î ® ¯®â®ª¥. Š ¦¤ë© ¯à®æ¥áá ¨¬¥¥â å®âï ¡ë ®¤¨ ¯®â®ª. Ž¤¨ ¯à®æ¥áá ¬®¦¥â ᮧ¤ âì ¥áª®«ìª® ¯®â®ª®¢, ¢ í⮬ á«ãç ¥ ª ¦¤ë© ¯®â®ª ¯®«ãç ¥â ᢮© á«®â, ¯à¨ç¥¬ ¯®«ï +10, +22, +26 ¢ íâ¨å á«®â å ᮢ¯ ¤ îâ. „«ï ¯à¨«®¦¥¨© ¥ áãé¥áâ¢ã¥â ®¡é¥£® ᯮᮡ ®¯à¥¤¥«¨âì, ¯à¨ ¤«¥¦ â «¨ ¤¢ ¯®â®ª ®¤®¬ã ¯à®æ¥ááã. * €ªâ¨¢®¥ ®ª® - ®ª®, 室ï饥áï ¢¥à訥 ®ª®®£® áâíª , ®® ¯®«ãç ¥â á®®¡é¥¨ï ® ¢¢®¤¥ á ª« ¢¨ âãàë. „«ï ¥£® ¯®§¨æ¨ï ¢ ®ª®®¬ áâíª¥ ᮢ¯ ¤ ¥â á ¢®§¢à é ¥¬ë¬ § 票¥¬. * ‘«®â 1 ᮮ⢥âáâ¢ã¥â á¯¥æ¨ «ì®¬ã ¯®â®ªã ®¯¥à 樮®© á¨á⥬ë, ¤«ï ª®â®à®£®: * ®ª® 室¨âáï ¢¨§ã ®ª®®£® áâíª , ¯®«ï +4 ¨ +6 ᮤ¥à¦ â § 票¥ 1 * ¨¬ï ¯à®æ¥áá - "OS/IDLE" (¤®¯®«¥®¥ ¯à®¡¥« ¬¨) * ¤à¥á ¯à®æ¥áá ¢ ¯ ¬ïâ¨ à ¢¥ 0, à §¬¥à ¨á¯®«ì§ã¥¬®© ¯ ¬ï⨠16 Mb (0x1000000) * PID=1 * ª®®à¤¨ âë ¨ à §¬¥àë ®ª , à ¢® ª ª ¨ ª«¨¥â᪮© ®¡« áâ¨, ãá«®¢® ¯®« £ îâáï à ¢ë¬¨ 0 * á®áâ®ï¨¥ á«®â - ¢á¥£¤ 0 (¢ë¯®«ï¥âáï) * ¢à¥¬ï ¢ë¯®«¥¨ï ᪫ ¤ë¢ ¥âáï ¨§ ¢à¥¬¥¨, ã室ï饣® ᮡá⢥® à ¡®âã, ¨ ¢à¥¬¥¨ ¯à®áâ®ï ¢ ®¦¨¤ ¨¨ ¯à¥àë¢ ¨ï (ª®â®à®¥ ¬®¦® ¯®«ãç¨âì ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 18). * ç¨ ï á® á«®â 2, à §¬¥é îâáï ®¡ëçë¥ ¯à¨«®¦¥¨ï. * Ž¡ëçë¥ ¯à¨«®¦¥¨ï à §¬¥é îâáï ¢ ¯ ¬ï⨠¯® ¤à¥áã 0x60400000 (ª®áâ â ï¤à std_application_base_address). «®¦¥¨ï ¥ ¯à®¨á室¨â, ¯®áª®«ìªã ã ª ¦¤®£® ¯à®æ¥áá ᢮ï â ¡«¨æ áâà ¨æ. * ਠᮧ¤ ¨¨ ¯®â®ª ¥¬ã § ç îâáï ᫮⠢ á¨á⥬®© â ¡«¨æ¥ ¨ ¨¤¥â¨ä¨ª â®à (Process/Thread IDentifier = PID/TID), ª®â®àë¥ ¤«ï § ¤ ®£® ¯®â®ª ¥ ¨§¬¥ïîâáï á® ¢à¥¬¥¥¬. ®á«¥ § ¢¥àè¥¨ï ¯®â®ª ¥£® ᫮⠬®¦¥â ¡ëâì § ®¢® ¨á¯®«ì§®¢ ¤«ï ¤à㣮£® ¯®â®ª . ˆ¤¥â¨ä¨ª â®à ¯®â®ª ¥ ¬®¦¥â ¡ëâì § ç¥ ¤à㣮¬ã ¯®â®ªã ¤ ¦¥ ¯®á«¥ § ¢¥àè¥¨ï ¯¥à¢®£®. § ç ¥¬ë¥ ®¢ë¬ ¯®â®ª ¬ ¨¤¥â¨ä¨ª â®àë ¬®®â®® à áâãâ. * …᫨ ¯®â®ª ¥é¥ ¥ ®¯à¥¤¥«¨« ᢮¥ ®ª® ¢ë§®¢®¬ äãªæ¨¨ 0, â® ¯®«®¦¥¨¥ ¨ à §¬¥àë í⮣® ®ª ¯®« £ îâáï ã«ï¬¨. * Š®®à¤¨ âë ª«¨¥â᪮© ®¡« á⨠®ª ¡¥àãâáï ®â®á¨â¥«ì® ®ª . * ‚ ¤ ë© ¬®¬¥â ¨á¯®«ì§ã¥âáï ⮫쪮 ç áâì ¡ãä¥à à §¬¥à®¬ 71 = 0x47 ¡ ©â . ’¥¬ ¥ ¬¥¥¥ ४®¬¥¤ã¥âáï ¨á¯®«ì§®¢ âì ¡ãä¥à à §¬¥à®¬ 1 Š¡ ¤«ï ¡ã¤ã饩 ᮢ¬¥á⨬®áâ¨, ¢ ¡ã¤ã饬 ¬®£ãâ ¡ëâì ¤®¡ ¢«¥ë ¥ª®â®àë¥ ¯®«ï. ====================================================================== ==================== ”ãªæ¨ï 10 - ®¦¨¤ âì ᮡëâ¨ï. =================== ====================================================================== …᫨ ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ , â® ¦¤¥â ¯®ï¢«¥¨ï á®®¡é¥¨ï ¢ ®ç¥à¥¤¨. ‚ â ª®¬ á®áâ®ï¨¨ ¯®â®ª ¥ ¯®«ãç ¥â ¯à®æ¥áá®à®£® ¢à¥¬¥¨. ‡ ⥬ áç¨âë¢ ¥â á®®¡é¥¨¥ ¨§ ®ç¥à¥¤¨. à ¬¥âàë: * eax = 10 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ᮡë⨥ (ᬮâਠᯨ᮪ ᮡë⨩) ‡ ¬¥ç ¨ï: * “ç¨âë¢ îâáï ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã, ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. ® 㬮«ç ¨î í⮠ᮡëâ¨ï ¯¥à¥à¨á®¢ª¨, ¦ â¨ï ª« ¢¨è¨ ¨ ª®¯ª¨. * „«ï ¯à®¢¥àª¨, ¥áâì «¨ á®®¡é¥¨¥ ¢ ®ç¥à¥¤¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 11. —â®¡ë ¦¤ âì ¥ ¡®«¥¥ ®¯à¥¤¥«¥®£® ¢à¥¬¥¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 23. ====================================================================== ======= ”ãªæ¨ï 11 - ¯à®¢¥à¨âì, ¥áâì «¨ ᮡë⨥, ¡¥§ ®¦¨¤ ¨ï. ======= ====================================================================== …᫨ ¢ ®ç¥à¥¤¨ á®®¡é¥¨© ¥áâì ª ª®¥-⮠ᮡë⨥, â® áç¨âë¢ ¥â ¨ ¢®§¢à é ¥â ¥£®. …᫨ ®ç¥à¥¤ì ¯ãáâ , ¢®§¢à é ¥â ã«ì. à ¬¥âàë: * eax = 11 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ * ¨ ç¥ eax = ᮡë⨥ (ᬮâਠᯨ᮪ ᮡë⨩) ‡ ¬¥ç ¨ï: * “ç¨âë¢ îâáï ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã, ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. ® 㬮«ç ¨î í⮠ᮡëâ¨ï ¯¥à¥à¨á®¢ª¨, ¦ â¨ï ª« ¢¨è¨ ¨ ª®¯ª¨. * „«ï ®¦¨¤ ¨ï ¯®ï¢«¥¨ï ᮡëâ¨ï ¢ ®ç¥à¥¤¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 10. —â®¡ë ¦¤ âì ¥ ¡®«¥¥ ®¯à¥¤¥«¥®£® ¢à¥¬¥¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 23. ====================================================================== =========== ”ãªæ¨ï 12 - ç âì/§ ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . ========== ====================================================================== -------------- ®¤äãªæ¨ï 1 - ç âì ¯¥à¥à¨á®¢ªã ®ª . --------------- à ¬¥âàë: * eax = 12 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï ------------- ®¤äãªæ¨ï 2 - § ª®ç¨âì ¯¥à¥à¨á®¢ªã ®ª . ------------- à ¬¥âàë: * eax = 12 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ”ãªæ¨ï ç « ¯¥à¥à¨á®¢ª¨ 㤠«ï¥â ¢á¥ ®¯à¥¤¥«ñë¥ äãªæ¨¥© 8 ª®¯ª¨, ¨å á«¥¤ã¥â ®¯à¥¤¥«¨âì ¯®¢â®à®. ====================================================================== ============ ”ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª ¢ ®ª¥. =========== ====================================================================== à ¬¥âàë: * eax = 13 - ®¬¥à äãªæ¨¨ * ebx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] * ecx = [ª®®à¤¨ â ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y] * edx = 梥â 0xRRGGBB ¨«¨ 0x80RRGGBB ¤«ï £à ¤¨¥â®© § «¨¢ª¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ®¤ ª®®à¤¨ â ¬¨ ¯®¨¬ îâáï ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫 ¯àאַ㣮«ì¨ª ®â®á¨â¥«ì® ®ª . ====================================================================== ================ ”ãªæ¨ï 14 - ¯®«ãç¨âì à §¬¥àë íªà . =============== ====================================================================== à ¬¥âàë: * eax = 14 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = [xsize]*65536 + [ysize], £¤¥ * xsize = x-ª®®à¤¨ â ¯à ¢®£® ¨¦¥£® 㣫 íªà = à §¬¥à ¯® £®à¨§®â «¨ - 1 * ysize = y-ª®®à¤¨ â ¯à ¢®£® ¨¦¥£® 㣫 íªà = à §¬¥à ¯® ¢¥à⨪ «¨ - 1 ‡ ¬¥ç ¨ï: * ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 5 äãªæ¨¨ 48 - ¯®«ãç¨âì à §¬¥àë à ¡®ç¥© ®¡« á⨠íªà . ====================================================================== = ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. = ====================================================================== à ¬¥âàë: * eax = 15 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = è¨à¨ ¨§®¡à ¦¥¨ï * edx = ¢ëá®â ¨§®¡à ¦¥¨ï ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ‚맮¢ äãªæ¨¨ ®¡ï§ ⥫¥ ¯¥à¥¤ ¢ë§®¢®¬ ¯®¤äãªæ¨© 2 ¨ 5. * „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® . * …áâì ¯ à ï äãªæ¨ï ¯®«ã票ï à §¬¥à®¢ ä®®¢®£® ¨§®¡à ¦¥¨ï - ¯®¤äãªæ¨ï 1 äãªæ¨¨ 39. ====================================================================== = ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 2 - ¯®áâ ¢¨âì â®çªã ä®®¢®¬ ¨§®¡à ¦¥¨¨. = ====================================================================== à ¬¥âàë: * eax = 15 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ᬥ饨¥ * edx = 梥â â®çª¨ 0xRRGGBB ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ‘¬¥é¥¨¥ ¤«ï â®çª¨ á ª®®à¤¨ â ¬¨ (x,y) ¢ëç¨á«ï¥âáï ª ª (x+y*xsize)*3. * …᫨ 㪠§ ®¥ ᬥ饨¥ ¯à¥¢ëè ¥â ãáâ ®¢«¥ë© ¯®¤äãªæ¨¥© 1 à §¬¥à, ¢ë§®¢ ¨£®à¨àã¥âáï. * „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® . * …áâì ¯ à ï äãªæ¨ï ¯®«ã票ï â®çª¨ á ä®®¢®£® ¨§®¡à ¦¥¨ï - ¯®¤äãªæ¨ï 2 äãªæ¨¨ 39. ====================================================================== ============ ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®. ============ ====================================================================== à ¬¥âàë: * eax = 15 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï ====================================================================== ===== ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . ==== ====================================================================== à ¬¥âàë: * eax = 15 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ०¨¬ ®âà¨á®¢ª¨: * 1 = § ¬®áâ¨âì * 2 = à áâïãâì ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® . * …áâì ¯ à ï ª®¬ ¤ ¯®«ã票ï ०¨¬ ®âà¨á®¢ª¨ ä® - ¯®¤äãªæ¨ï 4 äãªæ¨¨ 39. ====================================================================== ===== ”ãªæ¨ï 15, ¯®¤äãªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ä®. ===== ====================================================================== à ¬¥âàë: * eax = 15 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ¤ ë¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... * edx = ᬥ饨¥ ¢ ¤ ëå ä®®¢®£® ¨§®¡à ¦¥¨ï * esi = à §¬¥à ¤ ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥© ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ஢¥àª¨ ª®à४â®áâ¨ á¬¥é¥¨ï ¨ à §¬¥à ¥ ¯à®¨§¢®¤¨âáï. * –¢¥â ª ¦¤®£® ¯¨ªá¥«ï åà ¨âáï ª ª 3-¡ ©â ï ¢¥«¨ç¨ BBGGRR. * ¨ªá¥«¨ ä®®¢®£® ¨§®¡à ¦¥¨ï § ¯¨áë¢ îâáï ¯®á«¥¤®¢ â¥«ì® á«¥¢ ¯à ¢®, ᢥàåã ¢¨§. * ‘¬¥é¥¨¥ ¯¨ªá¥«ï á ª®®à¤¨ â ¬¨ (x,y) ¥áâì (x+y*xsize)*3. * „«ï ®¡®¢«¥¨ï íªà (¯®á«¥ § ¢¥à襨ï á¥à¨¨ ª®¬ ¤, à ¡®â îé¨å á ä®®¬) ¢ë§ë¢ ©â¥ ¯®¤äãªæ¨î 3 ¯¥à¥à¨á®¢ª¨ ä® . ====================================================================== ============= ”ãªæ¨ï 16 - á®åà ¨âì à ¬¤¨áª ¤¨áª¥âã. ============= ====================================================================== à ¬¥âàë: * eax = 16 - ®¬¥à äãªæ¨¨ * ebx = 1 ¨«¨ ebx = 2 - ª ªãî ¤¨áª¥âã á®åà ïâì ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ®è¨¡ª ====================================================================== ============== ”ãªæ¨ï 17 - ¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨. ============= ====================================================================== ‡ ¡¨à ¥â ª®¤ ¦ ⮩ ª®¯ª¨ ¨§ ¡ãä¥à . à ¬¥âàë: * eax = 17 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * ¥á«¨ ¡ãä¥à ¯ãáâ, ¢®§¢à é ¥âáï eax=1 * ¥á«¨ ¡ãä¥à ¥¯ãáâ, â® ¢®§¢à é ¥âáï al=0, áâ à訥 24 ¡¨â eax ᮤ¥à¦ â ¨¤¥â¨ä¨ª â®à ª®¯ª¨ (¢ ç áâ®áâ¨, ¢ ah ®ª §ë¢ ¥âáï ¬« ¤è¨© ¡ ©â ¨¤¥â¨ä¨ª â®à ; ¥á«¨ ¢á¥ ª®¯ª¨ ¨¬¥îâ ¨¤¥â¨ä¨ª â®à, ¬¥ì訩 256, â® ¤«ï à §«¨ç¥¨ï ¤®áâ â®ç® ah) ‡ ¬¥ç ¨ï: * "ãä¥à" åà ¨â ⮫쪮 ®¤ã ª®¯ªã, ¯à¨ ¦ ⨨ ®¢®© ª®¯ª¨ ¨ä®à¬ æ¨ï ® áâ ன â¥àï¥âáï. * ਠ¢ë§®¢¥ í⮩ äãªæ¨¨ ¯à¨«®¦¥¨¥¬ á ¥ ªâ¨¢ë¬ ®ª®¬ ¢®§¢à é ¥âáï ®â¢¥â "¡ãä¥à ¯ãáâ". ====================================================================== ======== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 1 - § ¢¥àè¨âì à ¡®âã á¨á⥬ë. ======== ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * ¢á¥£¤ ¢®§¢à é ¥âáï eax = 0 ª ª ¯à¨§ ª ãá¯¥å ‡ ¬¥ç ¨ï: * ¯®á«¥¤¥¬ è £¥ ¯®ï¢«ï¥âáï ¬¥î ¢ë室 ¨§ á¨á⥬ë, ®¦¨¤ î饥 ॠªæ¨¨ ¯®«ì§®¢ ⥫ï. * ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 9, § ¢¥à襨¥ à ¡®âë á¨á⥬ë á ¯ à ¬¥â஬, ç⮡ë ä®àá¨à®¢ âì ¢ë¡®à ¢ ¬¥î ¢ë室 . ====================================================================== ==== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 2 - § ¢¥àè¨âì ¯à®æ¥áá/¯®â®ª ¯® á«®âã. ==== ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ®¬¥à ᫮⠯à®æ¥áá /¯®â®ª ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ¥«ì§ï § ¢¥àè¨âì ¯®â®ª ®¯¥à 樮®© á¨á⥬ë OS/IDLE (®¬¥à á«®â 1), ¬®¦® § ¢¥àè¨âì «î¡®© ®¡ëçë© ¯®â®ª/¯à®æ¥áá. * ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 18 - § ¢¥à襨¥ ¯à®æ¥áá /¯®â®ª á § ¤ ë¬ ¨¤¥â¨ä¨ª â®à®¬. ====================================================================== = ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 3 - ᤥ« âì ªâ¨¢ë¬ ®ª® § ¤ ®£® ¯®â®ª . = ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ®¬¥à ᫮⠯®â®ª ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ਠ㪠§ ¨¨ ª®à४⮣®, ® ¥áãé¥áâ¢ãî饣® ᫮⠪⨢¨§¨àã¥âáï ª ª®¥-â® ®ª®. * “§ âì, ª ª®¥ ®ª® ï¥âáï ªâ¨¢ë¬, ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 7. ====================================================================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 4 - ¯®«ãç¨âì áçñâ稪 ¯ãáâëå ⠪⮢ ¢ ᥪã¤ã. ====================================================================== ®¤ ¯ãáâ묨 ⠪⠬¨ ¯®¨¬ ¥âáï ¢à¥¬ï, ¢ ª®â®à®¥ ¯à®æ¥áá®à ¯à®áâ ¨¢ ¥â ¢ ®¦¨¤ ¨¨ ¯à¥àë¢ ¨ï (¢ ¨áâàãªæ¨¨ hlt). à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = § 票¥ áçñâ稪 ¯ãáâëå ⠪⮢ ¢ ᥪã¤ã ====================================================================== ======== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 5 - ¯®«ãç¨âì ⠪⮢ãî ç áâ®âã. ======= ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ⠪⮢ ï ç áâ®â (¯® ¬®¤ã«î 2^32 ⠪⮢ = 4ƒƒæ) ====================================================================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 6 - á®åà ¨âì à ¬¤¨áª ¢ ä ©« ¦ñá⪮¬ ¤¨áª¥. ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ ⥫ì áâபã á ¯®«ë¬ ¨¬¥¥¬ ä ©« ( ¯à¨¬¥à, "/hd0/1/kolibri/kolibri.img") ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * ¨ ç¥ eax = ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨áâ¥¬ë ‡ ¬¥ç ¨ï: * ‚ᥠ¯ ¯ª¨ ¢ 㪠§ ®¬ ¯ã⨠¤®«¦ë áãé¥á⢮¢ âì, ¨ ç¥ ¢¥àñâáï § 票¥ 5, "ä ©« ¥ ©¤¥". ====================================================================== ====== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 7 - ¯®«ãç¨âì ®¬¥à ªâ¨¢®£® ®ª . ===== ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ®¬¥à ªâ¨¢®£® ®ª (®¬¥à ᫮⠯®â®ª , ®ª® ª®â®à®£® ªâ¨¢®) ‡ ¬¥ç ¨ï: * €ªâ¨¢®¥ ®ª® 室¨âáï ¢¢¥àåã ®ª®®£® áâíª ¨ ¯®«ãç ¥â á®®¡é¥¨ï ®¡® ¢áñ¬ ¢¢®¤¥ á ª« ¢¨ âãàë. * ‘¤¥« âì ®ª® ªâ¨¢ë¬ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3. ====================================================================== ==== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 8 - ®âª«îç¨âì/à §à¥è¨âì §¢ãª ᯨª¥à . ==== ====================================================================== ਠ®âª«îçñ®¬ §¢ãª¥ ¢ë§®¢ë ¯®¤äãªæ¨¨ 55 äãªæ¨¨ 55 ¨£®à¨àãîâáï. ਠ¢ª«îçñ®¬ - ¯à ¢«ïîâáï ¢áâà®¥ë© á¯¨ª¥à. --------------- ®¤¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì á®áâ®ï¨¥. ---------------- à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 1 - ®¬¥à ¯®¤¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - §¢ãª ᯨª¥à à §à¥èñ; 1 - § ¯à¥éñ -------------- ®¤¯®¤äãªæ¨ï 2 - ¯¥à¥ª«îç¨âì á®áâ®ï¨¥. -------------- ¥à¥ª«îç ¥â á®áâ®ï¨ï à §à¥è¥¨ï/§ ¯à¥é¥¨ï. à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 2 - ®¬¥à ¯®¤¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï ====================================================================== = ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 9 - § ¢¥à襨¥ à ¡®âë á¨á⥬ë á ¯ à ¬¥â஬. = ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¯ à ¬¥âà: * 1 = ¯®á«¥¤¥¬ è £¥ § ¢¥à襨ï à ¡®âë á®åà ¨âì à ¬¤¨áª ¤¨áª¥âã, ¯®á«¥ 祣® ¢ë¢¥á⨠¬¥î ¢ë室 ¨ § ¯à®á¨âì ã ¯®«ì§®¢ â¥«ï ¤ «ì¥©è¨¥ ¤¥©á⢨ï * 2 = ¢ëª«îç¨âì ª®¬¯ìîâ¥à * 3 = ¯¥à¥§ £à㧨âì ª®¬¯ìîâ¥à * 4 = ¯¥à¥§ ¯ãáâ¨âì ï¤à® ¨§ ä ©« kernel.mnt à ¬¤¨áª¥ ‚®§¢à é ¥¬®¥ § 票¥: * ¯à¨ ¥¢¥à®¬ ecx ॣ¨áâàë ¥ ¬¥ïîâáï (â.¥. eax=18) * ¯à¨ ¯à ¢¨«ì®¬ ¢ë§®¢¥ ¢á¥£¤ ¢®§¢à é ¥âáï ¯à¨§ ª ãᯥå eax=0 ‡ ¬¥ç ¨ï: * ¥ á«¥¤ã¥â ¯®« £ âìáï ¢®§¢à é ¥¬®¥ § 票¥ ¯à¨ ¥¢¥à®¬ ¢ë§®¢¥, ®® ¬®¦¥â ¨§¬¥¨âìáï ¢ ¯®á«¥¤ãîé¨å ¢¥àá¨ïå ï¤à . * Œ®¦® ¨á¯®«ì§®¢ âì ¯®¤äãªæ¨î 1, çâ®¡ë ¯®á«¥¤¥¬ è £¥ § ¢¥à襨ï à ¡®âë ¯®«ì§®¢ ⥫ì á ¬ à¥è «, çâ® ¥¬ã 㦮. * ¥ ४®¬¥¤ã¥âáï ¨á¯®«ì§®¢ âì § 票¥ ecx=1 (çâ®¡ë ¥ à §¤à ¦ âì ¯®«ì§®¢ â¥«ï ¨§«¨è¨¬¨ ¢®¯à®á ¬¨); á®åà ¨âì à ¬¤¨áª ¤¨áª¥âã ¬®¦® äãªæ¨¥© 16 (ª®â®à ï ¤®¯ã᪠¥â ãâ®ç¥¨¥, ª ªãî ¨¬¥® ¤¨áª¥âã ¯¨á âì), § ¢¥àè¨âì à ¡®âã á ¬¥î ¢ë室 ¬®¦® 㦥 㯮¬ïã⮩ ¯®¤äãªæ¨¥© 1. ====================================================================== ======== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 10 - ᢥàãâì ®ª® ¯à¨«®¦¥¨ï. ======= ====================================================================== ‘¢®à 稢 ¥â ᮡá⢥®¥ ®ª®. à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * Œ¨¨¬¨§¨à®¢ ®¥ ®ª® á â®çª¨ §à¥¨ï äãªæ¨¨ 9 á®åà ï¥â ¯®«®¦¥¨¥ ¨ à §¬¥àë. * ‚®ááâ ®¢«¥¨¥ ®ª ¯à¨«®¦¥¨ï ¯à®¨á室¨â ¯à¨ ªâ¨¢¨§¨à®¢ ¨¨ ¯®¤äãªæ¨¥© 3. * Ž¡ëç® ¥â ¥®¡å®¤¨¬®á⨠ ᢮à 稢 âì/à §¢®à 稢 âì ᢮ñ ®ª®: ᢮à 稢 ¨¥ ®ª ®áãé¥á⢫ï¥âáï á¨á⥬®© ¯à¨ ¦ ⨨ ª®¯ªã ¬¨¨¬¨§ 樨 (ª®â®à ï ¤«ï ®ª® ᮠ᪨®¬ ®¯à¥¤¥«ï¥âáï ¢â®¬ â¨ç¥áª¨ äãªæ¨¥© 0, ¤«ï ®ª® ¡¥§ ᪨ ¥ñ ¬®¦® ®¯à¥¤¥«¨âì äãªæ¨¥© 8), ¢®ááâ ®¢«¥¨¥ - ¯à¨«®¦¥¨¥¬ @panel. ====================================================================== ====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 11 ===================== ============= ®«ãç¨âì ¨ä®à¬ æ¨î ® ¤¨áª®¢®© ¯®¤á¨á⥬¥. ============= ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ⨯ â ¡«¨æë: * 1 = ª®à®âª ï ¢¥àá¨ï, 10 ¡ ©â * 2 = ¯®« ï ¢¥àá¨ï, 65536 ¡ ©â * edx = 㪠§ â¥«ì ¡ãä¥à (¢ ¯à¨«®¦¥¨¨) ¤«ï â ¡«¨æë ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ”®à¬ â â ¡«¨æë: ª®à®âª ï ¢¥àá¨ï: * +0: byte: ¨ä®à¬ æ¨ï ® ƒŒ„ (¤¨áª®¢®¤ å ¤«ï ¤¨áª¥â), 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'' (â ª¨¥ ¤¨áª¥âë ᥩç á 㦥 ¥ ¨á¯®«ì§ãîâáï) ¯à¨¬¥à, ¤«ï áâ ¤ à⮩ ª®ä¨£ãà 樨 ¨§ ®¤®£® 1.44-¤¨áª®¢®¤ §¤¥áì ¡ã¤¥â 40h, ¤«ï á«ãç ï 1.2Mb A: ¨ 1.44Mb B: § 票¥ ®ª §ë¢ ¥âáï 24h. * +1: byte: ¨ä®à¬ æ¨ï ® ¦ñáâª¨å ¤¨áª å ¨ CD-¯à¨¢®¤ å, AABBCCDD, £¤¥ AA ᮮ⢥âáâ¢ã¥â ª®â஫«¥àã IDE0, ..., DD - IDE3: * 0 = ãáâனá⢮ ®âáãâáâ¢ã¥â * 1 = ¦ñá⪨© ¤¨áª * 2 = CD-¯à¨¢®¤ ¯à¨¬¥à, ¢ á«ãç ¥ HD IDE0 ¨ CD IDE2 §¤¥áì ¡ã¤¥â 48h. * +2: 4 db: ç¨á«® ©¤¥ëå à §¤¥«®¢ ¦ñáâª¨å ¤¨áª å á ᮮ⢥âá⢥® IDE0,...,IDE3. ਠ®âáãâá⢨¨ ¦ñá⪮£® ¤¨áª IDEx ᮮ⢥âáâ¢ãî騩 ¡ ©â ã«¥¢®©, ¯à¨ «¨ç¨¨ ¯®ª §ë¢ ¥â ç¨á«® à ᯮ§ ëå à §¤¥«®¢, ª®â®àëå ¬®¦¥â ¨ ¥ ¡ëâì (¥á«¨ ®á¨â¥«ì ¥ ®âä®à¬ â¨à®¢ ¨«¨ ¥á«¨ ä ©«®¢ ï á¨á⥬ ¥ ¯®¤¤¥à¦¨¢ ¥âáï). ‚ ⥪ã饩 ¢¥àᨨ ï¤à ¤«ï ¦ñáâª¨å ¤¨áª®¢ ¯®¤¤¥à¦¨¢ îâáï ⮫쪮 FAT16, FAT32 ¨ NTFS. * +6: 4 db: § १¥à¢¨à®¢ ® ”®à¬ â â ¡«¨æë: ¯®« ï ¢¥àá¨ï: * +0: 10 db: â ª¨¥ ¦¥, ª ª ¨ ¢ ª®à®âª®© ¢¥àᨨ * +10: 100 db: ¤ ë¥ ¤«ï ¯¥à¢®£® à §¤¥« * +110: 100 db: ¤ ë¥ ¤«ï ¢â®à®£® à §¤¥« * ... * +10+100*(n-1): 100 db: ¤ ë¥ ¤«ï ¯®á«¥¤¥£® à §¤¥« §¤¥«ë à ᯮ«®¦¥ë ¢ á«¥¤ãî饬 ¯®à浪¥: á ç « ¯®á«¥¤®¢ â¥«ì® ¢á¥ à ᯮ§ ë¥ à §¤¥«ë HD IDE0 (¥á«¨ ¥áâì), § ⥬ HD IDE1 (¥á«¨ ¥áâì) ¨ â.¤. ¤® IDE3. ”®à¬ â ¨ä®à¬ 樨 ® à §¤¥«¥: * +0: dword: ç «ìë© ä¨§¨ç¥áª¨© ᥪâ®à à §¤¥« * +4: dword: ¯®á«¥¤¨© 䨧¨ç¥áª¨© ᥪâ®à à §¤¥« (¯à¨ ¤«¥¦¨â à §¤¥«ã) * +8: byte: ⨯ ä ©«®¢®© á¨á⥬ë: 16=FAT16, 32=FAT32, 1=NTFS * ä®à¬ â ¤ «ì¥©è¨å ¤ ëå § ¢¨á¨â ®â ä ©«®¢®© á¨á⥬ë, ¬®¦¥â ¬¥ïâìáï á ¨§¬¥¥¨ï¬¨ ¢ ï¤à¥ ¨ ¯®í⮬㠥 ®¯¨áë¢ ¥âáï ‡ ¬¥ç ¨ï: * Š®à®âª ï â ¡«¨æ ¬®¦¥â ¡ëâì ¨á¯®«ì§®¢ ¤«ï ¯®«ãç¥¨ï ¨ä®à¬ 樨 ®¡ ¨¬¥îé¨åáï ãáâனá⢠å. ====================================================================== ========== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 13 - ¯®«ãç¨âì ¢¥àá¨î ï¤à . ========= ====================================================================== à ¬¥âàë: * 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 db 'name',0 - ASCIIZ-áâப á ¨¬¥¥¬ „«ï ï¤à Kolibri 0.6.5.0: db 0,6,5,0 db 2 db 'Kolibri',0 ====================================================================== ====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 14 ===================== ======= Ž¦¨¤ âì ç « ®¡à ⮣® 室 «ãç à §¢ñà⪨ ¬®¨â®à . ======= ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ª ª ¯à¨§ ª ãá¯¥å ‡ ¬¥ç ¨ï: * ”ãªæ¨ï ¯à¥¤ § ç¥ ¨áª«îç¨â¥«ì® ¤«ï ªâ¨¢ëå ¢ë᮪®¯à®¨§¢®¤¨â¥«ìëå £à ä¨ç¥áª¨å ¯à¨«®¦¥¨©; ¨á¯®«ì§ã¥âáï ¤«ï ¯« ¢®£® ¢ë¢®¤ £à 䨪¨. ====================================================================== == ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 15 - ¯®¬¥áâ¨âì ªãàá®à ¬ëè¨ ¢ æ¥âà íªà . = ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 15 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ª ª ¯à¨§ ª ãᯥå ====================================================================== ====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 16 ===================== ============ ®«ãç¨âì à §¬¥à ᢮¡®¤®© ®¯¥à ⨢®© ¯ ¬ïâ¨. =========== ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 16 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = à §¬¥à ᢮¡®¤®© ¯ ¬ï⨠¢ ª¨«®¡ ©â å ====================================================================== ====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 17 ===================== ============ ®«ãç¨âì à §¬¥à ¨¬¥î饩áï ®¯¥à ⨢®© ¯ ¬ïâ¨. =========== ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 17 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ®¡é¨© à §¬¥à ¨¬¥î饩áï ¯ ¬ï⨠¢ ª¨«®¡ ©â å ====================================================================== ====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 18 ===================== ============= ‡ ¢¥àè¨âì ¯à®æ¥áá/¯®â®ª ¯® ¨¤¥â¨ä¨ª â®àã. ============= ====================================================================== à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 18 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª (PID/TID) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = -1 - ®è¨¡ª (¯à®æ¥áá ¥ ©¤¥ ¨«¨ ï¥âáï á¨á⥬ë¬) ‡ ¬¥ç ¨ï: * ¥«ì§ï § ¢¥àè¨âì ¯®â®ª ®¯¥à 樮®© á¨á⥬ë OS/IDLE (®¬¥à á«®â 1), ¬®¦® § ¢¥àè¨âì «î¡®© ®¡ëçë© ¯®â®ª/¯à®æ¥áá. * ‘¬®âਠ⠪¦¥ ¯®¤äãªæ¨î 2 - § ¢¥à襨¥ ¯à®æ¥áá /¯®â®ª ¯® § ¤ ®¬ã á«®âã. ====================================================================== === ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 19 - ¯®«ãç¨âì/ãáâ ®¢¨âì áâனª¨ ¬ëè¨. == ====================================================================== ------------- ®¤¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì ᪮à®áâì ¬ëè¨. -------------- à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 0 - ®¬¥à ¯®¤¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ⥪ãé ï ᪮à®áâì ¬ëè¨ ------------ ®¤¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ᪮à®áâì ¬ëè¨. ------------- à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 1 - ®¬¥à ¯®¤¯®¤äãªæ¨¨ * edx = ®¢®¥ § 票¥ ᪮à®á⨠‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï ------------- ®¤¯®¤äãªæ¨ï 2 - ¯®«ãç¨âì § ¤¥à¦ªã ¬ëè¨. -------------- à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 2 - ®¬¥à ¯®¤¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ⥪ãé ï § ¤¥à¦ª ¬ëè¨ ------------ ®¤¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì § ¤¥à¦ªã ¬ëè¨. ------------- à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 3 - ®¬¥à ¯®¤¯®¤äãªæ¨¨ * edx = ®¢®¥ § 票¥ § ¤¥à¦ª¨ ¬ëè¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï -------- ®¤¯®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ¯®«®¦¥¨¥ ªãàá®à ¬ëè¨. -------- à ¬¥âàë: * eax = 18 - ®¬¥à äãªæ¨¨ * ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 4 - ®¬¥à ¯®¤¯®¤äãªæ¨¨ * edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ¥ª®¬¥¤ã¥¬ ï ᪮à®áâì ¬ëè¨ (¢ ¯®¤¯®¤äãªæ¨¨ 1) ®â 1 ¤® 9. “áâ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨ ¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à , ¯®í⮬㠨ᯮ«ì§ã©â¥ ®áâ®à®¦®, ¯à¨ ¥ª®à४⮬ § 票¨ ªãàá®à ¬®¦¥â "§ ¬ñà§ãâì". ‘ª®à®áâì ¬ëè¨ ¬®¦® ॣ㫨஢ âì ¢ ¯à¨«®¦¥¨¨ SETUP. * ¥ª®¬¥¤ã¥¬ ï ¢¥«¨ç¨ § ¤¥à¦ª¨ (¢ ¯®¤¯®¤äãªæ¨¨ 3) = 10. Œ¥ì訥 § ç¥¨ï ¥ ®¡à ¡ âë¢ îâáï COM-¬ëè ¬¨. ਠ®ç¥ì ¡®«ìè¨å § 票ïå ¥¢®§¬®¦® ¯¥à¥¤¢¨¦¥¨¥ ¬ëè¨ 1 ¯¨ªá¥«ì ¨ ªãàá®à ¡ã¤¥â ¯àë£ âì ¢¥«¨ç¨ã ãáâ ®¢«¥®© ᪮à®á⨠(¯®¤¯®¤äãªæ¨ï 1). “áâ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨ ¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à . ‚¥«¨ç¨ã § ¤¥à¦ª¨ ¬®¦® ¬¥ïâì ¢ ¯à¨«®¦¥¨¨ SETUP. * ®¤¯®¤äãªæ¨ï 4 ¥ ¯à®¢¥àï¥â ¯¥à¥¤ ®¥ § 票¥. ¥à¥¤ ¢ë§®¢®¬ ¥®¡å®¤¨¬® 㧠âì ⥪ã饥 à §à¥è¥¨¥ íªà (¯®¤äãªæ¨¥© 14) ¨ ¯à®¢¥à¨âì, çâ® ãáâ ¢«¨¢ ¥¬®¥ ¯®«®¦¥¨¥ ¥ ¢ë室¨â § ¯à¥¤¥«ë íªà . ====================================================================== ====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 20 ===================== ============= ®«ãç¨âì ¨ä®à¬ æ¨î ®¡ ®¯¥à ⨢®© ¯ ¬ïâ¨. ============= ====================================================================== à ¬¥âàë: * 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: à §¬¥à ¨¡®«ì襣® ¢ë¤¥«¥®£® ¡«®ª ¢ ªãç¥ ï¤à (§ १¥à¢¨à®¢ ®) ====================================================================== ==================== ”ãªæ¨ï 20 - ¨â¥à䥩á MIDI. ==================== ====================================================================== ------------------------ ®¤äãªæ¨ï 1 - á¡à®á ------------------------ à ¬¥âàë: * eax = 20 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ -------------------- ®¤äãªæ¨ï 2 - ¢ë¢¥á⨠¡ ©â --------------------- à ¬¥âàë: * eax = 20 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * cl = ¡ ©â ¤«ï ¢ë¢®¤ ‚®§¢à é ¥¬®¥ § 票¥ (®¤¨ ª®¢® ¤«ï ®¡¥¨å ¯®¤äãªæ¨©): * eax = 0 - ãá¯¥è® * eax = 1 - ¥ ®¯à¥¤¥«ñ ¡ §®¢ë© ¯®àâ ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ®¯à¥¤¥«ñ ¡ §®¢ë© ¯®à⠢맮¢®¬ ¯®¤äãªæ¨¨ 1 äãªæ¨¨ 21. ====================================================================== ==== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ¡ §®¢ë© ¯®àâ MPU MIDI. ==== ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ®¬¥à ¡ §®¢®£® ¯®àâ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = -1 - ®è¨¡®çë© ®¬¥à ¯®àâ ‡ ¬¥ç ¨ï: * ®¬¥à ¯®àâ ¤®«¦¥ 㤮¢«¥â¢®àïâì ãá«®¢¨ï¬ 0x100<=ecx<=0xFFFF. * “áâ ®¢ª ¡ §ë 㦠¤«ï à ¡®âë äãªæ¨¨ 20. * ®«ãç¨âì ãáâ ®¢«¥ë© ¡ §®¢ë© ¯®àâ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 1 äãªæ¨¨ 26. ====================================================================== ===== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì à ᪫ ¤ªã ª« ¢¨ âãàë. ==== ====================================================================== ᪫ ¤ª ª« ¢¨ âãàë ¨á¯®«ì§ã¥âáï ¤«ï ¯à¥®¡à §®¢ ¨ï ᪠ª®¤®¢, ¯®áâ㯠îé¨å ®â ª« ¢¨ âãàë, ¢ ASCII-ª®¤ë, áç¨âë¢ ¥¬ë¥ äãªæ¨¥© 2. à ¬¥âàë: * 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; ¥á«¨ ¥ ¦ â ¨ ®¤ ¨§ ã¯à ¢«ïîé¨å ª« ¢¨è, â® ¨á¯®«ì§ã¥âáï ®à¬ «ì ï à ᪫ ¤ª . * ®«ãç¨âì à ᪫ ¤ª¨ ¨ ¨¤¥â¨ä¨ª â®à áâà ë ¬®¦® á ¯®¬®éìî ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 26. * ˆ¤¥â¨ä¨ª â®à áâà ë - £«®¡ «ì ï á¨á⥬ ï ¯¥à¥¬¥ ï, ª®â®à ï á ¬¨¬ ï¤à®¬ ¥ ¨á¯®«ì§ã¥âáï; ®¤ ª® ¯à¨«®¦¥¨¥ @panel ®â®¡à ¦ ¥â ᮮ⢥âáâ¢ãîéãî ⥪ã饩 áâà ¥ ¨ª®ªã. * ਫ®¦¥¨¥ @panel ¯¥à¥ª«îç ¥â à ᪫ ¤ª¨ ¯® § ¯à®áã ¯®«ì§®¢ ⥫ï. ====================================================================== =========== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì ¡ §ã CD. =========== ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¡ § CD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3 ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ‡ ¬¥ç ¨ï: * § CD ¨á¯®«ì§ã¥âáï äãªæ¨¥© 24. * ®«ãç¨âì ãáâ ®¢«¥ãî ¡ §ã CD ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3 äãªæ¨¨ 26. ====================================================================== == ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ¡ §®¢ë© ¯®àâ Sound Blaster. = ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ®¬¥à ¡ §®¢®£® ¯®àâ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = -1 - ®è¨¡®çë© ®¬¥à ¯®àâ ‡ ¬¥ç ¨ï: * ®¬¥à ¯®àâ ¤®«¦¥ 㤮¢«¥â¢®àïâì ãá«®¢¨ï¬ 0x100<=ecx<=0xFFFF. * “áâ ®¢ª ¡ §ë 㦠¤«ï à ¡®âë äãªæ¨© 25, 28, 55. * ®«ãç¨âì ãáâ ®¢«¥ë© ¡ §®¢ë© ¯®àâ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 26. ====================================================================== ========= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 5 - ãáâ ®¢¨âì ï§ëª á¨á⥬ë. ======== ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ï§ëª á¨á⥬ë (1=eng, 2=fi, 3=ger, 4=rus) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ‡ ¬¥ç ¨ï: * Ÿ§ëª á¨á⥬ë - £«®¡ «ì ï á¨á⥬ ï ¯¥à¥¬¥ ï, ¨ª ª ¥ ¨á¯®«ì§ã¥¬ ï á ¬¨¬ ï¤à®¬, ®¤ ª® ¯à¨«®¦¥¨¥ @panel à¨áã¥â ᮮ⢥âáâ¢ãîéãî ¨ª®ªã. * ஢¥à®ª ª®à४â®áâì ¥ ¤¥« ¥âáï, ¯®áª®«ìªã ï¤à® íâã ¯¥à¥¬¥ãî ¥ ¨á¯®«ì§ã¥â. * ®«ãç¨âì ï§ëª á¨áâ¥¬ë ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 5 äãªæ¨¨ 26. ====================================================================== =========== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 7 - ãáâ ®¢¨âì ¡ §ã HD. =========== ====================================================================== § HD 㦠¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© ¦ñá⪨© ¤¨áª ¯¨á âì, ¯à¨ ¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩 äãªæ¨¨ 58; ¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á /HD0,/HD1,/HD2,/HD3 ¡ § ãáâ ¢«¨¢ ¥âáï ¢â®¬ â¨ç¥áª¨. à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¡ § HD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3 ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ‡ ¬¥ç ¨ï: * ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì ¡ §ã. * ¥ á«¥¤ã¥â ¨§¬¥ïâì ¡ §ã, ª®£¤ ª ª®¥-¨¡ã¤ì ¯à¨«®¦¥¨¥ à ¡®â ¥â á ¦ñá⪨¬ ¤¨áª®¬. …᫨ ¥ å®â¨â¥ £«îª®¢ á¨á⥬ë. * ®«ãç¨âì ãáâ ®¢«¥ãî ¡ §ã ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 7 äãªæ¨¨ 26. * ‘«¥¤ã¥â â ª¦¥ ®¯à¥¤¥«¨âì ¨á¯®«ì§ã¥¬ë© à §¤¥« ¦ñá⪮£® ¤¨áª ¯®¤äãªæ¨¥© 8. ====================================================================== ========== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 8 - ãáâ ®¢¨âì à §¤¥« HD. ========== ====================================================================== §¤¥« HD 㦥 ¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© à §¤¥« ¦ñá⪮£® ¤¨áª ¯¨á âì, ¯à¨ ¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩 äãªæ¨¨ 58; ¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á /HD0,/HD1,/HD2,/HD3 ¡ § ¨ à §¤¥« ãáâ ¢«¨¢ îâáï ¢â®¬ â¨ç¥áª¨. à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = à §¤¥« HD (áç¨â ï á 1) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ‡ ¬¥ç ¨ï: * ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì à §¤¥«. * ¥ á«¥¤ã¥â ¨§¬¥ïâì à §¤¥«, ª®£¤ ª ª®¥-¨¡ã¤ì ¯à¨«®¦¥¨¥ à ¡®â ¥â á ¦ñá⪨¬ ¤¨áª®¬. …᫨ ¥ å®â¨â¥ £«îª®¢ á¨á⥬ë. * ®«ãç¨âì ãáâ ®¢«¥ë© à §¤¥« ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 8 äãªæ¨¨ 26. * ஢¥à®ª ª®à४â®áâì ¥ ¤¥« ¥âáï. * “§ âì ç¨á«® à §¤¥«®¢ ¦ñá⪮¬ ¤¨áª¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 11 äãªæ¨¨ 18. * ‘«¥¤ã¥â â ª¦¥ ®¯à¥¤¥«¨âì ¨á¯®«ì§ã¥¬ãî ¡ §ã ¦ñá⪮£® ¤¨áª ¯®¤äãªæ¨¥© 7. ====================================================================== ===== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 10 - ãáâ ®¢¨âì ª « DMA ¤«ï §¢ãª . ==== ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ®¬¥à ª « (®â 0 ¤® 3 ¢ª«îç¨â¥«ì®) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = -1 - ¥¢¥àë© ®¬¥à ª « ‡ ¬¥ç ¨ï: * ®¬¥à ª « DMA ¨á¯®«ì§ã¥âáï ¢ ¯®¤äãªæ¨¨ 1 äãªæ¨¨ 55. * ®«ãç¨âì ª « DMA ¤«ï §¢ãª ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 10 äãªæ¨¨ 26. ====================================================================== ====================== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 11 ===================== =========== §à¥è¨âì/§ ¯à¥â¨âì ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª HD. ========== ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 0/1 - § ¯à¥â¨âì/à §à¥è¨âì ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ‡ ¬¥ç ¨ï: * ˆá¯®«ì§ã¥âáï ¯à¨ LBA-ç⥨¨ (¯®¤äãªæ¨ï 8 äãªæ¨¨ 58). * ’¥ªãé ï ॠ«¨§ æ¨ï ¨á¯®«ì§ã¥â ⮫쪮 ¬« ¤è¨© ¡¨â ecx. * ®«ãç¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 11 äãªæ¨¨ 26. ====================================================================== ====================== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 12 ===================== ========== §à¥è¨âì/§ ¯à¥â¨âì ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI. ========== ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 0/1 - § ¯à¥â¨âì/à §à¥è¨âì ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 ‡ ¬¥ç ¨ï: * ˆá¯®«ì§ã¥âáï ¯à¨ à ¡®â¥ á 訮© PCI (äãªæ¨ï 62). * ’¥ªãé ï ॠ«¨§ æ¨ï ¨á¯®«ì§ã¥â ⮫쪮 ¬« ¤è¨© ¡¨â ecx. * ®«ãç¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 12 äãªæ¨¨ 26. ====================================================================== ============= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 1 ============= ==== ˆ¨æ¨ «¨§¨à®¢ âì + ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ¤à ©¢¥à¥ vmode.mdr. ==== ====================================================================== à ¬¥âàë: * 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 ============= ============= ®«ãç¨âì ¨ä®à¬ æ¨î ® ⥪ã饬 ¢¨¤¥®à¥¦¨¬¥. ============= ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 2 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¤à ©¢¥à ¥ § £à㦥 ¨«¨ ¥ ¨¨æ¨ «¨§¨à®¢ ; ebx,ecx à §àãè îâáï * eax = [è¨à¨ ]*65536 + [¢ëá®â ] * ebx = ç áâ®â ¢¥à⨪ «ì®© à §¢ñà⪨ (¢ ƒæ) * ecx = ®¬¥à ⥪ã饣® ¢¨¤¥®à¥¦¨¬ ‡ ¬¥ç ¨ï: * „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬ äãªæ¨¨ ¤à ©¢¥à 1. * …᫨ ã¦ë ⮫쪮 à §¬¥àë íªà , 楫¥á®®¡à §¥© ¨á¯®«ì§®¢ âì äãªæ¨î 14 á ãçñ⮬ ⮣®, çâ® ® ¢®§¢à é ¥â à §¬¥àë 1 ¬¥ìè¥. ====================================================================== = ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì ¢¨¤¥®à¥¦¨¬. ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 3 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à * edx = [ç áâ®â à §¢ñà⪨]*65536 + [®¬¥à ¢¨¤¥®à¥¦¨¬ ] ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¤à ©¢¥à ¥ § £à㦥, ¥ ¨¨æ¨ «¨§¨à®¢ ¨«¨ ¯à®¨§®è« ®è¨¡ª * eax = 0 - ãá¯¥è® * ebx, ecx à §àãè îâáï ‡ ¬¥ç ¨ï: * „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬ äãªæ¨¨ ¤à ©¢¥à 1. * ®¬¥à ¢¨¤¥®à¥¦¨¬ ¨ ç áâ®â ¤®«¦ë ¡ëâì ¢ â ¡«¨æ¥, ¢®§¢à é ¥¬®© äãªæ¨¥© ¤à ©¢¥à 1. ====================================================================== ============= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 4 ============= ================= ‚¥àãâìáï ª ç «ì®¬ã ¢¨¤¥®à¥¦¨¬ã. ================ ====================================================================== ‚®§¢à é ¥â íªà ¢ ¢¨¤¥®à¥¦¨¬, ãáâ ®¢«¥ë© ¯à¨ § £à㧪¥ á¨á⥬ë. à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 4 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¤à ©¢¥à ¥ § £à㦥 ¨«¨ ¥ ¨¨æ¨ «¨§¨à®¢ * eax = 0 - ãá¯¥è® * ebx, ecx à §àãè îâáï ‡ ¬¥ç ¨ï: * „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬ äãªæ¨¨ ¤à ©¢¥à 1. ====================================================================== ============= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 13, ¯®¤¯®¤äãªæ¨ï 5 ============= ======== “¢¥«¨ç¨âì/㬥ìè¨âì à §¬¥à ¢¨¤¨¬®© ®¡« á⨠¬®¨â®à . ======== ====================================================================== à ¬¥âàë: * eax = 21 - ®¬¥à äãªæ¨¨ * ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 5 - ®¬¥à äãªæ¨¨ ¤à ©¢¥à * edx = 0/1 - 㬥ìè¨âì/㢥«¨ç¨âì à §¬¥à ¯® £®à¨§®â «¨ ®¤ã ¯®§¨æ¨î * edx = 2/3 - ¢ ⥪ã饩 ॠ«¨§ 樨 ¥ ¯®¤¤¥à¦¨¢ ¥âáï; ¯« ¨àã¥âáï ª ª 㬥ì襨¥/㢥«¨ç¥¨¥ à §¬¥à ¯® ¢¥à⨪ «¨ ®¤ã ¯®§¨æ¨î ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¤à ©¢¥à ¥ § £à㦥 ¨«¨ ¥ ¨¨æ¨ «¨§¨à®¢ * eax = 0 - ãá¯¥è® * ebx, ecx à §àãè îâáï ‡ ¬¥ç ¨ï: * „à ©¢¥à ¯à¥¤¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¨¨æ¨ «¨§¨à®¢ ¢ë§®¢®¬ äãªæ¨¨ ¤à ©¢¥à 1. * ”ãªæ¨ï ¢«¨ï¥â ⮫쪮 䨧¨ç¥áª¨© à §¬¥à ¨§®¡à ¦¥¨ï ¬®¨â®à¥; «®£¨ç¥áª¨© à §¬¥à (ç¨á«® ¯¨ªá¥«¥©) ¥ ¬¥ï¥âáï. ====================================================================== ============ ”ãªæ¨ï 22 - ãáâ ®¢¨âì á¨á⥬ãî ¤ âã/¢à¥¬ï. =========== ====================================================================== à ¬¥âàë: * 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-¡ â ३ª¨ à §à廊«¨áì ‡ ¬¥ç ¨ï: * –¥®áâì ãáâ ®¢ª¨ ¤ï ¥¤¥«¨ ¯à¥¤áâ ¢«ï¥âáï ᮬ¨â¥«ì®©, ¯®áª®«ìªã ® ¬ «® £¤¥ ¨á¯®«ì§ã¥âáï (¤¥ì ¥¤¥«¨ ¬®¦® à ááç¨â âì ¯® ¤ â¥). * 㤨«ì¨ª ¬®¦® ãáâ ®¢¨âì áà ¡ âë¢ ¨¥ ¢ § ¤ ®¥ ¢à¥¬ï ª ¦¤ë¥ áã⪨. ਠí⮬ ®âª«îç¨âì ¥£® áãé¥áâ¢ãî騬¨ á¨á⥬묨 äãªæ¨ï¬¨ ¥«ì§ï. * ‘à ¡ âë¢ ¨¥ ¡ã¤¨«ì¨ª § ª«îç ¥âáï ¢ £¥¥à 樨 IRQ8. * ‚®®¡é¥-â® CMOS ¯®¤¤¥à¦¨¢ ¥â ¤«ï ¡ã¤¨«ì¨ª ãáâ ®¢ªã § 票ï 0xFF ¢ ª ç¥á⢥ ®¤®£® ¨§ ¯ à ¬¥â஢ ¨ ®§ ç ¥â íâ®, ç⮠ᮮ⢥âáâ¢ãî騩 ¯ à ¬¥âà ¨£®à¨àã¥âáï. ® ¢ ⥪ã饩 ॠ«¨§ 樨 íâ® ¥ ¯à®©¤ñâ (¢¥àñâáï § 票¥ 1). * 㤨«ì¨ª - £«®¡ «ìë© á¨áâ¥¬ë© à¥áãàá; ãáâ ®¢ª ¡ã¤¨«ì¨ª ¢â®¬ â¨ç¥áª¨ ®â¬¥ï¥â ¯à¥¤ë¤ãéãî ãáâ ®¢ªã. ‚¯à®ç¥¬, ¤ ë© ¬®¬¥â ¨ ®¤ ¯à®£à ¬¬ ¥£® ¥ ¨á¯®«ì§ã¥â. ====================================================================== ============== ”ãªæ¨ï 23 - ®¦¨¤ âì ᮡëâ¨ï á â ©¬ ã⮬. ============= ====================================================================== …᫨ ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ , ¦¤ñâ ¯®ï¢«¥¨ï á®®¡é¥¨ï ¢ ®ç¥à¥¤¨, ® ¥ ¡®«¥¥ 㪠§ ®£® ¢à¥¬¥¨. ‡ ⥬ áç¨âë¢ ¥â á®®¡é¥¨¥ ¨§ ®ç¥à¥¤¨. à ¬¥âàë: * eax = 23 - ®¬¥à äãªæ¨¨ * ebx = â ©¬ ãâ (¢ á®âëå ¤®«ïå ᥪã¤ë) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ®ç¥à¥¤ì á®®¡é¥¨© ¯ãáâ * ¨ ç¥ eax = ᮡë⨥ (ᬮâਠᯨ᮪ ᮡë⨩) ‡ ¬¥ç ¨ï: * “ç¨âë¢ îâáï ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã, ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. ® 㬮«ç ¨î í⮠ᮡëâ¨ï ¯¥à¥à¨á®¢ª¨, ¦ â¨ï ª« ¢¨è¨ ¨ ª®¯ª¨. * „«ï ¯à®¢¥àª¨, ¥áâì «¨ á®®¡é¥¨¥ ¢ ®ç¥à¥¤¨, ¨á¯®«ì§ã©â¥ äãªæ¨î 11. —â®¡ë ¦¤ âì ᪮«ì 㣮¤® ¤®«£®, ¨á¯®«ì§ã©â¥ äãªæ¨î 10. * ¥à¥¤ ç ebx=0 ¯à¨¢®¤¨â ª ¬®¬¥â «ì®¬ã ¢®§¢à 饨î eax=0. * ਠ⥪ã饩 ॠ«¨§ 樨 ¯à®¨§®©¤ñâ ¥¬¥¤«¥ë© ¢®§¢à â ¨§ äãªæ¨¨ á eax=0, ¥á«¨ á«®¦¥¨¥ ebx á ⥪ã騬 § 票¥¬ áçñâ稪 ¢à¥¬¥¨ ¢ë§®¢¥â 32-¡¨â®¥ ¯¥à¥¯®«¥¨¥. ====================================================================== ======= ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 1 - ç âì ¯à®¨£àë¢ âì CD-audio. ====== ====================================================================== à ¬¥âàë: * eax = 24 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 0x00FRSSMM, £¤¥ * MM = ç «ì ï ¬¨ãâ * SS = ç «ì ï ᥪ㤠* FR = ç «ìë© ä३¬ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § CD ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ CD ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21. * ‚ ᥪ㤥 75 ä३¬®¢, ¢ ¬¨ã⥠60 ᥪã¤. * ”ãªæ¨ï á¨åà® (¢®§¢à é ¥â ã¯à ¢«¥¨¥, ª®£¤ ç «®áì ¯à®¨£àë¢ ¨¥). ====================================================================== ===== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 2 - ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ¤®à®¦ª å. ===== ====================================================================== à ¬¥âàë: * eax = 24 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ¡ãä¥à ¤«ï â ¡«¨æë (¬ ªá¨¬ã¬ 8*64h+4 ¡ ©â=100 ¤®à®¦¥ª) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § CD ‡ ¬¥ç ¨ï: * ”®à¬ â â ¡«¨æë á ¨ä®à¬ 樥© ® ¤®à®¦ª å â ª®© ¦¥, ª ª ¨ ¤«ï ATAPI-CD ª®¬ ¤ë 43h (READ TOC), ®¡ë箩 â ¡«¨æë (¯®¤ª®¬ ¤ 00h). €¤à¥á ¢®§¢à é îâáï ¢ ä®à¬ ⥠MSF. * ।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ CD ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21. * ”ãªæ¨ï ¢®§¢à é ¥â ¨ä®à¬ æ¨î ⮫쪮 ® ¥ ¡®«¥¥ 祬 100 ¯¥à¢ëå ¤®à®¦ª å. ‚ ¡®«ìè¨á⢥ á«ãç ¥¢ í⮣® ¤®áâ â®ç®. ====================================================================== ==== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 3 - ®áâ ®¢¨âì ¯à®¨£àë¢ ¥¬®¥ CD-audio. === ====================================================================== à ¬¥âàë: * eax = 24 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § CD ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ CD ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21. ====================================================================== ============== ”ãªæ¨ï 25 - ãáâ ®¢¨âì £à®¬ª®áâì SBPro. ============== ====================================================================== à ¬¥âàë: * eax = 25 - ®¬¥à äãªæ¨¨ * ebx = çâ® ãáâ ¢«¨¢ âì: * 1 - ãáâ ®¢¨âì ®¡éãî £à®¬ª®áâì * 2 - ãáâ ®¢¨âì £à®¬ª®áâì CD-audio * cl = ã஢¥ì £à®¬ª®áâ¨: áâ à訥 4 ¡¨â ¤«ï «¥¢®© ª®«®ª¨, ¬« ¤è¨¥ 4 - ¤«ï ¯à ¢®© ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § SB * eax = 2 - ¥¢¥à ï ¯®¤äãªæ¨ï ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ SB ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 21. * ‘¬®âਠ⠪¦¥ äãªæ¨î 28 ãáâ ®¢ª¨ §¢ãª ¤«ï ¡®«¥¥ ¯®§¤¥£® áâ ¤ àâ SB16. ====================================================================== ===== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì ¡ §®¢ë© ¯®àâ MPU MIDI. ===== ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ®¬¥à ¯®àâ ‡ ¬¥ç ¨ï: * “áâ ®¢¨âì ¡ §®¢ë© ¯®àâ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 1 äãªæ¨¨ 21. ====================================================================== ====== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 2 - ¯®«ãç¨âì à ᪫ ¤ªã ª« ¢¨ âãàë. ===== ====================================================================== ᪫ ¤ª ª« ¢¨ âãàë ¨á¯®«ì§ã¥âáï ¤«ï ¯à¥®¡à §®¢ ¨ï ᪠ª®¤®¢, ¯®áâ㯠îé¨å ®â ª« ¢¨ âãàë, ¢ ASCII-ª®¤ë, áç¨âë¢ ¥¬ë¥ äãªæ¨¥© 2. à ¬¥âàë: * 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 ®â®¡à ¦ ¥â ᮮ⢥âáâ¢ãîéãî ⥪ã饩 áâà ¥ ¨ª®ªã (¨á¯®«ì§ãï ®¯¨áë¢ ¥¬ãî äãªæ¨î). * ਫ®¦¥¨¥ @panel ¯¥à¥ª«îç ¥â à ᪫ ¤ª¨ ¯® § ¯à®áã ¯®«ì§®¢ ⥫ï. ====================================================================== ============ ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 3 - ¯®«ãç¨âì ¡ §ã CD. ============ ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¡ § CD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3 ‡ ¬¥ç ¨ï: * § CD ¨á¯®«ì§ã¥âáï äãªæ¨¥© 24. * “áâ ®¢¨âì ¡ §ã CD ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21. ====================================================================== === ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 4 - ¯®«ãç¨âì ¡ §®¢ë© ¯®àâ Sound Blaster. == ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ®¬¥à ¡ §®¢®£® ¯®àâ ‡ ¬¥ç ¨ï: * “áâ ®¢ª ¡ §ë 㦠¤«ï à ¡®âë äãªæ¨© 25, 55. * “áâ ®¢¨âì ¡ §®¢ë© ¯®àâ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 21. ====================================================================== ========== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 5 - ¯®«ãç¨âì ï§ëª á¨á⥬ë. ========= ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ï§ëª á¨á⥬ë (1=eng, 2=fi, 3=ger, 4=rus) ‡ ¬¥ç ¨ï: * Ÿ§ëª á¨á⥬ë - £«®¡ «ì ï á¨á⥬ ï ¯¥à¥¬¥ ï, ¨ª ª ¥ ¨á¯®«ì§ã¥¬ ï á ¬¨¬ ï¤à®¬, ®¤ ª® ¯à¨«®¦¥¨¥ @panel à¨áã¥â ᮮ⢥âáâ¢ãîéãî ¨ª®ªã (¨á¯®«ì§ãï ®¯¨áë¢ ¥¬ãî äãªæ¨î). * “áâ ®¢¨âì ï§ëª á¨áâ¥¬ë ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 5 äãªæ¨¨ 21. ====================================================================== ============ ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 7 - ¯®«ãç¨âì ¡ §ã HD. ============ ====================================================================== § HD 㦠¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© ¦ñá⪨© ¤¨áª ¯¨á âì, ¯à¨ ¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩 äãªæ¨¨ 58; ¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á /HD0,/HD1,/HD2,/HD3 ¡ § ãáâ ¢«¨¢ ¥âáï ¢â®¬ â¨ç¥áª¨. à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¡ § HD: 1=IDE0, 2=IDE1, 3=IDE2, 4=IDE3 ‡ ¬¥ç ¨ï: * ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì ¡ §ã. * “áâ ®¢¨âì ¡ §ã ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 7 äãªæ¨¨ 21. * ®«ãç¨âì ¨á¯®«ì§ã¥¬ë© à §¤¥« ¦ñá⪮£® ¤¨áª ¬®¦® ¯®¤äãªæ¨¥© 8. ====================================================================== =========== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 8 - ¯®«ãç¨âì à §¤¥« HD. =========== ====================================================================== §¤¥« HD 㦥 ¤«ï ®¯à¥¤¥«¥¨ï, ª ª®© à §¤¥« ¦ñá⪮£® ¤¨áª ¯¨á âì, ¯à¨ ¨á¯®«ì§®¢ ¨¨ ãáâ ॢ襣® á¨â ªá¨á /HD ¢ ãáâ ॢ襩 äãªæ¨¨ 58; ¯à¨ ¨á¯®«ì§®¢ ¨¨ ᮢ६¥®£® á¨â ªá¨á /HD0,/HD1,/HD2,/HD3 ¡ § ¨ à §¤¥« ãáâ ¢«¨¢ îâáï ¢â®¬ â¨ç¥áª¨. à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = à §¤¥« HD (áç¨â ï á 1) ‡ ¬¥ç ¨ï: * ‹î¡®¥ ¯à¨«®¦¥¨¥ ¢ «î¡®© ¬®¬¥â ¢à¥¬¥¨ ¬®¦¥â ¨§¬¥¨âì à §¤¥«. * “áâ ®¢¨âì à §¤¥« ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 8 äãªæ¨¨ 21. * “§ âì ç¨á«® à §¤¥«®¢ ¦ñá⪮¬ ¤¨áª¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 11 äãªæ¨¨ 18. * ®«ãç¨âì ¨á¯®«ì§ã¥¬ãî ¡ §ã ¦ñá⪮£® ¤¨áª ¬®¦® ¯®¤äãªæ¨¥© 7. ====================================================================== === ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 9 - ¯®«ãç¨âì § 票¥ áçñâ稪 ¢à¥¬¥¨. === ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ç¨á«® á®âëå ¤®«¥© ᥪã¤ë, ¯à®è¥¤è¨å á ¬®¬¥â § ¯ã᪠á¨áâ¥¬ë ‡ ¬¥ç ¨ï: * ‘çñâ稪 ¡¥àñâáï ¯® ¬®¤ã«î 2^32, ç⮠ᮮ⢥âáâ¢ã¥â ¥¬®£¨¬ ¡®«¥¥ 497 áã⮪. * ‘¨á⥬®¥ ¢à¥¬ï ¬®¦® ¯®«ãç¨âì äãªæ¨¥© 3. ====================================================================== ====== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 10 - ¯®«ãç¨âì ª « DMA ¤«ï §¢ãª . ===== ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ®¬¥à ª « (®â 0 ¤® 3 ¢ª«îç¨â¥«ì®) ‡ ¬¥ç ¨ï: * ®¬¥à ª « DMA ¨á¯®«ì§ã¥âáï ¢ ¯®¤äãªæ¨¨ 1 äãªæ¨¨ 55. * “áâ ®¢¨âì ª « DMA ¤«ï §¢ãª ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 10 äãªæ¨¨ 21. ====================================================================== ====================== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 11 ===================== =========== “§ âì, à §à¥èñ «¨ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª HD. ========== ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0/1 - § ¯à¥éñ/à §à¥èñ ‡ ¬¥ç ¨ï: * ˆá¯®«ì§ã¥âáï ¯à¨ LBA-ç⥨¨ (¯®¤äãªæ¨ï 8 äãªæ¨¨ 58). * “áâ ®¢¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 11 äãªæ¨¨ 21. ====================================================================== ====================== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 12 ===================== ========== “§ âì, à §à¥èñ «¨ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI. ========== ====================================================================== à ¬¥âàë: * eax = 26 - ®¬¥à äãªæ¨¨ * ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0/1 - § ¯à¥éñ/à §à¥èñ ‡ ¬¥ç ¨ï: * ˆá¯®«ì§ã¥âáï ¯à¨ à ¡®â¥ á 訮© PCI (äãªæ¨ï 62). * ’¥ªãé ï ॠ«¨§ æ¨ï ¨á¯®«ì§ã¥â ⮫쪮 ¬« ¤è¨© ¡¨â ecx. * “áâ ®¢¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 12 äãªæ¨¨ 21. ====================================================================== =============== ”ãªæ¨ï 28 - ãáâ ®¢¨âì £à®¬ª®áâì SB16. ============== ====================================================================== à ¬¥âàë: * eax = 28 - ®¬¥à äãªæ¨¨ * ebx = çâ® ãáâ ¢«¨¢ âì: * 1 - ãáâ ®¢¨âì ®¡éãî £à®¬ª®áâì * 2 - ãáâ ®¢¨âì £à®¬ª®áâì CD-audio * cl = ã஢¥ì £à®¬ª®á⨠(0=off, 0xFF=max) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § SB * eax = 2 - ¥¢¥à ï ¯®¤äãªæ¨ï ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ SB ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 21. * â äãªæ¨ï ¯à¥¤®áâ ¢«ï¥â ¡®«ìè¥ ¢ ਠ⮢ ¤«ï £à®¬ª®áâ¨, 祬 äãªæ¨ï 25. ====================================================================== ================ ”ãªæ¨ï 29 - ¯®«ãç¨âì á¨á⥬ãî ¤ âã. =============== ====================================================================== à ¬¥âàë: * eax = 29 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0x00DDMMYY, £¤¥ (¨á¯®«ì§ã¥âáï ¤¢®¨ç®-¤¥áïâ¨ç®¥ ª®¤¨à®¢ ¨¥, BCD) * YY = ¤¢¥ ¬« ¤è¨¥ æ¨äàë £®¤ (00..99) * MM = ¬¥áïæ (01..12) * DD = ¤¥ì (01..31) ‡ ¬¥ç ¨ï: * ‘¨á⥬ãî ¤ âã ¬®¦® ãáâ ®¢¨âì äãªæ¨¥© 22. ====================================================================== ================ ”ãªæ¨ï 32 - 㤠«¨âì ä ©« á à ¬¤¨áª . =============== ====================================================================== à ¬¥âàë: * eax = 32 - ®¬¥à äãªæ¨¨ * ebx = 㪠§ â¥«ì ¨¬ï ä ©« ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãᯥè®; ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨áâ¥¬ë ‡ ¬¥ç ¨ï: * â äãªæ¨ï ãáâ ५ ; äãªæ¨ï 58 ¯®§¢®«ï¥â ¢ë¯®«ïâì ⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ. * ’¥ªãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â ⮫쪮 § 票ï 0(ãᯥå) ¨ 5(ä ©« ¥ ©¤¥). * ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢ (¯¥à¢ë¥ 8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥, ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨), «¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX " (¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« , ¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨). ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨. ‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ). * â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥. ====================================================================== =============== ”ãªæ¨ï 33 - § ¯¨á âì ä ©« à ¬¤¨áª. =============== ====================================================================== à ¬¥âàë: * eax = 33 - ®¬¥à äãªæ¨¨ * ebx = 㪠§ â¥«ì ¨¬ï ä ©« * ecx = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨ * edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨ * á«¥¤ã¥â ãáâ ¢«¨¢ âì esi=0 ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨áâ¥¬ë ‡ ¬¥ç ¨ï: * â äãªæ¨ï ãáâ ५ ; äãªæ¨ï 70 ¯®§¢®«ï¥â ¢ë¯®«ïâì ⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ. * …᫨ 㪠§ âì ¥ã«¥¢®¥ § 票¥ ¢ esi ¨ à ¬¤¨áª¥ 㦥 ¥áâì 㪠§ ë© ä ©«, â® ¡ã¤¥â ᮧ¤ ¥éñ ®¤¨ ä ©« á ⥬ ¦¥ ¨¬¥¥¬. * ‚ ¯à®â¨¢®¬ á«ãç ¥ ä ©« ¯¥à¥§ ¯¨áë¢ ¥âáï. * ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢ (¯¥à¢ë¥ 8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥, ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨), «¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX " (¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« , ¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨). ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨. ‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ). * â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥. ====================================================================== ============ ”ãªæ¨ï 35 - ¯à®ç¨â âì 梥â â®çª¨ íªà ¥. ============ ====================================================================== à ¬¥âàë: * eax = 35 * ebx = y*xsize+x, £¤¥ * (x,y) = ª®®à¤¨ âë â®çª¨ (áç¨â ï ®â 0) * xsize = à §¬¥à íªà ¯® £®à¨§®â «¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 梥â 0x00RRGGBB ‡ ¬¥ç ¨ï: * “§ âì à §¬¥àë íªà ¬®¦® ¢ë§®¢®¬ äãªæ¨¨ 14. Ž¡à â¨â¥ ¢¨¬ ¨¥, çâ® ® ¢ëç¨â ¥â 1 ¨§ ®¡®¨å à §¬¥à®¢. * Š ¢¨¤¥®¯ ¬ï⨠¥áâì â ª¦¥ ¯àאַ© ¤®áâ㯠(¡¥§ ¢ë§®¢®¢ á¨á⥬ëå äãªæ¨©) ç¥à¥§ ᥫ¥ªâ®à gs. à ¬¥âàë ⥪ã饣® ¢¨¤¥®à¥¦¨¬ ¬®¦® ¯®«ãç¨âì äãªæ¨¥© 61. ====================================================================== ==================== ”ãªæ¨ï 37 - à ¡®â á ¬ëèìî. ==================== ====================================================================== -------------- ®¤äãªæ¨ï 0 - íªà ë¥ ª®®à¤¨ âë ¬ëè¨ --------------- à ¬¥âàë: * eax = 37 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ (áç¨â ï ®â 0) ---------- ®¤äãªæ¨ï 1 - ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª ---------- à ¬¥âàë: * eax = 37 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ ®â®á¨â¥«ì® ®ª ¯à¨«®¦¥¨ï (áç¨â ï ®â 0) ‡ ¬¥ç ¨ï: * ‡ 票¥ ¢ëç¨á«ï¥âáï ¯® ä®à¬ã«¥ (x-xwnd)*65536 + (y-ywnd). …᫨ y>=ywnd, â® ¬« ¤è¥¥ á«®¢® ¥®âà¨æ â¥«ì® ¨ ᮤ¥à¦¨â ®â®á¨â¥«ìãî y-ª®®à¤¨ âã, áâ à襥 - ®â®á¨â¥«ìãî x-ª®®à¤¨ âã (¯à ¢¨«ì®£® § ª ). ‚ ¯à®â¨¢®¬ á«ãç ¥ ¬« ¤è¥¥ á«®¢® ®âà¨æ â¥«ì® ¨ ¢áñ à ¢® ᮤ¥à¦¨â ®â®á¨â¥«ìãî y-ª®®à¤¨ âã, ª áâ à襬ã á«®¢ã á«¥¤ã¥â ¯à¨¡ ¢¨âì 1. ----------------- ®¤äãªæ¨ï 2 - ¦ âë¥ ª®¯ª¨ ¬ëè¨ ----------------- à ¬¥âàë: * eax = 37 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax ᮤ¥à¦¨â ¨ä®à¬ æ¨î ® ¦ âëå ª®¯ª å ¬ëè¨: * ¡¨â 0 ãáâ ®¢«¥ = «¥¢ ï ª®¯ª ¦ â * ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â * ¡¨â 2 ãáâ ®¢«¥ = á।ïï ª®¯ª ¦ â * ¡¨â 3 ãáâ ®¢«¥ = 4-ï ª®¯ª ¦ â * ¡¨â 4 ãáâ ®¢«¥ = 5-ï ª®¯ª ¦ â * ¯à®ç¨¥ ¡¨âë á¡à®è¥ë ------------------ ®¤äãªæ¨ï 4 - § £à㧨âì ªãàá®à ------------------- à ¬¥âàë: * 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 = åí¤« ªãàá®à ------------------ ®¤äãªæ¨ï 5 - ãáâ ®¢¨âì ªãàá®à ------------------ “áâ ¢«¨¢ ¥â ®¢ë© ªãàá®à ¤«ï ®ª ⥪ã饣® ¯®â®ª . à ¬¥âàë: * eax = 37 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ªãàá®à ‚®§¢à é ¥¬®¥ § 票¥: * eax = åí¤« ¯à¥¤ë¤ã饣® ãáâ ®¢«¥®£® ªãàá®à ‡ ¬¥ç ¨ï: * …᫨ ¯¥à¥¤ ¥ª®à४âë© åí¤«, â® äãªæ¨ï ¢®ááâ ®¢¨â ªãàá®à ¯® 㬮«ç ¨î (áâ ¤ àâãî áâ५ªã). ‚ ç áâ®áâ¨, ª ¢®ááâ ®¢«¥¨î ªãàá®à ¯® 㬮«ç ¨î ¯à¨¢®¤¨â ¯¥à¥¤ ç ecx=0. ------------------- ®¤äãªæ¨ï 6 - 㤠«¨âì ªãàá®à -------------------- à ¬¥âàë: * eax = 37 - ®¬¥à äãªæ¨¨ * ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ªãàá®à ‚®§¢à é ¥¬®¥ § 票¥: * eax à §àãè ¥âáï ‡ ¬¥ç ¨ï: * Šãàá®à ¤®«¦¥ ¡ë« ¡ëâì à ¥¥ § £à㦥 ⥪ã騬 ¯®â®ª®¬ (¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4). ”ãªæ¨ï ¥ 㤠«ï¥â á¨áâ¥¬ë¥ ªãàá®àë ¨ ªãàá®àë, § £àã¦¥ë¥ ¤à㣨¬¨ ¯à¨«®¦¥¨ï¬¨. * …᫨ 㤠«ï¥âáï ªâ¨¢ë© (ãáâ ®¢«¥ë© ¯®¤äãªæ¨¥© 5) ªãàá®à, â® ¢®ááâ ¢«¨¢ ¥âáï ªãàá®à ¯® 㬮«ç ¨î (áâ ¤ àâ ï áâ५ª ). ------------------ ®¤äãªæ¨ï 7 - ¤ ë¥ ¯à®ªàã⪨ ------------------- à ¬¥âàë: * eax = 37 - ®¬¥à äãªæ¨¨ * ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = [horizontal offset]*65536 + [vertical offset] ‡ ¬¥ç ¨ï: * „ ë¥ ¤®áâã¯ë ⮫쪮 ªâ¨¢®¬ã ®ªã. * ®á«¥ ¯à®çâ¥¨ï § ç¥¨ï ®¡ã«ïîâáï. * „ ë¥ ¨¬¥îâ § ª®¢ë¥ § 票ï. ====================================================================== ================== ”ãªæ¨ï 38 - à¨á®¢ âì ®â१®ª. ================== ====================================================================== à ¬¥âàë: * eax = 38 - ®¬¥à äãªæ¨¨ * ebx = [ª®®à¤¨ â ç « ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ª®æ ¯® ®á¨ x] * ecx = [ª®®à¤¨ â ç « ¯® ®á¨ y]*65536 + [ª®®à¤¨ â ª®æ ¯® ®á¨ y] * edx = 0x00RRGGBB - 梥â edx = 0x01xxxxxx - à¨á®¢ âì ¨¢¥àáë© ®â१®ª (¬« ¤è¨¥ 24 ¡¨â ¨£®à¨àãîâáï) ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * Š®®à¤¨ âë ¡¥àãâáï ®â®á¨â¥«ì® ®ª . * Š®¥ç ï â®çª â ª¦¥ à¨áã¥âáï. ====================================================================== == ”ãªæ¨ï 39, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. == ====================================================================== à ¬¥âàë: * eax = 39 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = [è¨à¨ ]*65536 + [¢ëá®â ] ‡ ¬¥ç ¨ï: * …áâì ¯ à ï ª®¬ ¤ ãáâ ®¢ª¨ à §¬¥à®¢ ä®®¢®£® ¨§®¡à ¦¥¨ï - ¯®¤äãªæ¨ï 1 äãªæ¨¨ 15. ®á«¥ ª®â®à®©, à §ã¬¥¥âáï, á«¥¤ã¥â § ®¢® ®¯à¥¤¥«¨âì á ¬® ¨§®¡à ¦¥¨¥. ====================================================================== = ”ãªæ¨ï 39, ¯®¤äãªæ¨ï 2 - ¯à®ç¨â âì â®çªã á ä®®¢®£® ¨§®¡à ¦¥¨ï. = ====================================================================== à ¬¥âàë: * eax = 39 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ᬥ饨¥ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0x00RRGGBB - 梥â â®çª¨, ¥á«¨ ᬥ饨¥ ¤®¯ãá⨬® (¬¥ìè¥ 0x160000-16) * eax = 2 - ¨ ç¥ ‡ ¬¥ç ¨ï: * ¥ á«¥¤ã¥â ¯®« £ âìáï ¢®§¢à é ¥¬®¥ § 票¥ ¢ á«ãç ¥ ¥¢¥à®£® ᬥ饨ï, ®® ¬®¦¥â ¨§¬¥¨âìáï ¢ á«¥¤ãîé¨å ¢¥àá¨ïå ï¤à . * ‘¬¥é¥¨¥ â®çª¨ á ª®®à¤¨ â ¬¨ (x,y) ¢ëç¨á«ï¥âáï ª ª (x+y*xsize)*3. * …áâì ¯ à ï äãªæ¨ï ãáâ ®¢ª¨ â®çª¨ ä®®¢®¬ ¨§®¡à ¦¥¨¨ - ¯®¤äãªæ¨ï 2 äãªæ¨¨ 15. ====================================================================== ====== ”ãªæ¨ï 39, ¯®¤äãªæ¨ï 4 - ¯®«ãç¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . ===== ====================================================================== à ¬¥âàë: * eax = 39 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 1 - § ¬®áâ¨âì * eax = 2 - à áâïãâì ‡ ¬¥ç ¨ï: * …áâì ¯ à ï äãªæ¨ï ãáâ ®¢ª¨ ०¨¬ ®âà¨á®¢ª¨ ä® - ¯®¤äãªæ¨ï 4 äãªæ¨¨ 15. ====================================================================== ======== ”ãªæ¨ï 40 - ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩. ======== ====================================================================== Œ ᪠¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ ¢«¨ï¥â äãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨ 10, 11, 23 - ®¨ á®®¡é îâ ⮫쪮 ® ᮡëâ¨ïå, à §à¥èñëå í⮩ ¬ ᪮©. à ¬¥âàë: * eax = 40 - ®¬¥à äãªæ¨¨ * ebx = ¬ ᪠: ¡¨â i ᮮ⢥âáâ¢ã¥â ᮡëâ¨î i+1 (á¬. ᯨ᮪ ᮡë⨩) (ãáâ ®¢«¥ë© ¡¨â à §à¥è ¥â ¨§¢¥é¥¨¥ ® ᮡë⨨) ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * Œ ᪠¯® 㬮«ç ¨î (7=111b) à §à¥è ¥â ¨§¢¥é¥¨ï ® ¯¥à¥à¨á®¢ª¥ ¨ ¦ â¨ïå ª« ¢¨è ¨ ª®¯®ª. ⮣® ¤®áâ â®ç® ¤«ï ¡®«ìè¨á⢠¯à¨«®¦¥¨©. * ‘®¡ëâ¨ï, § ¯à¥éñë¥ ¢ ¬ ᪥, ¢áñ à ¢® á®åà ïîâáï, ¥á«¨ ¯à¨å®¤ïâ; ® ¨å ¯à®áâ® ¥ ¨§¢¥é îâ äãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨. * ”ãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨ ãç¨âë¢ îâ ¬ áªã ¬®¬¥â ¢ë§®¢ äãªæ¨¨, ¥ ¬®¬¥â ¯®áâ㯫¥¨ï á®®¡é¥¨ï. ====================================================================== ================= ”ãªæ¨ï 41 - 㧠âì ¢« ¤¥«ìæ IRQ. ================= ====================================================================== à ¬¥âàë: * eax = 41 - ®¬¥à äãªæ¨¨ * ebx = ®¬¥à IRQ, 0..15 ‚®§¢à é ¥¬®¥ § 票¥: * eax = PID ¢« ¤¥«ìæ * eax = 0, ¥á«¨ ¢« ¤¥«ìæ ¥â * eax = -1 ¤«ï ¥ª®à४⮣® ebx ====================================================================== ========== ”ãªæ¨ï 42 - ¯à®ç¨â âì ¤ ë¥, ¯®«ãç¥ë¥ ¯® IRQ. ========= ====================================================================== ਠ¢®§¨ª®¢¥¨¨ IRQ á¨á⥬ ¬®¦¥â áç¨âë¢ âì ¤ ë¥ ¨§ 㪠§ ëå à ¥¥ äãªæ¨¥© 44 ¯®à⮢ ¨ § ¯¨áë¢ âì í⨠¤ ë¥ ¢ ¡ãä¥à. Ž¯¨áë¢ ¥¬ ï äãªæ¨ï áç¨âë¢ ¥â ¯®¡ ©â® ¤ ë¥ ¨§ í⮣® ¡ãä¥à . à ¬¥âàë: * eax = 42 - ®¬¥à äãªæ¨¨ * ebx = ®¬¥à IRQ, 0..15 ‚®§¢à é ¥¬®¥ § 票¥: (á¨âã æ¨î ¬®¦® à §«¨ç¨âì ¯® § 票î ecx) * ¥á«¨ ¯®â®ª ¥ ï¥âáï ¢« ¤¥«ì楬 IRQ (¨«¨ ®¬¥à IRQ § ¤ ¥¢¥à®): * ecx = 2 * ¥á«¨ ¤ ëå ¥â: * eax = 0 * ecx = 1 * ebx à §àãè ¥âáï * ¥á«¨ ¢áñ ¢ ¯®à浪¥ ¨ ¤ ë¥ ¡ë«¨: * eax = à §¬¥à ¤ ëå, ¥éñ ¥ ¯à®ç¨â ëå ¨§ ¡ãä¥à (¢ ¡ ©â å) * ecx = 0 * ebx = ®ç¥à¥¤®© ¡ ©â ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¯®â®ª ¤®«¦¥ § १¥à¢¨à®¢ âì ¤«ï ᥡï 㪠§ ë© IRQ äãªæ¨¥© 45. * §¬¥à ¡ãä¥à ¤«ï ¤ ëå - 4000 ¡ ©â, ¯à¨ ¯¥à¥¯®«¥¨¨ "ᢥ¦¨¥" ¤ ë¥ ¯¥à¥áâ îâ § ¯¨áë¢ âìáï ¢ ¡ãä¥à. ====================================================================== =================== ”ãªæ¨ï 43 - ¢¢®¤/¢ë¢®¤ ¢ ¯®àâ. ================== ====================================================================== ------------------------ ‚뢮¤ ¤ ëå ¢ ¯®àâ ------------------------- à ¬¥âàë: * eax = 43 - ®¬¥à äãªæ¨¨ * bl = ¡ ©â ¤«ï ¢ë¢®¤ * ecx = ®¬¥à ¯®àâ 0xnnnn (®â 0 ¤® 0xFFFF) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¯®â®ª ¥ § १¥à¢¨à®¢ « 㪠§ ë© ¯®àâ ------------------------ ‚¢®¤ ¤ ëå ¨§ ¯®àâ ------------------------ à ¬¥âàë: * eax = 43 - ®¬¥à äãªæ¨¨ * ebx ¨£®à¨àã¥âáï * ecx = 0x8000nnnn, £¤¥ nnnn = ®¬¥à ¯®àâ (®â 0 ¤® 0xFFFF) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãᯥè®, ¯à¨ í⮬ ebx = ¢¢¥¤ñë© ¡ ©â * eax = 1 - ¯®â®ª ¥ § १¥à¢¨à®¢ « ¤ ë© ¯®àâ ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¯®â®ª ¤®«¦¥ § १¥à¢¨à®¢ âì § ᮡ®© 㪠§ ë© ¯®àâ äãªæ¨¥© 46. * „«ï § १¥à¢¨à®¢ ëå ¯®à⮢ ¢¬¥áâ® ¢ë§®¢ íâ¨å äãªæ¨© «ãçè¥ ¨á¯®«ì§®¢ âì ª®¬ ¤ë ¯à®æ¥áá®à in/out - íâ® § ç¨â¥«ì® ¡ëáâ॥ ¨ ¥áª®«ìª® ª®à®ç¥ ¨ ¯à®é¥. ˆ§ ¥§ १¥à¢¨à®¢ ëå ¯®à⮢ ç¨â âì ¢áñ à ¢® ¥«ì§ï. ====================================================================== ======== ”ãªæ¨ï 44 - ®¯à¥¤¥«¨âì ¤¥©áâ¢¨ï ¯à¨ ¯®áâ㯫¥¨¨ IRQ. ======= ====================================================================== ਠ¢®§¨ª®¢¥¨¨ IRQ á¨á⥬ ¬®¦¥â áç¨âë¢ âì ¤ ë¥ ¨§ 㪠§ ëå í⮩ äãªæ¨¥© ¯®à⮢ ¨ § ¯¨áë¢ âì í⨠¤ ë¥ ¢ ¡ãä¥à, ®âªã¤ ¨å ¬®¦® ¯à®ç¨â âì äãªæ¨¥© 42. à ¬¥âàë: * eax = 44 - ®¬¥à äãªæ¨¨ * ebx = 㪠§ â¥«ì ¬ áᨢ áâàãªâãà, ®¯¨áë¢ îé¨å ¯® ®¤®¬ã ¯®àâã: * +0: word: 0 ®§ ç ¥â ª®¥æ ¬ áᨢ , ¨ ç¥ ®¬¥à ¯®àâ * +2: byte: § १¥à¢¨à®¢ ® (¨£®à¨àã¥âáï) * +3: byte: 1=áç¨âë¢ âì ¡ ©â ¨§ í⮣® ¯®àâ , 2=áç¨âë¢ âì á«®¢® * ecx = ®¬¥à IRQ, 0..15 ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¯®â®ª ¥ ï¥âáï ¢« ¤¥«ì楬 㪠§ ®£® IRQ ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¯®â®ª ¤®«¦¥ § १¥à¢¨à®¢ âì § ᮡ®© 㪠§ë¢ ¥¬ë© IRQ äãªæ¨¥© 45. * ਨ¬ îâáï ¢® ¢¨¬ ¨¥ ⮫쪮 ¯¥à¢ë¥ 16 ¯®à⮢. * ’¥ªãé ï ॠ«¨§ æ¨ï à áᬠâਢ ¥â ¥¯à ¢¨«ì®¥ § 票¥ ¯®«ï +3 ª ª ᨣ « ¯à¥ªà é¥¨ï ®¡à ¡®âª¨ IRQ. ====================================================================== ============ ”ãªæ¨ï 45 - § १¥à¢¨à®¢ âì/®á¢®¡®¤¨âì IRQ. ============ ====================================================================== à ¬¥âàë: * eax = 45 - ®¬¥à äãªæ¨¨ * ebx = 0 - § १¥à¢¨à®¢ âì, 1 = ®á¢®¡®¤¨âì * ecx = ®¬¥à IRQ, 0..15 ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ®è¨¡ª (¥¢¥àë© ®¬¥à IRQ ¨«¨ ¯®¯ë⪠§ १¥à¢¨à®¢ âì ¥á¢®¡®¤ë© IRQ ¨«¨ ®á¢®¡®¤¨âì IRQ, ¥ § १¥à¢¨à®¢ ë© â¥ªã騬 ¯®â®ª®¬) ‡ ¬¥ç ¨ï: * ¥§¥à¢¨à®¢ ¨¥ IRQ 㦮 ¤«ï à ¡®âë äãªæ¨© 42 ¨ 44. * ’®«ìª® ®¤¨ ¯®â®ª ¬®¦¥â § १¥à¢¨à®¢ âì ª®ªà¥âë© IRQ. * IRQ, ®¡à ¡ âë¢ ¥¬ë¥ á¨á⥬®© á ¬®áâ®ï⥫ì®, १¥à¢¨àãîâáï á¨á⥬®© (¯®â®ª®¬ 1) ¯à¨ § £à㧪¥. * ਠ§ ¢¥à襨¨ ¯®â®ª ¢â®¬ â¨ç¥áª¨ ®á¢®¡®¦¤ îâáï ¢á¥ § १¥à¢¨à®¢ ë¥ ¨¬ IRQ. ====================================================================== = ”ãªæ¨ï 46 - § १¥à¢¨à®¢ âì/®á¢®¡®¤¨âì £à㯯㠯®à⮢ ¢¢®¤ /¢ë¢®¤ . ====================================================================== Š § १¥à¢¨à®¢ ë¬ ¯®àâ ¬ ¬®¦® ®¡à é âìáï ¯àï¬ãî ¨§ ¯à¨«®¦¥¨ï ª®¬ ¤ ¬¨ in/out (४®¬¥¤ã¥¬ë© ᯮᮡ) ¨ ¢ë§®¢®¬ äãªæ¨¨ 43 (¥à¥ª®¬¥¤ã¥¬ë© ᯮᮡ). à ¬¥âàë: * eax = 46 - ®¬¥à äãªæ¨¨ * ebx = 0 - § १¥à¢¨à®¢ âì, 1 - ®á¢®¡®¤¨âì * ecx = ®¬¥à ç « ¤¨ ¯ §® ¯®à⮢ * edx = ®¬¥à ª®æ ¤¨ ¯ §® ¯®à⮢ (¢ª«îç¨â¥«ì®) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ®è¨¡ª ‡ ¬¥ç ¨ï: * ‚ á«ãç ¥ १¥à¢¨à®¢ ¨ï ¯®à⮢ ®è¨¡ª®© áç¨â ¥âáï ¢ë¯®«¥¨¥ ®¤®£® ¨§ ãá«®¢¨©: * ç «ìë© ¤à¥á ¡®«ìè¥ ª®¥ç®£®; * 㪠§ ë© ¤¨ ¯ §® ᮤ¥à¦¨â ¥ª®à४âë© ®¬¥à ¯®àâ (ª®à४âë¥ - ®â 0 ¤® 0xFFFF); * ¯à¥¢ë襮 ®£à ¨ç¥¨¥ ®¡é¥¥ ç¨á«® § १¥à¢¨à®¢ ëå ®¡« á⥩ - ¤®¯ã᪠¥âáï ¬ ªá¨¬ã¬ 255; * 㪠§ ë© ¤¨ ¯ §® ¯¥à¥á¥ª ¥âáï á ®¤¨¬ ¨§ à ¥¥ § १¥à¢¨à®¢ ëå * ‚ á«ãç ¥ ®á¢®¡®¦¤¥¨ï ¯®à⮢ ®è¨¡ª®© áç¨â ¥âáï ¯®¯ë⪠®á¢®¡®¦¤¥¨ï ¤¨ ¯ §® , ª®â®àë© à ¥¥ ¥ ¡ë« 楫¨ª®¬ § १¥à¢¨à®¢ í⮩ ¦¥ äãªæ¨¥© (á â ª¨¬¨ ¦¥ § 票ﬨ ecx,edx). * ਠ®¡ à㦥¨¨ ®è¨¡ª¨ (¢ ®¡®¨å á«ãç ïå) ¨ª ª¨å ¤¥©á⢨© ¥ ¯à®¨§¢®¤¨âáï. * ਠ§ £à㧪¥ á¨á⥬ १¥à¢¨àã¥â § ᮡ®© ¯®àâë 0..0x2d, 0x30..0x4d, 0x50..0xdf, 0xe5..0xff (¢ª«îç¨â¥«ì®). * ਠ§ ¢¥à襨¨ ¯®â®ª ¢â®¬ â¨ç¥áª¨ ®á¢®¡®¦¤ îâáï ¢á¥ § १¥à¢¨à®¢ ë¥ ¨¬ ¯®àâë. ====================================================================== ================= ”ãªæ¨ï 47 - ¢ë¢¥á⨠ç¨á«® ¢ ®ª®. ================= ====================================================================== à ¬¥âàë: * eax = 47 - ®¬¥à äãªæ¨¨ * ebx = ¯ à ¬¥âàë ¯à¥®¡à §®¢ ¨ï ç¨á« ¢ ⥪áâ: * bl = 0 - ecx ᮤ¥à¦¨â ç¨á«® * bl = 1 - ecx ᮤ¥à¦¨â 㪠§ ⥫ì dword-ç¨á«® * bh = 0 - ®â®¡à ¦ âì ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï * bh = 1 - ®â®¡à ¦ âì ¢ è¥áâ ¤æ â¥à¨ç®© á¨á⥬¥ * bh = 2 - ®â®¡à ¦ âì ¢ ¤¢®¨ç®© á¨á⥬¥ * ¡¨âë 16-21 = ᪮«ìª® æ¨äà ®â®¡à ¦ âì * ¡¨âë 22-31 § १¥à¢¨à®¢ ë ¨ ¤®«¦ë ¡ëâì ãáâ ®¢«¥ë ¢ 0 * ecx = ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ ⥫ì (¯à¨ bl=1) * edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] * esi = 0xX0RRGGBB: * RR, GG, BB § ¤ îâ 梥â * X = ABnn (¡¨âë) * nn = èà¨äâ (0/1) * A ¨£®à¨àã¥âáï * B=1 - § ªà 訢 âì ä® æ¢¥â®¬ edi ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * “ª § ï ¤«¨ ¥ ¤®«¦ ¯à¥¢®á室¨âì 60. * ‚뢮¤¨âáï ஢® 㪠§ ®¥ ª®«¨ç¥á⢮ æ¨äà. …᫨ ç¨á«® ¬ «® ¨ ¬®¦¥â ¡ëâì § ¯¨á ® ¬¥ì訬 ª®«¨ç¥á⢮¬ æ¨äà, ®® ¤®¯®«ï¥âáï ¢¥¤ã騬¨ ã«ï¬¨; ¥á«¨ ç¨á«® ¢¥«¨ª® ¨ ¥ ¬®¦¥â ¡ëâì § ¯¨á ® â ª¨¬ ª®«¨ç¥á⢮¬ æ¨äà, "«¨è¨¥" ¢¥¤ã騥 æ¨äàë ®¡à¥§ îâáï. * à ¬¥âàë èà¨ä⮢ 㪠§ ë ¢ ®¯¨á ¨¨ äãªæ¨¨ 4 (¢ë¢®¤ ⥪áâ ). ====================================================================== ======= ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 0 - ¯à¨¬¥¨âì áâனª¨ íªà . ======= ====================================================================== à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 0 - § १¥à¢¨à®¢ ® ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ”ãªæ¨ï ¯¥à¥à¨á®¢ë¢ ¥â íªà ¯®á«¥ ¨§¬¥¥¨ï ¯ à ¬¥â஢ ¯®¤äãªæ¨ï¬¨ 1 ¨ 2. * ‚맮¢ äãªæ¨¨ ¡¥§ ¯à¥¤è¥áâ¢ãîé¨å ¢ë§®¢®¢ 㪠§ ëå ¯®¤äãªæ¨© ¨£®à¨àã¥âáï. * ‚맮¢ äãªæ¨¨ á ¥ã«¥¢ë¬ ecx ¨£®à¨àã¥âáï. ====================================================================== ========= ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì áâ¨«ì ª®¯®ª. ======== ====================================================================== à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ⨯ ª®¯®ª: * 0 = ¯«®áª¨¥ * 1 = ®¡êñ¬ë¥ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ®á«¥ ¢ë§®¢ ®¯¨áë¢ ¥¬®© äãªæ¨¨ á«¥¤ã¥â ¯¥à¥à¨á®¢ âì íªà ¯®¤äãªæ¨¥© 0. * ’¨¯ ª®¯®ª ¢«¨ï¥â ⮫쪮 ¨å ¯à®à¨á®¢ªã äãªæ¨¥© 8. ====================================================================== ==== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. === ====================================================================== à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ ⥫ì â ¡«¨æã 梥⮢ * edx = à §¬¥à â ¡«¨æë 梥⮢ (¤®«¦¥ ¡ëâì 40 ¡ ©â ¤«ï ¡ã¤ã饩 ᮢ¬¥á⨬®áâ¨) ”®à¬ â â ¡«¨æë 梥⮢ 㪠§ ¢ ®¯¨á ¨¨ ¯®¤äãªæ¨¨ 3. ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ®á«¥ ¢ë§®¢ ®¯¨áë¢ ¥¬®© äãªæ¨¨ á«¥¤ã¥â ¯¥à¥à¨á®¢ âì íªà ¯®¤äãªæ¨¥© 0. * ’ ¡«¨æ áâ ¤ àâëå 梥⮢ ¢«¨ï¥â ⮫쪮 ¯à¨«®¦¥¨ï, ª®â®àë¥ íâã â ¡«¨æã ï¢ë¬ ®¡à §®¬ ¯®«ãç îâ (¯®¤äãªæ¨¥© 3) ¨ ¨á¯®«ì§ãîâ (㪠§ë¢ ï 梥⠨§ ¥ñ ¯à¨ ¢ë§®¢ å äãªæ¨© à¨á®¢ ¨ï). * ’ ¡«¨æ áâ ¤ àâëå 梥⮢ ¢å®¤¨â ¢ ᪨ ¨ ãáâ ¢«¨¢ ¥âáï § ®¢® ¯à¨ ãáâ ®¢ª¥ ᪨ (¯®¤äãªæ¨¨ 8). * ’ ¡«¨æã 梥⮢ ¬®¦® ¯à®á¬ âਢ âì/¨§¬¥ïâì ¨â¥à ªâ¨¢® á ¯®¬®éìî ¯à¨«®¦¥¨ï desktop. ====================================================================== ===== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 3 - ¯®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. ==== ====================================================================== à ¬¥âàë: * 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] ; ç¨â ¥¬ 梥â ⥪áâ ; ª®¯ª¥ ¢ à ¡®ç¥© ®¡« á⨠* ˆá¯®«ì§®¢ ¨¥/¥¨á¯®«ì§®¢ ¨¥ íâ¨å 梥⮢ - ¤¥«® ¨áª«îç¨â¥«ì® á ¬®© ¯à®£à ¬¬ë. „«ï ¨á¯®«ì§®¢ ¨ï 㦮 ¯à®áâ® ¯à¨ ¢ë§®¢¥ äãªæ¨© à¨á®¢ ¨ï 㪠§ë¢ âì 梥â, ¢§ïâë© ¨§ í⮩ â ¡«¨æë. * ਠ¨§¬¥¥¨¨ â ¡«¨æë áâ ¤ àâëå 梥⮢ (¯®¤äãªæ¨¥© 2 á ¯®á«¥¤ãî騬 ¯à¨¬¥¥¨¥¬ ¨§¬¥¥¨© ¯®¤äãªæ¨¥© 0 ¨«¨ ¯à¨ ãáâ ®¢ª¥ ᪨ ¯®¤äãªæ¨¥© 8) ¢á¥¬ ®ª ¬ ¯®áë« ¥âáï á®®¡é¥¨¥ ® ¥®¡å®¤¨¬®á⨠¯¥à¥à¨á®¢ª¨ (ᮡë⨥ á ª®¤®¬ 1). * ‘â ¤ àâë¥ æ¢¥â ¬®¦® ¯à®á¬ âਢ âì/¨§¬¥ïâì ¨â¥à ªâ¨¢® á ¯®¬®éìî ¯à¨«®¦¥¨ï desktop. ====================================================================== ========== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 4 - ¯®«ãç¨âì ¢ëá®âã ᪨ . ========= ====================================================================== à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¢ëá®â ᪨ ‡ ¬¥ç ¨ï: * ‚ëá®â®© ᪨ ¯® ®¯à¥¤¥«¥¨î áç¨â ¥âáï ¢ëá®â § £®«®¢ª ®ª®, ¨á¯®«ì§ãîé¨å ᪨. * ‘¬®âਠ⠪¦¥ ®¡éãî áâàãªâãàã ®ª ¢ ®¯¨á ¨¨ äãªæ¨¨ 0. ====================================================================== ===== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 5 - ¯®«ãç¨âì à ¡®çãî ®¡« áâì íªà . ==== ====================================================================== à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = [left]*65536 + [right] * ebx = [top]*65536 + [bottom] ‡ ¬¥ç ¨ï: * ¡®ç ï ®¡« áâì íªà ®¯à¥¤¥«ï¥â ¯®«®¦¥¨¥ ¨ ª®®à¤¨ âë ¬ ªá¨¬¨§¨à®¢ ®£® ®ª . * ¡®ç ï ®¡« áâì íªà ¯à¨ ®à¬ «ì®© à ¡®â¥ ¥áâì ¢¥áì íªà § ¢ëç¥â®¬ ¯ ¥«¨ (@panel). * (left,top) - ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫 , (right,bottom) - ª®®à¤¨ âë ¯à ¢®£® ¨¦¥£®. ’ ª¨¬ ®¡à §®¬, à §¬¥à à ¡®ç¥© ®¡« á⨠¯® ®á¨ x ®¯à¥¤¥«ï¥âáï ä®à¬ã«®© right-left+1, ¯® ®á¨ y - ä®à¬ã«®© bottom-right+1. * ‘¬®âਠ⠪¦¥ äãªæ¨î 14, ¯®§¢®«ïîéãî ®¯à¥¤¥«¨âì à §¬¥àë ¢á¥£® íªà . * …áâì ¯ à ï äãªæ¨ï ãáâ ®¢ª¨ à ¡®ç¥© ®¡« á⨠- ¯®¤äãªæ¨ï 6. ====================================================================== ==== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 6 - ãáâ ®¢¨âì à ¡®çãî ®¡« áâì íªà . === ====================================================================== à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = [left]*65536 + [right] * edx = [top]*65536 + [bottom] ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ¡®ç ï ®¡« áâì íªà ®¯à¥¤¥«ï¥â ¯®«®¦¥¨¥ ¨ ª®®à¤¨ âë ¬ ªá¨¬¨§¨à®¢ ®£® ®ª . * â äãªæ¨ï ¨á¯®«ì§ã¥âáï ⮫쪮 ¯à¨«®¦¥¨¥¬ @panel, ãáâ ¢«¨¢ î騬 à ¡®ç¥© ®¡« áâìî ¢¥áì íªà § ¢ëç¥â®¬ ¯ ¥«¨. * (left,top) - ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫 , (right,bottom) - ª®®à¤¨ âë ¯à ¢®£® ¨¦¥£®. ’ ª¨¬ ®¡à §®¬, à §¬¥à à ¡®ç¥© ®¡« á⨠¯® ®á¨ x ®¯à¥¤¥«ï¥âáï ä®à¬ã«®© right-left+1, ¯® ®á¨ y - ä®à¬ã«®© bottom-right+1. * …᫨ left>=right, â® x-ª®®à¤¨ âë à ¡®ç¥© ®¡« á⨠¥ ¨§¬¥ïîâáï. …᫨ left<0, â® left ¥ ãáâ ¢«¨¢ ¥âáï. …᫨ right ¡®«ìè¥ ¨«¨ à ¢® è¨à¨ë íªà , â® right ¥ ãáâ ¢«¨¢ ¥âáï. € «®£¨ç® ¯® ®á¨ y. * ‘¬®âਠ⠪¦¥ äãªæ¨î 14, ¯®§¢®«ïîéãî ®¯à¥¤¥«¨âì à §¬¥àë ¢á¥£® íªà . * …áâì ¯ à ï äãªæ¨ï ¯®«ã票ï à ¡®ç¥© ®¡« á⨠- ¯®¤äãªæ¨ï 5. * â äãªæ¨ï ¢â®¬ â¨ç¥áª¨ ¯¥à¥à¨á®¢ë¢ ¥â íªà , ¯® 室㠤¥« ®¡®¢«ï¥â ª®®à¤¨ âë ¨ à §¬¥àë ¬ ªá¨¬¨§¨à®¢ ëå ®ª®. ‚ᥠ®ª ¨§¢¥é îâáï ® ¥®¡å®¤¨¬®á⨠¯¥à¥à¨á®¢ª¨ (ᮡë⨥ 1). ====================================================================== ====================== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 7 ====================== ============ ®«ãç¨âì ®¡« áâì ᪨ ¤«ï ⥪áâ § £®«®¢ª . ============ ====================================================================== ‚®§¢à é ¥â ®¡« áâì § £®«®¢ª ®ª ᮠ᪨®¬, ¯à¥¤ § ç¥ãî ¤«ï ¢ë¢®¤ ⥪áâ § £®«®¢ª . à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = [left]*65536 + [right] * ebx = [top]*65536 + [bottom] ‡ ¬¥ç ¨ï: * ˆá¯®«ì§®¢ ¨¥/¥¨á¯®«ì§®¢ ¨¥ í⮩ äãªæ¨¨ - «¨ç®¥ ¤¥«® ¯à¨«®¦¥¨ï. * ¥ª®¬¥¤ã¥âáï ãç¨âë¢ âì § 票ï, ¢®§¢à é ¥¬ë¥ í⮩ äãªæ¨¥©, ¯à¨ ¢ë¡®à¥ ¬¥áâ ¤«ï à¨á®¢ ¨ï ⥪áâ § £®«®¢ª (äãªæ¨¥© 4) ¨«¨ ª ª®£®-¨¡ã¤ì § ¬¥¨â¥«ï ⥪áâ § £®«®¢ª (¯® ãᬮâà¥¨î ¯à¨«®¦¥¨ï). ====================================================================== ==== ”ãªæ¨ï 48, ¯®¤äãªæ¨ï 8 - ãáâ ®¢¨âì ¨á¯®«ì§ã¥¬ë© ᪨ ®ª®. === ====================================================================== à ¬¥âàë: * eax = 48 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ¡«®ª ¤«ï äãªæ¨¨ 58, ¢ ª®â®à®¬ ãáâ ®¢«¥® ¯®«¥ ¯à®¬¥¦ãâ®ç®£® ¡ãä¥à ¨ 㪠§ ® ¨¬ï ä ©« ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * ¨ ç¥ eax = ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë; ¥á«¨ ä ©« ¥ § ¤ ñâ ᪨, â® ¢®§¢à é ¥âáï ®è¨¡ª 3 (¥¨§¢¥áâ ï ä ©«®¢ ï á¨á⥬ ). ‡ ¬¥ç ¨ï: * ਠãᯥ让 § £à㧪¥ ᪨ ¢á¥ ®ª ¨§¢¥é îâáï ® ¥®¡å®¤¨¬®á⨠¯¥à¥à¨á®¢ª¨ (ᮡë⨥ 1). * ਠ§ £à㧪¥ á¨á⥬ áç¨âë¢ ¥â ᪨ ¨§ ä ©« default.skn à ¬¤¨áª¥. * ®«ì§®¢ â¥«ì ¬®¦¥â ¨§¬¥ïâì ᪨ áâ â¨ç¥áª¨, ᮧ¤ ¢ ᢮© default.skn, ¨«¨ ¤¨ ¬¨ç¥áª¨ á ¯®¬®éìî ¯à¨«®¦¥¨ï desktop. ====================================================================== ============ ”ãªæ¨ï 49 - Advanced Power Management (APM). =========== ====================================================================== à ¬¥âàë: * 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 - ãáâ ®¢ª ä®à¬ë ®ª . ================= ====================================================================== Ž¡ëçë¥ ®ª ¯à¥¤áâ ¢«ïîâ ᮡ®© ¯àאַ㣮«ì¨ª¨. ‘ ¯®¬®éìî í⮩ äãªæ¨¨ ®ªã ¬®¦® ¯à¨¤ âì ¯à®¨§¢®«ìãî ä®à¬ã. ”®à¬ § ¤ ñâáï ¡®à®¬ â®ç¥ª ¢ãâਠ®¡à ¬«ïî饣® ¯àאַ㣮«ì¨ª , ¯à¨ ¤«¥¦ é¨å ®ªã. ®«®¦¥¨¥ ¨ à §¬¥àë ®¡à ¬«ïî饣® ¯àאַ㣮«ì¨ª § ¤ îâáï äãªæ¨¥© 0 ¨ ¨§¬¥ïîâáï äãªæ¨¥© 67. --------------- “áâ ®¢ª ¤ ëå á ¨ä®à¬ 樥© ® ä®à¬¥ --------------- à ¬¥âàë: * eax = 50 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ¤ ë¥ ä®à¬ë (¬ áᨢ ¡ ©â 0/1) ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï ------------------ “áâ ®¢ª ¬ áèâ ¡ ¤ ëå ä®à¬ë ------------------- à ¬¥âàë: * eax = 50 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx § ¤ ñâ ¬ áèâ ¡: ª ¦¤ë© ¡ ©â ¤ ëå ®¯à¥¤¥«ï¥â (2^scale)*(2^scale) ¯¨ªá¥«¥© ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * Œ áèâ ¡ ¯® 㬮«ç ¨î à ¢¥ 0 (¬ áèâ ¡¨àãî騩 ¬®¦¨â¥«ì 1). …᫨ ¢ ¤ ëå ä®à¬ë ®¤¨ ¡ ©â ᮮ⢥âáâ¢ã¥â ®¤®¬ã ¯¨ªá¥«î, â® ¬ áèâ ¡ ¬®¦® ¥ ãáâ ¢«¨¢ âì. * Ž¡®§ 稬 xsize = è¨à¨ ®ª (¢ ¯¨ªá¥«ïå), ysize = ¢ëá®â ; ®¡à â¨â¥ ¢¨¬ ¨¥, çâ® ®¨ ¥¤¨¨æã ¡®«ìè¥, 祬 ãáâ ¢«¨¢ ¥¬ë¥ äãªæ¨ï¬¨ 0, 67. * ® ®¯à¥¤¥«¥¨î ¬ áèâ ¡ xsize ¨ ysize ¤®«¦ë ¤¥«¨âìáï 2^scale. * ©â ¤ ëå ¯® ᬥ饨î a ¤®«¦¥ ¡ëâì 0/1 ¨ ®¯à¥¤¥«ï¥â ¯à¨ ¤«¥¦®áâì ®ªã ª¢ ¤à â á® áâ®à®®© 2^scale (¯à¨ scale=0 ¯®«ãç ¥¬ ¯¨ªá¥«ì) ¨ ª®®à¤¨ â ¬¨ «¥¢®£® ¢¥à奣® 㣫 (a mod (xsize shr scale), a div (xsize shr scale)) * §¬¥à ¤ ëå: (xsize shr scale)*(ysize shr scale). * „ ë¥ ¤®«¦ë ¯à¨áãâá⢮¢ âì ¢ ¯ ¬ï⨠¨ ¥ ¬¥ïâìáï ¯®á«¥ ãáâ ®¢ª¨ ä®à¬ë. * ‘¨á⥬ ¯à®á¬ âਢ ¥â ¤ ë¥ ® ä®à¬¥ ¯à¨ ª ¦¤®© ¯¥à¥à¨á®¢ª¥ ®ª äãªæ¨¥© 0. * ‚맮¢ ¯®¤äãªæ¨¨ 0 á ã«¥¢ë¬ 㪠§ ⥫¥¬ ¯à¨¢®¤¨â ª ¢®§¢à âã ª ¯àאַ㣮«ì®© ä®à¬¥. ====================================================================== ===================== ”ãªæ¨ï 51 - ᮧ¤ âì ¯®â®ª. ==================== ====================================================================== à ¬¥âàë: * eax = 51 - ®¬¥à äãªæ¨¨ * ebx = 1 - ¥¤¨á⢥ ï ¯®¤äãªæ¨ï * ecx = ¤à¥á â®çª¨ ¢å®¤ ¯®â®ª ( ç «ìë© eip) * edx = 㪠§ ⥫ì áâíª ¯®â®ª ( ç «ìë© esp) ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ®è¨¡ª (¢ á¨á⥬¥ ᫨誮¬ ¬®£® ¯®â®ª®¢) * ¨ ç¥ eax = TID - ¨¤¥â¨ä¨ª â®à ¯®â®ª ====================================================================== = ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì ª®ä¨£ãà æ¨î á¥â¥¢®£® ¤à ©¢¥à . ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¤¢®©®¥ á«®¢® ª®ä¨£ãà 樨 ‡ ¬¥ç ¨ï: * ‘«®¢® ª®ä¨£ãà 樨 ¬®¦® ãáâ ®¢¨âì ¯®¤äãªæ¨¥© 2. * Ÿ¤à® ¥ ¨á¯®«ì§ã¥â ᮮ⢥âáâ¢ãîéãî ¯¥à¥¬¥ãî. –¥®áâì í⮩ ¯¥à¥¬¥®© ¨ à ¡®â îé¨å á ¥© ¯®¤äãªæ¨© 0 ¨ 2 ¯à¥¤áâ ¢«ï¥âáï ᮬ¨â¥«ì®©. ====================================================================== ======= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì «®ª «ìë© IP- ¤à¥á. ====== ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = IP- ¤à¥á (4 ¡ ©â ) ‡ ¬¥ç ¨ï: * ‹®ª «ìë© IP- ¤à¥á ãáâ ¢«¨¢ ¥âáï ¯®¤äãªæ¨¥© 3. ====================================================================== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì ª®ä¨£ãà æ¨î á¥â¥¢®£® ¤à ©¢¥à . ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¤¢®©®¥ á«®¢® ª®ä¨£ãà 樨; ¥á«¨ ¬« ¤è¨¥ 7 ¡¨â ®¡à §ãîâ ç¨á«® 3, íâ® ¢®á¯à¨¨¬ ¥âáï ª ª § ¯à®á [¯¥à¥-]¨¨æ¨ «¨§ æ¨î Ethernet-ª àâë, ¢ ¯à®â¨¢®¬ á«ãç ¥ Ethernet ¢ëª«îç ¥âáï ‚®§¢à é ¥¬®¥ § 票¥: * ¥á«¨ ¥ § ¯à®è¥ Ethernet-¨â¥à䥩á, â® ¢®§¢à é ¥âáï eax=2, ® íâ® ¬®¦¥â ¨§¬¥¨âìáï ¢ ¡ã¤ãé¨å ¢¥àá¨ïå ï¤à * ¥á«¨ § ¯à®è¥ Ethernet-¨â¥à䥩á, â® eax=0 ®§ ç ¥â ®è¨¡ªã (®âáãâá⢨¥ Ethernet-ª àâë), ¥ã«¥¢®¥ § 票¥ - ãá¯¥å ‡ ¬¥ç ¨ï: * ‘«®¢® ª®ä¨£ãà 樨 ¬®¦® ¯à®ç¨â âì ¯®¤äãªæ¨¥© 0. * Ÿ¤à® ¥ ¨á¯®«ì§ã¥â ᮮ⢥âáâ¢ãîéãî ¯¥à¥¬¥ãî. –¥®áâì í⮩ ¯¥à¥¬¥®©, ¯®¤äãªæ¨¨ 0 ¨ ç á⨠¯®¤äãªæ¨¨ 2, ãáâ ¢«¨¢ î饩 íâã ¯¥à¥¬¥ãî, ¯à¥¤áâ ¢«ï¥âáï ᮬ¨â¥«ì®©. ====================================================================== ====== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 3 - ãáâ ®¢¨âì «®ª «ìë© IP- ¤à¥á. ===== ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = IP- ¤à¥á (4 ¡ ©â ) ‚®§¢à é ¥¬®¥ § 票¥: * ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=3, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥® ¢ ¡ã¤ãé¨å ¢¥àá¨ïå ‡ ¬¥ç ¨ï: * ‹®ª «ìë© IP- ¤à¥á ¬®¦® ¯®«ãç¨âì ¯®¤äãªæ¨¥© 1. ====================================================================== = ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 6 - ¤®¡ ¢¨âì ¤ ë¥ ¢ á⥪ ¢å®¤®© ®ç¥à¥¤¨. = ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ * edx = à §¬¥à ¤ ëå * esi = 㪠§ â¥«ì ¤ ë¥ ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ®è¨¡ª * eax = 0 - ãá¯¥è® ‡ ¬¥ç ¨ï: * â äãªæ¨ï ¯à¥¤ § ç¥ â®«ìª® ¤«ï ¬¥¤«¥ëå á¥â¥¢ëå ¤à ©¢¥à®¢ (PPP, SLIP). * §¬¥à ¤ ëå ¥ ¤®«¦¥ ¯à¥¢®á室¨âì 1500 ¡ ©â, å®âï ¯à®¢¥à®ª ª®à४â®á⨠¥ ¤¥« ¥âáï. ====================================================================== ====================== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 8 ====================== ============= à®ç¨â âì ¤ ë¥ ¨§ á¥â¥¢®© ®ç¥à¥¤¨ ¢ë¢®¤ . ============ ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ * esi = 㪠§ â¥«ì ¡ãä¥à à §¬¥à®¬ 1500 ¡ ©â ‚®§¢à é ¥¬®¥ § 票¥: * eax = ç¨á«® ¯à®ç¨â ëå ¡ ©â (¢ ⥪ã饩 ॠ«¨§ 樨 «¨¡® 0 = ¥â ¤ ëå, «¨¡® 1500) * ¤ ë¥ áª®¯¨à®¢ ë ¢ ¡ãä¥à ‡ ¬¥ç ¨ï: * â äãªæ¨ï ¯à¥¤ § ç¥ â®«ìª® ¤«ï ¬¥¤«¥ëå á¥â¥¢ëå ¤à ©¢¥à®¢ (PPP, SLIP). ====================================================================== =========== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 9 - ¯®«ãç¨âì gateway IP. ========== ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = gateway IP (4 ¡ ©â ) ====================================================================== ========= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 10 - ¯®«ãç¨âì ¬ áªã ¯®¤á¥â¨. ======== ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¬ ᪠¯®¤á¥â¨ ====================================================================== ========= ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 11 - ãáâ ®¢¨âì gateway IP. ========= ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = gateway IP (4 ¡ ©â ) ‚®§¢à é ¥¬®¥ § 票¥: * ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=11, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥® ¢ ¡ã¤ãé¨å ॠ«¨§ æ¨ïå ====================================================================== ======== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 12 - ãáâ ®¢¨âì ¬ áªã ¯®¤á¥â¨. ======= ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¬ ᪠¯®¤á¥â¨ ‚®§¢à é ¥¬®¥ § 票¥: * ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=12, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥® ¢ ¡ã¤ãé¨å ¢¥àá¨ïå ====================================================================== ============ ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 13 - ¯®«ãç¨âì DNS IP. ============ ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = DNS IP (4 ¡ ©â ) ====================================================================== =========== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 14 - ãáâ ®¢¨âì DNS IP. =========== ====================================================================== à ¬¥âàë: * eax = 52 - ®¬¥à äãªæ¨¨ * ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = DNS IP (4 ¡ ©â ) ‚®§¢à é ¥¬®¥ § 票¥: * ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=14, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥® ¢ á«¥¤ãîé¨å ¢¥àá¨ïå ====================================================================== ====== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 15 - ¯®«ãç¨âì «®ª «ìë© MAC- ¤à¥á. ===== ====================================================================== à ¬¥âàë: * 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-᮪¥â. =========== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = «®ª «ìë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®) * edx = 㤠«ñë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®) * esi = 㤠«ñë© IP ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 = 0xFFFFFFFF - ®è¨¡ª ; ebx à §àãè ¥âáï * eax = åí¤« ᮪¥â (¥ª®â®à®¥ ç¨á«®, ®¤®§ ç® ¨¤¥â¨ä¨æ¨àãî饥 ᮪¥â ¨ ¨¬¥î饥 á¬ë᫠⮫쪮 ¤«ï á¨á⥬ë) - ãᯥè®; ebx à §àãè ¥âáï ====================================================================== ============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 1 - § ªàëâì UDP-᮪¥â. =========== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¥¢¥àë© åí¤« * eax = 0 - ãá¯¥è® * ebx à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ’¥ªãé ï ॠ«¨§ æ¨ï ¥ § ªàë¢ ¥â ¢â®¬ â¨ç¥áª¨ ¢á¥ ᮪¥âë ¯®â®ª ¯à¨ ¥£® § ¢¥à襨¨. ‚ ç áâ®áâ¨, ¥ á«¥¤ã¥â ¯à¨¡¨¢ âì ¯®â®ª á ªã祩 ®âªàëâëå ᮪¥â®¢ - ¡ã¤¥â ãâ¥çª à¥áãàᮢ. * ’¥ªãé ï ॠ«¨§ æ¨ï ¥ ¤¥« ¥â ¯à®¢¥à®ª ª®à४â®áâì (¥¤¨á⢥®¥, çâ® ¢®§¢à é ¥âáï ®è¨¡ª , - ¯®¯ë⪠§ ªàëâì ¥®âªàëâë© á®ª¥â á ª®à४âë¬ åí¤«®¬). ====================================================================== ============== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 2 - ®¯à®á ᮪¥â . ============== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â ‚®§¢à é ¥¬®¥ § 票¥: * eax = ç¨á«® ¯®«ãç¥ëå ¡ ©â * ebx à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ஢¥àª¨ ª®à४â®á⨠¥ ¤¥« ¥âáï. ====================================================================== ======== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 3 - ¯à®ç¨â âì ¡ ©â ¨§ ᮪¥â . ======== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â ‚®§¢à é ¥¬®¥ § 票¥: * ¥á«¨ ¥â ¯à¨ïâëå ¤ ëå: eax=0, bl=0, ¯à®ç¨¥ ¡ ©âë ebx à §àãè îâáï * ¥á«¨ ¡ë«¨ ¯à¨ïâë¥ ¤ ë¥: eax=ç¨á«® ®áâ ¢è¨åáï ¡ ©â (¢®§¬®¦®, 0), bl=¯à®ç¨â ë© ¡ ©â, ¯à®ç¨¥ ¡ ©âë ebx à §àãè îâáï ‡ ¬¥ç ¨ï: * ஢¥àª¨ ª®à४â®á⨠¥ ¯à®¨§¢®¤¨âáï. ====================================================================== ========== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 4 - § ¯¨á âì ¢ UDP-᮪¥â. ========== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â * edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨ * esi = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0xffffffff - ¥¢¥àë© åí¤« * eax = 0xffff - ¥¤®áâ â®ç® ¯ ¬ï⨠* eax = 0 - ãá¯¥è® * ebx à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ஢¥àª ¯à ¢¨«ì®áâì åí¤« ¬¨¨¬ «ì - ¨áª«îç îâáï ⮫쪮 ¥ ®ç¥ì ¥¯à ¢¨«ìë¥ ¥®âªàëâë¥ åí¤«ë. * —¨á«® ¡ ©â ¤«ï § ¯¨á¨ ¥ ¬®¦¥â ¯à¥¢ëè âì 1500-28, å®âï ᮮ⢥âáâ¢ãî饩 ¯à®¢¥àª¨ ¥ ¤¥« ¥âáï. ====================================================================== ============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 5 - ®âªàëâì TCP-᮪¥â. =========== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = «®ª «ìë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®) * edx = 㤠«ñë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®) * esi = 㤠«ñë© IP * edi = ०¨¬ ®âªàëâ¨ï: SOCKET_PASSIVE=0 ¨«¨ SOCKET_ACTIVE=1 ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 = 0xFFFFFFFF - ®è¨¡ª ; ebx à §àãè ¥âáï * eax = åí¤« ᮪¥â (¥ª®â®à®¥ ç¨á«®, ®¤®§ ç® ¨¤¥â¨ä¨æ¨àãî饥 ᮪¥â ¨ ¨¬¥î饥 á¬ë᫠⮫쪮 ¤«ï á¨á⥬ë) - ãᯥè®; ebx à §àãè ¥âáï ====================================================================== ====== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 6 - ¯®«ãç¨âì á®áâ®ï¨¥ TCP-᮪¥â . ===== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â ‚®§¢à é ¥¬®¥ § 票¥: * eax = áâ âãá ᮪¥â : ®¤® ¨§ * 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-᮪¥â. ========== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â * edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨ * esi = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0xffffffff - ®è¨¡ª * eax = 0xffff - ¥¤®áâ â®ç® ¯ ¬ï⨠* eax = 0 - ãá¯¥è® * ebx à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ஢¥àª ¯à ¢¨«ì®áâì åí¤« ¬¨¨¬ «ì - ¨áª«îç îâáï ⮫쪮 ¥ ®ç¥ì ¥¯à ¢¨«ìë¥ ¥®âªàëâë¥ åí¤«ë. * —¨á«® ¡ ©â ¤«ï § ¯¨á¨ ¥ ¬®¦¥â ¯à¥¢ëè âì 1500-40, å®âï ᮮ⢥âáâ¢ãî饩 ¯à®¢¥àª¨ ¥ ¤¥« ¥âáï. ====================================================================== ============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 8 - § ªàëâì TCP-᮪¥â. =========== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¥¢¥àë© åí¤« * eax = 0xffff - ¥¤®áâ â®ç® ¯ ¬ï⨠¤«ï ¯ ª¥â § ªàëâ¨ï ᮪¥â * eax = 0 - ãá¯¥è® * ¢® ¬®£¨å á«ãç ïå eax à §àãè ¥âáï (¢®§¢à é ¥âáï १ã«ìâ â äãªæ¨¨ queue) - ¢¨¤¨¬®, íâ® ¡ £, ª®â®àë© ¡ã¤¥â ¨á¯à ¢«¥ * ebx à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ’¥ªãé ï ॠ«¨§ æ¨ï ¥ § ªàë¢ ¥â ¢â®¬ â¨ç¥áª¨ ¢á¥ ᮪¥âë ¯®â®ª ¯à¨ ¥£® § ¢¥à襨¨. ‚ ç áâ®áâ¨, ¥ á«¥¤ã¥â ¯à¨¡¨¢ âì ¯®â®ª á ªã祩 ®âªàëâëå ᮪¥â®¢ - ¡ã¤¥â ãâ¥çª à¥áãàᮢ. * ’¥ªãé ï ॠ«¨§ æ¨ï ¥ ¤¥« ¥â ¯à®¢¥à®ª ª®à४â®áâì (¥¤¨á⢥®¥, çâ® ¢®§¢à é ¥âáï ®è¨¡ª , - ¯®¯ë⪠§ ªàëâì ¥®âªàëâë© á®ª¥â á ª®à४âë¬ åí¤«®¬). ====================================================================== == ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 9 - ¯à®¢¥à¨âì, ᢮¡®¤¥ «¨ «®ª «ìë© ¯®àâ. = ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 9 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ®¬¥à «®ª «ì®£® ¯®àâ (¨á¯®«ì§ãîâáï ⮫쪮 ¬« ¤è¨¥ 16 ¡¨â) ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ¯®à⠨ᯮ«ì§ã¥âáï * eax = 1 - ¯®àâ ᢮¡®¤¥ * ebx à §àãè ¥âáï ====================================================================== ==== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 10 - ¯®«ãç¨âì áâ âãá ª ¡¥«ï Ethernet. ==== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 10 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * al = -1 - ¤à ©¢¥à á¥â¥¢®© ª àâë ¥ § £à㦥 ¨«¨ ¥ ¯®¤¤¥à¦¨¢ ¥â íâã äãªæ¨î * al = 0 - ª ¡¥«ì ¥ ¯®¤ª«îçñ * al = 1 - ª ¡¥«ì ¯®¤ª«îçñ * ebx à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ’¥ªãé ï ॠ«¨§ æ¨ï ï¤à ¯®¤¤¥à¦¨¢ ¥â íâã äãªæ¨î ⮫쪮 ¤«ï á¥â¥¢ëå ª àâ RTL8139. ====================================================================== ==== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 11 - ¯à®ç¨â âì ¤ ë¥ á¥â¥¢®£® á⥪ . ==== ====================================================================== à ¬¥âàë: * eax = 53 - ®¬¥à äãªæ¨¨ * ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = åí¤« ᮪¥â * edx = 㪠§ â¥«ì ¡ãä¥à * esi = ç¨á«® ¡ ©â ¤«ï ç⥨ï; * esi = 0 - ç¨â âì ¢á¥ ¤ ë¥ (¬ ªá¨¬ã¬ 4096 ¡ ©â) ‚®§¢à é ¥¬®¥ § 票¥: * eax = ç¨á«® ¯à®ç¨â ëå ¡ ©â * ebx à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ஢¥àª¨ ¯à ¢¨«ì®áâì åí¤« ¥ ¤¥« ¥âáï. ====================================================================== ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 255 - ®â« ¤®ç ï ¨ä®à¬ æ¨ï á¥â¥¢®£® ¤à ©¢¥à . ====================================================================== à ¬¥âàë: * 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, ¯®¤äãªæ¨ï 0 - § £à㧨âì ¤ ë¥ ¤«ï SB16. ======= ====================================================================== à ¬¥âàë: * eax = 55 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ¤ ë¥ (ª®¯¨àã¥âáï 64 ª¨«®¡ ©â , ¨á¯®«ì§ã¥âáï á⮫쪮, ᪮«ìª® ãáâ ®¢«¥® ¯®¤äãªæ¨¥© 2) ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ”®à¬ â ¨ à §¬¥à ¤ ëå ãáâ ¢«¨¢ îâáï ¯®¤äãªæ¨¥© 2. ====================================================================== ==== ”ãªæ¨ï 55, ¯®¤äãªæ¨ï 1 - ç âì ¯à®¨£àë¢ âì ¤ ë¥ SB16. === ====================================================================== à ¬¥âàë: * eax = 55 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¤ ë¥ ¤®«¦ë ¡ëâì § £àã¦¥ë ¯®¤äãªæ¨¥© 0 ¨ ®¯à¥¤¥«ñ ¨å ä®à¬ â ¯®¤äãªæ¨¥© 2. * ”ãªæ¨ï ¢®§¢à é ¥â ã¯à ¢«¥¨¥, ª®£¤ ç «®áì ¯à®¨£àë¢ ¨¥ ¤ ëå; ¯®á«¥ í⮣® ¯à®¨£àë¢ ¨¥ ¨¤ñâ ¥§ ¢¨á¨¬® ®â ¯à¨«®¦¥¨ï (¨ ¢®®¡é¥ ¥ âॡã¥â § £à㧪¨ ¯à®æ¥áá®à ). * ।¢ à¨â¥«ì® ¤®«¦ë ¡ëâì ®¯à¥¤¥«¥ë ¡ §®¢ë© ¯®àâ SB16 (¯®¤äãªæ¨¥© 4 äãªæ¨¨ 21) ¨ ª « DMA (¯®¤äãªæ¨¥© 10 äãªæ¨¨ 21). ====================================================================== ====== ”ãªæ¨ï 55, ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì ä®à¬ â ¤ ëå SB16. ===== ====================================================================== à ¬¥âàë: * eax = 55 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 0 - ãáâ ®¢¨âì à §à冷áâì * edx = 1 - 8¡¨â ¬®® * edx = 2 - 8¡¨â áâ¥à¥® * ecx = 1 - ãáâ ®¢¨âì à §¬¥à ¤ ëå * edx = à §¬¥à ¢ ¡ ©â å * ecx = 2 - ãáâ ®¢¨âì ç áâ®â㠯ந£àë¢ ¨ï * edx = ç áâ®â ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ਠ§ £à㧪¥ á¨á⥬ë ãáâ ¢«¨¢ îâáï á«¥¤ãî騥 ¯ à ¬¥âàë ¯® 㬮«ç ¨î: à §à冷áâì - 8 ¡¨â ¬®®, à §¬¥à - 64 Š¡, ç áâ®â 44100 ƒæ. ’¥¬ ¥ ¬¥¥¥ ४®¬¥¤ã¥âáï  ãáâ ¢«¨¢ âì ¥®¡å®¤¨¬ë¥ § 票ï, ¯®áª®«ìªã ®¨ ¬®£«¨ ¡ëâì ¯¥à¥ãáâ ®¢«¥ë ª ª®©-¨¡ã¤ì ¯à®£à ¬¬®©. ====================================================================== ====================== ”ãªæ¨ï 55, ¯®¤äãªæ¨ï 55 ===================== ========== ç âì ¯à®¨£àë¢ âì ¤ ë¥ ¢áâ஥®¬ ᯨª¥à¥. ========== ====================================================================== à ¬¥âàë: * 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) ‡ ¬¥ç ¨ï: * ¨é ¨¥ ᯨª¥à®¬ ¬®¦¥â ¡ëâì § ¯à¥é¥®/à §à¥è¥® ¯®¤äãªæ¨¥© 8 äãªæ¨¨ 18. * ”ãªæ¨ï ¢®§¢à é ¥â ã¯à ¢«¥¨¥, á®®¡é¨¢ ªã¤ á«¥¤ã¥â ¨ä®à¬ æ¨î ® § ¯à®á¥. ‘ ¬® ¯à®¨£àë¢ ¨¥ ¨¤ñâ ¥§ ¢¨á¨¬® ®â ¯à®£à ¬¬ë. * „ ë¥ ¤®«¦ë á®åà ïâìáï ¢ ¯ ¬ï⨠¯® ªà ©¥© ¬¥à¥ ¤® ª®æ ¯à®¨£àë¢ ¨ï. ====================================================================== ============== ”ãªæ¨ï 58 - à ¡®â á ä ©«®¢®© á¨á⥬®©. ============== ====================================================================== à ¬¥âàë: * 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, ® ¨á¯®«ì§®¢ âì íâã ¢®§¬®¦®áâì ¥ ४®¬¥¤ã¥âáï ¤«ï 㤮¡á⢠¯¥à¥å®¤ ¡ã¤ã騥 à áè¨à¥¨ï. * ª« ¤ë¢ ¥âáï ®£à ¨ç¥¨¥ n<=39. * ˆ¬¥ ¯ ¯®ª ¨ ä ©« dir1,...,dirn,file ¤®«¦ë ¡ëâì ¢ ä®à¬ ⥠8.3: ¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ ¥ ¡®«¥¥ 3 ᨬ¢®«®¢. •¢®áâ®¢ë¥ ¯à®¡¥«ë ¨£®à¨àãîâáï. „àã£¨å ¯à®¡¥«®¢ ¡ëâì ¥ ¤®«¦®. …᫨ ¨¬ï § ¨¬ ¥â ஢® 8 ᨬ¢®«®¢, â®çªã ¬®¦® ®¯ãáâ¨âì (å®âï ¯®«ì§®¢ âìáï í⨬ ¥ ४®¬¥¤ã¥âáï ¤«ï 㤮¡á⢠¯¥à¥å®¤ ¡ã¤ã騥 à áè¨à¥¨ï). * ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥. ਬ¥àë: * '/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 - ¯à®ç¨â âì ä ©«/¯ ¯ªã. ========== ====================================================================== à ¬¥âàë: * 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, ¥á«¨ ä ©« ¥ ©¤¥ ‡ ¬¥ç ¨ï: * §¬¥à ¡«®ª - 512 ¡ ©â. * â äãªæ¨ï ãáâ ५ , ¤«ï ç⥨ï ä ©«®¢ ¨á¯®«ì§ã©â¥ ¯®¤äãªæ¨î 0 äãªæ¨¨ 70, ¤«ï çâ¥¨ï ¯ ¯®ª - ¯®¤äãªæ¨î 1 äãªæ¨¨ 70. * ”ãªæ¨ï ¯®§¢®«ï¥â ç¨â âì ᮤ¥à¦¨¬®¥ ¯ ¯ª¨. ˆ§ ä ©«®¢ëå á¨á⥬ ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 FAT. ”®à¬ â FAT-¯ ¯ª¨ ®¯¨á ¢ «î¡®© ¤®ªã¬¥â 樨 ¯® FAT. * §¬¥à ¯ ¯ª¨ ®¯à¥¤¥«ï¥âáï ¯® à §¬¥àã 楯®çª¨ ª« áâ¥à®¢ ¢ 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-ç⥨¥ á ãáâனá⢠. ======== ====================================================================== à ¬¥âàë: * 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 ‡ ¬¥ç ¨ï: * §¬¥à ¡«®ª - 512 ¡ ©â; ç¨â ¥âáï ®¤¨ ¡«®ª. * ¥ á«¥¤ã¥â ¯®« £ âìáï ¢®§¢à é ¥¬®¥ § 票¥, ®® ¬®¦¥â ¨§¬¥¨âìáï ¢ á«¥¤ãîé¨å ¢¥àá¨ïå. * ’ॡã¥âáï, çâ®¡ë ¡ë« à §à¥èñ LBA-¤®áâ㯠ª ãáâனá⢠¬ ¯®¤äãªæ¨¥© 11 äãªæ¨¨ 21. “§ âì íâ® ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¥© 11 äãªæ¨¨ 26. * LBA-ç⥨¥ ¤¨áª¥âë ¥ ¯®¤¤¥à¦¨¢ ¥âáï. * ”ãªæ¨ï áç¨âë¢ ¥â ¤ ë¥ ä¨§¨ç¥áª®£® ¦ñá⪮£® ¤¨áª ; ¥á«¨ ¯® ª ª¨¬-â® ¯à¨ç¨ ¬ ã¦ë ¤ ë¥ ª®ªà¥â®£® à §¤¥« , ¯à¨¤ñâáï ®¯à¥¤¥«ïâì ç «ìë© á¥ªâ®à í⮣® à §¤¥« («¨¡® ¯àï¬ãî ç¥à¥§ MBR, «¨¡® ¨§ à áè¨à¥®© áâàãªâãàë, ¢®§¢à é ¥¬®© ⮩ ¦¥ ¯®¤äãªæ¨¥© 11 äãªæ¨¨ 18). * ”ãªæ¨ï ¥ ¯à®¢¥àï¥â ª®¤ ®è¨¡ª¨ ¦ñá⪮£® ¤¨áª , â ª çâ® § ¯à®á ¥áãé¥áâ¢ãî饣® ᥪâ®à ¢áñ à ¢® çâ®-â® ¯à®ç¨â ¥â (¢¥à®ï⥥ ¢á¥£®, 㫨, ® íâ® ®¯à¥¤¥«ï¥âáï ãáâனá⢮¬) ¨ íâ® ¡ã¤¥â áç¨â âìáï ãᯥ宬 (eax=0). ====================================================================== = ”ãªæ¨ï 58, ¯®¤äãªæ¨ï 15 - ¯®«ãç¨âì ¨ä®à¬ æ¨î ® ä ©«®¢®© á¨á⥬¥. ====================================================================== à ¬¥âàë: * 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] = à §¬¥à ª« áâ¥à (¢ ¡ ©â å) ‡ ¬¥ç ¨ï: * ¥ 㤨¢«ï©â¥áì áâà ®¬ã à ᯮ«®¦¥¨î 4-£® ¢®§¢à é ¥¬®£® ¯ à ¬¥âà - ª®£¤ ¯¨á «áï íâ®â ª®¤, ¯à¨ á¨á⥬ëå ¢ë§®¢ å ¯à¨«®¦¥¨î ¢®§¢à é «¨áì ⮫쪮 ॣ¨áâàë eax,ebx,ecx (¨§ pushad-áâàãªâãàë, ¯¥à¥¤ î饩áï ª ª à£ã¬¥â á¨á⥬®© äãªæ¨¨). ’¥¯¥àì íâ® ¨á¯à ¢«¥®, â ª çâ®, ¢®§¬®¦®, ¨¬¥¥â á¬ëá« ¢®§¢à é âì à §¬¥à ª« áâ¥à ¢ edx, ¯®ª íâã äãªæ¨î ¥ ç «¨ ¨á¯®«ì§®¢ âì. * ‚®®¡é¥-â® ¥éñ áãé¥áâ¢ã¥â ¯®¤äãªæ¨ï 11 äãªæ¨¨ 18, ¢®§¢à é îé ï ¨ä®à¬ æ¨î ® ä ©«®¢®© á¨á⥬¥. ® à áè¨à¥®© â ¡«¨æ¥ ¤¨áª®¢®© ¯®¤á¨áâ¥¬ë ¬®¦® ®¯à¥¤¥«¨âì à §¬¥à ª« áâ¥à (â ¬ ® åà ¨âáï ¢ ᥪâ®à å) ¨ ®¡é¥¥ ç¨á«® ª« áâ¥à®¢ ¤«ï ¦ñáâª¨å ¤¨áª®¢. ====================================================================== =========== ”ãªæ¨ï 60 - Inter Process Communication (IPC). ========== ====================================================================== IPC ¯à¨¬¥ï¥âáï ¤«ï ¯®áë«®ª á®®¡é¥¨© ®â ®¤®£® ¯à®æ¥áá /¯®â®ª ¤à㣮¬ã. ਠí⮬ á«¥¤ã¥â ¯à¥¤¢ à¨â¥«ì® ¤®£®¢®à¨âìáï ® ⮬, ª ª ¨â¥à¯à¥â¨à®¢ âì ª®ªà¥â®¥ á®®¡é¥¨¥. -------- ®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ®¡« áâì ¤«ï ¯®«ã票ï IPC --------- ‚ë§ë¢ ¥âáï ¯à®æ¥áᮬ-¯à¨ñ¬¨ª®¬. à ¬¥âàë: * 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: ¤ ë¥ á®®¡é¥¨ï --------------- ®¤äãªæ¨ï 2 - ¯®á« âì á®®¡é¥¨¥ IPC. ---------------- ‚ë§ë¢ ¥âáï ¯à®æ¥áᮬ-¨¨æ¨ â®à®¬. à ¬¥âàë: * 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 - ¯®«ãç¨âì ¯ à ¬¥âàë ¤«ï ¯àאַ£® ¤®áâ㯠ª £à 䨪¥. === ====================================================================== à®£à ¬¬¥ ¤®áâã¯ë ¤ ë¥ £à ä¨ç¥áª®£® íªà (®¡« áâì ¯ ¬ïâ¨, ª®â®à ï ᮡá⢥® ¨ ®â®¡à ¦ ¥â ᮤ¥à¦¨¬®¥ íªà ) ¯àï¬ãî ¡¥§ ¢ë§®¢®¢ á¨á⥬ëå äãªæ¨© ç¥à¥§ ᥫ¥ªâ®à gs: mov eax, [gs:0] ¯®¬¥áâ¨â ¢ eax ¯¥à¢ë© dword ¡ãä¥à , ᮤ¥à¦ 騩 ¨ä®à¬ æ¨î ® 梥⥠«¥¢®© ¢¥à奩 â®çª¨ (¨, ¢®§¬®¦®, 梥⠥᪮«ìª¨å á«¥¤ãîé¨å). mov [gs:0], eax ¯à¨ à ¡®â¥ ¢ ०¨¬ å VESA c LFB ãáâ ®¢¨â 梥⠫¥¢®© ¢¥à奩 â®çª¨ (¨ ¢®§¬®¦®, 梥⠥᪮«ìª¨å á«¥¤ãîé¨å). „«ï ¨â¥à¯à¥â 樨 ¤ ëå £à ä¨ç¥áª®£® íªà âॡã¥âáï § ¨¥ ¥ª®â®àëå ¯ à ¬¥â஢, ª®â®àë¥ ¢®§¢à é îâáï í⮩ äãªæ¨¥©. ‡ ¬¥ç ¨ï: * à ¬¥âàë £à 䨪¨ ®ç¥ì ।ª® ¬¥ïîâáï ¯à¨ à ¡®â¥ á¨á⥬ë, ¨¬¥®, ⮫쪮 ¢ á«ãç ïå, ª®£¤ ¯®«ì§®¢ ⥫ì à ¡®â ¥â á ¯à®£à ¬¬®© VRR. * ਠ¨§¬¥¥¨¨ ¢¨¤¥®à¥¦¨¬ á¨á⥬ ¯¥à¥à¨á®¢ë¢ ¥â ¢á¥ ®ª (ᮡë⨥ á ª®¤®¬ 1) ¨ ¯¥à¥à¨á®¢ë¢ ¥â ä® (ᮡë⨥ 5). ⨠¦¥ ᮡëâ¨ï ¯à®¨á室ïâ ¨ ¢ ¤à㣨å á«ãç ïå, ª®â®àë¥ ¢áâà¥ç îâáï § ç¨â¥«ì® ç é¥, 祬 ¨§¬¥¥¨¥ ¢¨¤¥®à¥¦¨¬ . * à¨ à ¡®â¥ ¢ ¢¨¤¥®à¥¦¨¬ å á LFB ᥫ¥ªâ®à gs 㪠§ë¢ ¥â ᮡá⢥® LFB, â ª çâ® ç⥨¥/§ ¯¨áì ¯® gs ¯à¨¢®¤ïâ ¥¯®á।á⢥® ª ¨§¬¥¥¨î ᮤ¥à¦¨¬®£® íªà . à¨ à ¡®â¥ ¢ ¢¨¤¥®à¥¦¨¬ å ¡¥§ LFB gs 㪠§ë¢ ¥â ¥ª®â®àãî ®¡« áâì ¤ ëå ï¤à , ¯à¨çñ¬ ¢á¥ äãªæ¨¨ ¢ë¢®¤ íªà ¤®¡à®á®¢¥áâ® ¢ë¯®«ïîâ ¤¢®©ãî à ¡®âã ¯® § ¯¨á¨ ¥¯®á।á⢥® íªà ¨ ¯® § ¯¨á¨ ¢ íâ®â ¡ãä¥à. ‚ १ã«ìâ ⥠¯à¨ ç⥨¨ ᮤ¥à¦¨¬®£® í⮣® ¡ãä¥à १ã«ìâ âë ᮮ⢥âáâ¢ãîâ ᮤ¥à¦¨¬®¬ã íªà (á, ¢®®¡é¥ £®¢®àï, ¡®«ì訬 æ¢¥â®¢ë¬ à §à¥è¥¨¥¬), § ¯¨áì ¨£®à¨àã¥âáï. ˆáª«î票¥¬ ï¥âáï ०¨¬ 320*200, ¤«ï ª®â®à®£® ¢ £« ¢®¬ 横«¥ á¨á⥬®£® ¯®â®ª ¢ë¯®«ï¥âáï ®¡®¢«¥¨¥ íªà ¢ ᮮ⢥âá⢨¨ á ¤¢¨¦¥¨ï¬¨ ªãàá®à ¬ëè¨. ------------------------- §à¥è¥¨¥ íªà -------------------------- à ¬¥âàë: * eax = 61 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = [à §à¥è¥¨¥ ¯® ®á¨ x]*65536 + [à §à¥è¥¨¥ ¯® ®á¨ y] ‡ ¬¥ç ¨ï: * Œ®¦® ¨á¯®«ì§®¢ âì äãªæ¨î 14 á ãçñ⮬ ⮣®, çâ® ® ¢®§¢à é ¥â à §¬¥àë 1 ¬¥ìè¥. â® ¯®«®áâìî íª¢¨¢ «¥âë© á¯®á®¡. ------------------------ —¨á«® ¡¨â ¯¨ªá¥«ì ------------------------ à ¬¥âàë: * eax = 61 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ç¨á«® ¡¨â ¯¨ªá¥«ì (24 ¨«¨ 32) ------------------------ —¨á«® ¡ ©â áâபã ------------------------ à ¬¥âàë: * eax = 61 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ç¨á«® ¡ ©â, ª®â®à®¥ § ¨¬ ¥â ®¤ áâப à §¢ñà⪨ (£®à¨§®â «ì ï «¨¨ï íªà ¥) ====================================================================== ===== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì ¢¥àá¨î PCI-¨â¥à䥩á . ===== ====================================================================== à ¬¥âàë: * eax = 62 - ®¬¥à äãªæ¨¨ * bl = 0 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ; ¨ ç¥ * ah.al = ¢¥àá¨ï PCI-¨â¥à䥩á (ah=¢¥àá¨ï, al=¯®¤¢¥àá¨ï) * áâ à襥 á«®¢® eax ®¡ã«¥® ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI ¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21. * …᫨ PCI BIOS ¥ ¯®¤¤¥à¦¨¢ ¥âáï, â® § 票¥ ax ¥®¯à¥¤¥«¥®. ====================================================================== ==== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì ®¬¥à ¯®á«¥¤¥© PCI-è¨ë. === ====================================================================== à ¬¥âàë: * eax = 62 - ®¬¥à äãªæ¨¨ * bl = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ; ¨ ç¥ * al = ®¬¥à ¯®á«¥¤¥© PCI-è¨ë; ®á⠢訥áï ¡ ©âë eax à §àãè îâáï ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI ¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21. * …᫨ PCI BIOS ¥ ¯®¤¤¥à¦¨¢ ¥âáï, â® § 票¥ al ¥®¯à¥¤¥«¥®. ====================================================================== ====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 2 ====================== == ®«ãç¨âì ¬¥å ¨§¬ ®¡à é¥¨ï ª ª®ä¨£ãà 樮®¬ã ¯à®áâà áâ¢ã PCI. = ====================================================================== à ¬¥âàë: * eax = 62 - ®¬¥à äãªæ¨¨ * bl = 2 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ; ¨ ç¥ * al = ¬¥å ¨§¬ (1 ¨«¨ 2); ¯à®ç¨¥ ¡ ©âë eax à §àãè îâáï ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI ¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21. * Œ¥å ¨§¬ ®¡à é¥¨ï ¢ë¡¨à ¥âáï ¢ ᮮ⢥âá⢨¨ á å à ªâ¥à¨á⨪ ¬¨ ®¡®à㤮¢ ¨ï. * ®¤äãªæ¨¨ çâ¥¨ï ¨ § ¯¨á¨ ¢â®¬ â¨ç¥áª¨ à ¡®â îâ á ¢ë¡à ë¬ ¬¥å ¨§¬®¬. ====================================================================== ======== ”ãªæ¨ï 62, ¯®¤äãªæ¨¨ 4,5,6 - ¯à®ç¨â âì PCI-ॣ¨áâà. ======= ====================================================================== à ¬¥âàë: * 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 à §àãè ¥âáï ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI ¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21. * Œ¥å ¨§¬ ¤®áâ㯠2 ¯®¤¤¥à¦¨¢ ¥â ⮫쪮 16 ãáâனá⢠訥 ¨ ¨£®à¨àã¥â ®¬¥à äãªæ¨¨. ®«ãç¨âì ¬¥å ¨§¬ ¤®áâ㯠¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 2. * ¥ª®â®àë¥ à¥£¨áâàë áâ ¤ àâë ¨ áãé¥áâ¢ãîâ ¤«ï ¢á¥å ãáâனáâ¢, ¥ª®â®àë¥ ®¯à¥¤¥«ïîâáï ª®ªà¥âë¬ ãáâனá⢮¬. ‘¯¨á®ª ¯¥à¢ëå ¢å®¤¨â, ¯à¨¬¥à, ¢ ¨§¢¥áâë© 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-ॣ¨áâà. ====== ====================================================================== à ¬¥âàë: * 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 - ãá¯¥è® ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI ¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21. * Œ¥å ¨§¬ ¤®áâ㯠2 ¯®¤¤¥à¦¨¢ ¥â ⮫쪮 16 ãáâனá⢠訥 ¨ ¨£®à¨àã¥â ®¬¥à äãªæ¨¨. ®«ãç¨âì ¬¥å ¨§¬ ¤®áâ㯠¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 2. * ¥ª®â®àë¥ à¥£¨áâàë áâ ¤ àâë ¨ áãé¥áâ¢ãîâ ¤«ï ¢á¥å ãáâனáâ¢, ¥ª®â®àë¥ ®¯à¥¤¥«ïîâáï ª®ªà¥âë¬ ãáâனá⢮¬. ‘¯¨á®ª ¯¥à¢ëå ¢å®¤¨â, ¯à¨¬¥à, ¢ ¨§¢¥áâë© Interrupt List by Ralf Brown; ᯨ᮪ ¢â®àëå ¤®«¦¥ ¡ëâì 㪠§ ¢ ¤®ªã¬¥â 樨 ¯® ãáâனáâ¢ã. ====================================================================== ================ ”ãªæ¨ï 63 - à ¡®â á ¤®áª®© ®â« ¤ª¨. =============== ====================================================================== „®áª ®â« ¤ª¨ ¯à¥¤áâ ¢«ï¥â ᮡ®© á¨áâ¥¬ë© ¡ãä¥à ( 4096 ¡ ©â), ¢ ª®â®àë© «î¡ ï ¯à®£à ¬¬ ¬®¦¥â § ¯¨á âì (¢®®¡é¥ £®¢®àï, ¯à®¨§¢®«ìë¥) ¤ ë¥ ¨ ¨§ ª®â®à®£® ¤àã£ ï ¯à®£à ¬¬ ¬®¦¥â í⨠¤ ë¥ ¯à®ç¨â âì. …áâì ᮣ« 襨¥, ¢ ᮮ⢥âá⢨¨ á ª®â®àë¬ § ¯¨áë¢ ¥¬ë¥ ¤ ë¥ - ⥪áâ®¢ë¥ áâப¨, ¨â¥à¯à¥â¨àã¥¬ë¥ ª ª ®â« ¤®çë¥ á®®¡é¥¨ï ® 室¥ ¢ë¯®«¥¨ï ¯à®£à ¬¬ë. Ÿ¤à® ¢ ®¯à¥¤¥«ñëå á¨âã æ¨ïå â ª¦¥ § ¯¨áë¢ ¥â ¤®áªã ®â« ¤ª¨ ᢥ¤¥¨ï ® ¢ë¯®«¥¨¨ ¥ª®â®àëå äãªæ¨©; ¯® ᮣ« 襨î á®®¡é¥¨ï ï¤à ç¨ îâáï á ¯à¥ä¨ªá "K : ". „«ï ¯à®á¬®âà ¤®áª¨ ®â« ¤ª¨ ᮧ¤ ® ¯à¨«®¦¥¨¥ board, ª®â®à®¥ áç¨âë¢ ¥â ¤ ë¥ ¨§ ¡ãä¥à ¨ ®â®¡à ¦ ¥â ¨å ¢ ᢮ñ¬ ®ª¥. board ¯®¨¬ ¥â ¯®á«¥¤®¢ ⥫ì®áâì ª®¤®¢ 13,10 ª ª ¯¥à¥å®¤ ®¢ãî áâபã. ‘¨¬¢®« á ã«¥¢ë¬ ª®¤®¬ ¢ ª®æ¥ áâப¨ ¥ ®¡ï§ ⥫¥, ® ¨ ¥ ¬¥è ¥â. ‚ á¢ï§¨ á ¯®ï¢«¥¨¥¬ ®â« ¤ç¨ª 楮áâì ¤®áª¨ ®â« ¤ª¨ ¥áª®«ìª® ᨧ¨« áì, ¯®áª®«ìªã ®â« ¤ç¨ª ¯®§¢®«ï¥â ¯®«®áâìî ª®â஫¨à®¢ âì 室 ¢ë¯®«¥¨ï ¯à®£à ¬¬ë, ¯à¨çñ¬ ¤«ï í⮣® ¥ âॡã¥âáï ¨ª ª¨å ãᨫ¨© á® áâ®à®ë á ¬®© ¯à®£à ¬¬ë. ’¥¬ ¥ ¬¥¥¥ ¢® ¬®£¨å á«ãç ïå ¤®áª ®â« ¤ª¨ ¯à®¤®«¦ ¥â ®áâ ¢ âìáï ¯®«¥§®©. ---------------------------- ‡ ¯¨áì ¡ ©â ---------------------------- à ¬¥âàë: * eax = 63 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * cl = ¡ ©â ¤ ëå ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ©â § ¯¨áë¢ ¥âáï ¢ ¡ãä¥à. „«¨ ¡ãä¥à - 512 ¡ ©â. ਠ¯¥à¥¯®«¥¨¨ ¡ãä¥à ¢á¥ ¯®«ãç¥ë¥ ¤ ë¥ â¥àïîâáï ¨ § ¯®«¥¨¥ ç¨ ¥âáï ᮢ á ã«ï. * „«ï ¢ë¢®¤ ¤®áªã ®â« ¤ª¨ ¡®«¥¥ á«®¦ëå ®¡ê¥ªâ®¢ (áâப, ç¨á¥«) ¤®áâ â®ç® í⮩ äãªæ¨¨, ¢ë§ë¢ ¥¬®© ¢ 横«¥. Œ®¦® ¥ ¯¨á âì ¢àãçãî ᮮ⢥âáâ¢ãî騩 ª®¤, ¢®á¯®«ì§®¢ âìáï ä ©«®¬ debug.inc, ¢å®¤ï騬 ¢ ¤¨áâਡã⨢. ---------------------------- —⥨¥ ¡ ©â ---------------------------- ‡ ¡¨à ¥â ¡ ©â ¨§ ¡ãä¥à . à ¬¥âàë: * eax = 63 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ebx = 0 - ¡ãä¥à ¯ãáâ * eax = ¡ ©â, ebx = 1 - ¡ ©â ãá¯¥è® ¯à®ç¨â ====================================================================== ========== ”ãªæ¨ï 64 - ¯¥à¥à á¯à¥¤¥«¨âì ¯ ¬ïâì ¯à¨«®¦¥¨ï. ========== ====================================================================== à ¬¥âàë: * eax = 64 - ®¬¥à äãªæ¨¨ * ebx = 1 - ¥¤¨á⢥ ï ¯®¤äãªæ¨ï * ecx = ®¢ë© à §¬¥à ¯ ¬ï⨠‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¥¤®áâ â®ç® ¯ ¬ï⨠‡ ¬¥ç ¨ï: * …áâì ¤à㣮© ᯮᮡ ¢ë¤¥«¥¨ï/®á¢®¡®¦¤¥¨ï ¤¨ ¬¨ç¥áª®© ¯ ¬ï⨠- ¯®¤äãªæ¨¨ 11, 12, 13 äãªæ¨¨ 68. * ”ãªæ¨ï ¥ ¬®¦¥â ¨á¯®«ì§®¢ âìáï ᮢ¬¥áâ® á 68.11, 68.12, 68.13. ‚맮¢ äãªæ¨¨ ¡ã¤¥â ¨£®à¨à®¢ âìáï, ¥á«¨ ¯à¨«®¦¥¨¥ ᮧ¤ áâ «®ª «ìãî ªãç㠢맮¢®¬ 68.11. ====================================================================== ========= ”ãªæ¨ï 65 - ¢ë¢¥á⨠¨§®¡à ¦¥¨¥ á ¯ «¨âன ¢ ®ª®. ======== ====================================================================== à ¬¥âàë: * eax = 65 - ®¬¥à äãªæ¨¨ * ebx = 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ * ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] * edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] * esi = ç¨á«® ¡¨â ¯¨ªá¥«ì, ¤®«¦® ¡ëâì 8, 24 ¨«¨ 32 * edi = 㪠§ â¥«ì ¯ «¨âàã (256 梥⮢ 0x00RRGGBB); ¨£®à¨àã¥âáï ¯à¨ esi = 24 ¨ 32 * ebp = ᬥ饨¥ ¤ ëå ª ¦¤®© á«¥¤ãî饩 áâப¨ ¨§®¡à ¦¥¨ï ®â®á¨â¥«ì® ¯à¥¤ë¤ã饩 ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * Š®®à¤¨ âë ¨§®¡à ¦¥¨ï - íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫 ¨§®¡à ¦¥¨ï ®â®á¨â¥«ì® ®ª . * §¬¥à ¨§®¡à ¦¥¨ï ¢ ¡ ©â å ¥áâì xsize*ysize. * Š ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï à áᬠâਢ ¥âáï ª ª ¨¤¥ªá ¢ ¯ «¨âà¥. * …᫨ ¨§®¡à ¦¥¨¥ ¨á¯®«ì§ã¥â ¥ ¢á¥ 256 梥⮢, ¬¥ìè¥, à §¬¥à ¯ «¨âàë ¬®¦¥â ¡ëâì ¬¥ìè¥ 256. * ‚맮¢ äãªæ¨¨ 7 íª¢¨¢ «¥â¥ ¢ë§®¢ã í⮩ äãªæ¨¨ á ¯ à ¬¥âà ¬¨ esi=24, ebp=0. ====================================================================== ================= ”ãªæ¨ï 66 - à ¡®â á ª« ¢¨ âãன. ================= ====================================================================== ¥¦¨¬ ¢¢®¤ ¢«¨ï¥â १ã«ìâ âë çâ¥¨ï ª« ¢¨è äãªæ¨¥© 2. ਠ§ £à㧪¥ ¯à®£à ¬¬ë ¤«ï ¥ñ ãáâ ¢«¨¢ ¥âáï ASCII-०¨¬ ¢¢®¤ . -------- ®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ०¨¬ ¢¢®¤ á ª« ¢¨ âãàë. --------- à ¬¥âàë: * eax = 66 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ०¨¬: * 0 = ®¡ëçë© (ASCII-ᨬ¢®«ë) * 1 = ᪠ª®¤ë ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï --------- ®¤äãªæ¨ï 2 - ¯®«ãç¨âì ०¨¬ ¢¢®¤ á ª« ¢¨ âãàë. ---------- à ¬¥âàë: * eax = 66 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ⥪ã騩 ०¨¬ ------- ®¤äãªæ¨ï 3 - ¯®«ãç¨âì á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è. -------- à ¬¥âàë: * 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 ¢ª«îçñ * ¯à®ç¨¥ ¡¨âë á¡à®è¥ë ----- ®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ®¡é¥á¨á⥬ãî "£®àïçãî ª« ¢¨èã". ----- Ž ¦ ⨨ "£®àï祩 ª« ¢¨è¨" ¨§¢¥é îâáï ⮫쪮 ¯à¨«®¦¥¨ï, ãáâ ®¢¨¢è¨¥ ¥ñ; ªâ¨¢®¥ ¯à¨«®¦¥¨¥ (ª ª®â®à®¬ã ¯®áâ㯠¥â ¢¥áì ®à¬ «ìë© ¢¢®¤) â ª¨å ª« ¢¨è ¥ ¯®«ãç ¥â. ˆ§¢¥é¥¨¥ § ª«îç ¥âáï ¢ ¯®á뫪¥ ᮡëâ¨ï á ª®¤®¬ 2. à®ç¨â âì "£®àïçãî ª« ¢¨èã" ¬®¦® â ª ¦¥, ª ª ¨ ®¡ëçãî, - äãªæ¨¥© 2. à ¬¥âàë: * 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 ¡®«ìè¥, 祬 ᪠ª®¤ ¦ â¨ï (â.¥. ãáâ ®¢«¥ áâ à訩 ¡¨â). * ¥áª®«ìª® ¯à¨«®¦¥¨© ¬®£ãâ ãáâ ®¢¨âì ®¤ã ¨ âã ¦¥ ª®¬¡¨ æ¨î; ® ¦ ⨨ â ª®© ª®¬¡¨ 樨 ¡ã¤ãâ ¨§¢¥é âìáï ¢á¥ â ª¨¥ ¯à¨«®¦¥¨ï. ------ ®¤äãªæ¨ï 5 - 㤠«¨âì ãáâ ®¢«¥ãî "£®àïçãî ª« ¢¨èã". ------- à ¬¥âàë: * eax = 66 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ * cl = ᪠ª®¤ ª« ¢¨è¨ ¨ edx = 0xXYZ â ª¨¥ ¦¥, ª ª ¨ ¢ ¯®¤äãªæ¨¨ 4 ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ãá¯¥è® * eax = 1 - ¥â â ª®© £®àï祩 ª« ¢¨è¨ ‡ ¬¥ç ¨ï: * ਠ§ ¢¥à襨¨ ¯à®æ¥áá /¯®â®ª 㤠«ïîâáï ¢á¥ ãáâ ®¢«¥ë¥ ¨¬ £®àï稥 ª« ¢¨è¨. * ‚맮¢ äãªæ¨¨ ¥ ¢«¨ï¥â ¤à㣨¥ ¯à¨«®¦¥¨ï. …᫨ ¤à㣮¥ ¯à¨«®¦¥¨¥ ®¯à¥¤¥«¨«® íâã ¦¥ ª®¬¡¨ æ¨î, ®® ¯®-¯à¥¦¥¬ã ¡ã¤¥â ¯®«ãç âì 㢥¤®¬«¥¨ï. ====================================================================== ============ ”ãªæ¨ï 67 - ¨§¬¥¨âì ¯®«®¦¥¨¥/à §¬¥àë ®ª . =========== ====================================================================== à ¬¥âàë: * eax = 67 - ®¬¥à äãªæ¨¨ * ebx = ®¢ ï x-ª®®à¤¨ â ®ª * ecx = ®¢ ï y-ª®®à¤¨ â ®ª * edx = ®¢ë© x-à §¬¥à ®ª * esi = ®¢ë© y-à §¬¥à ®ª ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ‡ 票¥ -1 ¤«ï ¯ à ¬¥âà ®§ ç ¥â "¥ ¨§¬¥ïâì"; ¯à¨¬¥à, ¤«ï ¯¥à¥¬¥é¥¨ï ®ª ¡¥§ ¨§¬¥¥¨ï à §¬¥à®¢ ¬®¦® 㪠§ âì edx=esi=-1. * ।¢ à¨â¥«ì® ®ª® ¤®«¦® ¡ëâì ®¯à¥¤¥«¥® äãªæ¨¥© 0. Ž ¦¥ § ¤ ñâ ç «ìë¥ ª®®à¤¨ âë ¨ à §¬¥àë ®ª . * §¬¥àë ®ª ¯®¨¬ îâáï ¢ á¬ëá«¥ äãªæ¨¨ 0, â.¥. ®¤¨ ¯¨ªá¥«ì ¬¥ìè¥, 祬 ॠ«ìë¥ à §¬¥àë. * ‚맮¢ äãªæ¨¨ ¤«ï ¬ ªá¨¬¨§¨à®¢ ëå ®ª® ¯à®áâ® ¨£®à¨àã¥âáï. * „«ï ®ª® ᮮ⢥âáâ¢ãîé¨å á⨫¥© ¯®«®¦¥¨¥ ¨/¨«¨ à §¬¥àë ¬®£ãâ ¡ëâì ¨§¬¥¥ë ¯®«ì§®¢ ⥫¥¬; ⥪ã騥 ¯®«®¦¥¨¥ ¨ à §¬¥àë ¬®£ãâ ¡ëâì ¯®«ãç¥ë ¢ë§®¢®¬ äãªæ¨¨ 9. * ”ãªæ¨ï ¯®áë« ¥â ®ªã ᮡë⨥ ¯¥à¥à¨á®¢ª¨ (á ª®¤®¬ 1). ====================================================================== === ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 0 - ¯®«ãç¨âì áçñâ稪 ¯¥à¥ª«î票© § ¤ ç. == ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = ç¨á«® ¯¥à¥ª«î票© § ¤ ç á ¬®¬¥â § £à㧪¨ á¨á⥬ë (¯® ¬®¤ã«î 2^32) ====================================================================== ====================== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 1 ====================== ============ ¥à¥ª«îç¨âìáï á«¥¤ãî騩 ¯®â®ª ¢ë¯®«¥¨ï. ============ ====================================================================== ”ãªæ¨ï § ¢¥àè ¥â ⥪ã騩 ª¢ ⠢६¥¨, ¢ë¤¥«¥ë© ¯®â®ªã, ¨ ¯¥à¥ª«îç ¥âáï á«¥¤ãî騩. (Š ª®© ¯®â®ª ª ª®£® ¯à®æ¥áá ¡ã¤¥â á«¥¤ãî騬, ¯à¥¤áª § âì ¥«ì§ï). ®§¤¥¥, ª®£¤ ¤® ⥪ã饣® ¯®â®ª ¤®©¤ñâ ®ç¥à¥¤ì, ¢ë¯®«¥¨¥ ¢®§®¡®¢¨âáï. à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï ====================================================================== =============== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 2 - ªíè + rdpmc. ============== ====================================================================== à ¬¥âàë: * 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-ॣ¨áâ஢. à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ * ecx ¨£®à¨àã¥âáï * edx = ¤à¥á MSR ‚®§¢à é ¥¬®¥ § 票¥: * ebx:eax = áâ à訩:¬« ¤è¨© dword १ã«ìâ â ‡ ¬¥ç ¨ï: * “ª § ¨¥ ¢ ecx ¥áãé¥áâ¢ãî饣® ¨«¨ ¥à¥ «¨§®¢ ®£® ¤«ï ¤ ®£® ¯à®æ¥áá®à MSR ¯®¢«¥çñ⠨᪫î票¥ ¢ ï¤à¥, ª®â®à®¥ ¯à¨¡ìñâ ¯®â®ª. * ।¢ à¨â¥«ì® á«¥¤ã¥â ®¯à¥¤¥«¨âì, ¯®¤¤¥à¦¨¢ îâáï «¨ MSR ¢ 楫®¬, ª®¬ ¤®© cpuid. ˆ ç¥ ¢®§¨ª¥â 㦥 ¤à㣮¥ ¨áª«î票¥ ¢ ï¤à¥, ª®â®à®¥ ¢áñ à ¢® ¯à¨¡ìñâ ¯®â®ª. ====================================================================== ========= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 4 - § ¯¨á âì ¢ MSR-ॣ¨áâà. ========= ====================================================================== MSR = Model Specific Register; ¯®«ë© ᯨ᮪ MSR-ॣ¨áâ஢ ¯à®æ¥áá®à ᮤ¥à¦¨âáï ¢ ¤®ªã¬¥â 樨 ¯® ¯à®æ¥áá®àã ( ¯à¨¬¥à, IA-32 Intel Architecture Software Developer's Manual, Volume 3, Appendix B); ª ¦¤®¥ ᥬ¥©á⢮ ¯à®æ¥áá®à®¢ ¨¬¥¥â ᢮ñ ¯®¤¬®¦¥á⢮ MSR-ॣ¨áâ஢. à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ * ecx ¨£®à¨àã¥âáï * edx = ¤à¥á MSR * esi:edi = áâ à訩:¬« ¤è¨© dword ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * “ª § ¨¥ ¢ ecx ¥áãé¥áâ¢ãî饣® ¨«¨ ¥à¥ «¨§®¢ ®£® ¤«ï ¤ ®£® ¯à®æ¥áá®à MSR ¯®¢«¥çñ⠨᪫î票¥ ¢ ï¤à¥, ª®â®à®¥ ¯à¨¡ìñâ ¯®â®ª. * ।¢ à¨â¥«ì® á«¥¤ã¥â ®¯à¥¤¥«¨âì, ¯®¤¤¥à¦¨¢ îâáï «¨ MSR ¢ 楫®¬, ª®¬ ¤®© cpuid. ˆ ç¥ ¢®§¨ª¥â 㦥 ¤à㣮¥ ¨áª«î票¥ ¢ ï¤à¥, ª®â®à®¥ ¢áñ à ¢® ¯à¨¡ìñâ ¯®â®ª. ====================================================================== ===== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 11 - ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá . ==== ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 11 - ®¬¥à ¯®¤äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ¥ãᯥå * ¨ ç¥ à §¬¥à ᮧ¤ ®© ªãç¨ ‡ ¬¥ç ¨ï: * ‚맮¢ äãªæ¨¨ ¨¨æ¨ «¨§¨àã¥â ªãçã, ¨§ ª®â®à®© ¢¯®á«¥¤á⢨¨ ¬®¦® ¢ë¤¥«ïâì ¨ ®á¢®¡®¦¤ âì ¡«®ª¨ ¯ ¬ï⨠¯®¤äãªæ¨ï¬¨ 12 ¨ 13. §¬¥à ªãç¨ à ¢¥ à §¬¥à㠢ᥩ ᢮¡®¤®© ¯ ¬ï⨠¯à¨«®¦¥¨ï. * ਠ¯®¢â®à®¬ ¢ë§®¢¥ äãªæ¨¨ ⥬ ¦¥ ¯à®æ¥áᮬ äãªæ¨ï ¢¥àñâ à §¬¥à áãé¥áâ¢ãî饩 ªãç¨. * ®á«¥ ᮧ¤ ¨ï ªãç¨ ¢ë§®¢ë äãªæ¨¨ 64 ¨£®à¨àãîâáï. ====================================================================== ========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 12 - ¢ë¤¥«¨âì ¡«®ª ¯ ¬ïâ¨. ========= ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 12 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = âà¥¡ã¥¬ë© à §¬¥à ¢ ¡ ©â å ‚®§¢à é ¥¬®¥ § 票¥: * eax = 㪠§ â¥«ì ¢ë¤¥«¥ë© ¡«®ª ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® á«¥¤ã¥â ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 11. * ”ãªæ¨ï ¢ë¤¥«ï¥â 楫®¥ ç¨á«® áâà ¨æ (4 Š¡) â ª, çâ® ä ªâ¨ç¥áª¨© à §¬¥à ¢ë¤¥«¥®£® ¡«®ª ¡®«ìè¥ ¨«¨ à ¢¥ § ¯à®è¥®¬ã. ====================================================================== ========= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 13 - ®á¢®¡®¤¨âì ¡«®ª ¯ ¬ïâ¨. ======== ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 13 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ¡«®ª ¯ ¬ï⨠‚®§¢à é ¥¬®¥ § 票¥: * eax = 1 - ãá¯¥è® * eax = 0 - ¥ã¤ ç ‡ ¬¥ç ¨ï: * «®ª ¯ ¬ï⨠¤®«¦¥ ¡ëâì à ¥¥ ¢ë¤¥«¥ ¯®¤äãªæ¨¥© 12 ¨«¨ ¯®¤äãªæ¨¥© 20. ====================================================================== ===== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 14 - ®¦¨¤ âì ¨§¢¥é¥¨ï ®â ¤à ©¢¥à . ===== ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¨ä®à¬ 樨 (8 ¡ ©â) ‚®§¢à é ¥¬®¥ § 票¥: * ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ecx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î: * +0: dword: ª®áâ â EV_INTR = 1 * +4: dword: ¤ ë¥ ¤à ©¢¥à ‡ ¬¥ç ¨ï: * ’¥ªãé ï ॠ«¨§ æ¨ï ¢® ¢à¥¬ï ®¦¨¤ ¨ï âॡã¥â ¤®¢®«ì® "âï¦ñ«ëå" ®¯¥à 権 ¯¥à¥ª«îç¥¨ï ª®â¥ªáâ . ====================================================================== == ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 15 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© FPU. = ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 15 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¤à¥á ®¢®£® ®¡à ¡®â稪 ¨áª«î票© ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票© (0, ¥á«¨ ® ¥ ¡ë« ãáâ ®¢«¥) ====================================================================== =========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 16 - § £à㧨âì ¤à ©¢¥à. =========== ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 16 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ¤à ©¢¥à ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ¥ã¤ ç * ¨ ç¥ eax = åí¤« ¤à ©¢¥à ‡ ¬¥ç ¨ï: * …᫨ ¤à ©¢¥à ¥éñ ¥ § £à㦥, ® § £à㦠¥âáï; ¥á«¨ ¤à ©¢¥à 㦥 § £à㦥, ¨ç¥£® ¥ ¬¥ï¥âáï. * ˆ¬ï ¤à ©¢¥à çã¢áâ¢¨â¥«ì® ª ॣ¨áâàã ᨬ¢®«®¢. Œ ªá¨¬ «ì ï ¤«¨ ¨¬¥¨ - 16 ᨬ¢®«®¢, ¢ª«îç ï § ¢¥àè î騩 ã«¥¢®© ᨬ¢®«, ®áâ «ìë¥ á¨¬¢®«ë ¨£®à¨àãîâáï. * „à ©¢¥à á ¨¬¥¥¬ ABC § £à㦠¥âáï ¨§ ä ©« /rd/1/drivers/ABC.obj. ====================================================================== ========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 17 - ã¯à ¢«¥¨¥ ¤à ©¢¥à®¬. ========= ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 17 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ ⥫ì ã¯à ¢«ïîéãî áâàãªâãàã: * +0: dword: åí¤« ¤à ©¢¥à * +4: dword: ª®¤ äãªæ¨¨ ¤à ©¢¥à * +8: dword: 㪠§ â¥«ì ¢å®¤ë¥ ¤ ë¥ * +12 = +0xC: dword: à §¬¥à ¢å®¤ëå ¤ ëå * +16 = +0x10: dword: 㪠§ â¥«ì ¢ëå®¤ë¥ ¤ ë¥ * +20 = +0x14: dword: à §¬¥à ¢ë室ëå ¤ ëå ‚®§¢à é ¥¬®¥ § 票¥: * eax = ®¯à¥¤¥«ï¥âáï ¤à ©¢¥à®¬ ‡ ¬¥ç ¨ï: * Š®¤ë äãªæ¨© ¨ áâàãªâãà ¢å®¤ëå/¢ë室ëå ¤ ëå ®¯à¥¤¥«ïîâáï ¤à ©¢¥à®¬. * ।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¯®«ãç¥ åí¤« ¤à ©¢¥à ¯®¤äãªæ¨¥© 16. ====================================================================== == ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 18 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© SSE. = ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 18 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¤à¥á ®¢®£® ®¡à ¡®â稪 ¨áª«î票© ‚®§¢à é ¥¬®¥ § 票¥: * eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票© (0, ¥á«¨ ® ¥ ¡ë« ãáâ ®¢«¥) ====================================================================== ============= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 19 - § £à㧨âì DLL. ============= ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¯®«ë¬ ¯ãâñ¬ ª DLL ‚®§¢à é ¥¬®¥ § 票¥: * eax = 0 - ¥ã¤ ç * ¨ ç¥ eax = 㪠§ ⥫ì â ¡«¨æã íªá¯®àâ DLL ‡ ¬¥ç ¨ï: * ’ ¡«¨æ íªá¯®à⠯।áâ ¢«ï¥â ᮡ®© ¬ áᨢ áâàãªâãà ¯® 2 dword' , § ª 稢 î騩áï ã«ñ¬. ¥à¢ë© dword ¢ áâàãªâãॠï¥âáï 㪠§ ⥫¥¬ ¨¬ï äãªæ¨¨, ¢â®à®© ᮤ¥à¦¨â ¤à¥á äãªæ¨¨. ====================================================================== ====== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 20 - ¯¥à¥à á¯à¥¤¥«¨âì ¡«®ª ¯ ¬ïâ¨. ===== ====================================================================== à ¬¥âàë: * eax = 68 - ®¬¥à äãªæ¨¨ * ebx = 20 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ®¢ë© à §¬¥à ¢ ¡ ©â å * edx = 㪠§ ⥫ì 㦥 ¢ë¤¥«¥ë© ¡«®ª ¯ ¬ï⨠‚®§¢à é ¥¬®¥ § 票¥: * eax = 㪠§ â¥«ì ¯¥à¥à á¯à¥¤¥«ñë© ¡«®ª, 0 ¯à¨ ®è¨¡ª¥ ‡ ¬¥ç ¨ï: * ।¢ à¨â¥«ì® á«¥¤ã¥â ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 11. * ”ãªæ¨ï ¢ë¤¥«ï¥â 楫®¥ ç¨á«® áâà ¨æ (4 Š¡) â ª, çâ® ä ªâ¨ç¥áª¨© à §¬¥à ¢ë¤¥«¥®£® ¡«®ª ¡®«ìè¥ ¨«¨ à ¢¥ § ¯à®è¥®¬ã. * …᫨ edx=0, â® ¢ë§®¢ äãªæ¨¨ íª¢¨¢ «¥â¥ ¢ë¤¥«¥¨î ¯ ¬ï⨠¯®¤äãªæ¨¥© 12. ‚ ¯à®â¨¢®¬ á«ãç ¥ ¡«®ª ¯ ¬ï⨠¯® ¤à¥áã edx ¤®«¦¥ ¡ëâì à ¥¥ ¢ë¤¥«¥ ¯®¤äãªæ¨¥© 12 ¨«¨ ®¯¨áë¢ ¥¬®© ¯®¤äãªæ¨¥©. * …᫨ ecx=0, â® äãªæ¨ï ®á¢®¡®¦¤ ¥â ¡«®ª ¯ ¬ï⨠¯® ¤à¥áã edx ¨ ¢®§¢à é ¥â 0. * ‘®¤¥à¦¨¬®¥ ¯ ¬ï⨠¢¯«®âì ¤® ¨¬¥ì襣® ¨§ áâ ண® ¨ ®¢®£® à §¬¥à®¢ á®åà ï¥âáï. ====================================================================== ======================== ”ãªæ¨ï 69 - ®â« ¤ª . ======================= ====================================================================== à®æ¥áá ¬®¦¥â § £à㧨âì ¤à㣮© ¯à®æ¥áá ª ª ®â« ¦¨¢ ¥¬ë© ãáâ ®¢ª®© ᮮ⢥âáâ¢ãî饣® ¡¨â ¯à¨ ¢ë§®¢¥ ¯®¤äãªæ¨¨ 7 äãªæ¨¨ 70. “ ¯à®æ¥áá ¬®¦¥â ¡ëâì ⮫쪮 ®¤¨ ®â« ¤ç¨ª; ®¤¨ ¯à®æ¥áá ¬®¦¥â ®â« ¦¨¢ âì ¥áª®«ìª® à §ëå. ‘¨á⥬ 㢥¤®¬«ï¥â ®â« ¤ç¨ª ® ᮡëâ¨ïå, ¯à®¨á室ïé¨å á ®â« ¦¨¢ ¥¬ë¬ ¯à®æ¥áᮬ. ‘®®¡é¥¨ï § ¯¨áë¢ îâáï ¢ ¡ãä¥à, ®¯à¥¤¥«ñë© ¯®¤äãªæ¨¥© 0. ”®à¬ â á®®¡é¥¨ï: * +0: dword: ª®¤ á®®¡é¥¨ï * +4: dword: PID ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá * +8: ¬®£ãâ ¯à¨áãâá⢮¢ âì ¤®¯®«¨â¥«ìë¥ ¤ ë¥, ®¯à¥¤¥«ï¥¬ë¥ ª®¤®¬ á®®¡é¥¨ï Š®¤ë á®®¡é¥¨©: * 1 = ¨áª«î票¥ * ¤®¯®«¨â¥«ì® ¯¥à¥¤ ñâáï dword-®¬¥à ¨áª«î票ï * ¯à®æ¥áá ¯à¨®áâ ®¢«¥ * 2 = ¯à®æ¥áá § ¢¥à訫áï * ¯à¨å®¤¨â ¯à¨ «î¡®¬ § ¢¥à襨¨: ª ª ç¥à¥§ á¨á⥬ãî äãªæ¨î -1, â ª ¨ ¯à¨ "㡨©á⢥" «î¡ë¬ ¤à㣨¬ ¯à®æ¥áᮬ (¢ ⮬ ç¨á«¥ á ¬¨¬ ®â« ¤ç¨ª®¬) * 3 = ®â« ¤®ç®¥ ¨áª«î票¥ int 1 = #DB * ¤®¯®«¨â¥«ì® ¯¥à¥¤ ñâáï dword-®¡à § ॣ¨áâà DR6: * ¡¨âë 0-3: ¢ë¯®«¥® ãá«®¢¨¥ ᮮ⢥âáâ¢ãî饩 â®çª¨ ®áâ ®¢ (ãáâ ®¢«¥®© ¯®¤äãªæ¨¥© 9) * ¡¨â 14: ¨áª«î票¥ ¯à®¨§®è«® ¨§-§ ०¨¬ ¯®è £®¢®© âà áá¨à®¢ª¨ (ãáâ ®¢«¥ ä« £ TF) * ¯à®æ¥áá ¯à¨®áâ ®¢«¥ ਠ§ ¢¥à襨¨ ®â« ¤ç¨ª ¯à¨¡¨¢ îâáï ¢á¥ ®â« ¦¨¢ ¥¬ë¥ ¯à®æ¥ááë. …᫨ ®â« ¤ç¨ª í⮣® ¥ å®ç¥â, ® ¤®«¦¥ ¯à¥¤¢ à¨â¥«ì® ®âª«îç¨âìáï ¯®¤äãªæ¨¥© 3. ‚ᥠ¯®¤äãªæ¨¨ ¯à¨¬¥¨¬ë ⮫쪮 ª ¯à®æ¥áá ¬/¯®â®ª ¬, § ¯ãé¥ë¬ ¨§ ⥪ã饣® äãªæ¨¥© 70 á ãáâ ®¢«¥ë¬ ä« £®¬ ®â« ¤ª¨. Žâ« ¤ª ¬®£®¯®â®çëå ¯à®£à ¬¬ ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï. ®«ë© ᯨ᮪ ¯®¤äãªæ¨©: * ¯®¤äãªæ¨ï 0 - ®¯à¥¤¥«¨âì ®¡« áâì ¤ ëå ¤«ï ®â« ¤®çëå á®®¡é¥¨© * ¯®¤äãªæ¨ï 1 - ¯®«ãç¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª * ¯®¤äãªæ¨ï 2 - ãáâ ®¢¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª * ¯®¤äãªæ¨ï 3 - ®âª«îç¨âìáï ®â ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá * ¯®¤äãªæ¨ï 4 - ¯à¨®áâ ®¢¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª * ¯®¤äãªæ¨ï 5 - ¢®§®¡®¢¨âì ¢ë¯®«¥¨¥ ®â« ¦¨¢ ¥¬®£® ¯®â®ª * ¯®¤äãªæ¨ï 6 - ¯à®ç¨â âì ¨§ ¯ ¬ï⨠®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá * ¯®¤äãªæ¨ï 7 - § ¯¨á âì ¢ ¯ ¬ïâì ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá * ¯®¤äãªæ¨ï 8 - § ¢¥àè¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª * ¯®¤äãªæ¨ï 9 - ãáâ ®¢¨âì/áïâì ¯¯ à âãî â®çªã ®áâ ®¢ ====================================================================== ====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 0 ====================== ========= Ž¯à¥¤¥«¨âì ®¡« áâì ¤ ëå ¤«ï ®â« ¤®çëå á®®¡é¥¨©. ======== ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à äãªæ¨¨ * ebx = 0 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = 㪠§ â¥«ì ”®à¬ â ®¡« á⨠¤ ëå: * +0: dword: N = à §¬¥à ¡ãä¥à (¥ áç¨â ï í⮣® § £®«®¢ª ) * +4: dword: § ïâ® ¢ ¡ãä¥à¥ * +8: N*byte: ¡ãä¥à ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * …᫨ ¯®«¥ à §¬¥à ®âà¨æ ⥫ì®, ¡ãä¥à áç¨â ¥âáï § ¡«®ª¨à®¢ ë¬ ¨ ¯à¨ ¯®áâ㯫¥¨¨ ®¢®£® á®®¡é¥¨ï á¨á⥬ ¡ã¤¥â ¦¤ âì. „«ï á¨åந§ 樨 ®¡à ¬«ï©â¥ ¢áî à ¡®âã á ¡ãä¥à®¬ ®¯¥à æ¨ï¬¨ ¡«®ª¨à®¢ª¨/à §¡«®ª¨à®¢ª¨ neg [bufsize] * „ ë¥ ¢ ¡ãä¥à¥ âà ªâãîâáï ª ª ¬ áᨢ í«¥¬¥â®¢ ¯¥à¥¬¥®© ¤«¨ë - á®®¡é¥¨©. ”®à¬ â á®®¡é¥¨ï 㪠§ ¢ ®¡é¥¬ ®¯¨á ¨¨. ====================================================================== ====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 1 ====================== ========= ®«ãç¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª . ========= ====================================================================== à ¬¥âàë: * 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-ª®«ìæ . * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). ====================================================================== ====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 2 ====================== ======== “áâ ®¢¨âì á®áâ®ï¨¥ ॣ¨áâ஢ ®â« ¦¨¢ ¥¬®£® ¯®â®ª . ======== ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à äãªæ¨¨ * ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à ¯®â®ª * edx = ¤«¨ áâàãªâãàë ª®â¥ªáâ , ¤®«¦® ¡ëâì 0x28=40 ¡ ©â * esi = 㪠§ ⥫ì áâàãªâãàã ª®â¥ªáâ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ”®à¬ â áâàãªâãàë ª®â¥ªáâ 㪠§ ¢ ®¯¨á ¨¨ ¯®¤äãªæ¨¨ 1. ‡ ¬¥ç ¨ï: * …᫨ ¯®â®ª ¢ë¯®«ï¥â ª®¤ 0-ª®«ìæ , ãáâ ¢«¨¢ ¥âáï á®áâ®ï¨¥ ॣ¨áâ஢ 3-ª®«ìæ . * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). ====================================================================== == ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 3 - ®âª«îç¨âìáï ®â ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá . = ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à äãªæ¨¨ * ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * …᫨ ¯à®æ¥áá ¡ë« ¯à¨®áâ ®¢«¥, ® ¢®§®¡®¢«ï¥â ¢ë¯®«¥¨¥. ====================================================================== ==== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 4 - ¯à¨®áâ ®¢¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª. ==== ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à ¯à®æ¥áá * ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). ====================================================================== ====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 5 ====================== ============ ‚®§®¡®¢¨âì ¢ë¯®«¥¨¥ ®â« ¦¨¢ ¥¬®£® ¯®â®ª . ============ ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à äãªæ¨¨ * ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). ====================================================================== ====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 6 ====================== ============= à®ç¨â âì ¨§ ¯ ¬ï⨠®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá . ============ ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à äãªæ¨¨ * ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à * edx = ᪮«ìª® ¡ ©â ç¨â âì * esi = ¤à¥á ¯ ¬ï⨠®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá * edi = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¤ ëå ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 ¯à¨ ®è¨¡ª¥ (¥¢¥àë© PID ¨«¨ ¡ãä¥à) * ¨ ç¥ eax = ç¨á«® ¯à®ç¨â ëå ¡ ©â (¢®§¬®¦®, 0, ¥á«¨ ¢ esi ᫨誮¬ ¡®«ì讥 § 票¥) ‡ ¬¥ç ¨ï: * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). ====================================================================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 7 - § ¯¨á âì ¢ ¯ ¬ïâì ®â« ¦¨¢ ¥¬®£® ¯à®æ¥áá . ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à äãªæ¨¨ * ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à * edx = ᪮«ìª® ¡ ©â ¯¨á âì * esi = ¤à¥á ¯ ¬ï⨠¢ ®â« ¦¨¢ ¥¬®¬ ¯à®æ¥áᥠ* edi = 㪠§ â¥«ì ¤ ë¥ ‚®§¢à é ¥¬®¥ § 票¥: * eax = -1 ¯à¨ ®è¨¡ª¥ (¥¢¥àë© PID ¨«¨ ¡ãä¥à) * ¨ ç¥ eax = ç¨á«® § ¯¨á ëå ¡ ©â (¢®§¬®¦®, 0, ¥á«¨ ¢ esi ᫨誮¬ ¡®«ì讥 § 票¥) ‡ ¬¥ç ¨ï: * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). ====================================================================== ====== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 8 - § ¢¥àè¨âì ®â« ¦¨¢ ¥¬ë© ¯®â®ª. ====== ====================================================================== à ¬¥âàë: * eax = 69 - ®¬¥à äãªæ¨¨ * ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¨¤¥â¨ä¨ª â®à ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). * ”ãªæ¨ï «®£¨ç ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 18 á ¤¢ã¬ï ®â«¨ç¨ï¬¨: âॡã¥âáï ¢ë¯®«¥¨¥ ¯¥à¢®£® § ¬¥ç ¨ï ¨ ¯à¨¨¬ ¥âáï PID, ¥ ®¬¥à á«®â . ====================================================================== ====================== ”ãªæ¨ï 69, ¯®¤äãªæ¨ï 9 ====================== ============= “áâ ®¢¨âì/áïâì ¯¯ à âãî â®çªã ®áâ ®¢ . ============ ====================================================================== à ¬¥âàë: * 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 - (§ १¥à¢¨à®¢ ®, ¨ª®£¤ ¥ ¢®§¢à é ¥âáï ¢ ⥪ã饩 ॠ«¨§ 樨) á í⨬ ¨¤¥ªá®¬ 㦥 ãáâ ®¢«¥ £«®¡ «ì ï â®çª ®áâ ®¢ ‡ ¬¥ç ¨ï: * à®æ¥áá ¤®«¦¥ ¡ëâì § £à㦥 ¤«ï ®â« ¤ª¨ (ª ª 㪠§ ® ¢ ®¡é¥¬ ®¯¨á ¨¨). * €¯¯ à âë¥ â®çª¨ ®áâ ®¢ ॠ«¨§ãîâáï ç¥à¥§ DRx-ॣ¨áâàë ¯à®æ¥áá®à , ®âáî¤ ¢á¥ ®£à ¨ç¥¨ï. * ”ãªæ¨ï ¬®¦¥â ¯¥à¥ãáâ ®¢¨âì à ¥¥ ãáâ ®¢«¥ãî ¥© ¦¥ â®çªã ®áâ ®¢ (¨ª ª ¥ á®®¡é ï ®¡ í⮬). ‚¥¤¨â¥ ᯨ᮪ ãáâ ®¢«¥ëå â®ç¥ª ®áâ ®¢ ¢ ®â« ¤ç¨ª¥. * ‘à ¡ âë¢ ¨¥ â®çª¨ ®áâ ®¢ § ª«îç ¥âáï ¢ £¥¥à¨à®¢ ¨¨ ®â« ¤®ç®£® ¨áª«î票ï #DB, ® ª®â®à®¬ á¨á⥬ á®®¡é ¥â ®â« ¤ç¨ªã. * ’®çª ®áâ ®¢ § ¯¨áì ¨ ç⥨¥/§ ¯¨áì áà ¡ âë¢ ¥â ¯®á«¥ ¢ë¯®«¥¨ï ¢ë§¢ ¢è¥© ¥ñ ¨áâàãªæ¨¨. ====================================================================== = ”ãªæ¨ï 70 - à ¡®â á ä ©«®¢®© á¨á⥬®© á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. = ====================================================================== à ¬¥âàë: * 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-áâபã á ¨¬¥¥¬ ä ©« “â®ç¥¨ï - ¢ ¤®ªã¬¥â 樨 ᮮ⢥âáâ¢ãîéãî ¯®¤äãªæ¨î. ˆ¬ï ä ©« ¥çã¢áâ¢¨â¥«ì® ª ॣ¨áâà㠡㪢. ãá᪨¥ ¡ãª¢ë ¤®«¦ë ¡ëâì § ¯¨á ë ¢ ª®¤¨à®¢ª¥ 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) ਬ¥àë: * '/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 „®áâã¯ë¥ ¯®¤äãªæ¨¨: * ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©« * ¯®¤äãªæ¨ï 1 - ç⥨¥ ¯ ¯ª¨ * ¯®¤äãªæ¨ï 2 - ᮧ¤ ¨¥/¯¥à¥§ ¯¨áì ä ©« * ¯®¤äãªæ¨ï 3 - § ¯¨áì ¢ áãé¥áâ¢ãî騩 ä ©« * ¯®¤äãªæ¨ï 4 - ãáâ ®¢ª à §¬¥à ä ©« * ¯®¤äãªæ¨ï 5 - ¯®«ã票¥ âਡã⮢ ä ©« /¯ ¯ª¨ * ¯®¤äãªæ¨ï 6 - ãáâ ®¢ª âਡã⮢ ä ©« /¯ ¯ª¨ * ¯®¤äãªæ¨ï 7 - § ¯ã᪠¯à®£à ¬¬ë * ¯®¤äãªæ¨ï 8 - 㤠«¥¨¥ ä ©« /¯ ¯ª¨ * ¯®¤äãªæ¨ï 9 - ᮧ¤ ¨¥ ¯ ¯ª¨ „«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á ¯¯ à â묨 ®£à ¨ç¥¨ï¬¨ ¤®áâã¯ë ⮫쪮 ¯®¤äãªæ¨¨ 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤äãªæ¨© § ¢¥àè¨âáï ®è¨¡ª®© á ª®¤®¬ 2. ====================================================================== = ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©« á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. = ====================================================================== à ¬¥âàë: * 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 - ç⥨¥ ¯ ¯ª¨ á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. = ====================================================================== à ¬¥âàë: * 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: § १¥à¢¨à®¢ ® (㫨) ‘âàãªâãà ¡«®ª ¤ ëå ¢å®¤ ª â «®£ („‚Š): * +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 ‡ ¬¥ç ¨ï: * …᫨ ¢ „‚Š ¯à¨áãâáâ¢ã¥â ¨¬ï ¢ ASCII, â® ¤«¨ „‚Š á®áâ ¢«ï¥â 304 ¡ ©â , ¥á«¨ ¢ UNICODE - 560 ¡ ©â. ‡ 票¥ ¤«¨ë ¢ëà ¢¥® 楫®¥ ªà ⮥ 16 ¡ ©â (¤«ï ãáª®à¥¨ï ®¡à ¡®âª¨ ¢ ªíè-¯ ¬ï⨠CPU). * ¥à¢ë© ᨬ¢®« ¯®á«¥ ¨¬¥¨ ã«¥¢®© (ASCIIZ-áâப ). „ «ì¥©è¨¥ ¤ ë¥ á®¤¥à¦ â ¬ãá®à. * …᫨ ä ©«ë ¢ ¯ ¯ª¥ ª®ç¨«¨áì à ìè¥, 祬 ¡ë«® ¯à®ç¨â ® § ¯à®è¥®¥ ª®«¨ç¥á⢮, â® äãªæ¨ï ¯à®ç¨â ¥â, ᪮«ìª® ᬮ¦¥â, ¯®á«¥ 祣® ¢¥àñâ eax=6 (EOF). * ‹î¡ ï ¯ ¯ª ¤¨áª¥, ªà®¬¥ ª®à¥¢®©, ᮤ¥à¦¨â ¤¢ á¯¥æ¨ «ìëå ¢å®¤ "." ¨ "..", ¨¤¥â¨ä¨æ¨àãîé¨å ᮮ⢥âá⢥® á ¬ã ¯ ¯ªã ¨ த¨â¥«ìáªãî ¯ ¯ªã. * ”ãªæ¨ï ¯®§¢®«ï¥â â ª¦¥ ç¨â âì ¢¨àâã «ìë¥ ¯ ¯ª¨ "/", "/rd", "/fd", "/hd[n]", ¯à¨ í⮬ âਡãâë ¯®¤¯ ¯®ª ¯®« £ îâáï à ¢ë¬¨ 0x10, ¢à¥¬¥ ¨ ¤ âë ®¡ã«¥ë. €«ìâ¥à â¨¢ë© á¯®á®¡ ¯®«ãç¥¨ï ¨ä®à¬ 樨 ®¡ ®¡®à㤮¢ ¨¨ - ¯®¤äãªæ¨ï 11 äãªæ¨¨ 18. ====================================================================== ====================== ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 2 ====================== ======== ‘®§¤ ¨¥/¯¥à¥§ ¯¨áì ä ©« á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. ======== ====================================================================== à ¬¥âàë: * 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 ====================== ======== ‡ ¯¨áì ¢ áãé¥áâ¢ãî騩 ä ©« á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. ======= ====================================================================== à ¬¥âàë: * 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 - ãáâ ®¢ª à §¬¥à ä ©« . ======== ====================================================================== à ¬¥âàë: * 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 - ¯®«ã票¥ ¨ä®à¬ 樨 ® ä ©«¥/¯ ¯ª¥. === ====================================================================== à ¬¥âàë: * 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 à §àãè ¥âáï ˆä®à¬ æ¨ï ® ä ©«¥ ¢®§¢à é ¥âáï ¢ ä®à¬ ⥠„‚Š (¡«®ª ¤ ëå ¢å®¤ ª â «®£ ), 㪠§ ®¬ ¢ ®¯¨á ¨¨ ¯®¤äãªæ¨¨ 1, ® ¡¥§ ¨¬¥¨ ä ©« (â® ¥áâì ¯¥à¢ë¥ 40 = 0x28 ¡ ©â). ‡ ¬¥ç ¨ï: * ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¢¨àâã «ìë¥ ¯ ¯ª¨ ⨯ /, /rd ¨ ª®à¥¢ë¥ ¯ ¯ª¨ ⨯ /rd/1. ====================================================================== ===== ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 6 - ãáâ ®¢ª âਡã⮢ ä ©« /¯ ¯ª¨. ==== ====================================================================== à ¬¥âàë: * 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 ¡ ©â ¢ „‚Š (¡«®ª¥ ¤ ëå ¢å®¤ ª â «®£ ), ä®à¬ â ª®â®à®£® 㪠§ ¢ ®¯¨á ¨¨ ¯®¤äãªæ¨¨ 1 (â® ¥áâì ¡¥§ ¨¬¥¨ ¨ à §¬¥à ä ©« ). €âਡãâ ä ©«/¯ ¯ª /¬¥âª ⮬ (¡¨âë 3,4 ¢ dword'¥ +0) ¥ ¬¥ï¥âáï. ©â +4 (ä®à¬ â ¨¬¥¨) ¨£®à¨àã¥âáï. ‡ ¬¥ç ¨ï: * ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¢¨àâã «ìë¥ ¯ ¯ª¨ ⨯ /, /rd ¨ ª®à¥¢ë¥ ¯ ¯ª¨ ⨯ /rd/1. * ”ãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï ¤«ï CD (¢¥àñâáï ª®¤ ®è¨¡ª¨ 2). ====================================================================== ============ ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 7 - § ¯ã᪠¯à®£à ¬¬ë. ============ ====================================================================== à ¬¥âàë: * 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 - 㤠«¥¨¥ ä ©« /¯ ¯ª¨. ========== ====================================================================== à ¬¥âàë: * 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 - ᮧ¤ ¨¥ ¯ ¯ª¨. ============= ====================================================================== à ¬¥âàë: * 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). * ®¤¨â¥«ìáª ï ¯ ¯ª ¤®«¦ 㦥 áãé¥á⢮¢ âì. * …᫨ ¯ ¯ª 㦥 áãé¥áâ¢ã¥â, äãªæ¨ï § ¢¥àè¨âáï ãá¯¥è® (eax=0). ====================================================================== === ”ãªæ¨ï 71, ¯®¤äãªæ¨ï 1 - ãáâ ®¢¨âì § £®«®¢®ª ®ª ¯à®£à ¬¬ë. == ====================================================================== à ¬¥âàë: * eax = 71 - ®¬¥à äãªæ¨¨ * ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨ * ecx = ¤à¥á áâப¨ § £®«®¢ª ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â § ç¥¨ï ‡ ¬¥ç ¨ï: * ‘âப § £®«®¢ª ¤®«¦ ¡ëâì ¢ ä®à¬ ⥠ASCIIZ. ‚ § £®«®¢ª¥ ®â®¡à ¦ ¥âáï ¥ ¡®«¥¥ 255 ᨬ¢®«®¢ ¥§ ¢¨á¨¬® ®â ¯®«®© ¤«¨ë áâப¨. * —⮡ë ã¡à âì § £®«®¢®ª, ¯¥à¥¤ ©â¥ NULL ¢ ecx. ====================================================================== ========== ”ãªæ¨ï -1 - § ¢¥àè¨âì ¢ë¯®«¥¨¥ ¯®â®ª /¯à®æ¥áá ========= ====================================================================== à ¬¥âàë: * eax = -1 - ®¬¥à äãªæ¨¨ ‚®§¢à é ¥¬®¥ § 票¥: * äãªæ¨ï ¥ ¢®§¢à é ¥â ¨ § 票ï, ¨ ã¯à ¢«¥¨ï ‡ ¬¥ç ¨ï: * …᫨ ¯à®æ¥áá  ¥ ᮧ¤ ¢ « ¯®â®ª®¢, â® ã ¥£® ¥áâì ⮫쪮 ®¤¨ ¯®â®ª, § ¢¥à襨¥ ª®â®à®£® ¯à¨¢®¤¨â ª § ¢¥àè¥¨î ¯à®æ¥áá . * …᫨ ⥪ã騩 ¯®â®ª - ¯®á«¥¤¨© ¢ ¯à®æ¥áá¥, â® ¥£® § ¢¥à襨¥ â ª¦¥ ¯à¨¢®¤¨â ª § ¢¥àè¥¨î ¯à®æ¥áá . * â äãªæ¨ï § ¢¥àè ¥â ⥪ã騩 ¯®â®ª. „à㣮© ¯®â®ª ¬®¦® ¯à¨¡¨âì ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 18. ====================================================================== =========================== ‘¯¨á®ª ᮡë⨩ =========================== ====================================================================== Žç¥à¥¤®¥ ᮡë⨥ ¬®¦® ¯®«ãç¨âì ¢ë§®¢®¬ ®¤®© ¨§ äãªæ¨© 10 (®¦¨¤ âì ᮡëâ¨ï), 11 (¯à®¢¥à¨âì ¡¥§ ®¦¨¤ ¨ï), 23 (®¦¨¤ âì ¢ â¥ç¥¨¥ § ¤ ®£® ¢à¥¬¥¨). ⨠äãªæ¨¨ ¢®§¢à é îâ ⮫쪮 ⥠ᮡëâ¨ï, ª®â®àë¥ ¢å®¤ïâ ¢ ¬ áªã, ãáâ ¢«¨¢ ¥¬ãî äãªæ¨¥© 40. ® 㬮«ç ¨î íâ® ¯¥à¢ë¥ âà¨, 祣® ¢¯®«¥ ¤®áâ â®ç® ¤«ï ¬®£¨å ¯à¨«®¦¥¨©. Š®¤ë ᮡë⨩: * 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 = ®è¨¡ª ãáâனá⢠ਠ§ ¯ã᪥ ¯à®£à ¬¬ë ¢®§¬®¦ë â ª¦¥ á«¥¤ãî騥 ª®¤ë ®è¨¡®ª: * 30 = 0x1E = ¥¤®áâ â®ç® ¯ ¬ï⨠* 31 = 0x1F = ä ©« ¥ ï¥âáï ¨á¯®«¨¬ë¬ * 32 = 0x20 = ᫨誮¬ ¬®£® ¯à®æ¥áᮢ