ÇÁ·Î±×·¡¹Ö

 3204, 17/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   park53kr
   c¾ð¾î¿¡¼­ Áú¹®ÀÌ¿ä~~!!

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=3450 [º¹»ç]


C¾ð¾î¿¡¼­ º¯¼ö¸¦ ¼±¾ðÇÏÀݾƿä

¸¸¾à¿¡

int a = 10;
À̶ó°í Çϸé

±â°è´Â º¯¼ö¸í a¶ó´Â ´Ü¾î¸¦ ¸ð¸£´Âµ¥ ¾î¶² ÇüÅ·ΠÀúÀåÀ» Çϳª¿ä??

¿¹¸¦ µé¾î 0x0000007b À̶ó´Â ÁÖ¼Ò¿¡ 10À» ÀúÀåÇß´Ù°í ÇսôÙ.

±×·¯¸é

printf("%d", a); ¶ó°í ÇÒ¶§ ±â°è´Â a¶ó´Â ´Ü¾î¸¦ º¸°í ¾î¶»°Ô 0x0000007b ÁÖ¼Ò¸¦ ã¾Æ°¡¼­
10À» Ãâ·ÂÇϳª¿ä??

  Hit : 3366     Date : 2012/07/04 10:25



    
hayate114 ÀÌ »çÀÌÆ®¿¡ ÀÖ´Â ¸¸È­¸¦ º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸

ÄÄÆÄÀÏ·¯°¡ »ç¶÷ÀÌ Â§ ¼Ò½º¸¦ ±â°è¾î·Î ¹Ù²ãÁÖ´Â ¿ªÈ°À» ÇÕ´Ï´Ù.
2012/07/05  
hayate114 ÄÄÆÄÀÏ·¯´Â º¯¼ö°¡ ½ÇÁ¦ ¾î¶² ¹øÁö¸¦ °¡¸®Å°´ÂÁö¸¦ ±â¾ïÇÏ°í ÀÖ´Ù°¡ º¯¼ö¸¦ »ç¿ëÇÏ¸é ½ÇÁ¦ ¹øÁö¿¡ °ªÀ» Àаųª ¾²´Â Äڵ带 ´ë½Å ÀÛ¼ºÇØ ÁÝ´Ï´Ù.

http://winapi.co.kr/clec/cpp1/3-1-1.htm

winapi »çÀÌÆ®¿¡ ÀÚ¼¼ÇÏ°Ô ¼³¸íÀÌ ³ª¿Í ÀÖ½À´Ï´Ù ¤¾¤¾
2012/07/05  
wolverine Compiler´Â text levelÀÇ c code¸¦ machine instructionÀ¸·Î º¯È¯À» ÇØÁÖ´Â µµ±¸ ÀÔ´Ï´Ù.

C source --> compiler ---> machine instruction

µû¶ó¼­, compiler¸¦ ÀÌÇØÇϱâ À§Çؼ­´Â ¿ì¼± CPU Architecture¿¡ ´ëÇÑ study°¡ ¼±ÇàÀÌ µÇ¾î¾ß ÇÕ´Ï´Ù.
Processor°¡ ¾î¶»°Ô µ¹¾Æ°¡´ÂÁö, machine instruction(±â°è¾î)ÀÌ ¾î¶»°Ô ±¸¼ºµÇ°í ¼öÇàµÇ´ÂÁö¿¡
´ëÇÑ ÀÌÇظ¦ ¹ÙÅÁÀ¸·Î, Àû¾îµµ assembly language·Î ÇÁ·Î±×·¥ °³¹ßÀÌ °¡´ÉÇÒ Á¤µµ°¡ µÇ¾ú´Ù¸é,
Áú¹®ÇϽŠºÎºÐ¿¡ ´ëÇؼ­ ½º½º·Î ´äÀ» ãÀ¸½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù.

int a=10;

À̶ó°í ¼±¾ðÀ» Çϸé, compiler/linker´Â aÀÇ ½ÇÁúÀûÀÎ memory address¸¦ °áÁ¤ÇÏ°í,
¿¹¸¦ µé¾î¼­ ´ÙÀ½°ú °°Àº instructionÀ» ¸¸µì´Ï´Ù.
(processor & compiler¸¶´Ù ´Ù¸§, ÇϳªÀÇ ¿¹Á¦ÀÓ...)

mov r1, °áÁ¤µÈ aÀÇ ÁÖ¼Ò; // °áÁ¤µÈ aÀÇ ÁÖ¼Ò¸¦ register r1¿¡ load
mov r2, 10; // Àý´ë°ª 10À» register r2¿¡ load
mov *(r1), r2; // r1ÀÇ °ªÀÌ ÁöÁ¤ÇÏ´Â memory¿¡ r2¿¡ ÀúÀåµÈ °ª(10)À» ÀúÀå

printfÇÔ¼ö¿¡ ÀÎÀÚ·Î a°¡ Àü´ÞÀÌ µÇ±â À§Çؼ­´Â,
mov r1, °áÁ¤µÈ aÀÇ ÁÖ¼Ò; // °áÁ¤µÈ aÀÇ ÁÖ¼Ò¸¦ register r1¿¡ load
mov r2, *(r1) // r1ÀÇ °ªÀÌ ÁöÁ¤ÇÏ´Â memory¿¡ ÀÖ´Â °ª(10)À» r2¸¦ ÀúÀå
r2¸¦ printf ÇÔ¼ö call½Ã µÎ¹ø° ÀÎÀÚ·Î ³Ñ°ÜÁÜ

Core processing unitÀº ³»ºÎ¿¡ Á¤ÇØÁø register fileÀ̶ó´Â ¿©·¯°³ÀÇ register¸¦
°¡Áö°í ÀÖÀ¸¸ç, ÀÌ´Â processor ±¸Á¶¸¶´Ù õÂ÷ ¸¸º° ÀÔ´Ï´Ù.
load/store, add, multiply, branch, compare µîÀÇ ´ëºÎºÐÀÇ ¸í·ÉÀº ÀÌ·¯ÇÑ registerµéÀ»
¸Å°³·Î Çؼ­ ¼öÇàÀÌ µË´Ï´Ù.
Áï, add r1,r2,r3 ¸í·É¾î´Â r1 regiter¿¡ ÀÖ´Â °ª°ú, r2 regsiter¿¡ ÀÖ´Â °ªÀ» ´õÇؼ­
r3¿¡ ÀúÀåÇÏ°Ú´Ù´Â ÀǹÌÀÔ´Ï´Ù.
À̸¦ À§Çؼ­´Â load ¸í·É¾î¸¦ ÀÌ¿ëÇؼ­ memory¿¡ ÀÖ´Â °ªÀ» ¹Ì¸® r1, r2¿¡ ¿Å°Ü³õ¾Æ¾ß ÇÕ´Ï´Ù.
¶ÇÇÑ ¸í·É¾î ¼öÇà ÈÄ¿¡´Â r3ÀÇ °ªÀ» memory¿¡ ´Ù½Ã ¿Å°Ü³õ¾Æ¾ß ÇÕ´Ï´Ù.
registerÀÇ ¼ö´Â 16°³ 32°³µîÀ¸·Î Á¦ÇÑÀÌ µÇ¾îÀֱ⠶§¹®¿¡,
´ÙÀ½ ¸í·É¾î ¼öÇà½Ã¿¡µµ µ¿ÀÏÇÏ°Ô r1,r2,r3 °¡ »ç¿ëµÉ ¼öµµ ÀÖ½À´Ï´Ù.

À§ÀÇ ¿¹Á¦´Â ÀÌÇظ¦ µ½±â À§ÇÑ ÇϳªÀÇ pseudo code ÀÔ´Ï´Ù.

CPU Architecture¿¡ °üÇÑ °øºÎÀ» ÇϽô٠º¸¸é, À§ÀÇ Áú¹®¿¡ ´ëÇؼ­,
assembly coding¿¡ ´ëÇؼ­ ÀÚ¿¬½º·´°Ô ÀÌÇØÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.































2012/07/05  
2884   [c¾ð¾î] ¸Þ¸ð¸® ÁÖ¼Ò°ª[2]     yj6393
07/27 2785
2883   C¾ð¾î Áú¹®[2]     hanjm1124
07/25 2927
2882   À±¼º¿ìÀÇ ¿­Ç÷°­ÀÇ cÇÁ·Î±×·¡¹Ö¿¡¼­ µµÀü!ÇÁ·Î±×·¡¹Ö1[1]     yj6393
07/24 5525
2881   c¾ð¾î Áú¹®[1]     qkrwncks96
07/23 2795
2880 ºñ¹Ð±ÛÀÔ´Ï´Ù  ¼öÁ¤¾î¶»°ÔÇÏÁÒ     rlaeorb
07/23 19
2879     [C¾ð¾î] c¾ð¾î·Î ÇÁ·Î±×·¥À» ¸¸µé¶§[1]     rlaeorb
07/23 3180
2878   °í¼ö´ÔµéÀÇ ÁÁÀº Á¶¾ð ºÎŹµå¸³´Ï´Ù     shdrncjswo
07/22 3216
2877   °øÀ¯¶óÀ̺귯¸®¿µ¿ª[4]     qkrwncks96
07/22 3082
2876   perl ¸í·ÉÁú¹®[1]     qkrwncks96
07/21 3026
2875   c¾ð¾î ncurses½Ã, ÇѱÛÀԷ¹®Á¦À̺ó´Ù.      soul214
07/19 4160
2874   Å°º¸µå Á¦¾î, Å°·Î±ë Áú¹®ÀÔ´Ï´Ù.[2]     park8370
07/12 3139
2873   °ü¸®ÀÚ±ÇÇÑ[1]     park8370
07/12 2673
2872   [Python] Impacket & Pcapy ÀÖÀ¸½ÅºÐ ÀúÁ» ÁÖ¼¼¿ä ¤Ì.¤Ì...     Semtax
07/10 3059
2871   [Python] ÆÄÀ̽ã 2.7 ·Î¿ì¼ÒÄÏ     Semtax
07/08 2836
2870   ÇØÅ·ÇÒ·Á¸é ³×Æ®¿öÅ© ¿î¿µÃ¼Á¦ ÇÁ·Î±×·¥¹Ö¸ðµÎ ¾Ë¾Æ¾ßÇϳª¿ä? ±×¸®°í..[2]     yj6393
07/08 2821
2869   c¾ð¾î ÇÁ·Î±×·¥À»Çϳª¸¸µé¾ú´Âµ¥ ¿À·ù°¡¶°¿ä![5]     cdc3434
07/05 4028
2868   Áú¹®ÀÌ¿©[1]     yj6393
07/05 2911
  c¾ð¾î¿¡¼­ Áú¹®ÀÌ¿ä~~!![3]     park53kr
07/04 3365
2866   return 0; / return ; ÀÌÇØ°¡ ¾ÈµÅ¿ä..[9]     kuka7043
06/28 8236
2865   stdio.h ¾î¶»°Ô ÀÌÇØÇؾßÇÒ±î¿ä ?[6]     kuka7043
06/27 2881
[1]..[11][12][13][14][15][16] 17 [18][19][20]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org