ESP×÷Ϊ»ùµØÖ·Ö¸Õ룬ĬÈÏʹÓÃSS¶Î¼Ä´æÆ÷Ö¸Ïò¶ÑÕ»¶Î¡£
2.4´¦ÀíÆ÷ÄÚ²¿¾ßÓÐÄÄ3¸ö»ù±¾²¿·Ö£¿8086·ÖΪÄÄÁ½´ó¹¦Äܲ¿¼þ£¿Æä¸÷×ÔµÄÖ÷Òª¹¦ÄÜÊÇʲ
ô£¿
´¦ÀíÆ÷ÄÚ²¿ÓÐALU¡¢¼Ä´æÆ÷ºÍÖ¸Áî´¦ÀíÈý¸ö»ù±¾µ¥Ôª¡£ 8086ÓÐÁ½´ó¹¦Äܲ¿¼þ£º×ÜÏß½Ó¿Úµ¥ÔªºÍÖ´Ðе¥Ôª¡£
×ÜÏß½Ó¿Úµ¥Ôª£º¹ÜÀí×Å8086Óëϵͳ×ÜÏߵĽӿڣ¬¸ºÔð´¦ÀíÆ÷¶Ô´æ´¢Æ÷ºÍÍâÉè½øÐзÃÎÊ¡£8086ËùÓжÔÍâ²Ù×÷±ØÐëͨ¹ýBIUºÍÕâЩ×ÜÏß½øÐС£ Ö´Ðе¥ÔªEU£º¸ºÔðÖ¸ÁîÒëÂë¡¢Êý¾ÝÔËËãºÍÖ¸ÁîÖ´ÐС£ 2.5 8086ÔõÑùʵÏÖÁË×î¼òµ¥µÄÖ¸ÁîÁ÷Ë®Ïߣ¿
8086ÖУ¬Ö¸ÁîµÄ¶ÁÈ¡ÊÇÔÚBIUµ¥Ôª£¬¶øÖ¸ÁîµÄÖ´ÐÐÊÇÔÚEUµ¥Ôª¡£ÒòΪBIUºÍEUÁ½¸öµ¥ÔªÏ໥¶ÀÁ¢¡¢·Ö±ðÍê³É¸÷×Ô²Ù×÷£¬ËùÒÔ¿ÉÒÔ²¢ÐвÙ×÷¡£Ò²¾ÍÊÇ˵£¬ÔÚEUµ¥Ôª¶ÔÒ»¸öÖ¸Áî½øÐÐÒëÂëÖ´ÐÐʱ£¬BIUµ¥Ôª¿ÉÒÔͬʱ¶ÔºóÐøÖ¸Áî½øÐжÁÈ¡£»Õâ¾ÍÊÇ×î¼òµ¥µÄÖ¸ÁîÁ÷Ë®Ïß¼¼Êõ¡£
2.6ʲôÊDZêÖ¾£¿Ê²Ã´ÊÇIA-32´¦ÀíÆ÷µÄ״̬±êÖ¾¡¢¿ØÖƱêÖ¾ºÍϵͳ±êÖ¾£¿ËµÃ÷״̬±êÖ¾ÔÚ±êÖ¾¼Ä´æÆ÷EFLAGSµÄλÖúͺ¬Òå¡£
±êÖ¾£ºÓÃÓÚ·´Ó³Ö¸ÁîÖ´Ðнá¹û»ò¿ØÖÆÖ¸ÁîÖ´ÐÐÐÎʽµÄÒ»¸ö»ò¶à¸ö¶þ½øÖÆÊýλ¡£ÀýÈ磬ÓÐЩָÁîÖ´Ðкó»áÓ°ÏìÓйرê־λ£»ÓÐЩָÁîµÄÖ´ÐÐÒªÀûÓÃÏà¹Ø±êÖ¾¡£
״̬±êÖ¾£ºÓÃÀ´¼Ç¼³ÌÐòÔËÐнá¹ûµÄ״̬ÐÅÏ¢¡£ ¿ØÖƱêÖ¾£ºDF±êÖ¾£¬¿ØÖÆ×Ö·û´®²Ù×÷µÄµØÖ··½Ïò¡£ ϵͳ±êÖ¾£ºÓÃÓÚ¿ØÖÆ´¦ÀíÆ÷Ö´ÐÐÖ¸ÁîµÄ·½Ê½¡£
״̬±êÖ¾ÔÚ±êÖ¾¼Ä´æÆ÷EFLAGSÖеÄλÖúͺ¬ÒåÈçÏ£º 31 11 10 9 8 7 6 5 4 3 2 1 0 ?? OF SF ZF AF PF CF 2.7 ¾ÙÀý˵Ã÷CFºÍOF±êÖ¾µÄ²îÒì¡£
½øÎ»±êÖ¾CF±íʾÎÞ·ûºÅÊýÔËËã½á¹ûÊÇ·ñ³¬³ö·¶Î§£¬³¬³ö·¶Î§ºó¼ÓÉϽøÎ»»ò½è룬ÔËËã½á¹ûÈÔÈ»ÕýÈ·£»Òç³ö±êÖ¾OF±íʾÓзûºÅÊýÔËËã½á¹ûÊÇ·ñ³¬³ö·¶Î§£¬Èç¹û³¬³ö·¶Î§£¬ÔËËã½á¹ûÒѾ²»ÕýÈ·¡£ Àý1£º3AH £« 7CH£½B6H
ÎÞ·ûºÅÊýÔËË㣺58£«124£½182£¬·¶Î§ÄÚ£¬ÎÞ½øÎ»¡£ ÓзûºÅÊýÔËË㣺58£«124£½182£¬·¶Î§Í⣬ÓÐÒç³ö¡£ Àý2£ºAAH + 7CH£½¢Ù26H
ÎÞ·ûºÅÊýÔËË㣺170£«124£½294£¬·¶Î§Í⣬ÓнøÎ»¡£ ÓзûºÅÊýÔËË㣺£86£«124£½28 £¬·¶Î§ÄÚ£¬ÎÞÒç³ö¡£
2.8 ʲôÊÇ8086ÖеÄÂß¼µØÖ·ºÍÎïÀíµØÖ·£¿Âß¼µØÖ·ÈçºÎת»»³ÉÎïÀíµØÖ·£¿Ç뽫ÈçÏÂÂß¼µØÖ·ÓÃÎïÀíµØÖ·±í´ï£¨¾ùΪʮÁù½øÖÆÐÎʽ£©£º
¢Ù FFFF¡Ã0 ¢Ú 40¡Ã17 ¢Û 2000¡Ã4500 ¢Ü B821¡Ã4567
ÎïÀíµØÖ·£ºÔÚ´¦ÀíÆ÷µØÖ·×ÜÏßÉÏÊä³öµÄµØÖ·³ÆÎªÎïÀíµØÖ·¡£Ã¿¸ö´æ´¢µ¥ÔªÓÐÒ»¸öΨһµÄÎïÀíµØÖ·¡£ Âß¼µØÖ·£ºÔÚ´¦ÀíÆ÷ÄÚ²¿¡¢³ÌÐòÔ±±à³Ìʱ²ÉÓÃÂß¼µØÖ·£¬²ÉÓᰶεØÖ·£ºÆ«ÒƵØÖ·¡°ÐÎʽ¡£Ä³¸ö´æ´¢µ¥Ôª¿ÉÒÔÓжà¸öÂß¼µØÖ·£¬¼´´¦ÓÚ²»Í¬ÆðµãµÄÂß¼¶ÎÖУ¬µ«ÆäÎïÀíµØÖ·ÊÇΨһµÄ¡£ Âß¼µØÖ·×ª»»³ÉÎïÀíµØÖ·£ºÂß¼µØÖ·ÓÉ´¦ÀíÆ÷ÔÚÊä³ö֮ǰת»»ÎªÎïÀíµØÖ·¡£½«Âß¼µØÖ·ÖеĶεØÖ·×óÒÆ¶þ½øÖÆ4루¶ÔÓ¦16½øÖÆÊÇһ룬¼´³ËÒÔ16£©£¬¼ÓÉÏÆ«ÒƵØÖ·¾ÍµÃµ½20λÎïÀíµØÖ·¡£ ¢Ù FFFFH:0£½FFFF0H ¢Ú 40H:17H£½00417H ¢Û 2000H:4500H£½24500H ¢Ü B821H:4567H£½BC777H 2.9 IA-32´¦ÀíÆ÷ÓÐÄÄÈýÀà»ù±¾¶Î£¬¸÷ÊÇʲôÓÃ;£¿ IA-32´¦ÀíÆ÷ÓдúÂë¶Î¡¢Êý¾Ý¶Î¡¢¶ÑÕ»¶ÎÈýÀà»ù±¾¶Î¡£
´úÂë¶Î£º´æ·Å³ÌÐòµÄÖ¸Áî´úÂë¡£³ÌÐòµÄÖ¸Áî´úÂë±ØÐë°²ÅÅÔÚ´úÂë¶Î£¬·ñÔò½«ÎÞ·¨Õý³£Ö´ÐС£ Êý¾Ý¶Î£º´æ·Åµ±Ç°ÔËÐгÌÐòËùÓõÄÊý¾Ý¡£³ÌÐòÖеÄÊý¾ÝĬÈÏÊÇ´æ·ÅÔÚÊý¾Ý¶Î£¬Ò²¿ÉÒÔ´æ·ÅÔÚÆäËûÂß¼¶ÎÖС£
¶ÑÕ»¶Î£ºÖ÷´æÖжÑÕ»ËùÔÚµÄÇøÓò¡£³ÌÐòʹÓõĶÑÕ»Ò»¶¨ÔÚ¶ÑÕ»¶Î¡£ 2.10 ʲôÊÇÆ½Õ¹´æ´¢Ä£ÐÍ¡¢¶Îʽ´æ´¢Ä£ÐͺÍʵµØÖ·´æ´¢Ä£ÐÍ£¿
ƽչ´æ´¢Ä£ÐÍÏ£¬¶Ô³ÌÐòÀ´Ëµ´æ´¢Æ÷ÊÇÒ»¸öÁ¬ÐøµÄµØÖ·¿Õ¼ä£¬³ÆÎªÏßÐÔµØÖ·¿Õ¼ä¡£³ÌÐòÐèÒªµÄ´úÂë¡¢Êý¾ÝºÍ¶ÑÕ»¶¼°üº¬ÔÚÕâ¸öµØÖ·¿Õ¼äÖС£
¶Îʽ´æ´¢Ä£ÐÍÏ£¬¶Ô³ÌÐòÀ´Ëµ´æ´¢Æ÷ÓÉÒ»×é¶ÀÁ¢µÄµØÖ·¿Õ¼ä×é³É£¬¶ÀÁ¢µÄµØÖ·¿Õ¼ä³ÆÎª¶Î¡£Í¨³££¬´úÂë¡¢Êý¾ÝºÍ¶ÑջλÓÚ·Ö¿ªµÄ¶ÎÖС£
ʵµØÖ·´æ´¢Ä£ÐÍÊÇ8086´¦ÀíÆ÷µÄ´æ´¢Ä£ÐÍ¡£ËüÊǶÎʽ´æ´¢Ä£Ð͵ÄÌØÀý£¬ÆäÏßÐÔµØÖ·¿Õ¼ä×î´óΪ1MBÈÝÁ¿£¬ÓÉ×î´óΪ64KBµÄ¶à¸ö¶Î×é³É¡£
2.11 ʲôÊÇʵµØÖ··½Ê½¡¢±£»¤·½Ê½ºÍÐéÄâ8086·½Ê½£¿ËüÃÇ·Ö±ðʹÓÃʲô´æ´¢Ä£ÐÍ£¿
ʵµØÖ··½Ê½£ºÓë8086¾ßÓÐÏàͬµÄ»ù±¾½á¹¹£¬Ö»ÄÜѰַ1MBÎïÀí´æ´¢Æ÷¿Õ¼ä£¬Âß¼¶Î×î´ó²»³¬¹ý64KB£»µ«¿ÉÒÔʹÓÃ32λ¼Ä´æÆ÷¡¢32λ²Ù×÷ÊýºÍ32λѰַ·½Ê½£»Ï൱ÓÚ¿ÉÒÔ½øÐÐ32λ´¦ÀíµÄ¿ìËÙ8086¡£ÊµµØÖ·¹¤×÷·½Ê½Ö»ÄÜÖ§³ÖʵµØÖ·´æ´¢Ä£ÐÍ¡£
±£»¤·½Ê½£º¾ßÓÐÇ¿´óµÄ¶Îҳʽ´æ´¢¹ÜÀíºÍÌØÈ¨Óë±£»¤ÄÜÁ¦£¬Ê¹ÓÃÈ«²¿32ÌõµØÖ·×ÜÏߣ¬¿ÉѰַ4GBÎïÀí´æ´¢Æ÷¡£±£»¤·½Ê½Í¨¹ýÃèÊö·ûʵÏֶַδ洢¹ÜÀí£¬Ã¿¸öÂß¼¶Î¿É´ï4GB¡£´¦ÀíÆ÷¹¤×÷ÔÚ±£»¤·½Ê½Ê±£¬¿ÉÒÔʹÓÃÆ½Õ¹»ò¶Îʽ´æ´¢Ä£ÐÍ¡£
ÐéÄâ8086·½Ê½£ºÔÚ±£»¤·½Ê½ÏÂÔËÐеÄÀàËÆÊµ·½Ê½µÄÔËÐл·¾³£¬Ö»ÄÜÔÚ1MB´æ´¢¿Õ¼äÏÂʹÓá°16λ¶Î¡±¡£ ´¦ÀíÆ÷¹¤×÷ÔÚÐéÄâ8086·½Ê½Ê±£¬Ö»ÄÜʹÓÃʵµØÖ·´æ´¢Ä£ÐÍ¡£ 2.12 »ã±àÓï¾äÓÐÄÄÁ½ÖÖ£¬Ã¿¸öÓï¾äÓÉÄÄ4¸ö²¿·Ö×é³É£¿
»ã±àÓï¾äÓÐÁ½ÖÖ£ºÖ´ÐÐÐÔÓï¾ä£¨´¦ÀíÆ÷Ö¸Á¡¢ËµÃ÷ÐÔÓï¾ä£¨Î±Ö¸Á¡£ ÿ¸öÓï¾äÓУº±êºÅ¡¢Ö¸ÁîÖú¼Ç·û¡¢²Ù×÷Êý»ò²ÎÊý¡¢×¢ÊÍ4¸ö²¿·Ö×é³É¡£
2.13 »ã±àÓïÑÔ³ÌÐòµÄ¿ª·¢ÓÐÄÄ4¸ö²½Ö裬·Ö±ðÀûÓÃʲô³ÌÐòÍê³É¡¢²úÉúʲôÊä³öÎļþ¡£ »ã±àÓïÑÔ³ÌÐòµÄ¿ª·¢ÓÐ4¸ö²½Ö裺
±à¼£ºÓÃÎı¾±à¼Æ÷ÐγÉÒ»¸öÒÔASMΪÀ©Õ¹ÃûµÄÔ´³ÌÐòÎļþ¡£ »ã±à£ºÓûã±à³ÌÐò½«ASMÎļþת»»ÎªOBJÄ£¿éÎļþ¡£
Á¬½Ó£ºÓÃÁ¬½Ó³ÌÐò½«Ò»¸ö»ò¶à¸öÄ¿±êÎļþÁ´½Ó³ÉÒ»¸öEXE»òCOM¿ÉÖ´ÐÐÎļþ¡£ µ÷ÊÔ£ºÓõ÷ÊÔ³ÌÐòÅųý´íÎó£¬Éú³ÉÕýÈ·µÄ¿ÉÖ´ÐÐÎļþ¡£
2.14 MASM»ã±àÓïÑÔÖУ¬ÏÂÃæÄÄЩÊdzÌÐòÔ±¿ÉÒÔʹÓõÄÕýÈ·µÄ±êʶ·û¡£ FFH£¬DS£¬0xvab£¬Again£¬next£¬@data£¬h_ascii£¬6364b£¬.exit£¬small FFH£¬Again£¬next£¬h_ascii
2.15 ¸ø³öIA-32´¦ÀíÆ÷µÄ32λѰַ·½Ê½ºÍ16λѰַ·½Ê½µÄ×é³É¹«Ê½£¬²¢ËµÃ÷¸÷²¿·Ö×÷Óᣠ¢Ù 32λ´æ´¢Æ÷Ѱַ·½Ê½µÄ×é³É¹«Ê½
32λÓÐЧµØÖ· £½ »ùÖ·¼Ä´æÆ÷£«£¨±äÖ·¼Ä´æÆ÷¡Á±ÈÀý£©£«Î»ÒÆÁ¿ ÆäÖеÄ4¸ö×é³É²¿·ÖÊÇ£º ¡¤»ùÖ·¼Ä´æÆ÷ÈκÎ8¸ö32λͨÓüĴæÆ÷Ö®Ò»£»
¡¤±äÖ·¼Ä´æÆ÷³ýESPÖ®ÍâµÄÈκÎ32λͨÓüĴæÆ÷Ö®Ò»£»
¡¤±ÈÀý¿ÉÒÔÊÇ1£¬2£¬4»ò8£¨ÒòΪ²Ù×÷ÊýµÄ³¤¶È¿ÉÒÔÊÇ1£¬2£¬4»ò8×Ö½Ú£©£» ¡¤Î»ÒÆÁ¿¿ÉÒÔÊÇ8»ò32λÓзûºÅÖµ¡£ ¢Ú 16λ´æ´¢Æ÷Ѱַ·½Ê½µÄ×é³É¹«Ê½ 16λÓÐЧµØÖ· £½ »ùÖ·¼Ä´æÆ÷£«±äÖ·¼Ä´æÆ÷£«Î»ÒÆÁ¿
ÆäÖлùÖ·¼Ä´æÆ÷Ö»ÄÜÊÇBX»òBP£¬±äÖ·¼Ä´æÆ÷Ö»ÄÜÊÇSI»òDI£¬Î»ÒÆÁ¿ÊÇ8»ò16λÓзûºÅÖµ¡£ 2.16 ˵Ã÷ÏÂÁÐÖ¸ÁîÖÐÔ´²Ù×÷ÊýµÄѰַ·½Ê½£¿¼ÙÉèVARDÊÇÒ»¸öË«×Ö±äÁ¿¡£ £¨1£©mov edx,1234h £¨2£©mov edx,vard £¨3£©mov edx,ebx £¨4£©mov edx,[ebx] £¨5£©mov edx,[ebx+1234h]
£¨6£©mov edx,vard[ebx] £¨7£©mov edx,[ebx+edi] £¨8£©mov edx,[ebx+edi+1234h] £¨9£©mov edx,vard[esi+edi] £¨10£©mov edx,[ebp*4]
¢Ù Á¢¼´Êý ¢Ú Ö±½Ó ¢Û ¼Ä´æÆ÷
¢Ü ¼Ä´æÆ÷¼ä½Ó ¢Ý ¼Ä´æÆ÷Ïà¶Ô ¢Þ ¼Ä´æÆ÷Ïà¶Ô ¢ß »ùÖ·±äÖ· ¢à Ïà¶Ô»ùÖ·±äÖ· ¢á Ïà¶Ô»ùÖ·±äÖ· ¢â ´ø±ÈÀýѰַ