°®°®Ð¡ËµÍø > ÆäËûµç×ÓÊé > windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ >

µÚ4ÕÂ

windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ-µÚ4ÕÂ

С˵£º windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ ×ÖÊý£º ÿҳ3500×Ö

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡




¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡loop¡¡¡¡loc1

loc1ÔÚ±ðµÄµØ·½¾ÍÔÙÒ²Óò»µ½ÁË£¬¶ÔÓÚÕâÖÖÇé¿ö£¬¸ß°æ±¾µÄMASMÓÃ@@±êºÅÈ¥´úÌæËü£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡cx£»1234h

¡¡¡¡¡¡¡¡¡¡¡¡¡¡cmp¡¡¡¡¡¡flag£»1

¡¡¡¡¡¡¡¡¡¡¡¡¡¡jz¡¡¡¡¡¡¡¡@F

¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡cx£»1000h

@@£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡loop¡¡¡¡@B

µ±ÓÃ@@×ö±êºÅʱ£¬¿ÉÒÔÓÃ@FºÍ@BÀ´ÒýÓÃËü£¬@F±íʾ±¾ÌõÖ¸ÁîºóµÄµÚÒ»¸ö@@±êºÅ£¬@B±íʾ±¾ÌõÖ¸ÁîÇ°µÄµÚÒ»¸ö@@±êºÅ£¬³ÌÐòÖпÉÒÔÓжà¸ö@@±êºÅ£¬@BºÍ@FֻѰÕÒÆ¥Åä×î½üµÄÒ»¸ö¡£

¡¡²»ÒªÔÚ¼ä¸ôÌ«Ô¶µÄ´úÂëÖÐʹÓÃ@@±êºÅ£¬ÒòΪÔÚÒÔºóµÄÐÞ¸ÄÖÐ@@ºÍ@B£¬@FÖмä¿ÉÄܻᱻÎÞÒâÖвåÈëÒ»¸öеÄ@@£¬ÕâÑùÒ»À´£¬@B»ò@F¾Í»áÒýÓõ½´íÎóµÄµØ·½È¥£¬Ô´³ÌÐòÖÐ@@±êºÅºÍÌøתָÁîÖ®¼äµÄ¾àÀë×îºÃÏÞÖÆÔڱ༭Æ÷Äܹ»ÏÔʾµÄͬһÆÁÄ»µÄ·¶Î§ÄÚ¡£

3¡£3¡£2¡¡¡¡È«¾Ö±äÁ¿

1¡£¡¡È«¾Ö±äÁ¿µÄ¶¨Òå

È«¾Ö±äÁ¿µÄ×÷ÓÃÓòÊÇÕû¸ö³ÌÐò£¬Win32»ã±àµÄÈ«¾Ö±äÁ¿¶¨ÒåÔÚ¡¡¡£data»ò¡¡¡£data£¿¶ÎÄÚ£¬¿ÉÒÔͬʱ¶¨Òå±äÁ¿µÄÀàÐͺͳ¤¶È£¬¸ñʽÊÇ£º

±äÁ¿Ãû¡¡¡¡¡¡¡¡¡¡¡¡ÀàÐÍ¡¡¡¡¡¡¡¡³õʼֵ1£»³õʼֵ2£¬¡­¡­

±äÁ¿Ãû¡¡¡¡¡¡¡¡¡¡¡¡ÀàÐÍ¡¡¡¡¡¡¡¡Öظ´ÊýÁ¿¡¡dup¡¡£¨³õʼֵ1£»³õʼֵ2£¬¡­¡­£©

MASMÖпÉÒÔ¶¨ÒåµÄ±äÁ¿ÀàÐÍÏ൱¶à£¬¾ßÌåÈç±í3¡£2Ëùʾ¡£

±í3¡£2¡¡¡¡±äÁ¿µÄÀàÐÍ

Ãû¡¡¡¡¡¡¡¡³Æ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡±íʾ·½Ê½¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ëõ¡¡¡¡¡¡¡¡Ð´¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³¤¶È£¨×Ö½Ú£©
¡¡
×Ö½Ú
¡¡byte
¡¡db
¡¡1
¡¡
×Ö
¡¡word
¡¡dw
¡¡2
¡¡
Ë«×Ö£¨doubleword£©
¡¡dword
¡¡dd
¡¡4
¡¡
Èý×Ö£¨farword£©
¡¡fword
¡¡df
¡¡6
¡¡
ËÄ×Ö£¨quadword£©
¡¡qword
¡¡dq
¡¡8
¡¡
Ê®×Ö½ÚBCDÂ루tenbyte£©
¡¡tbyte
¡¡dt
¡¡10
¡¡
ÓзûºÅ×Ö½Ú£¨signbyte£©
¡¡sbyte
¡¡¡¡
¡¡1
¡¡
ÓзûºÅ×Ö£¨signword£©
¡¡sword
¡¡¡¡
¡¡2
¡¡
ÓзûºÅË«×Ö£¨signdword£©
¡¡sdword
¡¡¡¡
¡¡4
¡¡
µ¥¾«¶È¸¡µãÊý
¡¡real4
¡¡¡¡
¡¡4
¡¡
Ë«¾«¶È¸¡µãÊý
¡¡real8
¡¡¡¡
¡¡8
¡¡
10×Ö½Ú¸¡µãÊý
¡¡real10
¡¡¡¡
¡¡10
¡¡

ËùÓÐʹÓõ½±äÁ¿ÀàÐ͵ÄÇé¿öÖУ¬Ö»Óж¨ÒåÈ«¾Ö±äÁ¿µÄʱºòÀàÐͲſÉÒÔÓÃËõд£¬ÏÖÔÚÏÈÀ´¿´È«¾Ö±äÁ¿¶¨ÒåµÄ¼¸¸öÀý×Ó£º

¡£data

wHour¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dw¡¡¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Àý1

wMinute¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dw¡¡¡¡¡¡¡¡¡¡¡¡10¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Àý2

_hWnd¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡£¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Àý3

word_Buffer¡¡¡¡¡¡¡¡¡¡dw¡¡¡¡¡¡¡¡¡¡¡¡100¡¡dup¡¡£¨1£»2£©¡¡¡¡¡¡¡¡£»Àý4

szBuffer¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡byte¡¡¡¡¡¡¡¡1024¡¡dup¡¡£¨£¿£©¡¡¡¡¡¡¡¡¡¡£»Àý5

szText¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡'Hello£»world£¡'¡¡¡¡¡¡£»Àý6

¡ñ¡¡¡¡¡¡Àý1¶¨ÒåÁËÒ»¸öδ³õʼ»¯µÄwordÀàÐͱäÁ¿£¬Ãû³ÆΪwHour¡£

¡ñ¡¡¡¡¡¡Àý2¶¨ÒåÁËÒ»¸öÃûΪwMinuteµÄwordÀàÐͱäÁ¿¡£

¡ñ¡¡¡¡¡¡Àý3¶¨ÒåÁËÒ»¸öË«×ÖÀàÐ͵ıäÁ¿_hWnd¡£

¡ñ¡¡¡¡¡¡Àý4¶¨ÒåÁËÒ»×é×Ö£¬ÒÔ0001£¬0002£¬0001£¬0002£¬¡­µÄ˳ÐòÔÚÄÚ´æÖÐÖظ´100±é£¬Ò»¹²ÊÇ200¸ö×Ö¡£

¡ñ¡¡¡¡¡¡Àý5¶¨ÒåÁËÒ»¸ö1¡¡024×ֽڵĻº³åÇø¡£

¡ñ¡¡¡¡¡¡Àý6¶¨ÒåÁËÒ»¸ö×Ö·û´®£¬×ܹ²Õ¼ÓÃÁË12×Ö½Ú¡£Á½Í·µÄµ¥ÒýºÅÊǶ¨½çµÄ·ûºÅ£¬²¢²»ÊôÓÚ×Ö·û´®ÖÐÕæÕýµÄÄÚÈÝ¡£

ÔÚbyteÀàÐͱäÁ¿µÄ¶¨ÒåÖУ¬¿ÉÒÔÓÃÒýºÅ¶¨Òå×Ö·û´®ºÍÊýÖµ¶¨ÒåµÄ·½·¨»ìÓ㬼ÙÉèÒª¶¨ÒåÁ½¸ö×Ö·û´®¡°Hello£»World£¡¡¡¡±ºÍ¡°Hello¡¡again¡±£¬Ã¿¸ö×Ö·û´®ºóÃæ¸ú»Ø³µºÍ»»Ðзû£¬×îºóÒÔÒ»¸ö0×Ö·û½á⣬¿ÉÒÔ¶¨ÒåÈçÏ£º

szText¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡db¡¡¡¡¡¡¡¡¡¡¡¡'Hello£»world£¡'£»0dh£»0ah£»'Hello¡¡again'£»0dh£»0ah£»0

2¡£¡¡È«¾Ö±äÁ¿µÄ³õʼ»¯Öµ

È«¾Ö±äÁ¿ÔÚ¶¨ÒåÖмȿÉÒÔÖ¸¶¨³õÖµ£¬Ò²¿ÉÒÔÖ»ÓÃÎʺÅÔ¤Áô¿Õ¼ä£¬ÔÚ¡¡¡£data£¿¶ÎÖУ¬Ö»ÄÜÓÃÎʺÅÔ¤Áô¿Õ¼ä£¬ÒòΪ¡¡¡£data£¿²»ÄÜÖ¸¶¨³õʼֵ£¬ÕâÀï¾ÍÓÐÒ»¸öÎÊÌ⣺¼ÈÈ»¿ÉÒÔÓÃÎʺÅÔ¤Áô¿Õ¼ä£¬ÄÇôÔÚʵ¼ÊÔËÐеÄʱºò£¬Õâ¸öδ³õʼ»¯µÄÖµÊÇËæ»úµÄ»¹ÊÇÈ·¶¨µÄÄØ£¿ÔÚÈ«¾Ö±äÁ¿ÖУ¬Õâ¸öÖµ¾ÍÊÇ0£¬ËùÒÔÓÃÎʺÅÖ¸¶¨µÄÈ«¾Ö±äÁ¿Èç¹ûÒªÒÔ0Ϊ³õʼֵµÄ»°£¬ÔÚ³ÌÐòÖпÉÒÔ²»±ØΪËü¸³Öµ¡£



¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡


µÚ3Õ¡¡Ê¹ÓÃMASM


3¡£3¡¡±êºÅ¡¢±äÁ¿ºÍÊý¾Ý½á¹¹£¨2£©

¡¡¡¡¡¡¡¡
3¡£3¡£3¡¡¡¡¾Ö²¿±äÁ¿

¾Ö²¿±äÁ¿Õâ¸öÃû³Æ×îÔçÔ´Óڸ߼¶ÓïÑÔ£¬Ö÷ÒªÊÇΪÁ˶¨ÒåһЩ½öÔÚµ¥¸öº¯ÊýÀïÃæÓÐÓõıäÁ¿¶øÌá³öµÄ£¬Ê¹Óþֲ¿±äÁ¿ÄÜ´øÀ´Ò»Ð©¶îÍâµÄºÃ´¦£¬Ëüʹ³ÌÐòµÄÄ£¿é»¯·â×°±äµÃ¿ÉÄÜ£¬ÊÔÏëһϣ¬Èç¹ûÒªÓõ½µÄ±äÁ¿±ØÐ붨ÒåÔÚ³ÌÐòµÄÊý¾Ý¶ÎÀïÃ棬¼ÙÉèÔÚÒ»¸ö×Ó³ÌÐòÖÐÒªÓõ½Ò»Ð©±äÁ¿£¬µ±°ÑÕâ¸ö×Ó³ÌÐòÒÆÖ²µ½±ðµÄ³ÌÐòʱ£¬³ýÁË°Ñ´úÂëÒƹýÈ¥ÒÔÍ⣬»¹±ØÐë°Ñ±äÁ¿¶¨ÒåÒƹýÈ¥¡£¶ø¼´Ê¹°Ñ±äÁ¿¶¨ÒåÒƹýÈ¥ÁË£¬ÓÉÓÚÕâЩ±äÁ¿¶¨ÒåÔÚ´ó¼Ò¶¼¿ÉÒÔÓõÄÊý¾Ý¶ÎÖУ¬¾ÍÎÞ·¨¶Ô±ðµÄ´úÂë±£³Ö͸Ã÷£¬±ðµÄ´úÂëÓпÉÄÜÓÐÒâÎÞÒâµØÐÞ¸ÄËüÃÇ¡£»¹ÓУ¬ÔÚÒ»¸ö´óµÄ¹¤³ÌÏîÄ¿ÖУ¬´æÔںܶàµÄ×Ó³ÌÐò£¬ËùÓеÄ×Ó³ÌÐòÒªÓõ½µÄ±äÁ¿È«²¿¶¨Òåµ½Êý¾Ý¶ÎÖУ¬»áʹÊý¾Ý¶Î±äµÃºÜ´ó£¬»ìÔÚÒ»ÆðµÄ±äÁ¿Ò²Ê¹Î¬»¤±äµÃ·Ç³£²»·½±ã¡£

¾Ö²¿±äÁ¿Õâ¸ö¸ÅÄî³öÏÖÒÔºó£¬Á½¸öÒÔÉÏ×Ó³ÌÐò¶¼ÒªÓõ½µÄÊý¾Ý²Å±»¶¨ÒåΪȫ¾Ö±äÁ¿Í³Ò»·ÅÔÚÊý¾Ý¶ÎÖУ¬½öÔÚ×Ó³ÌÐòÄÚ²¿Ê¹ÓõıäÁ¿Ôò·ÅÔÚ¶ÑÕ»ÖУ¬ÕâÑù×Ó³ÌÐò¿ÉÒÔ±à³É¡°ºÚÏ»×Ó¡±µÄÄ£Ñù£¬Ê¹³ÌÐòµÄÄ£¿é½á¹¹¸ü¼Ó·ÖÃ÷¡£

¾Ö²¿±äÁ¿µÄ×÷ÓÃÓòÊǵ¥¸ö×Ó³ÌÐò£¬ÔÚ½øÈë×Ó³ÌÐòµÄʱºò£¬Í¨¹ýÐ޸ĶÑÕ»Ö¸ÕëespÀ´Ô¤Áô³öÐèÒªµÄ¿Õ¼ä£¬ÔÚÓÃretÖ¸Áî·µ»ØÖ÷³ÌÐò֮ǰ£¬Í¬Ñùͨ¹ý»Ö¸´esp¶ªÆúÕâЩ¿Õ¼ä£¬ÕâЩ±äÁ¿¾ÍËæÖ®ÎÞЧÁË¡£ËüµÄȱµã¾ÍÊÇÒòΪ¿Õ¼äÊÇÁÙʱ·ÖÅäµÄ£¬ËùÒÔÎÞ·¨¶¨Ò庬Óгõʼ»¯ÖµµÄ±äÁ¿£¬¶Ô¾Ö²¿±äÁ¿µÄ³õʼ»¯Ò»°ãÔÚ×Ó³ÌÐòÖÐÓÉÖ¸ÁîÍê³É¡£

ÔÚDOSʱ´ú£¬µÍ°æ±¾µÄºê»ã±à±¾À´ÎÞËùνȫ¾Ö±äÁ¿ºÍ¾Ö²¿±äÁ¿£¬ËùÓеıäÁ¿¶¼ÊǶ¨ÒåÔÚÊý¾Ý¶ÎÀïÃæµÄ£¬ÄÜÈñ»ËùÓеÄ×Ó³ÌÐò»òÖ÷³ÌÐò´æÈ¡£¬¾ÍÏ൱ÓÚÏÖÔÚËù˵µÄÈ«¾Ö±äÁ¿£¬Óûã±àÓïÑÔÔÚ¶ÑÕ»Öж¨Òå¾Ö²¿±äÁ¿ÊǺÜÂé·³µÄÒ»¼þÊÂÇé¡£ÒªºÍ¸ß¼¶ÓïÑÔ×ö»ìºÏ±à³ÌµÄʱºò£¬³ÌÐòÔ±ÍùÍùºÜÍ´¿àµØÔÚ±ßÉÏ×¼±¸Ò»ÕÅ±í£¬±íÉϵÄÄÚÈÝÊǾֲ¿±äÁ¿ÃûºÍebpÖ¸ÕëµÄλÖùØϵ¡£

1¡£¡¡¾Ö²¿±äÁ¿µÄ¶¨Òå

MASMÓÃlocalαָÁîÌṩÁ˶Ծֲ¿±äÁ¿µÄÖ§³Ö¡£¶¨ÒåµÄ¸ñʽÊÇ£º

local¡¡¡¡¡¡¡¡¡¡¡¡¡¡±äÁ¿Ãû1£§£§Öظ´ÊýÁ¿£§£§£§£ºÀàÐÍ£§£»±äÁ¿Ãû2£§£§Öظ´ÊýÁ¿£§£§£§£ºÀàÐÍ£§¡­¡­

localαָÁî±ØÐë½ô½ÓÔÚ×Ó³ÌÐò¶¨ÒåµÄαָÁîprocºó¡¢ÆäËûÖ¸Áʼǰ£¬ÕâÊÇÒòΪ¾Ö²¿±äÁ¿µÄÊýÄ¿±ØÐëÔÚ×Ó³ÌÐò¿ªÊ¼µÄʱºò¾ÍÈ·¶¨ÏÂÀ´£¬ÔÚÒ»¸ölocalÓï¾ä¶¨Ò岻ϵÄʱºò£¬¿ÉÒÔÓжà¸ölocalÓï¾ä£¬Óï·¨ÖеÄÊý¾ÝÀàÐͲ»ÄÜÓñí3¡£2ÖеÄËõд£¬Èç¹ûÒª¶¨ÒåÊý¾Ý½á¹¹£¬¿ÉÒÔÓÃÊý¾Ý½á¹¹µÄÃû³Æµ±×öÀàÐÍ¡£Win32»ã±àĬÈϵÄÀàÐÍÊÇdword£¬Èç¹û¶¨ÒådwordÀàÐ͵ľֲ¿±äÁ¿£¬ÔòÀàÐÍ¿ÉÒÔÊ¡ÂÔ¡£µ±¶¨ÒåÊý×éµÄʱºò£¬¿ÉÒÔ¡¡£§£§¡¡À¨ºÅÀ¨ÆðÀ´¡£²»ÄÜʹÓö¨ÒåÈ«¾Ö±äÁ¿µÄdupαָÁî¡£¾Ö²¿±äÁ¿²»ÄܺÍÒѶ¨ÒåµÄÈ«¾Ö±äÁ¿Í¬Ãû¡£¾Ö²¿±äÁ¿µÄ×÷ÓÃÓòÊǵ±Ç°µÄ×Ó³ÌÐò£¬ËùÒÔÔÚ²»Í¬µÄ×Ó³ÌÐòÖпÉÒÔÓÐͬÃûµÄ¾Ö²¿±äÁ¿¡£

ÕâÀïÓм¸¸ö¶¨Òå¾Ö²¿±äÁ¿µÄÀý×Ó£º

local¡¡¡¡¡¡¡¡¡¡¡¡loc1£§1024£§£ºbyte¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Àý1

local¡¡¡¡¡¡¡¡¡¡¡¡loc2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Àý2

local¡¡¡¡¡¡¡¡¡¡¡¡loc3£ºWNDCLASS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Àý3

¡ñ¡¡¡¡¡¡Àý1¶¨ÒåÁËÒ»¸ö1¡¡024×Ö½Ú³¤µÄ¾Ö²¿±äÁ¿loc1¡£

¡ñ¡¡¡¡¡¡Àý2¶¨ÒåÁËÒ»¸öÃûΪloc2µÄ¾Ö²¿±äÁ¿£¬ÀàÐÍÊÇĬÈÏÖµdword¡£

¡ñ¡¡¡¡¡¡Àý3¶¨ÒåÁËÒ»¸öWNDCLASSÊý¾Ý½á¹¹£¬ÃûΪloc3¡£

ÏÂÃæÊǾֲ¿±äÁ¿Ê¹ÓõÄÒ»¸öµäÐ͵ÄÀý×Ó£º

TestProc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡@loc1£ºdword£»@loc2£ºword

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡@loc3£ºbyte

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡eax£»@loc1

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡ax£»@loc2

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡al£»@loc3

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

TestProc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp

ÕâÊÇÒ»¸öÃûΪTestProcµÄ×Ó³ÌÐò£¬ÓÃlocalÓï¾ä¶¨ÒåÁË3¸ö±äÁ¿£¬@loc1ÊÇdwordÀàÐÍ£¬@loc2ÊÇwordÀàÐÍ£¬@loc3ÊÇbyteÀàÐÍ£¬ÔÚ³ÌÐòÖзֱðÓÐ3¾ä´æÈ¡3¸ö¾Ö²¿±äÁ¿µÄÖ¸ÁȻºó¾Í·µ»ØÁË£¬±àÒë³É¿ÉÖ´ÐÐÎļþºó£¬ÔÙ°ÑËü·´»ã±à¾ÍµÃµ½ÁËÒÔÏÂÖ¸Á

£º00401000¡¡55¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡ebp

£º00401001¡¡8BEC¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡ebp£»¡¡esp

£º00401003¡¡83C4F8¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡esp£»¡¡FFFFFFF8

£º00401006¡¡8B45FC¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡eax£»¡¡dword¡¡ptr¡¡£§ebp¡­04£§

£º00401009¡¡668B45FA¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡ax£»¡¡word¡¡ptr¡¡£§ebp¡­06£§

£º0040100D¡¡8A45F9¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡al£»¡¡byte¡¡ptr¡¡£§ebp¡­07£§

£º00401010¡¡C9¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡leave

£º00401011¡¡C3¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¿ÉÒÔ¿´µ½£¬·´»ã±àºóµÄÖ¸Áî±ÈÔ´³ÌÐò¶àÁËÇ°ºóÁ½¶ÎÖ¸ÁËüÃÇÊÇ£º

£º00401000¡¡55¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡ebp

£º00401001¡¡8BEC¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡ebp£»¡¡esp

£º00401003¡¡83C4F8¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡esp£»¡¡FFFFFFF8

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡­

£º00401010¡¡C9¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡leave

ÕâЩ¾ÍÊÇʹÓþֲ¿±äÁ¿Ëù±ØÐèµÄÖ¸Á·Ö±ðÓÃÓÚ¾Ö²¿±äÁ¿µÄ×¼±¸¹¤×÷ºÍɨβ¹¤×÷¡£Ö´ÐÐÁËcallÖ¸Áîºó£¬CPU°Ñ·µ»ØµÄµØַѹÈë¶ÑÕ»£¬ÔÙתÒƵ½×Ó³ÌÐòÖ´ÐУ¬espÔÚ³ÌÐòµÄÖ´Ðйý³ÌÖпÉÄÜËæʱÓõ½£¬²»¿ÉÄÜÓÃespÀ´Ëæʱ´æÈ¡¾Ö²¿±äÁ¿£¬´ó¼ÒÒ»¶¨ÓÐÓ¡Ïó£¬ÔÚ½éÉܼĴæÆ÷µÄʱºòÌáµ½¹ýebp¼Ä´æÆ÷Ò²ÊÇÒÔ¶ÑÕ»¶ÎΪĬÈÏÊý¾Ý¶ÎµÄ£¬ËùÒÔ£¬¿ÉÒÔÓÃebp×öÖ¸Õ룬ÓÚÊÇ£¬ÔÚ³õʼ»¯Ç°£¬ÏÈÓÃÒ»¾äpush¡¡ebpÖ¸Áî°ÑÔ­À´µÄebp±£´æÆðÀ´£¬È»ºó°ÑespµÄÖµ·Åµ½ebpÖУ¬¹©´æÈ¡¾Ö²¿±äÁ¿×öÖ¸ÕëÓã¬ÔÙºóÃæ¾ÍÊÇÔÚ¶ÑÕ»ÖÐÔ¤Áô¿Õ¼äÁË£¬ÓÉÓÚ¶ÑÕ»ÊÇÏòÏÂÔö³¤µÄ£¬ËùÒÔÒªÔÚespÖмÓÒ»¸ö¸ºÖµ£¬FFFFFFF8¾ÍÊǨC8¡£Âý×Å£¡Ò»¸ödword¼ÓÒ»¸öword¼ÓÒ»¸ö×Ö½Ú²»ÊÇ7Âð£¬ÎªÊ²Ã´ÊÇ8ÄØ£¿ÕâÊÇÒòΪÔÚ80386´¦ÀíÆ÷ÖУ¬ÒÔdwordΪ½ç¶ÔÆëʱ´æÈ¡ÄÚ´æËÙ¶È×î¿ì£¬ËùÒÔMASMÄþ¿ÉÀË·ÑÒ»¸ö×Ö½Ú£¬Ö´ÐÐÁËÕâ3¾äÖ¸Áîºó£¬³õʼ»¯Íê³É£¬¾Í¿ÉÒÔ½øÐÐÕý³£µÄ²Ù×÷ÁË£¬´ÓÖ¸ÁîÖпÉÒÔ¿´³ö¾Ö²¿±äÁ¿ÔÚ¶ÑÕ»ÖеÄλÖÃÅÅÁУ¬Èç±í3¡£3Ëùʾ¡£

±í3¡£3¡¡¡¡ÉÏÀýÖоֲ¿±äÁ¿ÅÅÁеÄ˳Ðò

ebpÆ«ÒÆ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄÚ¡¡¡¡¡¡¡¡ÈÝ
¡¡
ebp£«4
¡¡ÓÉcallÍÆÈëµÄ·µ»ØµØÖ·
¡¡
Ebp
¡¡push¡¡ebpÖ¸ÁîÍÆÈëµÄÔ­ebpÖµ£¬È»ºóеÄebp=ÏÖÔÚµÄesp
¡¡
ebp¡­4
¡¡µÚÒ»¸ö¾Ö²¿±äÁ¿
¡¡
ebp¡­6
¡¡µÚ¶þ¸ö¾Ö²¿±äÁ¿
¡¡
ebp¡­7
¡¡µÚÈý¸ö¾Ö²¿±äÁ¿
¡¡

ÔÚ³ÌÐòÍ˳öµÄʱºò£¬±ØÐë°ÑÕýÈ·µÄespÉèÖûØÈ¥£¬·ñÔò£¬retÖ¸Áî»á´Ó¶ÑÕ»ÖÐÈ¡³ö´íÎóµÄµØÖ··µ»Ø£¬¿´³ÌÐò¿ÉÒÔ·¢ÏÖ£¬ebp¾ÍÊÇÕýÈ·µÄespÖµ£¬ÒòΪ×Ó³ÌÐò¿ªÊ¼µÄʱºòÒѾ­ÓÐÒ»¾ämov¡¡ebp£»esp£¬ËùÒÔÒª·µ»ØµÄʱºòÖ»ÒªÏÈmov¡¡esp£»ebp£¬È»ºóÔÙpop¡¡ebp£¬¶ÑÕ»¾ÍÊÇÕýÈ·µÄÁË¡£

ÔÚ80386Ö¸ÁÖÐÓÐÒ»ÌõÖ¸Áî¿ÉÒÔÔÚÒ»¾äÖÐʵÏÖÕâ¸ö¹¦ÄÜ£¬¾ÍÊÇleaveÖ¸ÁËùÒÔ£¬±àÒëÆ÷ÔÚretÖ¸Áî֮ǰֻʹÓÃÁËÒ»¾äleaveÖ¸Áî¡£

Ã÷°×Á˾ֲ¿±äÁ¿Ê¹ÓõÄÔ­Àí£¬¾ÍºÜÈÝÒ×Àí½âʹÓÃʱµÄ×¢Òâµã£ºebp¼Ä´æÆ÷Êǹؼü£¬ËüÆðµ½±£´æԭʼespµÄ×÷Ó㬲¢ËæʱÓÃ×ö´æÈ¡¾Ö²¿±äÁ¿µÄÖ¸Õë»ùÖ·£¬ËùÒÔÔÚÈκÎʱ¿Ì£¬²»Òª³¢ÊÔ°ÑebpÓÃÓÚ±ðµÄÓÃ;£¬·ñÔò»á´øÀ´ÒâÏë²»µ½µÄºó¹û¡£

Win32»ã±àÖоֲ¿±äÁ¿µÄʹÓ÷½·¨¿ÉÒÔ½âÊÍÒ»¸öºÜÓÐȤµÄÏÖÏó£ºÔÚDOS»ã±àµÄʱºò£¬Èç¹ûÔÚ×Ó³ÌÐòÖеÄpushÖ¸ÁîºÍpopÖ¸Áî²»Åä¶Ô£¬ÄÇô·µ»ØµÄʱºòretÖ¸Áî´Ó¶ÑÕ»ÀïµÃµ½µÄ¿Ï¶¨ÊÇ´íÎóµÄ·µ»ØµØÖ·£¬³ÌÐòÒ²¾ÍËÀµôÁË¡£µ«ÔÚWin32»ã±àÖУ¬pushÖ¸ÁîºÍpopÖ¸Áî²»Åä¶Ô¿ÉÄÜÔÚÂß¼­ÉϲúÉú´íÎó£¬È´²»»áÓ°Ïì×Ó³ÌÐòÕý³£·µ»Ø£¬Ô­Òò¾ÍÊÇÔÚ·µ»ØµÄʱºòesp²»ÊÇ¿¿ÏàͬÊýÁ¿µÄpushºÍpopÖ¸ÁîÀ´±£³ÖÒ»Öµģ¬¶øÊÇ¿¿leaveÖ¸Áî´Ó±£´æÔÚebpÖеÄԭʼֵÖÐÈ¡»ØÀ´µÄ£¬Ò²¾ÍÊÇ˵£¬¼´Ê¹°Ñesp¸ÄµÃÒ»ËúºýÍ¿Ò²²»»áÓ°Ïìµ½×Ó³ÌÐòµÄ·µ»Ø£¬µ±È»£¬¡°ÇÏÃÅ¡±¾ÍÔÚebp£¬°Ñebp¸Äµô£¬³ÌÐò¾ÍÍæÍêÁË£¡

2¡£¡¡¾Ö²¿±äÁ¿µÄ³õʼ»¯Öµ

ÏÔÈ»£¬¾Ö²¿±äÁ¿ÊÇÎÞ·¨ÔÚ¶¨ÒåµÄʱºòÖ¸¶¨³õʼ»¯ÖµµÄ£¬ÒòΪlocalαָÁîÖ»ÊǼòµ¥µØ°Ñ¿Õ¼ä¸øÁô³öÀ´£¬ÄÇô¿ªÊ¼Ê¹ÓÃʱËüÀïÃæÊÇʲôֵÄØ£¿ºÍÈ«¾Ö±äÁ¿²»Ò»Ñù£¬¾Ö²¿±äÁ¿µÄÆðʼֵÊÇËæ»úµÄ£¬ÊÇÆäËû×Ó³ÌÐòÖ´ÐкóÔÚ¶ÑÕ»ÀïÁôϵÄÀ¬»ø£¬ËùÒÔ£¬¶Ô¾Ö²¿±äÁ¿µÄÖµÒ»¶¨Òª³õʼ»¯£¬ÌرðÊǶ¨ÒåΪ½á¹¹ºóµ±²ÎÊý´«µÝ¸øAPIº¯ÊýµÄʱºò¡£

¡¡ÔÚAPIº¯ÊýʹÓõĴóÁ¿Êý¾Ý½á¹¹ÖУ¬ÍùÍùÓÃ0×öĬÈÏÖµ£¬Èç¹ûÓþֲ¿±äÁ¿¶¨ÒåÊý¾Ý½á¹¹£¬³õʼ»¯Ê±Ö»¶¨ÒåÁËÆäÖеÄһЩ×ֶΣ¬ÄÇôÆäÓà×ֶεĵ±Ç°Öµ¿ÉÒÔÊDZà³ÌÕßÔ¤Ïë²»µ½µÄÊýÖµ£¬´«¸øAPIº¯Êýºó£¬Ö´ÐеĽá¹û¿ÉÄÜÊÇÒâÏë²»µ½µÄ£¬ÕâÊdzõѧÕߺÜÈÝÒ׺öÂÔµÄÒ»¸öÎÊÌâ¡£ËùÒÔ×îºÃµÄ°ì·¨ÊÇ£ºÔÚ¸³ÖµÇ°Ê×ÏȽ«Õû¸öÊý¾Ý½á¹¹Ìî0£¬È»ºóÔÙ³õʼ»¯ÒªÓõÄ×ֶΣ¬ÕâÑùÆäÓàµÄ×ֶξͲ»±ØÒ»¸ö¸öµØÈ¥Ìî0ÁË£¬RtlZeroMemoryÕâ¸öAPIº¯Êý¾ÍÊÇʵÏÖÌî0µÄ¹¦Äܵġ£



¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡


µÚ3Õ¡¡Ê¹ÓÃMASM


3¡£3¡¡±êºÅ¡¢±äÁ¿ºÍÊý¾Ý½á¹¹£¨3£©

¡¡¡¡¡¡¡¡
3¡£3¡£4¡¡¡¡Êý¾Ý½á¹¹

Êý¾Ý½á¹¹Êµ¼ÊÉÏÊÇÓɶà¸ö×Ö¶Î×é³ÉµÄÊý¾Ý¡°Ñù°å¡±£¬Ï൱ÓÚÒ»ÖÖ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬Êý¾Ý½á¹¹ÖмäµÄÿһ¸ö×ֶοÉÒÔÊÇ×Ö½Ú¡¢×Ö¡¢Ë«×Ö¡¢×Ö·û´®»òËùÓпÉÄܵÄÊý¾ÝÀàÐÍ¡£±ÈÈçÔÚAPIº¯ÊýRegisterClassÖÐҪʹÓõ½Ò»¸ö½Ð×öWNDCLASSµÄÊý¾Ý½á¹¹£¬MicrosoftµÄÊÖ²áÉÏÊÇÈç϶¨ÒåµÄ£º

typedef¡¡struct¡¡_WNDCLASS¡¡£û

¡¡¡¡¡¡¡¡UINT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡style£»

¡¡¡¡¡¡¡¡WNDPROC¡¡¡¡¡¡¡¡¡¡¡¡lpfnWndProc£»

¡¡¡¡¡¡¡¡Int¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cbClsExtra£»

¡¡¡¡¡¡¡¡int¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cbWndExtra£»

¡¡¡¡¡¡¡¡HINSTANCE¡¡¡¡¡¡¡¡hInstance£»

¡¡¡¡¡¡¡¡HICON¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hIcon£»

¡¡¡¡¡¡¡¡HCURSOR¡¡¡¡¡¡¡¡¡¡¡¡hCursor£»

¡¡¡¡¡¡¡¡HBRUSH¡¡¡¡¡¡¡¡¡¡¡¡¡¡hbrBackground£»

¡¡¡¡¡¡¡¡LPCTSTR¡¡¡¡¡¡¡¡¡¡¡¡lpszMenuName£»

¡¡¡¡¡¡¡¡LPCTSTR¡¡¡¡¡¡¡¡¡¡¡¡lpszClassName£»

£ý¡¡WNDCLASS£»¡¡*PWNDCLASS£»

×¢Ò⣬ÕâÊÇCÓïÑÔ¸ñʽµÄ£¬Õâ¸öÊý¾Ý½á¹¹°üº¬ÁË10¸ö×ֶΣ¬×ֶεÄÃû³ÆÊÇstyle£¬lpfnWndProcºÍcbClsExtraµÈ£¬Ç°ÃæµÄUINTºÍWNDPROCµÈÊÇÕâЩ×ֶεÄÀàÐÍ£¬ÔÚ»ã±àÖУ¬Êý¾Ý½á¹¹µÄд·¨ÈçÏ£º

½á¹¹Ãû¡¡¡¡¡¡¡¡struct

¡¡

×Ö¶Î1¡¡¡¡¡¡¡¡ÀàÐÍ¡¡¡¡¡¡¡¡¡¡¡¡£¿

×Ö¶Î2¡¡¡¡¡¡¡¡ÀàÐÍ¡¡¡¡¡¡¡¡¡¡¡¡£¿

¡­¡­

¡¡

½á¹¹Ãû¡¡¡¡¡¡¡¡ends

ÉÏÃæµÄWNDCLASS½á¹¹¶¨ÒåÓûã±àµÄ¸ñʽÀ´±íʾ¾ÍÊÇ£º

WNDCLASS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡struct

¡¡

Style¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

LpfnWndProc¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

cbClsExtra¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

cbWndExtra¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

hInstance¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

hIcon¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

hCursor¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

hbrBackground¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

lpszMenuName¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

lpszClassName¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿

¡¡

WNDCLASS¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ends

ºÍ´ó²¿·ÖµÄ³£Á¿Ò»Ñù£¬¼¸ºõËùÓÐAPIËùÉæ¼°µÄÊý¾Ý½á¹¹ÔÚWindows¡£incÎļþÖж¼ÒѾ­Óж¨ÒåÁË¡£Òª×¢ÒâµÄÊÇ£¬¶¨ÒåÁËÊý¾Ý½á¹¹Êµ¼ÊÉÏÖ»ÊǶ¨ÒåÁËÒ»¸ö¡°Ñù°å¡±£¬ÉÏÃæµÄ¶¨ÒåÓï¾ä²¢²»»áÔÚÄĸö¶ÎÖвúÉúÊý¾Ý£¬ºÍWordÖÐʹÓø÷ÖÖ¡°ÐÅÖ½¡±Óë¡°ÎÄÊ顱µÈÄ£°åÀàËÆ£¬¶¨ÒåÁËÊý¾Ý½á¹¹ÒÔºó¾Í¿ÉÒÔ¶à´ÎÔÚÔ´³ÌÐòÖÐÓÃÕâ¸ö¡°Ñù°å¡±µ±×öÊý¾ÝÀàÐÍÀ´¶¨ÒåÊý¾Ý£¬Ê¹ÓÃÊý¾Ý½á¹¹ÔÚÊý¾Ý¶ÎÖж

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨2£© ²È£¨2£©

Äã¿ÉÄÜϲ»¶µÄ