16Áø¼ö 4ºñÆ® Ç¥Çö¹æ¹ý + = 0 - 15 - = -8 - 7 Áø¼öº¯È¯ = 5 + 3 = 8 5 = 0101 3 = 0011 8 = 1000 Áø¼öº¯È¯ = 5 + (-3) = 2 5 = 0101 -3 = 1101 - 0011 ¹ÝÀüÈÄ ³¡¿¡¼­ +1 2 = 0010 »çÀÎµå ¾ð»çÀÎµå »çÀεå´Â ¾Õ¿¡ 1ÀÌ ÀÖ´Ù¸é -·Î Ãë±ÞÇÑ´Ù. ¾ð»çÀεå´Â ±×´ë·Î Ç¥ÇöÇÑ´Ù. ex ) 1010 = -0110 = -6 - ¾Õ¿¡1ÀÌ ºÙ¾úÀ¸¸é »çÀεå / ¹ÝÀüÈÄ ³¡¿¡¼­+1 ·¹Áö½ºÅÍ 1.2.3. ¹ü¿ë·¹Áö½ºÅÍ(General Register) - ÀÚÀ¯·Ó°Ô »ç¿ëÀÌ °¡´ÉÇÑ ·¹Áö½ºÅÍ EAX = »ê¼ú , ³í¸®¿¬»êÀÇ Áß½ÉÀ̵Ǵ ·¹Áö½ºÅÍ / ¢ÂÇÔ¼öÀÇ ¸®Åϰª ÀúÀå EBX = °£Á¢¹øÁö ÀúÀå ·¹Áö½ºÅÍ ECX = ¹Ýº¹ÀÇ È½¼ö ÀúÀå //for¹® while¹®Àº ¾Æ´Ï´Ù // ¾î¼Àºí¸®¾î ÄÚµåÀÇ ¹Ýº¹È½¼ö ÀúÀå EDX = EAXÀÇ »ê¼ú¿¬»ê¿¡ µµ¿òÀ»ÁÜ EAX(32) X AX(16) AH(8) AL(8) ³ª´©¾îÁö°í ³ª´©´Â ÀÌÀ¯´Â µ¿ÀÛÀÇ Ã³¸®¿Í, È¿À² ¶§¹®¿¡ ³ª´® ------------------------------------------ 2. Æ÷ÀÎÅÍ·¹Áö½ºÅÍ(Pointer Register) ESP = top pointer ½ºÅØÀÇ °¡Àå ÃÖ»óÀ§ÀÇ µ¥ÀÌÅ͸¦ °¡¸®Å´ ¤Ó EBP = Base pointer ½ºÅØÀÇ °¡Àå ÃÖÇÏÀ§ÀÇ µ¥ÀÌÅ͸¦ °¡¸®Å´ ¤Ó ¤Ó ¤Ó ¤Ó ¤Ó ¤Ó ¤Ó ¤Ó______________¤Ó<-esp 2)¾ø¾Ö´Â°ÍÀÌ ¾Æ´Ï¶ó »«´Ù. ¤Ó ¤Ó ½ºÅØ ¤Ó ¤Ó ¤Ó______________¤Ó<-esp 3)¹ØÀ¸·Î ³»·Á¿Â´Ù. ¤Ó ¤Ó ½ºÅØ ¤Ó ¤Ó ebpÃâ¹ß->¤Ó______________¤Ó<-esp 1)Ãâ¹ß ¤Ó ¤Ó ½ºÅØ ¤Ó ¤Ó ¤Ó ¤Ó ¤Ó ¤Ó ½ºÅذú ¿¬°üÀÖ´Â ·¹Áö½ºÅÍ ¤Ó ---------------------------------- ¤Ó ÁÖ¼Ò°ªÀÌ¶ó¼­ ³ª´©Áö¸¦ ¸øÇÔ. 3. À妽º·¹Áö½ºÅÍ(Index Register) ¤Ó ESI ±âÁØÁ¡ - apple 100ÀÇ ÁÖ¼Ò¿¡ÀúÀå ¤Ó EDI µµÂøÁ¡ - appleÀ» 200±îÁö appleÀ» º¹»ç. ¤Ó ¤Ó À妽º(¹®ÀÚ¿­)¿Í °ü·ÃÀÖ´Â ·¹Áö½ºÅÍ ¤Ó ---------------------------------- ¤Ó EIP - ¸í·É Æ÷ÀÎÅͶó°í ºÎ¸£¸ç, CPU°¡ ó¸®ÇØ¾ßµÉ ¸í·ÉÀÌÀÖ´Â À§Ä¡¸¦ ÀúÀå. Flag Register - »óÅÂÁ¤º¸¸¦ ÀúÀåÇÏ´Â ·¹Áö½ºÅÍ ex ) Á¦·ÎÇ÷¡±× - a=10,b=10 / a==b // ¿¬»ê °á°ú°¡ 0À϶§ ¼¼Æ®µÊ ¼¼±×¸ÕÆ®·¹Áö½ºÅÍ(Segment Register) CS - ÄÚµå ¼¼±×¸ÕÆ®ÀÇ ½ÃÀÛ¹øÁö DS - µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®ÀÇ ½ÃÀÛ¹øÁö SS - ½ºÅØ ¼¼±×¸ÕÆ®ÀÇ ½ÃÀÛ¹øÁö µð¹ö±× ·¹Áö½ºÅÍ(Debug Register) - Hardware Break Ponit ¸¦ °É±âÀ§ÇÑ ¾²ÀÌ´Â ·¹Áö½ºÅÍ. dr 0 - dr 3 = ºê·¹ÀÌÄ¿¸¦ °É¾î¾ßÇÒ ÁÖ¼Ò dr 4,dr 5 = ¾²Áö¾Ê°í ¹Ì·¡¸¦ À§Çؼ­ ¿¹¾à dr 6,dr 7 = µð¹ö±ëÀÌ °É·ÁÀÖ´Â Á¤º¸ ================================================================================================ ½ºÅØ ÇÔ¼öÀÇ ÇÁ·Ñ·Î±× = ÇÔ¼öÀÇ ½ÃÀÛ push EBP mov EBP,ESP ÇÔ¼öÀÇ ¿¡ÇÊ·Î±× = ÇÔ¼öÀÇ Á¾·á mov ESP, EBP pop EBP ½ºÅØÀÇ ¿ëµµ Àӽõ¥ÀÌÅÍÀÇ ¹é¾÷ ÁÖ¸ñÀû - Áö¿ªº¯¼ö ÀúÀå ¸Å°³º¯¼ö Àü´Þ ½ºÅØÀÇ ¹æ½Ä full stack - ESP °¡ Top¿¡ À§Ä¡ Empty stack - ESP °¡ Top´ÙÀ½¿¡ ½×ÀÏ °ø°£¿¡ À§Ä¡ Descending stack - ³ôÀº¸Þ¸ð¸® ÁÖ¼Ò¿¡¼­ ½ÃÀÛÇÏ¿© ³·Àº ¸Þ¸ð¸® ÁÖ¼Ò ¹æÇâÀ¸·Î ÀÚ¶ó³² Ascending stack - ³·Àº ¸Þ¸ð¸® ÁÖ¼Ò¿¡¼­ ½ÃÀÛÇÏ¿© ³ôÀº ¸Þ¸ð¸® ÁÖ¼Ò ¹æÇâÀ¸·Î ÀÚ¶ó³² ÀÚÁÖ¾²´Â¹æ½Ä - Full Decending stack ¹æ½Ä