>                                                     ¢z¢{¢z¢{¡Û
> ¡i ¢·¢¯¢²¢·¢µ «OÅ@¼Ò¦¡Â²¤¶¥| ¡j                     ¢}¢|¢}¢|¢}
> ==========================================================================
> «e¨¥¡G
>     ¥»¶°ªº¤º®e¥D­n¬O¥Ñ²Ä¤T¶°§ï¶i¸ÑÄÀªº¤è¦¡ ,­«·s¦A¤¶²Ð¤@¸ V86 Äd I/O ªº
> °Ê§@ ,¦]¬°¦n¹³¦³¤£¤Ö¤H¹ï©ó²Ä¤T¶°ªº¸ÑÄÀ¤è¦¡¤@ª¾¥b¸Ñ....¥i¯à¬O§Ú¼gªºÁÙ¤£¬O
> «Ü¦n§a ,©Ò¥H­«¼g¤@¦¸¡C
> 
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢{
> ¢x80386 ¼È¦s¾¹¤¶²Ð¢x
> ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢}
> 
>     80386 ªº¼È¦s¾¹°£¤FÂX¥R¦¨ 32 ¦ì¤¸¥H¥~ ,¥ç¼W¥[¤F³\¦h·sªº¼È¦s¾¹ ,°£¤F¤@¯ë
> ¨Ï¥ÎªÌ¼È¦s¾¹(AX.BX....SI.DI)¦U¦ì¤w¸g¤F¸Ñ¥H¥~ ,¤]¼W¥[¤F¨t²Î¼È¦s¾¹¡B¥H¤ÎÂX¥R
> ªººX¼Ð ¼È¦s¾¹....µ¥µ¥¡C
> 
> 
> ¢Ï¡D¨Ï¥ÎªÌ¼È¦s¾¹   ¡÷ EAX.EBX.ECX.EDX.ESI,EDI.EBP.ESP
> 
> ¢Ð¡D«ü¥O«ü¼Ð¼È¦s¾¹ ¡÷ CS.EIP ¨â­Ó¼È¦s¾¹
> 
> ¢Ñ¡D°Ï¬q¼È¦s¾¹     ¡÷ CS.SS.DS.ES.FS.GS
>     ÁöµM 80386 ¤w¸g¶i¤J 32 ¦ì¤¸®É¥N ,¦ý¬O³o´X­Ó¼È¦s¾¹¤´¬O 16 ¦ì¤¸ªº ,¥B¦h
>     ¤F FS.GS ¨â­Ó¼È¦s¾¹ ,³o¨â­Ó¼È¦s¾¹¨ÃµL¯S®í·N¸q ,¦U¦ì¥i¥H§â¥¦·í°µ DS.ES
>     ¨Ó¬Ý«Ý¡C
> 
> ¢Ò¡D¨t²Î¼È¦s¾¹
>     A. ±±¨î¼È¦s¾¹:¥]§t CR0.CR2.CR3 ¤T­Ó ,¦U¦ì¥i¯à¬Ý¨ìº|¤F¤@­Ó CR1 ,­ì¦]¬O
>        386.486.586 ³£¨S¦³¦¹¼È¦s¾¹
>     B. °£¿ù¼È¦s¾¹:¥]§t DR0.DR1.DR2.DR3.DR6.DR7 ¦@¤»­Ó ,¤]¬Oº|¤F DR4.DR5 ¨â
>        ­Ó ,­ì¦]¦P¤W
>     C. «OÅ@¼Ò¦¡¤À¬q±±¨î:IDT.GDT.LDT.TR
> 
> µù:¦Û 586 °_·s¼W CR4.DR4.DR5 ¨t²Î¼È¦s¾¹
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢{
> ¢x¤u§@¤Á´«¢x
> ¢|¢w¢w¢w¢w¢}
> 
>     ·í±z³]©w¬Y¨Ç¨t²Î¼È¦s¾¹¥H«á ,¹q¸£¨Ã¤£·|°¨¤W¤ÏÀ³©Ò³]©wªº¤u§@ ,¥²»Ý³z¹L¤u
> §@¤Á´«ªº°Ê§@¤~·|°_°Ê ,³o­Ó¤u§@¤Á´««ÜÃø¥Î¤å¦rªí¹F ,µ§ªÌ»{¬°¤u§@¤Á´«´N¬Oµ¥¯Å
> ¤Á´«ªº°Ê§@¡C¥i³y¦¨¤u§@¤Á´«ªº«ü¥O¥]§t INT_X ¡BJMP TSS°Ï¬q...µ¥ ,¨ä¤¤ INT_X
> ¬O«ü¦b V86¤Uªºµ{¦¡­Yµo¥Í¤¤Â_ ,¹q¸£·|¦Û°Ê¤Á´«¦Ü«OÅ@¼Ò¦¡ ,¨Ã©I¥s«OÅ@¼Ò¦¡¤Uªº
> ¤¤Â_³B²zµ{¦¡ ,¦A¥Ñ«OÅ@¼Ò¦¡¤Uªºµ{¦¡¨M©w¬O§_©I¥s­ì¨Ó V86  ¤Uªº¤¤Â_¦V¶qªí ,¦Ó
> ³o¤Á´«¨ì«OÅ@¼Ò¦¡¡B¦A¤Á¦^ V86 ¤U , ¦@µo¥Í¨â¦¸¤u§@¤Á´«......
> 
> ¢z¢w¢w¢{
> ¢xµ¥¯Å¢x
> ¢|¢w¢w¢}
> 
>     «OÅ@¼Ò¦¡¤U ,µ¥¯Å¦@¦³ 0.1.2.3 ¥|­Óµ¥¯Å ,¨ä¤¤²Ä0¯Åµ¥¯Å³Ì°ª ,²Ä3¯Å³Ì§C ,
> ¦Ó0¯Å¦]¬°¬O³Ì°ªµ¥¯Å ,¦]¦¹¤]¦³¤HºÙ¬°¡u¯SÅvµ¥¯Å¡v ,¦ÓÀ³¥Îµ{¦¡ªºµ¥¯Å¬°¦h¤Ö©O?
> ³oªí¥Ü¦b EFLAG ªº IOPL (BIT12.13) ¸Ì ,¦b V86 ¤Uªºµ¥¯Å¦h¥b¬O³Ì§Cªº²Ä3¯Å ,©Ò
> ¥H¦¹­È¬° '11'¡C
> 
>     ©Î³\¦U¦ì·|»{¬°¦Û¤v¥h­×§ï³o­ÓºX¼Ð±N¦Û¤vªºµ¥¯Å½Õ°ª´N¦n¤F ,¨Æ¹ê¤W§ï¦n«áÁÙ
> ­n¸g¹L¤u§@¤Á´«ªº°Ê§@ ,µ¥¯Å¤~¯à³Q­×§ï ,¦Ó¸g¹L¤u§@¤Á´«ªº°Ê§@«á ,§Aªºµ{¦¡±±¨î
> Åv±NÂà¥æµ¹§O¤H ;¦A²³æªº»¡ ,µo¥Í INT_X ®É ,¹q¸£·|±Nµ¥¯Å¤Á´«¦¨³Ì°ªµ¥¯Å(¨Æ¹ê
> ¤W¬O¥Ñ¤¤Â_ªí¤W¨M©wªº) ,¨Ã¶i¤J«OÅ@¼Ò¦¡ ,¤§«á«OÅ@¼Ò¦¡ªºµ{¦¡¦A¨Ó¨M©w±N¨Ï¥ÎªÌªº
> EFLAG ¤Á¦¨¤°»òµ¥¯Å ,µM«á¦A IRETD¤Á¦^ V86 ,©ó¬OÀ³¥Îµ{¦¡®Ú¥»·m¤£¹L³Ì¦­¶i¤J«O
> Å@¼Ò¦¡ªº³Ã¥ë¡C(³o¼Ë§A¦³¿ìªk¦bV86¤U·m¨ì³Ì°ªµ¥¯Å¶Ü....¤£¥i¯à¹À)
> 
>     µ¥¯Åªº°ª§C¥i¥H¨M©w¦Û¤v¦³¦h¤Ö±±¨îÅv ,¨Ò¦pµ¥¯Å³Ì°ªªº¤H¤~¥i¥HŪ¼g¨t²Î¼È¦s
> ¾¹ ,¨ä¾lªº¤H·QŪ¼g¨t²Î¼È¦s¾¹³£·|µo¥Í General Protection Error 0D ,§A¥i¥H§â
> ¥¦·Q¹³¦¨µ¥¯Å¤£°÷ ,«o­nŪ¨ú¨t²Î¸ê·½ ,·|µo¥Í INT_0D  ,¦Ó­ì¥»³o¦æ«ü¥O±N¤£·|³Q
> °õ¦æ ,¦Ó°ïÅ|¸Ì©ÒÂ\ªº EIP ­È¤]°±¦b³o¦æ¤W­± ,¦pªG INT_0D  ªº³B²zµ{¦¡¤£¥h¸õ¹L
> ³o­Ó«ü¥O ,«h·|¥Ã»·°±¦b³o­Ó«ü¥O¸Ì(§Î¦P·í¾÷)¡C    ¡°µù¤G
> 
>     ¦b V86 ¤Uµo¥Í¤¤Â_®É ,·|¦Û°Ê PUSH EIP.CS.EFLAG.ESP.SS......¼Æ­Ó¼È¦s¾¹ ,
> ¨Ã¦Û°Ê±N SS.ESP ªº­È´À´« ,¥H§Kµo¥Í¤¤Â_®É ,·|°Ê¥Î¨ì V86  ªº°ïÅ| ,¥i¬O¦pªGµo
> ¥Íªº¬O General Protection Error(«UºÙ²§±`),«h·|¦b PUSH EIP ¤§«e¦A¦hÂ\¤J¤@­Ó
> DWORD  ªº¿ù»~¥N½X ,¦pªG±zªºµ{¦¡¦b IRETD «e¤£´î¥h³o­Ó¥i¯à¦s¦bªº¿ù»~¥N½X ,«h
> ·|µo¥Í¤£¥i¹wª¾ªº«áªG¡C³o¤]¬O«OÅ@¼Ò¦¡¤Uªºµ{¦¡¤£¦n¼gªº­ì¦]¤§¤@¡C ¦Ó SS »PESP
> ©Ò´À´«ªº­È ,«h¬O³Ìªì¶i¤J«OÅ@¼Ò¦¡«á ,¥Ñ³Ì°ªµ¥¯Åªº¤H¨M©wªº(Â\©óTSS°Ï¬q)¡C
> 
>     ²Ä¤G¶°¸Ìµ§ªÌ¦³¤¶²Ð GDT ªí ,¨ä¤¤¦³­Ó 93 ¥Nªí¥i¼g°Ï¬q ,¦pªG³]¦¨ 89 ,«hªí
> ¥Ü¦¹°Ï¬q¬O TSS ªí®æ ,¦A¥Ñ TR ¼È¦s¾¹¨Ó«ü©wµo¥Í¤¤Â_®É ,¨ú¥Î¨º¤@­Ó°Ï¬qªºªí®æ.
> 
> Á|¨Ò¨Ó»¡ ,¤U­±¬O GDT ªí®æ
> 
> gdttab  db      000h,000h,000h,000h,000h,000h,000h,000h ;00
>         db      0ffh,0ffh,000h,000h,000h,09bh,000h,000h ;08
>         db      0ffh,0ffh,000h,000h,000h,093h,08fh,000h ;10
>         db      0ffh,0ffh,000h,000h,000h,089h,000h,000h ;18
>         db      0ffh,0ffh,000h,000h,000h,089h,000h,000h ;20
>         db      0ffh,0ffh,000h,000h,000h,093h,000h,000h ;28
>         db      0ffh,007h,000h,000h,000h,093h,000h,000h ;30
>         db      0ffh,0ffh,000h,080h,00bh,093h,000h,000h ;38
>         db      0ffh,0ffh,000h,000h,000h,093h,000h,000h ;40
> 
>   §Ú­Ì¥i¥H¬Ý¨ì 18.20 ¨â­Ó Selector ¥¿¦n´N¬O 89h ,¤]´N¬O»¡¥¦­Ì­Ç­Ó³£¥i¥H¬O
> TSS ´y­zªí®æ ,¦pªG MOV AX,0018¡BLTR AX ,«hªí¥Üµo¥Í¤u§@¤Á´«®É ,¨ú¥Î 0018 ªº
> ´y­zªí®æ¡C
> 
> µù¤@:General Protection Error µo¥Í«á·|¥h©I¥s¸Ó¤¤Â_ ,¦ý¬O¤@¯ë²£¥Í¤¤Â_¥u·|
>      ¦s¤J EIP.CS.EFLAG.ESP.SS.... ,¦ý¬Oµo¥Í General Protection Error ªº¸Ü
>      °ïÅ|·|¦s¤J ¿ù»~¥N½X.EIP.CS.EFLAG.ESP.SS.....
>      °ïÅ|¦h¦s©ñ¤F¤@­Ó"¿ù»~¥N½X" ,°O±o¦b¤Á¦^ V86 «e­n±N¦¹­È´î¥h­ò !!
> 
> µù¤G:«e­±»¡µo¥Í GP Error #0D µ¥©ó©I¥s INT_0D ,³o¥u¯à»¡¬O¥b¹ï ,­ì¦]¡yµù¤@¡z
>      ¤w»¡©ú ,¤£¦A­«½Æ¡C
> 
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢w¢w¢{
> ¢xTSS ªí®æÂ²¤¶¢x
> ¢|¢w¢w¢w¢w¢w¢w¢}
>     TSS ¤]¦³¤HºÙ¬°¡u¤u§@¤Á´«¡v ,¨äªí®æ³]©w¦p¤U ,¸Ô±¡¥i¬Ý®Ñ¤ñ¸û¸Ô²Ó¡C
> 
> tssltr  dd      00000000h
>         dd      0000ff00h       ;ESP
>         dw      0028h,0000h     ;SS.0
>         dd      0,0,0,0,0
>         dw      offset enter_v86,0000h      ;EIP
>         dd      00000200h       ;EFlag
>         dd      0,0,0,0
>         dd      0000ff00h       ;ESP
>         dd      0,0,0
>         dw      0010h,0000h     ;ES.0
>         dw      0008h,0000h     ;CS.0
>         dw      0028h,0000h     ;SS.0
>         dw      0010h,0000h     ;DS,0
>         dw      0010h,0000h     ;FS.0
>         dw      0010h,0000h     ;GS.0
>         dw      0000h,0000h     ;LDT.0
>         dw      0000h,0068h     ;0.IOMAP°_ÂI
>         db      1000h dup (0)   ;4K IOMAP ªí
>         dw      0ffffh
> 
> 
>     ¦pªG±zªºµ{¦¡¨Ï¥Î JMP XXXX:YYYYYYYY ªº¤è¦¡¸õ¨ì¥»°Ï¸`ªº¸Ü ,­ì¥»«ü©wªº
> YYYYYYYY ±NµL¥Î³~ ,¦]¬°©Ò¦³ªº¼È¦s¾¹±N³Q´À´«¦¨¦¹ªí®æªº¼Æ­È(§tCS.EIP) ,¨Ã
> §¹¦¨µ¥¯Å¤Á´«ªº°Ê§@¡C
> 
> 
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢w¢w¢w¢{
> ¢x¶i¤J V86  ¼Ò¦¡¢x
> ¢|¢w¢w¢w¢w¢w¢w¢w¢}
> 
>         cli
>         lgdt    fword ptr cs:gdtadds
>         lidt    fword ptr cs:idtadds
>         mov     eax,cr0
>         or      al,01h
>         mov     cr0,eax
>         mov     bx,0018h
>         ltr     bx            ;µo¥Í¤u§@¤Á´«®É ,SS:ESP ±N°Ñ¦Ò 0018 ªº°Ï¬qªí®æ
>         jmp     0020h:0000h   ;¶i¤J¤u§@¤Á´« ,·|¸õ¨ì¦¹ªí®æ¤º«ü©wªº CS:EIP
>                                (LTR.JMP ¤£¥i«ü¦V¦P¤@ªí®æ)
> 
> enter_v86 :                   ;°²³]±z¤w±N CS:EIP «ü¦V¦¹³BÄ~Äò°õ¦æ
>         xor     eax,eax
>         mov     ax,code
>         push    eax             ;GS
>         push    eax             ;FS
>         push    eax             ;DS
>         push    eax             ;ES
>         push    eax             ;SS
>         mov     ax,0f000h
>         push    eax             ;ESP
>         mov     eax,00023000h   ;³]©wVM=1    µ¥¯Å=3
>         push    eax             ;Eflag
>         xor     eax,eax
>         mov     ax,code
>         push    eax             ;CS
>         mov     ax,offset return_dos
>         push    eax             ;EIP
>         clts                    ;±N 387 ¤Á´«¦¨ 32 ¦ì¤¸¼Ò¦¡
>         iretd                   ;¦^¨ì V86 (¦@¼u¥X24h BYTE)
> 
> ºò±µµÛ´Nµ{¦¡¦^¨ì V86 ¤UÄ~Äò°õ¦æµÛ...
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢{
> ¢x¤¤Â_¦V¶qªíªº³B²z¢x
> ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢}
>     ¦b V86 ¤U²£¥Í¤¤Â_«á ,¹q¸£·|¦Û°Ê¤Á¦^«OÅ@¼Ò¦¡ ,¨Ã±q LTR ©Ò«ü©wªº¦ì§}¨ú±o
> TSS ªí®æ ,µM«á¥Hªí®æ¤ºªº¸ê®Æ­«·s³]©w SS.ESP ,µM«á§â V86 ¤Uªº¦U¼È¦s¾¹­ÈÂ\¤J
> ¦¹°ïÅ|¤º ,¦b¦¹»Ýª`·Nªº¬O¥¦Â\©ñ¦b°ïÅ|ªº¸ê®Æ¬O32¦ì¤¸¤è¦¡ ,©Ò¥H¹ï©ó DS.ES....
> ³oÃþ16¦ì¤¸¼È¦s¾¹Â\©ó°ïÅ| ,¤£¨¬³¡¥÷¸É '0000' ,¥Î¥H´ê¨¬ 32Bit¡C
> 
>     ²³æ¨Ó»¡ ,¦b¯u¹ê¼Ò¦¡¤U©Î V86¤U¨Ï¥Î¤@²Õ SS:SP ,¤@¦ý³z¹L¤¤Â_i¤J«OÅ@¼Ò¦¡
> «á ,­ì¥ýªº SS:SP ¼È¦s¾¹±N³Q¸m´«¥t¤@²Õ¼Æ­È(©w¸q©óTSSªí) ,µM«á¦A±N¤j³¡¥÷ªº¼È
> ¦s¾¹­ÈÂ\©ñ¦b³o­Ó·s°ïÅ|°Ï¤º(¥]§tSS.ESP) ,ª½¨ì°õ¦æ IRETD ¦^¨ì V86 «á ,SS:ESP
> ¼È¦s¾¹­È¤~·|±q­ì¥ý°ïÅ|¤¤¼u¥X¡C´«¥y¸Ü»¡ ,¦b V86¤Uµo¥Í¤¤Â_·|¨Ï¥Î¦Û¤vªº°ïÅ| ,
> ¦Ó¤£·|¯}Ãa V86 ªº°ïÅ|°Ï ,³o¤]´N¬O¬°¤°»ò¹³ S-ICE °£¿ùµ{¦¡°õ¦æ 'T' ªº©R¥O«o
> ¤£·|§ó°Ê User ªº°ïÅ|¸ê®Æ¡C
> 
>     ¦s©ó«OÅ@¼Ò¦¡°ïÅ|¤ºªº CS:EIP ·|«ü¦V V86¤U "INT_X" ªº¤U¤@¦æ ,¦Ó SS:SP ­È
> «o¤´ºû«ù­ì¨Ó¼Æ­È(¤£¹³¥H©¹²£¥Í¤¤Â_·|¦Û°Ê´î¢µ ,µM«á°ïÅ|¤ºÂ\¤J FLAG.CS.IP),¦]
> ¦¹«OÅ@¼Ò¦¡¤U³B²z¤¤Â_ªºµ{¦¡¥²»Ý­×§ï V86 ªº SP ­È´î6 ,¨Ã±N V86 ªº CS.IP.FLAG
> Â\¤J V86 ªº°ïÅ| ,³Ì«á¦A¥h¬d 0000:0000 ªºªí®æ ,±N«OÅ@¼Ò¦¡°ïÅ|¤ºªº CS:EIP ­È
> ­×§ï¡B«ü¦V¦¹¤¤Â_¦V¶qªí ,³Ì«á«OÅ@¼Ò¦¡ªºµ{¦¡°õ¦æ IRETD ªð¦^ V86 «á ,¸õ¨ì V86
> ¤Uªº¤¤Â_©Ò«ü¦ì§} ,³o¼Ë«K§¹¦¨¾ã­Ó¼ÒÀÀ DOS ¤¤Â_ªº®ÄªG¡C
> 
> PS:«OÅ@¼Ò¦¡¤U°ïÅ|·|¦s©ñ EFLAG.EIP.ECS.ESP.SS...... §Ñ¤F ,¤ñ Real Mode ÁÙ­n
>    ¦h¦n¦h³á¡C
> 
>     ©³¤U¶È¦C¥X³¡¥÷¤¤Â_ªº³B²z¤è¦¡....±z¥²»Ý³B²z 256 ­Ó¤¤Â_ªí¡C
> 
> new_20 :
>         push    0020h
>         jmp     int_emu
> new_21 :
>         push    0021h
>         jmp     int_emu
> new_22 :
>         push    0022h
>         jmp     int_emu
> new_23 :
>         push    0023h
>         jmp     int_emu
> 
> int_emu :
>         push    bp
>         mov     bp,sp
>         add     bp,04h
>         push    eax
>         push    ebx
>         mov     ax,0010h                ;
>         mov     ds,ax                   ;(Selector 0010h ªº Base=0)
>         mov     ax,ss:[bp+0ch]          ;
>         sub     ax,06h                  ;§ïV86ªºSP-6
>         mov     ss:[bp+0ch],ax          ;
>         xor     eax,eax                 ;
>         xor     ebx,ebx                 ;­×§ïV86¤UªºSS:SP ,À°¥¦Â\¤J
>         mov     ax,ss:[bp+10h]          ;INT_X «áªº¤U¤@¦æ¦ì§} ,¨ÑV86
>         shl     eax,04h                 ;¤Uªºµ{¦¡IRETªð¦^INT_Xªº¤U¤@¦æ¥Î
>         mov     bx,ss:[bp+0ch]          ;
>         add     ebx,eax                 ;
>         mov     ax,ss:[bp+00h]          ;
>         mov     ds:[ebx],ax             ;
>         mov     ax,ss:[bp+04h]          ;
>         mov     ds:[ebx+02h],ax         ;
>         mov     ax,ss:[bp+08h]          ;
>         mov     ds:[ebx+04h],ax         ;
>         nop
>         xor     ebx,ebx                 ;
>         mov     bx,ss:[bp-02h]          ;
>         shl     ebx,02h                 ;
>         mov     ax,ds:[ebx]             ;IRETD «á¨ìV86¤¤Â_ªí©Ò«üªº¦ì§}Ä~Äò°õ¦æ
>         mov     ss:[bp+00h],ax          ;(¬d 0000:0000 ªº¤¤Â_ªí)
>         mov     ax,ds:[ebx+02h]         ;
>         mov     ss:[bp+04h],ax          ;
>         mov     eax,ss:[bp+08h]
>         or      eax,00032000h           ;µ¥¯Å=3  VM=1
>         and     eax,0fffffeffh          ;Ãö³¬'T'ºX¼Ð
>         mov     ss:[bp+08h],eax
>         pop     ebx
>         pop     eax
>         pop     bp
>         add     sp,02h
>         iretd
> 
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢w¢w¢{
> ¢xÄd I/O  ¯à¤O¢x
> ¢|¢w¢w¢ww¢w¢w¢}
> 
>     TSS ªí®æ¤º°£¤F¥i©w¸q²£¥Í¤u§@¤Á´««á ,SS.ESP.DS.ES....¦U¼È¦s¾¹´À´«­È ,¤]
> ¥i¥H¶}¤@¶ô°O¾ÐÅé°µ IOMAP ,³o¶ô°O¾ÐÅé¨C­Ó Bit ¥Nªí¤@­Ó PORT ,¤@¯ë²ßºD¬O¶}4K
> ¤j¤p (65536°ð),·í¬Y¦ì¤¸³]©w¬° '1' «á ,¥u­n¤£¬O³Ì°ªµ¥¯Åªº¤H¥hŪ¼g¦¹°ð ,³£·|
> µo¥Í GP Err #0D ,·íµM¦b³Ì§Cµ¥¯Åªº V86 µ{¦¡¤]¤£¨Ò¥~ ,µo¥Í¦¹¿ù»~«á ,´N§Î¦PÄd
> ¨ì I/O  °Ê§@¤F ,ºò±µµÛ³z¹L³Ì°ªµ¥¯Åªº³B²zµ{¦¡¥h§PÂ_µo¥Í¿ù»~ªº­ì¦] ,¨Ò¦p§PÂ_
> µ{¦¡½X¬O§_¬° ¡yEC  IN AL,DX¡z¡B¡yEE  OUT DX,AL¡z ,©Î¬O¨ä¥¦µ{¦¡½X ,´N¥i¥H¤À
> ¿ëµo¥Íªº­ì¦]¬OŪ©Î¼g²£¥Íªº ,d¨ì I/O «á ,§A¬O§_·|¼gÄF I/O ªºµ{¦¡ ?
> 
>     ¥H S-ICE ªºÄd I/O ¯à¤O¬°¨Ò ,¥¦¥ý¨Ï¥Î IO-MAP ªº¤è¦¡¥hÄd I/O ,µM«á¦A§P§O
> "EE.E4.EC.E6...." µ¥µ¥µ{¦¡½X¡C
> 
> µù:IOMAP ªí¬O¤]¬O TSS ªí®æªº¤@³¡¥÷¡C
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢w¢w¢w¢{
> ¢x¬Û®e©Êªº³B²z¤@¢x      ¨t²Î¼È¦s¾¹ªº¬Û®e³B²zªk
> ¢|¢w¢w¢w¢w¢w¢w¢w¢}
> 
>     ©Î³\±z´¿¸g¦b±¾¤J QEMM386¡BEMM386 ¤§«á ,¦b V86  ¤U°õ¦æ MOV EAX,CR0 ªº«ü
> ¥O ,¦ý¬O«e­±µ§ªÌ´£¨ìŪ¼g¨t²Î¼È¦s¾¹¥²»Ý¦b³Ì°ªµ¥¯Å¤~¥i°õ¦æ ,¬°¤°»ò User ¤´¥i
> ¦b³Ì§Cµ¥¯Å¤U°õ¦æ¥»©R¥O©O ?  ©³¤U¬O´ÛÄF¤è¦¡¡C
> 
> 
>         (User)  V86 ¤U°õ¦æ MOV EAX,CR0
>                      ¡õ
>                 µo¥Í General Protection 0D
>                 CPU ¦Û°Ê¤Á¤J«OÅ@¼Ò¦¡ ,¨Ã°õ¦æ INT_0D ªº³B²zµ{¦¡
>                 (°ïÅ|¸Ì¦hÀx¦s¤F¿ù»~¥N½X DWORD)
>                      ¡õ
>         (EMM)   Àˬdµo¥Í¿ù»~ªº­ì¦]
>                 Ū¨ú EAX,CR0 (¦]¦¹®É¤w¬O³Ì°ªµ¥¯Å ,¥»¦æ¥i¥H¥¿½T°õ¦æ)
>                      ¡õ
>         (EMM)   ­×§ï°ïÅ|¤ºªº EIP ­È ,«ü¦V¤U¤@¦æ«ü¥O
>                      ¡õ
>         (EMM)   ­×§ï¨Ï¥ÎªÌµ¥¯Å 3 / ³]©w VM ºX¼Ðµ¥©ó 1
>                      ¡õ
>         (EMM)   ESP ­È¦©±¼¿ù»~¥N½X 4byte
>                      ¡õ
>         (EMM)      IRETD ¤Á¦^ V86
>                      ¡õ
>         (User) ¨Ï¥ÎªÌ¨ú±o EAX ªº¼Æ­È
> 
>     ¥Ñ©óµ{¦¡¦³¤@¤j¥b¦b«OÅ@¼Ò¦¡¤U°õ¦æ ,©Ò¥H¨Ï¥ÎªÌ®Ú¥»·Pı¤£¨ì ,¥uª¾¹D¦Û¤v¯u
> ªºÅª¨ì¨t²Î¼È¦s¾¹¡C³o«K¬O EMM ¨tªº´ÛÄF¤â¬q¡C
> 
>     ¥»¨Ó¼Ð·Çªºµ{¦¡¬O¤£·|¦b V86  ¤UŪ¼g¨t²Î¼È¦s¾¹ ,¥i¬O½T¹ê¤]¦³¤£¥¿±`ªºµ{¦¡
> O³o¼Ë·dªº ,¨Ò¦p­Ê¤Ñ¤¤¤å·|°õ¦æ MOV EAX,CR3 ,©Î¬O¤@¨Ç«OÅ@µ{¦¡·|¼g¤J°£¿ù¼È¦s
> ¾¹ (DRx)¡C©Ò¥H¬°¤F¬Û®e©Ê ,³o¨Ç³Ì¦n°µ¶i¥h¡C
> 
> µù:§P§Oµo¥Íªº­ì¦]¤]¥i¥H§Q¥Î§PÂ_ I/O ªº¨ººØ¤èªk ,¦ý¼g°_¨Ó«Ü³Â·Ð¡C
> --------------------------------------------------------------------------
> ¢z¢w¢w¢w¢w¢w¢w¢w¢{
> ¢x¬Û®e©Êªº³B²z¤G¢x      HIMEM.SYS
> ¢|¢w¢w¢w¢w¢w¢w¢w¢}
>     HIMEM.SYS ¬O¤@­Ó¥i¥H±±¨î 1MB  ¥H¥~°O¾ÐÅ骺µ{¦¡ ,¤£¹L¤§«eµ§ªÌ¦³´£¹L ,­n
> Ū¼g¶W¹L 1MB  ¥H¥~ªº°O¾ÐÅ饲»Ý¶i¤J«OÅ@¼Ò¦¡¤~¦æ(¾Ú»¡¦³«áªù¥i¥Î) ,¨º»ò¸ü¤J¦Û
> ¤vªº«OÅ@¼Ò¦¡µ{¦¡«á ,¦A¹J¨ì©I¥s HIMEM.SYS ¥h·h²¾ 1MB ¥H¥~ªº°O¾ÐÅé ,¹q¸£³ºµM
> ·|µo¥Í GP Err #0D ,­ì¨Ó³o¬O¦]¬° HIMEM.SYS ¦b°õ¦æ·h²¾°O¾ÐÅ骺©R¥O«á·|¥h©I¥s
> BIOS ªº AH=87h  INT_15h ¥h·h°O¾ÐÅé ,´«¥y¸Ü»¡´N¬O¦]¬°³o­Ó BIOS ¤¤Â_·|¶i¤J«O
> Å@¼Ò¦¡¥h·h°O¾ÐÅé ,©Ò¥H¤~·|³y¦¨·í¾÷ ,¦]¦¹§Aªº«OÅ@¼Ò¦¡¤¶­±µ{¦¡¥²»Ý¥h¼ÒÀÀ³o­Ó
> BIOS ¨ç¦¡ ,´N¥i¥H»P HIMEM.SYS ¬Û®e¤F¡C
> 
> µù:BIOS AH=87h INT_15h ·|­«³] GDT.IDT ªí ,µM«á¶i¤J«OÅ@¼Ò¦¡¥h·h°O¾ÐÅé ,µM«á
>    ´N·í¦b LIDT ©Î LGDT ªº©R¥O¤W¡C
> 
>    ¥t¥~¦pªG§Aªºµ{¦¡Â\¦b 1MB ¥H¤Wªº°OÐÅé¦ì§}¥h°õ¦æ ,ÁÙ·|¦³¥t¤@­Ó°ÝÃD²£¥Í ,
>    ¤£¹L¦pªG§A¤w¸g¾Ç·|¤W­±ªº³o¨Ç¥\¯à ,¦A¹Á¸Õ¥h¼g­Óµ{¦¡¥h¸Õ¸Õ ,§A¦ÛµM·|ª¾¹D
>    ¥¦·|µo¥Í¤°»ò°ÝÃD ,¸Ñ¨Mªº¿ìªk¤]«Ü²³æ ,§A¤@©w·|¸Ñ¨M¡C
> --------------------------------------------------------------------------
>     ¤Á¤J V86  «á ,ÁÙ¦³«Ü¦h°ÝÃD­n³B²z ,¤£¹L¤W­±´£¨ìªº¨â­Ó°ÝÃD¦pªG§A³£¯à³B²z
> ªº¸Ü ,°ò¥»¤W´N¤£·|¦³¨ä¥¦¤j°ÝÃD ,µ¥§A·|¶i¤J«OÅ@¼Ò¦¡«á ,¦A¨Ó¾Ç²ß  VCPI¡BDPMI
> ´N«Ü²³æ¤F¡C
> 
>     ¦pªG¦U¦ì·|¤Á¤J«OÅ@¼Ò¦¡ªº¸Ü ,±µ¤U¨ÓÀ³¸Ó¬O¾Ç²ß VCPI ªº¤Á¤J¤è¦¡ ,ÁöµM¦³«Ü
> ¦hÑÄy¦³¤¶²Ð ,¦ý¬O­n¯u¥¿¤F¸Ñ¨Ã¤£®e©ö¡C«ØÄ³¦U¦ì¥h¶R®M¤j¦t¥X«~ªº¿E°«¾Ô¤h¡B¾Ô
> °êµ¦ ,¥¦ªº¥~¥[«OÅ@´N¬O¤Á¤J«OÅ@¼Ò¦¡ªº³Ì¨Î½d¨Ò ,¥]§t³z¹L VCPI¡B¦Û¤v¤Á286.386
> «OÅ@¼Ò¦¡ ,ÁöµM³o¬O¤£¹D¼wªº¦æ¬° ,¦ý¬O«o¬O¤@­Ó³Ì¨Î½d¥»¡Cªá­Ó¤­¦Ê¶ô¾Ç·sª¾µ´¹ï
> ¦Eºâ¡C
> 
>     ¦³Ãö«OÅ@¼Ò¦¡ªº³¡¥÷µ§ªÌ¼È®É¤¶²Ð¨ì¦¹ ,¤U¤@¶°µ§ªÌ±N¬°±z¤¶²ÐµêÀÀ°O¾ÐÅé ,¦p
> ªG±¡ªp¤¹³\ ,ÁÙ·|¶¶«K¤¶²Ð§óÃøÀ´ªº¤À­¶¾÷¯à¡C±Ð¦U¦ì¦p¦ó¼g¥XÃþ¦ü S-ICE ªº BPR
> ¥\¯à ,Âê©w¬Y¤@¶ô°O¾ÐÅ骺Ū¼gª¬ºA¡C
> 
> 
> ¢z¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢{
> ¢x  Soft Bugger ³nÅé³EÂÎ 90:90/2                    ³nÅé·s§Þ³Nªº¹ê¦æªÌ  ¢x
> ¢x  BBS:02-5955461 24HR          ID:Werong Ho               -- ³n³E --  ¢x
> ¢|¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢}