¸®¹ö½Ì Á¤¸® IA -ÀÎÅÚ ¾ÆÅ°ÅØÃÄÀÇ ¾àÀÚ 32´Â 32ºñÆ®¶ó´Â¼Ò¸® ·¹Áö½ºÅÍ : ÀÛÀº µ¥ÀÌÅÍÀÇ ÀÓ½ÃÀúÀå°ø°£ CPU : ÇÁ·Î±×·¥À» ½ÇÁ¦·Î ½ÇÇà½ÃÅ°´Â °ø°£(Áý) »ê¼ú°è»ê,¼öÄ¡ºñ±³,µ¥ÀÌÅÍÀü´Þµî ´Ù¾çÇÑ ÀÏÀ» ¼öÇà ¾Ë¾ÆµÎ¸é ÁÁÀº¿ë¾î | Source ´Â Ãâ¹ßÁö(or¿øº»ÀÇ°ª??) À̸ç Destination Àº ¸ñÀûÁö(ÃÖÁ¾ÀûÀ¸·Î ¿¬»êÇؾßÇÒ°ª)ÀÌ´Ù operand´Â ÇÇ¿¬»êÀÚ¸¦¶æÇÑ´Ù. ¹ü¿ë·¹Áö½ºÅÍ ----------------------------------------------------------------------------------------------------- ¹ü¿ë ·¹Áö½ºÅÍ ¿¬»ê°á°ú¸¦ ¹ÞÀ»¼öµµÀÖÀ¸¸ç ¿¬»ê¿¡»ç¿ëµÇ¾îÁú¼öµµÀÖ´Â ·¹Áö½ºÅÍ ÀÚÀ¯·Ó°Ô»ç¿ëÀÌ°¡´É EAX »ê¼ú,³í¸®¿¬»êÀÇ Áß½ÉÀÌ µÇ´Â ·¹Áö½ºÅÍ EBX °£Á¢¹øÁö ÁöÁ¤½Ã »ç¿ëµÊ ECX ·çÇÁ¿Í °°Àº ¸í·ÉÀÇ ¹Ýº¹¼öÇàÀÌ ÇÊ¿ä·Î ÇÒ¶§ ¹Ýº¹ Ƚ¼öÁöÁ¤¿¡ Áַλç¿ë EDX °£Àü ¹øÁö ÁöÁ¤¿¡ »ç¿ëµÇ¸ç °ö¼Á ³ª´°¼ÀÀ» ÇÒ¶§¿¡´Â º¸Á¶ Accumulator·Î »ç¿ëµÇ¾îÁö±âµµÇÔ Æ÷ÀÎÅÍ ·¹Áö½ºÅÍ ESP °¡Àå ÃÖ±Ù¿¡ ½ºÅÿ¡ µé¾î¿Â µ¥ÀÌÅ͸¦ °¡¸£Å´ EBP ½ºÅà ÇÁ·¹ÀÓÀ» »ç¿ëÇÒ°æ¿ì ÇöÀç ½ÇÇàÁßÀÎ ÇÔ¼ö¸¦ È£ÃâÇÑ ÇÔ¼ö°¡ »ç¿ëÇÏ´Â ½ºÅÃÇÁ·¡ÀÓÀÇ ¹Ù´ÚÀ»°¡¸®Å´ À妽º·¹Áö½ºÅÍ ´Ù¸¥ ¹ü¿ë·¹Áö½ºÅÍ¿À ¸¶Âù°¡Áö·Î ¿¬»ê°ú °£Á¢ ¹øÁö ÁöÁ¤¿¡ »ç¿ëµÊ ESI º¹»çȤÀº ºñ±³¸¦ Çϴµ¥ »ç¿ëµÇ´Â Souree¹®ÀÚ¿­À» ³ªÅ¸³¿ EDI º¹»çȤÀº ºñ±³¸¦ Çϴµ¥ »ç¿ëµÇ´Â Detination¹®ÀÚ¿­À» ³ªÅ¸³¿ ------------------------------------------------------------------------------------------------------ ¸í·ÉÆ÷ÀÎÅÍ EIP ´ÙÀ½¿¡ ½ÇÇàÇÒ ¸í·ÉÀÌ µé¾îÀÖ´Â ¸Þ¸ð¸®ÀÇ ¹øÁö¸¦ °¡Áü -------------------------------------------------------------------------------- ¼¼±×¸ÕÆ® ·¹Áö½ºÅÍ CS ½ÇÇà°¡´ÉÇÑ ¸í·É¾î°¡ Á¸ÀçÇÏ´Â ¼¼±×¸ÕÆ®ÀÇ ¿ÀÇÁ¼ÂÀÌ ÀúÀåµÈ´Ù DS ÇÁ·Î±×·¥¿¡¼­ »ç¿ëµÇ´Â µ¥ÀÌÅÍ°¡ Á¸ÀçÇÏ´Â ¼¼±×¸ÕÆ®ÀÇ ¿ÀÇÁ¼ÂÀÌ ÀúÀåµÈ´Ù SS ½ºÅÃÀÌ Á¸ÀçÇÏ´Â ¼¼±×¸ÕÆ®ÀÇ ¿ÀÇÁ¼ÂÀÌÀúÀåµÈ´Ù ----------------------------------------------------------------------------- Ç÷¡±×·¹Áö½ºÅÍ CF ºÎÈ£¾÷´Â ¿¬»ê°á°ú°¡ ¿ë·®º¸´Ù Ŭ¶§ ¼¼Æ®(1)µÈ´Ù ZF ¿¬»ê°á°ú°¡0ÀÏ‹š ¼¼Æ®(1)µÈ´Ù. ¿¬»ê°á°ú 0ÀÌ ¾Æ´Ò°æ¿ì ÇØÁ¦(0)µÈ´Ù. OF ºÎÈ£ÀÖ´Â ¿¬»ê°á°ú°¡ ¿ë·®º¸´Ù Ŭ¶§ ¼¼Æ®(1)µÈ´Ù. SF ¿¬»ê°á°ú°¡ À½¼ö°¡ µÇ¾úÀ»¶§ ¼¼Æ®(1)µÈ´Ù.¿¬»ê°á°ú°¡ ¾ç¼öÀÏ‹š ÇØÁ¦(0)µÈ´Ù. DF ¹®ÀÚ¿­ 󸮿¡¼­ ¿¬¼ÓµÇ´Â ¹®ÀÚ¿­ÀÇ Ã³¸®¹æÇâ¿¡ µû¶ó ¼¼Æ®µÈ´Ù. -------------------------------------------------------------------------------------- »óÀ§·¹Áö½ºÅÍ´Â H°¡ ºÑÀ¸¸ç ÇÏÀ§´Â L À̺Ѵ´٠ex> AL ,AH µ¥ÀÌÅÍ Å¸ÀÔ ¹ÙÀÌÆ® 8ºñÆ® ¿öµå 16ºñÆ® µå¿öµå 32ºñÆ®Á¤¼ö F¿öµå48ºñÆ®Á¤¼ö Q¿öµå 64ºñÆ®Á¤¼ö ------------------------------------------------------------------------------------------------- ¸í·É¾î XXX(¸í·É¾î) Destination ,Source ;;Çò°¥¸®Áö¸»ÀÚ MOV µ¥ÀÌÅÍ º¹»ç ¿À¸¥ÂÊ>¿ÞÂÊ Àü´Þ MOVS ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊ º¹»ç S´Â ½ºÆ®¸µ MOVSB ¹ÙÀÌÆ®´ÜÀ§ MOVSW ¿öµå´ÜÀ§ MOVSD µå¿öµå´ÜÀ§ MOVSX ºÎÈ£ÀÖ´Â ±×´ë·ÎÀ¯ÁöÇϸç È®Àå MOVZX È®ÀåÀ» Ç쵂 ³²Àº Å©±â´Â 0À¸·Îü¿î´Ù POP ESP·¹Áö½ºÅÍ°¡ °¡¸£Å°°í ÀÖ´Â À§Ä¡ÀÇ ½ºÅðø°£¿¡¼­ 4¹ÙÀÌÆ®¸¸Å­À» DestinationÇÇ¿¬»êÀÚ¿¡ º¹»çÇÏ°í ESP·¹Áö½ºÅÍÀÇ°ª¿¡ 4¸¦ ´õÇÑ´Ù. PUSH ½ºÅÿ¡ µ¥ÀÌÅ͸¦ ÀúÀå ESPÀÇ °ªÀÌ 4¸¸Å­ ÁÙ¾îµé°í ÀÌÀÌÄ¡¿¡ »õ·Î¿î °ªÀÌ Ã¤¿öÁø´Ù. AND Destination °ú SourceÀÇ ÇÇ¿¬»êÀÚÀÇ °¢ ºñÆ®°¡ AND¿¬»êµÈ´Ù.(AND ¿¬»êÀº °¢ ºñÆ®°¡1ÀÏ°æ¿ì¸¸ ¼¼Æ®µÈ´Ù) OR Destination °ú SourceÀÇ ÇÇ¿¬»êÀÚÀÇ °¢ ºñÆ®°¡ OR¿¬»êµÈ´Ù. (OR¿¬»êÀº °¢ºñÆ®°¡ 0ÀÌ¸é °á°ú´Â 0ÀÌ°í µÑÁßÇϳª¸é 1À̸é 1À̵ȴÙ) XOR Destination °ú SourceÀÇ ÇÇ¿¬»êÀÚÀÇ °¢ºñÆ®°¡ XOR¿¬»êµÈ´Ù(XORÀº °¢ºñÆ®°¡ ¼­·Î´Ù¸¦¶§ ¼¼Æ®µÈ´Ù.) NOT Destination °ú SourceÀÇ ÇÇ¿¬»êÀÚÀÇ °¢ ºñÆ®°¡ NOT¿¬»êµÈ´Ù.(NOT¿¬»êÀº °¢ºñÆ®°¡ ¹Ý´ëÀÏ°æ¿ì ¼¼Æ®µÈ´Ù) INC ÇÇ¿¬»êÀÚ¿¡ 1À» ´õÇÑ´Ù DEC ÇÇ¿¬»êÀÚ¿¡ 1À» –A´Ù ADD ¿ìÃøÀÇ °ªÀ» ÁÂÃø¿¡ ´õÇÑÈÄ ÁÂÃøÀÇ°ª¿¡ ÀúÀåÇÑ´Ù SUB ÁÂÃø¿¡¼­ ¿ìÃø°ªÀ» »«ÈÄ ÁÂÃø°ª¿¡ ÀúÀåÇÑ´Ù MUL ºÎÈ£¾ø´Â al ax eaxÀÇ °ªÀ» ÇÇ¿¬»êÀÚ¿Í °öÇÑ´Ù. IMUL ºÎÈ£ÀÕ´Â al ax eaxÀÇ °ªÀ» ÇÇ¿¬»êÀÚ¿Í °öÇÑ´Ù DIV 8 16 32ºñÆ® ºÎÈ£¾ø´Â Á¤¼öÀÇ ³ª´°¼À TEST ½±°Ô ÃʱâÈ­ ½ÃÄÑÁÖ´Â ¸í·É¾îÁ¤µµ·Î¸¸ ¿Ü¿ìÀÚ PTR ÇÇ¿¬»êÀÚÀÇ Å©±â¸¦ Àç¼³Á¤ÇÑ´Ù. OFFSET ¼¼±×¸ÕÆ®ÀÇ ½ÃÀÛÀ¸·ÎºÎÅÍ º¯¼ö°¡ À§Ä¡ÇÑ °Å¸®±îÁöÀÇ »ó´ëÀû °Å¸®¸¦ ¸®ÅÏÇÑ´Ù. LEA SourceÇÇ¿¬»êÀÚÀÇ À¯È¿ÁÖ¼Ò¸¦ °è»êÇÏ¿© DestinationÇÇ¿¬»êÀÚ¿¡ º¹»çÇÑ´Ù. REP ECX·¹Áö½ºÅ͸¦ Ä«¿îÅÍ·Î »ç¿ëÇؼ­ ¹®ÀÚ¿­ °ü·Ã ¸í·ÉÀ» ECX>0Àε¿¾È ¹Ýº¹ÇÑ´Ù. JMP ÇÇ¿¬»êÀÚ°¡ °¡¸£Å°´Â ÄÚµå·ÎÁ¡ÇÁ¶Ù¾î¼­ ½ÇÇà ÇÑ´Ù°í»ý°¢ÇϸéµÈ´Ù. CALL ÇÔ¼öÈ£Ãâ½Ã »ç¿ëµÈ´Ù. CMP µÎ ¿¬»êÀÚÀÇ °ªÀÏ ºñ±³ÇÏ´Â ÀÛ¾÷À» ÇÑ´Ù. Destnition ÇÇ¿¬»êÀÚ¿¡¼­ sourceÇÇ¿¬»êÀÚ¸¦ÀϽÃÀûÀ¸·Î–A´Ù. Á¶°Ç Á¡ÇÁ¸í·É¾î¸¦ ¾µ‹š ¾²¿©Áø´Ù. ²À ¾Ë¾ÆµÖ¾ßÇÒ Á¶°Ç ¸í·É¾î E,N,Z |ÀÌÄ÷(=) ³´(´Ù¸£°Å³ª) Á¦·Î(ºñ±³°ªÀÌ0) G,A G´Â ºÎÈ£ÀÖ´Â A´Â ºÎÈ£¾ø´Â > Å©´Ù L,B LÀº ºÎÈ£ÀÖ´Â B´Â ºÎÈ£¾ø´Â <ÀÛ´Ù NOP ¾Æ¹«Àϵµ ÇÏÁö ¾Ê´Â ¸í·É¾îÀÌ´Ù. Jmp : ƯÁ¤ÇÑ ¸Þ¸ð¸® ¿ÀÇÁ¼ÂÀ¸·Î À̵¿ÇÒ‹š ¾²ÀδÙ. ex:) Jmp dword ptr[401F47] :¸Þ¸ð¸® ¿ÀÇÁ¼Â 401F47 ·Î Á¡ÇÁÇÑ´Ù. Á¶°ÇºÎ Á¡ÇÁ: Cmp³ª Test °°Àº ¸í·É¾îÀÇ °á°ú¿¡ µû¶óÁ¡ÇÁÇÑ´Ù. Je : Cmp³ª Test ÀÇ °á°ú°¡ °°´Ù¸é Á¡ÇÁ Jne : Cmp³ª Text ÀÇ °á°ú°¡ °°Áö ¾Ê´Ù¸é Á¡ÇÁ Jz : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ 0 À̶ó¸é Á¡ÇÁ Jnz : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ 0 ÀÌ ¾Æ´Ï¶ó¸é Á¡ÇÁ Jl : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù ÀÛÀ¸¸é Á¡ÇÁ(ºÎÈ£ÀÖ´Â) Jnl : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù ÀÛÁö ¾ÊÀ¸¸é(Å©°Å³ª °°À¸¸é) Á¡ÇÁ (ºÎÈ£ÀÖ´Â) Jb : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù ÀÛÀ¸¸é Á¡ÇÁ(ºÎÈ£¾ø´Â) Jnb : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù ÀÛÁö ¾ÊÀ¸¸é(Å©°Å³ª °°À¸¸é) Á¡ÇÁ (ºÎÈ£¾ø´Â) Jg : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù Å©¸é Á¡ÇÁ Jng : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù Å©Áö ¾ÊÀ¸¸é (À۰ųª °°À¸¸é) Á¡ÇÁ Jle : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù À۰ųª °°À¸¸éÁ¡ÇÁ (ºÎÈ£ÀÖ´Â) Jge : ¿ÞÂÊ ÀÎÀÚÀÇ °ªÀÌ ¿À¸¥ÂÊ ÀÎÀÚÀÇ °ªº¸´Ù Å©°Å³ª °°À¸¸é Á¡ÇÁ ----------------------------------------------------------------------------------------------------------------------------------- µ¥ÀÌÅÍ ÀúÀå¹æ½Ä : little edian°ú big enian DATA : 0x01020304 °¡ÀÖ´ÙÄ¡ÀÚ. ¸®Æ²¹æ½ÄÀº³·ÀºÁÖ¼ÒºÎÅÍ 04030201³ôÀºÁÖ¼Ò ·Î ÀúÀåÀÌµÇ¸ç ºòÀº ³·ÀºÁÖ¼Ò01020304·Î³ôÀºÁÖ¼Ò·Î ÀúÀåµÈ´Ù LIFO¹æ½Ä (¶ó½ºÆ®ÀÎ ÆÛ½ºÆ®¾Æ¿ô ) ¸¶Áö¸·¿¡µé¾î¿Â°Ô ¸ÕÀú ³ª°£´Ù. ½ºÅÃÀ̶õ : Àӽà µ¥ÀÌÅ͹é¾÷ Áö¿ªº¯¼ö ÀúÀå (ÁÖ¸ñÀû) ½ºÅà ÇÁ·¹ÀÓ : ÇÔ¼öµéÀÌ °¡Áö´Â ½ºÅðø°£ ÇÔ¼ö È£Ãâ ±Ô¾à Á¤¸® cdecl ¿À¸¥ÂÊ>¿ÞÂÊ ½ºÅà ½ºÅÃÁ¤¸®´Â ÄÝ·¯ stdcall ¿À¸¥ÂÊ>¿ÞÂÊ ½ºÅà ½ºÅÃÁ¤¸®´Â Äݸ® Fastcall¿À¸¥ÂÊ>¿ÞÂÊ ½ºÅÃ,ECX,EDX ½ºÅÃÁ¤¸®´Â Äݸ® ÄÝ·¯´Â ÇÔ¼ö È£ÃâÇÑ°÷ Äݸ®´Â ÇÔ¼öÈ£Ãâ ´çÇϴ°÷ ÄÝ·¯ ¼¼À̺êµå ·¹Áö½ºÅÍ EAX ECX EDX Äݸ® ¼¼À̺êµå ·¹Áö½ºÅÍ EBX ESI EDI ----------------------------------------------------------------------------------------------------------------------------------------