sweetchip's blog

C Source




매우 간단한 소스


10번 printf 후 자동으로 꺼짐을 방지한다.



올리디버거로 디버깅 한 결과--------------------------------------------------------------







00F41000 >/$ 56 PUSH ESI

00F41001 |. 57 PUSH EDI

00F41002 |. 8B3D 9C20F400 MOV EDI,DWORD PTR DS:[<&MSVCR100.printf>]


--------------- For 문 진입


00F41008 |. 33F6 XOR ESI,ESI ; ESI 값을 xor 연산 해서 초기화 시킴

00F4100A |. 8D9B 00000000 LEA EBX,DWORD PTR DS:[EBX]


00F41010 |> 46 /INC ESI ; ESI 를 1 증가시킴

00F41011 |. 56 |PUSH ESI ; 스택에 저장

00F41012 |. 68 F420F400 |PUSH OFFSET IF.??_C@_0BA@BFGFEAAF@For?$LJ?$KO?5?$CFd>

00F41017 |. FFD7 |CALL EDI ; printf for문 %d 번째 출력

00F41019 |. 83C4 08 |ADD ESP,8 ; esp 에 8을 더함

00F4101C 83FE 0A CMP ESI,0A ; ESI 값이 16진수 0A 인지 비교함 [10진수로 10]

00F4101F |.^ 7C EF \JL SHORT IF.00F41010 ; 낮을경우 00F41010 으로 점프시킴


----------------- for 문 끝


00F41021 |. 68 0421F400 PUSH OFFSET IF.??_C@_05PDJBBECF@pause?$AA@

00F41026 |. FF15 A420F400 CALL DWORD PTR DS:[<&MSVCR100.system>] ; system pause.




어렵다 ㅠㅠ




신고

댓글 1

  • hoc
    2017.04.26 04:29 신고 수정 답글

    이게 첫 게시물인가요? 몇년내에 정말 눈부시게 성장하신듯! 많이 느끼고 의지를 다지고 가요!!
    자주 방문하고 있어요.. 내용들이 아직은 저에겐 너무 어렵지만 님처럼 꾸준히 공부하며 계속 보다보면
    하나 둘씩 이해할수 있지 않을까 하는 기대를 갖구요 ㅎㅎ