;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Kolibri 0.7.7.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 - ®ª® ᮠ᪨®¬
* Y=4 - ®ª® ᮠ᪨®¬ 䨪á¨à®¢ ëå à §¬¥à®¢
* ®áâ «ìë¥ ¢®§¬®¦ë¥ § 票ï (®â 5 ¤® 15) § १¥à¢¨à®¢ ë,
¢ë§®¢ äãªæ¨¨ á â ª¨¬¨ Y ¨£®à¨àã¥âáï
* RR, GG, BB = ᮮ⢥âá⢥® ªà á ï, §¥«¥ ï, á¨ïï
á®áâ ¢«ïî騥 梥â à ¡®ç¥© ®¡« á⨠®ª
(¨£®à¨àã¥âáï ¤«ï á⨫ï Y=2)
* X = DCBA (¡¨âë)
* A = 1 - ã ®ª ¥áâì § £®«®¢®ª; ¤«ï á⨫¥© Y=3,4 ¤à¥á áâப¨
§ £®«®¢ª § ¤ ñâáï ¢ edi, ¤«ï ¯à®ç¨å á⨫¥©
¨á¯®«ì§ã¥âáï ¯®¤äãªæ¨ï 1 äãªæ¨¨ 71
* B = 1 - ª®®à¤¨ âë ¢á¥å £à ä¨ç¥áª¨å ¯à¨¬¨â¨¢®¢ § ¤ îâáï
®â®á¨â¥«ì® ª«¨¥â᪮© ®¡« á⨠®ª
* C = 1 - ¥ § ªà 訢 âì à ¡®çãî ®¡« áâì ¯à¨ ®âà¨á®¢ª¥ ®ª
* D = 0 - ®à¬ «ì ï § «¨¢ª à ¡®ç¥© ®¡« áâ¨, 1 - £à ¤¨¥â ï
«¥¤ãî騥 ¯ à ¬¥âàë ¯à¥¤ § ç¥ë ¤«ï ®ª® ⨯ I ¨ II ¨
¨£®à¨àãîâáï ¤«ï á⨫¥© Y=1,3:
* esi = 0xXYRRGGBB - 梥⠧ £®«®¢ª
* RR, GG, BB ®¯à¥¤¥«ïîâ á ¬ 梥â
* Y=0 - ®¡ë箥 ®ª®, Y=1 - ¥¯¥à¥¬¥é ¥¬®¥ ®ª®
* X ®¯à¥¤¥«ï¥â £à ¤¨¥â § £®«®¢ª : X=0 - ¥â £à ¤¨¥â ,
X=8 - ®¡ëçë© £à ¤¨¥â,
¤«ï ®ª® ⨯ II X=4 - ¥£ â¨¢ë© £à ¤¨¥â
* ¯à®ç¨¥ § 票ï X ¨ Y § १¥à¢¨à®¢ ë
* edi = 0x00RRGGBB - 梥â à ¬ª¨
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
¬¥ç ¨ï:
* ®«®¦¥¨¥ ¨ à §¬¥àë ®ª ãáâ ¢«¨¢ îâáï ¯à¨ ¯¥à¢®¬ ¢ë§®¢¥
í⮩ äãªæ¨¨ ¨ ¨£®à¨àãîâáï ¯à¨ ¯®á«¥¤ãîé¨å; ¤«ï ¨§¬¥¥¨ï
¯®«®¦¥¨ï ¨/¨«¨ à §¬¥à®¢ 㦥 ᮧ¤ ®£® ®ª ¨á¯®«ì§ã©â¥
67-î äãªæ¨î.
* «ï ®ª® á⨫¥© Y=3,4 á § £®«®¢ª®¬ (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.
======================================================================
=============== ãªæ¨ï 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): ®ª® á¢ñàãâ® ¢ § £®«®¢®ª
* +71 = +0x47: dword: ¬ ᪠ᮡë⨩
¬¥ç ¨ï:
* «®âë 㬥àãîâáï á 1.
* ®§¢à é ¥¬®¥ § 票¥ ¥ ¥áâì ®¡é¥¥ ç¨á«® ¯®â®ª®¢, ¯®áª®«ìªã
¡ë¢ îâ ᢮¡®¤ë¥ á«®âë.
* ਠᮧ¤ ¨¨ ¯à®æ¥áá ¢â®¬ â¨ç¥áª¨ ᮧ¤ ¥âáï ¯®â®ª ¢ë¯®«¥¨ï.
* ãªæ¨ï ¢ë¤ ¥â ¨ä®à¬ æ¨î ® ¯®â®ª¥. ¦¤ë© ¯à®æ¥áá ¨¬¥¥â
å®âï ¡ë ®¤¨ ¯®â®ª. ¤¨ ¯à®æ¥áá ¬®¦¥â ᮧ¤ âì ¥áª®«ìª® ¯®â®ª®¢,
¢ í⮬ á«ãç ¥ ª ¦¤ë© ¯®â®ª ¯®«ãç ¥â ᢮© á«®â, ¯à¨ç¥¬ ¯®«ï
+10, +22, +26 ¢ íâ¨å á«®â å ᮢ¯ ¤ îâ.
«ï ¯à¨«®¦¥¨© ¥ áãé¥áâ¢ã¥â ®¡é¥£® ᯮᮡ ®¯à¥¤¥«¨âì,
¯à¨ ¤«¥¦ â «¨ ¤¢ ¯®â®ª ®¤®¬ã ¯à®æ¥ááã.
* ªâ¨¢®¥ ®ª® - ®ª®, 室ï饥áï ¢¥à訥 ®ª®®£® áâíª ,
®® ¯®«ãç ¥â á®®¡é¥¨ï ® ¢¢®¤¥ á ª« ¢¨ âãàë. «ï ¥£® ¯®§¨æ¨ï ¢
®ª®®¬ áâíª¥ ᮢ¯ ¤ ¥â á ¢®§¢à é ¥¬ë¬ § 票¥¬.
* «®â 1 ᮮ⢥âáâ¢ã¥â á¯¥æ¨ «ì®¬ã ¯®â®ªã ®¯¥à 樮®© á¨á⥬ë,
¤«ï ª®â®à®£®:
* ®ª® 室¨âáï ¢¨§ã ®ª®®£® áâíª , ¯®«ï +4 ¨ +6 ᮤ¥à¦ â
§ 票¥ 1
* ¨¬ï ¯à®æ¥áá - "OS/IDLE" (¤®¯®«¥®¥ ¯à®¡¥« ¬¨)
* ¤à¥á ¯à®æ¥áá ¢ ¯ ¬ïâ¨ à ¢¥ 0, à §¬¥à ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨
16 Mb (0x1000000)
* PID=1
* ª®®à¤¨ âë ¨ à §¬¥àë ®ª , à ¢® ª ª ¨ ª«¨¥â᪮© ®¡« áâ¨,
ãá«®¢® ¯®« £ îâáï à ¢ë¬¨ 0
* á®áâ®ï¨¥ á«®â - ¢á¥£¤ 0 (¢ë¯®«ï¥âáï)
* ¢à¥¬ï ¢ë¯®«¥¨ï ᪫ ¤ë¢ ¥âáï ¨§ ¢à¥¬¥¨, ã室ï饣®
ᮡá⢥® à ¡®âã, ¨ ¢à¥¬¥¨ ¯à®áâ®ï ¢ ®¦¨¤ ¨¨ ¯à¥àë¢ ¨ï
(ª®â®à®¥ ¬®¦® ¯®«ãç¨âì ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 18).
* ç¨ ï á® á«®â 2, à §¬¥é îâáï ®¡ëçë¥ ¯à¨«®¦¥¨ï.
* ¡ëçë¥ ¯à¨«®¦¥¨ï à §¬¥é îâáï ¢ ¯ ¬ï⨠¯® ¤à¥áã 0
(ª®áâ â ï¤à 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 ¯¥à¥à¨á®¢ª¨ ä® .
======================================================================
====================== ãªæ¨ï 15, ¯®¤äãªæ¨ï 6 ======================
==== ¯à®¥æ¨à®¢ âì ¤ ë¥ ä® ¤à¥á®¥ ¯à®áâà á⢮ ¯à®æ¥áá . ====
======================================================================
à ¬¥âàë:
* eax = 15 - ®¬¥à äãªæ¨¨
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
®§¢à é ¥¬®¥ § 票¥:
* eax = 㪠§ â¥«ì ¤ ë¥ ä® , 0 ¯à¨ ®è¨¡ª¥
¬¥ç ¨ï:
* ¯à®¥æ¨à®¢ ë¥ ¤ ë¥ ¤®áâã¯ë ç⥨¥ ¨ § ¯¨áì.
* §¬¥à ¤ ëå ä® à ¢¥ 3*xsize*ysize. §¬¥¥¨¥ à §¬¥à®¢ ä®
¡«®ª¨àã¥âáï ¢à¥¬ï à ¡®âë á á¯à®¥æ¨à®¢ 묨 ¤ 묨.
* ¢¥â ª ¦¤®£® ¯¨ªá¥«ï åà ¨âáï ª ª 3-¡ ©â®¢ ï ¢¥«¨ç¨ BBGGRR.
* ¨ªá¥«¨ ä®®¢®£® ¨§®¡à ¦¥¨ï § ¯¨áë¢ îâáï ¯®á«¥¤®¢ ⥫ì®
á«¥¢ ¯à ¢®, ᢥàåã ¢¨§.
======================================================================
====================== ãªæ¨ï 15, ¯®¤äãªæ¨ï 7 ======================
=== ªàëâì ¯à®¥ªæ¨î ¤ ëå ä® ¤à¥á®¥ ¯à®áâà á⢮ ¯à®æ¥áá . ==
======================================================================
à ¬¥âàë:
* eax = 15 - ®¬¥à äãªæ¨¨
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = 㪠§ â¥«ì ¤ ë¥ ä®
®§¢à é ¥¬®¥ § 票¥:
* eax = 1 ¯à¨ ãᯥå¥, 0 ¯à¨ ®è¨¡ª¥
======================================================================
============= ãªæ¨ï 16 - á®åà ¨âì à ¬¤¨áª ¤¨áª¥âã. =============
======================================================================
à ¬¥âàë:
* eax = 16 - ®¬¥à äãªæ¨¨
* ebx = 1 ¨«¨ ebx = 2 - ª ªãî ¤¨áª¥âã á®åà ïâì
®§¢à é ¥¬®¥ § 票¥:
* eax = 0 - ãᯥè®
* eax = 1 - ®è¨¡ª
======================================================================
============== ãªæ¨ï 17 - ¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨. =============
======================================================================
¡¨à ¥â ª®¤ ¦ ⮩ ª®¯ª¨ ¨§ ¡ãä¥à .
à ¬¥âàë:
* eax = 17 - ®¬¥à äãªæ¨¨
®§¢à é ¥¬®¥ § 票¥:
* ¥á«¨ ¡ãä¥à ¯ãáâ, ¢®§¢à é ¥âáï eax=1
* ¥á«¨ ¡ãä¥à ¥¯ãáâ:
* áâ à訥 24 ¡¨â eax ᮤ¥à¦ â ¨¤¥â¨ä¨ª â®à ª®¯ª¨
(¢ ç áâ®áâ¨, ¢ ah ®ª §ë¢ ¥âáï ¬« ¤è¨© ¡ ©â ¨¤¥â¨ä¨ª â®à ;
¥á«¨ ¢á¥ ª®¯ª¨ ¨¬¥îâ ¨¤¥â¨ä¨ª â®à, ¬¥ì訩 256,
â® ¤«ï à §«¨ç¥¨ï ¤®áâ â®ç® ah)
* al = 0 - ª®¯ª ¡ë« ¦ â «¥¢®© ª®¯ª®© ¬ëè¨
* al = ¡¨â, ᮮ⢥âáâ¢ãî騩 ¦ ¢è¥© ª®¯ª¥ ¬ëè¨, ¥á«¨ ¥ «¥¢®©
¬¥ç ¨ï:
* "ãä¥à" åà ¨â ⮫쪮 ®¤ã ª®¯ªã, ¯à¨ ¦ ⨨ ®¢®© ª®¯ª¨
¨ä®à¬ æ¨ï ® áâ ன â¥àï¥âáï.
* ਠ¢ë§®¢¥ í⮩ äãªæ¨¨ ¯à¨«®¦¥¨¥¬ á ¥ ªâ¨¢ë¬ ®ª®¬
¢®§¢à é ¥âáï ®â¢¥â "¡ãä¥à ¯ãáâ".
* ®§¢à é ¥¬®¥ § 票¥ al ᮮ⢥âáâ¢ã¥â á®áâ®ï¨î ª®¯®ª ¬ëè¨
¢ ä®à¬ ⥠¯®¤äãªæ¨¨ 2 äãªæ¨¨ 37 ¢ ¬®¬¥â ç « ¦ â¨ï
ª®¯ªã, § ¨áª«î票¥¬ ¬« ¤è¥£® ¡¨â (ᮮ⢥âáâ¢ãî饣® «¥¢®©
ª®¯ª¥ ¬ëè¨), ª®â®àë© á¡à áë¢ ¥âáï.
======================================================================
= ãªæ¨ï 18, ¯®¤äãªæ¨ï 1 - ᤥ« âì á ¬ë¬ ¨¦¨¬ ®ª® ¯®â®ª . =======
======================================================================
à ¬¥âàë:
* eax = 18 - ®¬¥à äãªæ¨¨
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ®¬¥à ᫮⠯®â®ª
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
======================================================================
==== ãªæ¨ï 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 = ¯ à ¬¥âà:
* 2 = ¢ëª«îç¨âì ª®¬¯ìîâ¥à
* 3 = ¯¥à¥§ £à㧨âì ª®¬¯ìîâ¥à
* 4 = ¯¥à¥§ ¯ãáâ¨âì ï¤à® ¨§ ä ©« kernel.mnt à ¬¤¨áª¥
®§¢à é ¥¬®¥ § 票¥:
* ¯à¨ ¥¢¥à®¬ ecx ॣ¨áâàë ¥ ¬¥ïîâáï (â.¥. eax=18)
* ¯à¨ ¯à ¢¨«ì®¬ ¢ë§®¢¥ ¢á¥£¤ ¢®§¢à é ¥âáï ¯à¨§ ª ãᯥå eax=0
¬¥ç ¨ï:
* ¥ á«¥¤ã¥â ¯®« £ âìáï ¢®§¢à é ¥¬®¥ § 票¥ ¯à¨ ¥¢¥à®¬
¢ë§®¢¥, ®® ¬®¦¥â ¨§¬¥¨âìáï ¢ ¯®á«¥¤ãîé¨å ¢¥àá¨ïå ï¤à .
======================================================================
======== ãªæ¨ï 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 0: § १¥à¢¨à®¢ ®
dd REV - ®¬¥à svn-ॢ¨§¨¨ ï¤à
«ï ï¤à Kolibri 0.7.7.0+:
db 0,7,7,0
db 0
dd 1675
======================================================================
====================== ãªæ¨ï 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]
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
------- ®¤¯®¤äãªæ¨ï 5 - ᨬ㫨஢ âì á®áâ®ï¨¥ ª« ¢¨è ¬ëè¨. --------
à ¬¥âàë:
* eax = 18 - ®¬¥à äãªæ¨¨
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = 5 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
* edx = ¨ä®à¬ æ¨ï ® í¬ã«¨à㥬®¬ á®áâ®ï¨¨ ª®¯®ª ¬ëè¨:
(ᮮ⢥âáâ¢ã¥â ¢®§¢à é ¥¬®¬ã § ç¥¨î ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 37)
* ¡¨â 0 ãáâ ®¢«¥ = «¥¢ ï ª®¯ª ¦ â
* ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â
* ¡¨â 2 ãáâ ®¢«¥ = á।ïï ª®¯ª ¦ â
* ¡¨â 3 ãáâ ®¢«¥ = 4-ï ª®¯ª ¦ â
* ¡¨â 4 ãáâ ®¢«¥ = 5-ï ª®¯ª ¦ â
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
¬¥ç ¨ï:
* ¥ª®¬¥¤ã¥¬ ï ᪮à®áâì ¬ëè¨ (¢ ¯®¤¯®¤äãªæ¨¨ 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: à §¬¥à ¨¡®«ì襣® ¢ë¤¥«¥®£® ¡«®ª ¢ ªãç¥ ï¤à
(§ १¥à¢¨à®¢ ®)
======================================================================
====================== ãªæ¨ï 18, ¯®¤äãªæ¨ï 21 =====================
======= ®«ãç¨âì ®¬¥à ᫮⠯à®æ¥áá /¯®â®ª ¯® ¨¤¥â¨ä¨ª â®àã. ======
======================================================================
à ¬¥âàë:
* eax = 18 - ®¬¥à äãªæ¨¨
* ebx = 21 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ¨¤¥â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª (PID/TID)
®§¢à é ¥¬®¥ § 票¥:
* eax = 0 - ®è¨¡ª (¥¢¥àë© ¨¤¥â¨ä¨ª â®à)
* ¨ ç¥ eax = ®¬¥à á«®â
======================================================================
ãªæ¨ï 18, ¯®¤äãªæ¨ï 22 - ®¯¥à 樨 á ®ª®¬ ¤à㣮£® ¯à®æ¥áá /¯®â®ª .
======================================================================
à ¬¥âàë:
* eax = 18 - ®¬¥à äãªæ¨¨
* ebx = 22 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ⨯ ®¯¥à 樨:
* 0 = ¬¨¨¬¨§ æ¨ï ®ª , ¯®â®ª § ¤ ®¬¥à®¬ á«®â
* 1 = ¬¨¨¬¨§ æ¨ï ®ª , ¯®â®ª § ¤ ¨¤¥â¨ä¨ª â®à®¬
* 2 = ¢®ááâ ®¢«¥¨¥ ®ª , ¯®â®ª § ¤ ®¬¥à®¬ á«®â
* 3 = ¢®ááâ ®¢«¥¨¥ ®ª , ¯®â®ª § ¤ ¨¤¥â¨ä¨ª â®à®¬
* edx = ¯ à ¬¥âà ®¯¥à 樨 (®¬¥à ᫮⠨«¨ PID/TID)
®§¢à é ¥¬®¥ § 票¥:
* eax = 0 - ãᯥè®
* eax = -1 - ®è¨¡ª (¥¯à ¢¨«ìë© ¯ à ¬¥âà)
¬¥ç ¨ï:
* ®â®ª ¬®¦¥â ᢥàãâì ᢮ñ ®ª® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 10.
* ®ááâ ®¢«¥¨¥ ®ª á ®¤®¢à¥¬¥®© ªâ¨¢¨§ 樥© ®áãé¥á⢫ï¥âáï
¯®¤äãªæ¨¨ 3 (¯à¨¨¬ î饩 ®¬¥à á«®â ).
======================================================================
==================== ãªæ¨ï 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, ¯®¤äãªæ¨ï 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, ¯®¤äãªæ¨ï 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.
======================================================================
======= ãªæ¨ï 24, ¯®¤äãªæ¨ï 4 - ¨§¢«¥çì «®â®ª ¯à¨¢®¤ ¤¨áª . ======
======================================================================
à ¬¥âàë:
* eax = 24 - ®¬¥à äãªæ¨¨
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ®¬¥à CD/DVD-¤¨áª
(®â 0=Primary Master ¤® 3=Secondary Slave)
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
¬¥ç ¨ï:
* ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
* ਠ¨§¢«¥ç¥¨¨ «®âª ¯à®¨§¢®¤¨âáï à §¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï
¬¥å ¨§¬®¬ «®âª .
* ਠ¨§¢«¥ç¥¨¨ «®âª ª®¤ ¯à®¨§¢®¤¨â ®ç¨áâªã ªíè ᮮ⢥âáâ¢ãî饣®
ãáâனá⢠.
* ਬ¥à®¬ ¨á¯®«ì§®¢ ¨ï äãªæ¨¨ ï¥âáï ¯à¨«®¦¥¨¥ CD_tray.
======================================================================
====== ãªæ¨ï 24, ¯®¤äãªæ¨ï 5 - § £à㧨âì «®â®ª ¯à¨¢®¤ ¤¨áª . =====
======================================================================
à ¬¥âàë:
* eax = 24 - ®¬¥à äãªæ¨¨
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ®¬¥à CD/DVD-¤¨áª
(®â 0=Primary Master ¤® 3=Secondary Slave)
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
¬¥ç ¨ï:
* ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
* ਬ¥à®¬ ¨á¯®«ì§®¢ ¨ï äãªæ¨¨ ï¥âáï ¯à¨«®¦¥¨¥ CD_tray.
======================================================================
===== ãªæ¨ï 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, ¯®¤äãªæ¨ï 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, ¯®¤äãªæ¨ï 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.
======================================================================
================ ãªæ¨ï 29 - ¯®«ãç¨âì á¨á⥬ãî ¤ âã. ===============
======================================================================
à ¬¥âàë:
* eax = 29 - ®¬¥à äãªæ¨¨
®§¢à é ¥¬®¥ § 票¥:
* eax = 0x00DDMMYY, £¤¥
(¨á¯®«ì§ã¥âáï ¤¢®¨ç®-¤¥áïâ¨ç®¥ ª®¤¨à®¢ ¨¥, BCD)
* YY = ¤¢¥ ¬« ¤è¨¥ æ¨äàë £®¤ (00..99)
* MM = ¬¥áïæ (01..12)
* DD = ¤¥ì (01..31)
¬¥ç ¨ï:
* ¨á⥬ãî ¤ âã ¬®¦® ãáâ ®¢¨âì äãªæ¨¥© 22.
======================================================================
================ ãªæ¨ï 30 - à ¡®â á ⥪ã饩 ¯ ¯ª®©. ===============
======================================================================
-------- ®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ⥪ãéãî ¯ ¯ªã ¤«ï ¯®â®ª . ---------
à ¬¥âàë:
* eax = 30 - ®¬¥à äãªæ¨¨
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¯ãâñ¬ ª ®¢®© ⥪ã饩 ¯ ¯ª¥
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
--------- ®¤äãªæ¨ï 2 - ¯®«ãç¨âì ⥪ãéãî ¯ ¯ªã ¤«ï ¯®â®ª . ----------
à ¬¥âàë:
* eax = 30 - ®¬¥à äãªæ¨¨
* ebx = 2 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = 㪠§ â¥«ì ¡ãä¥à
* edx = à §¬¥à ¡ãä¥à
®§¢à é ¥¬®¥ § 票¥:
* eax = ¤«¨ ¨¬¥¨ ⥪ã饩 ¯ ¯ª¨ (¢ª«îç ï § ¢¥àè î騩 0)
¬¥ç ¨ï:
*
᫨ à §¬¥à ¡ãä¥à ¥¤®áâ â®ç® ¤«ï ª®¯¨à®¢ ¨ï ¢á¥£® ¨¬¥¨,
ª®¯¨àãîâáï ⮫쪮 ¯¥à¢ë¥ (edx-1) ¡ ©â ¨ ¢ ª®æ¥ áâ ¢¨âáï
§ ¢¥àè î騩 0.
* ® 㬮«ç ¨î, ⥪ãé ï ¯ ¯ª ¤«ï ¯®â®ª - "/rd/1".
* ਠᮧ¤ ¨¨ ¯à®æ¥áá /¯®â®ª ⥪ãé ï ¯ ¯ª á«¥¤ã¥âáï ®â
த¨â¥«ï.
======================================================================
============ ãªæ¨ï 35 - ¯à®ç¨â âì 梥â â®çª¨ íªà ¥. ============
======================================================================
à ¬¥âàë:
* eax = 35
* ebx = y*xsize+x, £¤¥
* (x,y) = ª®®à¤¨ âë â®çª¨ (áç¨â ï ®â 0)
* xsize = à §¬¥à íªà ¯® £®à¨§®â «¨
®§¢à é ¥¬®¥ § 票¥:
* eax = 梥â 0x00RRGGBB
¬¥ç ¨ï:
* § âì à §¬¥àë íªà ¬®¦® ¢ë§®¢®¬ äãªæ¨¨ 14. ¡à â¨â¥ ¢¨¬ ¨¥,
çâ® ® ¢ëç¨â ¥â 1 ¨§ ®¡®¨å à §¬¥à®¢.
* ¢¨¤¥®¯ ¬ï⨠¥áâì â ª¦¥ ¯àאַ© ¤®áâ㯠(¡¥§ ¢ë§®¢®¢ á¨á⥬ëå
äãªæ¨©) ç¥à¥§ ᥫ¥ªâ®à gs. à ¬¥âàë ⥪ã饣® ¢¨¤¥®à¥¦¨¬
¬®¦® ¯®«ãç¨âì äãªæ¨¥© 61.
======================================================================
=============== ãªæ¨ï 36 - ¯à®ç¨â âì ®¡« áâì íªà . ===============
======================================================================
à ¬¥âàë:
* eax = 36 - ®¬¥à äãªæ¨¨
* ebx = 㪠§ â¥«ì ¯à¥¤¢ à¨â¥«ì® ¢ë¤¥«¥ãî ®¡« áâì ¯ ¬ïâ¨,
ªã¤ ¡ã¤¥â ¯®¬¥é¥® ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR...
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
¬¥ç ¨ï:
* ®®à¤¨ âë ®¡« á⨠- íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫
®¡« á⨠®â®á¨â¥«ì® íªà .
* §¬¥à ¨§®¡à ¦¥¨ï ¢ ¡ ©â å ¥áâì 3*xsize*ysize.
======================================================================
==================== ãªæ¨ï 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 = 7 - ®¬¥à ¯®¤äãªæ¨¨
®§¢à é ¥¬®¥ § 票¥:
* 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 (á¬. ᯨ᮪ ᮡë⨩)
(ãáâ ®¢«¥ë© ¡¨â à §à¥è ¥â ¨§¢¥é¥¨¥ ® ᮡë⨨)
®§¢à é ¥¬®¥ § 票¥:
* eax = ¯à¥¤ë¤ã饥 § 票¥ ¬ ᪨
¬¥ç ¨ï:
* ᪠¯® 㬮«ç ¨î (7=111b) à §à¥è ¥â ¨§¢¥é¥¨ï ® ¯¥à¥à¨á®¢ª¥
¨ ¦ â¨ïå ª« ¢¨è ¨ ª®¯®ª.
⮣® ¤®áâ â®ç® ¤«ï ¡®«ìè¨á⢠¯à¨«®¦¥¨©.
* ®¡ëâ¨ï, § ¯à¥éñë¥ ¢ ¬ ᪥, ¢áñ à ¢® á®åà ïîâáï, ¥á«¨
¯à¨å®¤ïâ; ® ¨å ¯à®áâ® ¥ ¨§¢¥é îâ äãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨.
* ãªæ¨¨ à ¡®âë á ᮡëâ¨ï¬¨ ãç¨âë¢ îâ ¬ áªã ¬®¬¥â
¢ë§®¢ äãªæ¨¨, ¥ ¬®¬¥â ¯®áâ㯫¥¨ï á®®¡é¥¨ï.
======================================================================
=================== ãªæ¨ï 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 - íâ® § ç¨â¥«ì®
¡ëáâ॥ ¨ ¥áª®«ìª® ª®à®ç¥ ¨ ¯à®é¥. § ¥§ १¥à¢¨à®¢ ëå
¯®à⮢ ç¨â âì ¢áñ à ¢® ¥«ì§ï.
======================================================================
= ãªæ¨ï 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/qword-ç¨á«®
* bh = 0 - ®â®¡à ¦ âì ¢ ¤¥áïâ¨ç®© á¨á⥬¥ áç¨á«¥¨ï
* bh = 1 - ®â®¡à ¦ âì ¢ è¥áâ ¤æ â¥à¨ç®© á¨á⥬¥
* bh = 2 - ®â®¡à ¦ âì ¢ ¤¢®¨ç®© á¨á⥬¥
* ¡¨âë 16-21 = ᪮«ìª® æ¨äà ®â®¡à ¦ âì
* ¡¨âë 22-29 § १¥à¢¨à®¢ ë ¨ ¤®«¦ë ¡ëâì ãáâ ®¢«¥ë ¢ 0
* ¡¨â 30 ãáâ ®¢«¥ = ¢ë¢®¤¨âì qword (64-¡¨â®¥ ç¨á«®);
¯à¨ í⮬ ¤®«¦® ¡ëâì bl = 1
* ¡¨â 31 ãáâ ®¢«¥ = ¥ ¢ë¢®¤¨âì ¢¥¤ã騥 㫨 ç¨á«
* ecx = ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ ⥫ì (¯à¨ bl=1)
* edx = [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y]
* esi = 0xX0RRGGBB:
* RR, GG, BB § ¤ îâ 梥â
* X = ABnn (¡¨âë)
* nn = èà¨äâ (0/1)
* A ¨£®à¨àã¥âáï
* B=1 - § ªà 訢 âì ä® æ¢¥â®¬ edi
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
¬¥ç ¨ï:
* ª § ï ¤«¨ ¥ ¤®«¦ ¯à¥¢®á室¨âì 60.
* 뢮¤¨âáï ஢® 㪠§ ®¥ ª®«¨ç¥á⢮ æ¨äà.
᫨ ç¨á«® ¬ «® ¨
¬®¦¥â ¡ëâì § ¯¨á ® ¬¥ì訬 ª®«¨ç¥á⢮¬ æ¨äà, ®® ¤®¯®«ï¥âáï
¢¥¤ã騬¨ ã«ï¬¨; ¥á«¨ ç¨á«® ¢¥«¨ª® ¨ ¥ ¬®¦¥â ¡ëâì § ¯¨á ®
â ª¨¬ ª®«¨ç¥á⢮¬ æ¨äà, "«¨è¨¥" ¢¥¤ã騥 æ¨äàë ®¡à¥§ îâáï.
* à ¬¥âàë èà¨ä⮢ 㪠§ ë ¢ ®¯¨á ¨¨ äãªæ¨¨ 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 = 㪠§ â¥«ì ¨¬ï ä ©« ᪨
®§¢à é ¥¬®¥ § 票¥:
* eax = 0 - ãᯥè®
* eax = 1 - ¥ 㤠«®áì § £à㧨âì ä ©«
* eax = 2 - ä ©« ¥ ï¥âáï ä ©«®¬ ᪨
¬¥ç ¨ï:
* ਠãᯥ让 § £à㧪¥ ᪨ ¢á¥ ®ª ¨§¢¥é îâáï ® ¥®¡å®¤¨¬®áâ¨
¯¥à¥à¨á®¢ª¨ (ᮡë⨥ 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 = «®ª «ìë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®),
ecx = 0 - ¯à¥¤®áâ ¢¨âì á¨á⥬¥ ¢ë¡®à «®ª «ì®£® ¯®àâ
* 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 = ç¨á«® ¯®«ãç¥ëå ¡ ©â, 0 ¤«ï ¥¢¥à®£® åí¤«
* 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 = 0 - ãᯥè®
* ebx à §àãè ¥âáï
¬¥ç ¨ï:
* ¨á«® ¡ ©â ¤«ï § ¯¨á¨ ¥ ¬®¦¥â ¯à¥¢ëè âì 1500-28, å®âï
ᮮ⢥âáâ¢ãî饩 ¯à®¢¥àª¨ ¥ ¤¥« ¥âáï.
======================================================================
============ ãªæ¨ï 53, ¯®¤äãªæ¨ï 5 - ®âªàëâì TCP-᮪¥â. ===========
======================================================================
à ¬¥âàë:
* eax = 53 - ®¬¥à äãªæ¨¨
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = «®ª «ìë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®),
ecx = 0 - ¯à¥¤®áâ ¢¨âì á¨á⥬¥ ¢ë¡®à «®ª «ì®£® ¯®àâ
* edx = 㤠«ñë© ¯®àâ (ãç¨âë¢ ¥âáï ⮫쪮 ¬« ¤è¥¥ á«®¢®)
* esi = 㤠«ñë© IP
* edi = ०¨¬ ®âªàëâ¨ï: SOCKET_PASSIVE=0 ¨«¨ SOCKET_ACTIVE=1
®§¢à é ¥¬®¥ § 票¥:
* eax = -1 = 0xFFFFFFFF - ®è¨¡ª ; ebx à §àãè ¥âáï
* eax = åí¤« ᮪¥â (¥ª®â®à®¥ ç¨á«®, ®¤®§ ç® ¨¤¥â¨ä¨æ¨àãî饥
᮪¥â ¨ ¨¬¥î饥 á¬ë᫠⮫쪮 ¤«ï á¨á⥬ë) - ãᯥè®;
ebx à §àãè ¥âáï
======================================================================
====== ãªæ¨ï 53, ¯®¤äãªæ¨ï 6 - ¯®«ãç¨âì á®áâ®ï¨¥ TCP-᮪¥â . =====
======================================================================
à ¬¥âàë:
* eax = 53 - ®¬¥à äãªæ¨¨
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = åí¤« ᮪¥â
®§¢à é ¥¬®¥ § 票¥:
* eax = 0 ¤«ï ¥¢¥à®£® ᮪¥â ¨«¨ áâ âãá: ®¤® ¨§
* TCB_LISTEN = 1
* TCB_SYN_SENT = 2
* TCB_SYN_RECEIVED = 3
* TCB_ESTABLISHED = 4
* TCB_FIN_WAIT_1 = 5
* TCB_FIN_WAIT_2 = 6
* TCB_CLOSE_WAIT = 7
* TCB_CLOSING = 8
* TCB_LAST_ASK = 9
* TCB_TIME_WAIT = 10
* TCB_CLOSED = 11
* ebx à §àãè ¥âáï
======================================================================
========== ãªæ¨ï 53, ¯®¤äãªæ¨ï 7 - § ¯¨á âì ¢ TCP-᮪¥â. ==========
======================================================================
à ¬¥âàë:
* eax = 53 - ®¬¥à äãªæ¨¨
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = åí¤« ᮪¥â
* edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨
* esi = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨
®§¢à é ¥¬®¥ § 票¥:
* eax = 0xffffffff - ®è¨¡ª (¥¢¥àë© åí¤« ¨«¨ ¥¤®áâ â®ç® ¯ ¬ïâ¨)
* eax = 0 - ãᯥè®
* ebx à §àãè ¥âáï
¬¥ç ¨ï:
* ¨á«® ¡ ©â ¤«ï § ¯¨á¨ ¥ ¬®¦¥â ¯à¥¢ëè âì 1500-40,
å®âï ᮮ⢥âáâ¢ãî饩 ¯à®¢¥àª¨ ¥ ¤¥« ¥âáï.
======================================================================
============ ãªæ¨ï 53, ¯®¤äãªæ¨ï 8 - § ªàëâì TCP-᮪¥â. ===========
======================================================================
à ¬¥âàë:
* eax = 53 - ®¬¥à äãªæ¨¨
* ebx = 8 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = åí¤« ᮪¥â
®§¢à é ¥¬®¥ § 票¥:
* eax = -1 - ®è¨¡ª (¥¢¥àë© åí¤« ¨«¨
¥¤®áâ â®ç® ¯ ¬ï⨠¤«ï ¯ ª¥â § ªàëâ¨ï ᮪¥â )
* eax = 0 - ãᯥè®
* 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 = ç¨á«® ¯à®ç¨â ëå ¡ ©â (0 ¯à¨ ¥¢¥à®¬ åí¤«¥)
* 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, ¯®¤äãªæ¨ï 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.
* ãªæ¨ï ¢®§¢à é ¥â ã¯à ¢«¥¨¥, á®®¡é¨¢ ªã¤ á«¥¤ã¥â ¨ä®à¬ æ¨î
® § ¯à®á¥. ¬® ¯à®¨£àë¢ ¨¥ ¨¤ñâ ¥§ ¢¨á¨¬® ®â ¯à®£à ¬¬ë.
* ë¥ ¤®«¦ë á®åà ïâìáï ¢ ¯ ¬ï⨠¯® ªà ©¥© ¬¥à¥
¤® ª®æ ¯à®¨£àë¢ ¨ï.
======================================================================
======================= ãªæ¨ï 57 - PCI BIOS. =======================
======================================================================
à ¬¥âàë:
* eax = 57 - ®¬¥à äãªæ¨¨
* ebp ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¢ ᯥæ¨ä¨ª 樨 PCI BIOS
* ®áâ «ìë¥ à¥£¨áâàë - ¯® ᯥæ¨ä¨ª 樨 PCI BIOS
®§¢à é ¥¬®¥ § 票¥:
* CF ¥ ®¯à¥¤¥«ñ
* ®áâ «ìë¥ à¥£¨áâàë - ¯® ᯥæ¨ä¨ª 樨 PCI BIOS
¬¥ç ¨ï:
* ®£¨å १ã«ìâ ⮢ í⮩ äãªæ¨¨ ¬®¦® â ª¦¥ ¤®¡¨âìáï ¢ë§®¢®¬
ᮮ⢥âáâ¢ãîé¨å ¯®¤äãªæ¨© äãªæ¨¨ 62.
* ãªæ¨ï ¢ë§ë¢ ¥â à áè¨à¥¨¥ PCI32 BIOS, ¤®ªã¬¥â¨à®¢ ®¥,
¯à¨¬¥à, ¢ http://alpha1.dyns.net/files/PCI/bios21.pdf.
*
᫨ BIOS ¥ ¯®¤¤¥à¦¨¢ ¥â íâ® à áè¨à¥¨¥, ¯®¢¥¤¥¨¥ äãªæ¨¨
í¬ã«¨àã¥âáï (ç¥à¥§ «®£¨ ¯®¤äãªæ¨© äãªæ¨¨ 62 ०¨¬ ï¤à ).
======================================================================
============== ãªæ¨ï 58 - à ¡®â á ä ©«®¢®© á¨á⥬®©. ==============
======================================================================
à ¬¥âàë:
* 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 = ç¨á«® ¡¨â ¯¨ªá¥«ì, ¤®«¦® ¡ëâì 1,2,4,8,15,16,24 ¨«¨ 32
* edi = 㪠§ â¥«ì ¯ «¨âàã (2 ¢ á⥯¥¨ esi 梥⮢ 0x00RRGGBB);
¨£®à¨àã¥âáï ¯à¨ esi > 8
* ebp = ᬥ饨¥ ¤ ëå ª ¦¤®© á«¥¤ãî饩 áâப¨ ¨§®¡à ¦¥¨ï
®â®á¨â¥«ì® ¯à¥¤ë¤ã饩
®§¢à é ¥¬®¥ § 票¥:
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
¬¥ç ¨ï:
* ®®à¤¨ âë ¨§®¡à ¦¥¨ï - íâ® ª®®à¤¨ âë ¢¥à奣® «¥¢®£® 㣫
¨§®¡à ¦¥¨ï ®â®á¨â¥«ì® ®ª .
* ®à¬ â ¨§®¡à ¦¥¨ï á 1 ¡¨â®¬ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï,
§ ¨áª«î票¥¬, ¡ëâì ¬®¦¥â, ¯®á«¥¤¨å ¡ ©â®¢ áâப, ᮤ¥à¦¨â
¨ä®à¬ æ¨î ® 梥⥠8 ¯¨ªá¥«¥©, áâ à訩 ¡¨â ᮮ⢥âáâ¢ã¥â ¯¥à¢®¬ã
¯¨ªá¥«î.
* ®à¬ â ¨§®¡à ¦¥¨ï á 2 ¡¨â ¬¨ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï,
§ ¨áª«î票¥¬, ¡ëâì ¬®¦¥â, ¯®á«¥¤¨å ¡ ©â®¢ áâப, ᮤ¥à¦¨â
¨ä®à¬ æ¨î ® 梥⥠4 ¯¨ªá¥«¥©, áâ à訥 ¤¢ ¡¨â ᮮ⢥âáâ¢ãîâ
¯¥à¢®¬ã ¯¨ªá¥«î.
* ®à¬ â ¨§®¡à ¦¥¨ï á 4 ¡¨â ¬¨ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï,
§ ¨áª«î票¥¬ ¯®á«¥¤¨å ¡ ©â®¢ áâப (¥á«¨ è¨à¨ ¨§®¡à ¦¥¨ï
¥çñâ ), ᮤ¥à¦¨â ¨ä®à¬ æ¨î ® 梥⥠2 ¯¨ªá¥«¥©, áâ àè ï â¥âà ¤
ᮮ⢥âáâ¢ã¥â ¯¥à¢®¬ã ¯¨ªá¥«î.
* ®à¬ â ¨§®¡à ¦¥¨ï á 8 ¡¨â ¬¨ ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥¨ï
à áᬠâਢ ¥âáï ª ª ¨¤¥ªá ¢ ¯ «¨âà¥.
* ®à¬ â ¨§®¡à ¦¥¨ï á 15 ¡¨â ¬¨ ¯¨ªá¥«ì: 梥⠪ ¦¤®£® ¯¨ªá¥«ï
ª®¤¨àã¥âáï ª ª (¢ ¡¨â®¢®¬ ¯à¥¤áâ ¢«¥¨¨) 0RRRRRGGGGGBBBBB -
¯® 5 ¯¨ªá¥«¥© ª ¦¤ë© 梥â.
* ®à¬ â ¨§®¡à ¦¥¨ï á 16 ¡¨â ¬¨ ¯¨ªá¥«ì: 梥⠪ ¦¤®£® ¯¨ªá¥«ï
ª®¤¨àã¥âáï ª ª RRRRRGGGGGGBBBBB (á奬 5+6+5).
* ®à¬ â ¨§®¡à ¦¥¨ï á 24 ¡¨â ¬¨ ¯¨ªá¥«ì: 梥⠪ ¦¤®£® ¯¨ªá¥«ï
ª®¤¨àã¥âáï âà¥¬ï ¡ ©â ¬¨ - ¯®á«¥¤®¢ â¥«ì® á¨ïï, §¥«ñ ï, ªà á ï
á®áâ ¢«ïî騥 梥â .
* ®à¬ â ¨§®¡à ¦¥¨ï á 32 ¡¨â ¬¨ ¯¨ªá¥«ì: «®£¨ç® 24, ⮫쪮
¥áâì ¥éñ ¨£®à¨àã¥¬ë© ç¥â¢ñàâë© ¡ ©â.
* 맮¢ äãªæ¨¨ 7 íª¢¨¢ «¥â¥ ¢ë§®¢ã í⮩ äãªæ¨¨ á ¯ à ¬¥âà ¬¨
esi=24, ebp=0.
======================================================================
================= ãªæ¨ï 66 - à ¡®â á ª« ¢¨ âãன. =================
======================================================================
¥¦¨¬ ¢¢®¤ ¢«¨ï¥â १ã«ìâ âë çâ¥¨ï ª« ¢¨è äãªæ¨¥© 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 = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¨ä®à¬ 樨 (24 ¡ ©â )
®§¢à é ¥¬®¥ § 票¥:
* eax à §àãè ¥âáï
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ecx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î:
* +0: dword: ¨¤¥â¨ä¨ª â®à ¯®á«¥¤ãîé¨å ¤ ëå ᨣ «
* +4: ¤ ë¥ ¯à¨ï⮣® ᨣ « (20 ¡ ©â), ä®à¬ â ª®â®àëå
®¯à¥¤¥«ï¥âáï ¯¥à¢ë¬ dword-®¬
======================================================================
=========== ãªæ¨ï 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, ¯®¤äãªæ¨ï 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.
* ®¤¥à¦¨¬®¥ ¯ ¬ï⨠¢¯«®âì ¤® ¨¬¥ì襣® ¨§ áâ ண® ¨ ®¢®£®
à §¬¥à®¢ á®åà ï¥âáï.
======================================================================
=== ãªæ¨ï 68, ¯®¤äãªæ¨ï 22 - ®âªàëâì ¨¬¥®¢ ãî ®¡« áâì ¯ ¬ïâ¨. ==
======================================================================
à ¬¥âàë:
* eax = 68 - ®¬¥à äãªæ¨¨
* ebx = 22 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ¨¬ï ®¡« áâ¨. ªá¨¬ã¬ 31 ᨬ¢®«, ¢ª«îç ï § ¢¥àè î騩 ®«ì
* edx = à §¬¥à ®¡« á⨠¢ ¡ ©â å ¤«ï SHM_CREATE ¨ SHM_OPEN_ALWAYS
* esi = ä« £¨ ®âªàëâ¨ï ¨ ¤®áâ㯠:
* SHM_OPEN = 0x00 - ®âªàëâì áãé¥áâ¢ãîéãî ®¡« áâì ¯ ¬ïâ¨.
᫨ ®¡« áâì á â ª¨¬ ¨¬¥¥¬ ¥ áãé¥áâ¢ã¥â,
äãªæ¨ï ¢¥àñâ ª®¤ ®è¨¡ª¨ 5.
* SHM_OPEN_ALWAYS = 0x04 - ®âªàëâì áãé¥áâ¢ãîéãî ¨«¨ ᮧ¤ âì ®¢ãî
®¡« áâì ¯ ¬ïâ¨.
* SHM_CREATE = 0x08 - ᮧ¤ âì ®¢ãî ®¡« áâì ¯ ¬ïâ¨.
᫨ ®¡« áâì á â ª¨¬ ¨¬¥¥¬ 㦥 áãé¥áâ¢ã¥â,
äãªæ¨ï ¢¥àñâ ª®¤ ®è¨¡ª¨ 10.
* SHM_READ = 0x00 - ¤®áâ㯠⮫쪮 ç⥨¥
* SHM_WRITE = 0x01 - ¤®áâ㯠ç⥨¥ ¨ § ¯¨áì
®§¢à é ¥¬®¥ § 票¥:
* eax = 㪠§ â¥«ì ®¡« áâì ¯ ¬ïâ¨, 0 ¯à¨ ®è¨¡ª¥
* ¯à¨ ᮧ¤ ¨¨ ®¢®© ®¡« á⨠(SHM_CREATE ¨«¨ SHM_OPEN_ALWAYS):
edx = 0 - ãᯥå, ¨ ç¥ - ª®¤ ®è¨¡ª¨
* ¯à¨ ®âªàë⨨ áãé¥áâ¢ãî饩 ®¡« á⨠(SHM_OPEN ¨«¨ SHM_OPEN_ALWAYS):
edx = ª®¤ ®è¨¡ª¨ (¯à¨ eax=0) ¨«¨ à §¬¥à ®¡« á⨠¢ ¡ ©â å
®¤ë ®è¨¡®ª:
* E_NOTFOUND = 5
* E_ACCESS = 10
* E_NOMEM = 30
* E_PARAM = 33
¬¥ç ¨ï:
* ।¢ à¨â¥«ì® á«¥¤ã¥â ¨¨æ¨ «¨§¨à®¢ âì ªãçã ¯à®æ¥áá ¢ë§®¢®¬
¯®¤äãªæ¨¨ 11.
*
᫨ ᮧ¤ ñâáï ®¢ ï ®¡« áâì, â® ä« £¨ ¤®áâ㯠ãáâ ¢«¨¢ îâ
¬ ªá¨¬ «ìë¥ ¯à ¢ ¤®áâ㯠¤«ï ®áâ «ìëå ¯à®æ¥áᮢ. ®¯ëâª
®âªàëâ¨ï ¤à㣨¬ ¯®â®ª®¬ á ¥à §à¥èñ묨 ¯à ¢ ¬¨ ¯à®¢ «¨âáï
á ª®¤®¬ ®è¨¡ª¨ E_ACCESS.
* à®æ¥áá, ᮧ¤ ¢è¨© ®¡« áâì, ¢á¥£¤ ¨¬¥¥â ¤®áâ㯠§ ¯¨áì.
======================================================================
=== ãªæ¨ï 68, ¯®¤äãªæ¨ï 23 - § ªàëâì ¨¬¥®¢ ãî ®¡« áâì ¯ ¬ïâ¨. ==
======================================================================
à ¬¥âàë:
* eax = 68 - ®¬¥à äãªæ¨¨
* ebx = 23 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ¨¬ï ®¡« áâ¨. ªá¨¬ã¬ 31 ᨬ¢®«, ¢ª«îç ï § ¢¥àè î騩 ®«ì
®§¢à é ¥¬®¥ § 票¥:
* eax à §àãè ¥âáï
¬¥ç ¨ï:
* ¡« áâì ¯ ¬ï⨠䨧¨ç¥áª¨ ®á¢®¡®¦¤ ¥âáï (á § ¡ë¢ ¨¥¬ ¢á¥å ¤ ëå
¨ ¢ë᢮¡®¦¤¥¨¥¬ 䨧¨ç¥áª®© ¯ ¬ïâ¨), ª®£¤ ¥ñ § ªà®îâ
¢á¥ ®âªàë¢è¨¥ ¯®â®ª¨.
* ਠ§ ¢¥à襨¨ ¯®â®ª ®á¢®¡®¦¤ îâáï ¢á¥ ®âªàëâë¥ ¨¬
®¡« á⨠¯ ¬ïâ¨.
======================================================================
==== ãªæ¨ï 68, ¯®¤äãªæ¨ï 24 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票©. ===
======================================================================
à ¬¥âàë:
* eax = 68 - ®¬¥à äãªæ¨¨
* ebx = 24 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ¤à¥á ®¢®£® ®¡à ¡®â稪 ¨áª«î票©
* edx = ¬ ᪠®¡à ¡ âë¢ ¥¬ëå ¨áª«î票©
®§¢à é ¥¬®¥ § 票¥:
* eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票© (0, ¥á«¨ ¥ ãáâ ®¢«¥)
* ebx = ¬ ᪠áâ ண® ®¡à ¡®â稪 ¨áª«î票©
¬¥ç ¨ï:
* ®¬¥à ¡¨â ¢ ¬ ᪥ ¨áª«î票© ᮮ⢥âáâ¢ã¥â ®¬¥à㠨᪫îç¥¨ï ¯®
ᯥæ¨ä¨ª 樨 ¯à®æ¥áá®à (Intel-PC). ª, ¯à¨¬¥à, ¨áª«î票ï
FPU ¨¬¥îâ ®¬¥à 16 (#MF), SSE - 19 (#XF).
* ¤ ®© ॠ«¨§ 樨 ¨£®à¨àã¥âáï § ¯à®á ¯¥à¥å¢ ⠨᪫î票ï 7
- á¨á⥬ ®¡à ¡ âë¢ ¥â #NM á ¬®áâ®ï⥫ì®.
* ®«ì§®¢ ⥫ì᪨© ®¡à ¡®â稪 ¯®«ãç ¥â ®¬¥à ¨áª«îç¥¨ï ¯ à ¬¥â஬
¢ á⥪¥. ®íâ®¬ã ¯à ¢¨«ìë© ¢ë室 ¨§ ®¡à ¡®â稪 : RET 4. ®§¢à â
¯à¨ í⮬ ¯à®¨§¢®¤¨âáï ª®¬ ¤ã, ¢ë§¢ ¢èãî ¨áª«î票¥.
* ਠ¯¥à¥¤ ç¥ ã¯à ¢«¥¨ï ®¡à ¡®â稪㠨᪫î票© á¡à áë¢ ¥âáï
ᮮ⢥âáâ¢ãî騩 ¡¨â ¢ ¬ ᪥ ¨áª«î票©. ®§¨ª®¢¥¨¥ í⮣® ¦¥
¨áª«îç¥¨ï ¢¯®á«¥¤á⢨¨ ¯à¨¢¥¤ñâ ª 㬮«ç «ì®© ®¡à ¡®âª¥ â ª®¢®£®.
¨¬¥®: ª § ¢¥à襨î à ¡®âë ¯à¨«®¦¥¨ï ¢ ®âáãâá⢨¨ ®â« ¤ç¨ª ,
¯à¨®áâ ®¢ª á 㢥¤®¬«¥¨¥¬ ®â« ¦¨¢ î饣® ¯à¨«®¦¥¨ï ¨ ç¥.
* ®á«¥ § ¢¥àè¥¨ï ªà¨â¨ç¥áª¨å ¤¥©á⢨© ¢ ®¡à ¡®â稪¥ ¯®«ì§®¢ ⥫ï
¢®ááâ ®¢«¥¨¥ ¡¨â ¬ ᪨ ¤ ®£® ¨áª«îç¥¨ï ¬®¦® ᤥ« âì
¯®¤äãªæ¨¥© 25. ¡à®á ä« £®¢ ¨áª«î票© ¢ ¬®¤ã«ïå FPU ¨ XMM â ª¦¥
¢®§« £ ¥âáï ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ï.
======================================================================
= ãªæ¨ï 68, ¯®¤äãªæ¨ï 25 - ¨§¬¥¨âì á®áâ®ï¨¥ ªâ¨¢®á⨠ᨣ « . =
======================================================================
à ¬¥âàë:
* eax = 68 - ®¬¥à äãªæ¨¨
* ebx = 25 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ®¬¥à ᨣ «
* edx = § 票¥ ãáâ ¢«¨¢ ¥¬®© ªâ¨¢®á⨠(0/1)
®§¢à é ¥¬®¥ § 票¥:
* eax = -1 - § ¤ ¥¢¥àë© ®¬¥à ᨣ «
* ¨ ç¥ eax = áâ ஥ § 票¥ ªâ¨¢®á⨠ᨣ « (0/1)
¬¥ç ¨ï:
* ⥪ã饩 ॠ«¨§ 樨 ¨§¬¥ï¥âáï ⮫쪮 ¬ ᪠¯®«ì§®¢ ⥫ì᪮£®
®¡à ¡®â稪 ¨áª«î票©, ãáâ ®¢«¥®£® ¯®¤äãªæ¨¥© 24. ਠí⮬
®¬¥à ᨣ « ᮮ⢥âáâ¢ã¥â ®¬¥à㠨᪫î票ï.
======================================================================
======================== ãªæ¨ï 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)
* /SYS - ®¯à¥¤¥«ï¥â á¨á⥬ãî ¯ ¯ªã; ¯à¨ ®¡ë箩 § £à㧪¥ á¨á⥬ë
á ¤¨áª¥âë íª¢¨¢ «¥â® /RD/1
ਬ¥àë:
* '/rd/1/kernel.asm',0
* '/HD0/1/kernel.asm',0
* '/hd0/2/menuet/pics/tanzania.bmp',0
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
* '/sys/MySuperApp.ini',0
ª¦¥ äãªæ¨ï ¯®¤¤¥à¦¨¢ ¥â ®â®á¨â¥«ìë¥ ¨¬¥ .
᫨ ¯ãâì ç¨ ¥âáï
¥ á '/', â® ® áç¨â ¥âáï ®â®á¨â¥«ì® ⥪ã饩 ¯ ¯ª¨. ®«ãç¨âì ¨«¨
ãáâ ®¢¨âì ⥪ãéãî ¯ ¯ªã ¬®¦® á ¯®¬®éìî á¨áäãªæ¨¨ 30.
®áâã¯ë¥ ¯®¤äãªæ¨¨:
* ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©«
* ¯®¤äãªæ¨ï 1 - ç⥨¥ ¯ ¯ª¨
* ¯®¤äãªæ¨ï 2 - ᮧ¤ ¨¥/¯¥à¥§ ¯¨áì ä ©«
* ¯®¤äãªæ¨ï 3 - § ¯¨áì ¢ áãé¥áâ¢ãî騩 ä ©«
* ¯®¤äãªæ¨ï 4 - ãáâ ®¢ª à §¬¥à ä ©«
* ¯®¤äãªæ¨ï 5 - ¯®«ã票¥ âਡã⮢ ä ©« /¯ ¯ª¨
* ¯®¤äãªæ¨ï 6 - ãáâ ®¢ª âਡã⮢ ä ©« /¯ ¯ª¨
* ¯®¤äãªæ¨ï 7 - § ¯ã᪠¯à®£à ¬¬ë
* ¯®¤äãªæ¨ï 8 - 㤠«¥¨¥ ä ©« /¯ ¯ª¨
* ¯®¤äãªæ¨ï 9 - ᮧ¤ ¨¥ ¯ ¯ª¨
«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á ¯¯ à â묨 ®£à ¨ç¥¨ï¬¨ ¤®áâã¯ë
⮫쪮 ¯®¤äãªæ¨¨ 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤äãªæ¨© § ¢¥àè¨âáï
®è¨¡ª®© á ª®¤®¬ 2.
ਠ¯¥à¢®¬ ®¡à 饨¨ ¯®¤äãªæ¨© 0,1,5,7 ª ãáâனá⢠¬ ATAPI
(CD ¨ DVD) ¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï ¬¥å ¨§¬®¬
«®âª . â® á¢ï§ ® á ªíè¨à®¢ ¨¥¬ ¤ ëå, ¯®«ãç¥ëå ®â ¯à¨¢®¤ .
§¡«®ª¨à®¢ª ®áãé¥á⢫ï¥âáï ¯à¨ ®¡à 饨¨ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 24
ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
======================================================================
= ãªæ¨ï 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.
======================================================================
================ ãªæ¨ï 72 - ¯®á« âì á®®¡é¥¨¥ ®ªã. ================
======================================================================
--- ®¤äãªæ¨ï 1 - ¯®á« âì á®®¡é¥¨¥ á ¯ à ¬¥â஬ ªâ¨¢®¬ã ®ªã. ----
à ¬¥âàë:
* eax = 72 - ®¬¥à äãªæ¨¨
* ebx = 1 - ®¬¥à ¯®¤äãªæ¨¨
* ecx = ª®¤ ᮡëâ¨ï: 2 ¨«¨ 3
* edx = ª®¤ ª« ¢¨è¨ ¤«ï ecx=2, ¨¤¥â¨ä¨ª â®à ª®¯ª¨ ¤«ï ecx=3
®§¢à é ¥¬®¥ § 票¥:
* eax = 0 - ãᯥè®
* eax = 1 - ¡ãä¥à § ¯®«¥
======================================================================
========== ãªæ¨ï -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 = ᫨誮¬ ¬®£® ¯à®æ¥áᮢ