회원가입 ID/PW 찾기
AA

안녕하세요 ^^;
간단한 어셈블리어 분석중인데요..
아래에 보시면 제가 빨간색으로 표시된 부분이 있는데 도통 뭐하는 작업인지를 잘 모르겠네요..

아시는 분 계시면 죄송스럽지만 설명 달아주셔도 되구요.. 아니면 어딜 참고하면 알 수 있는지 
힌트 좀 주셨으면 감사하겠습니다 +_+;;


    .file   "sample.c"
    .section    .rodata
.LC0:
----------------------------
sample.c
----------------------------
#include <stdio.h>

int main()
{
    int local1 = 0;
    char* local2[2];
    local2[0] = "I'am ";
    local2[1] = "a boy";

    printf("%s %s", local2[0], local2[1]);

    return 0;
}
-----------------------------

    .file   "sample.c"
    .section    .rodata
.LC0:
    .string "I'am "
.LC1:
    .string "a boy"
.LC2:
    .string "%s %s"
    .text
.globl main
    .type   main, @function
main:
    leal    4(%esp), %ecx : (질문 1)함수 프롤로그전에 이 명령들이 수행되는데 정확히 어떤 작업을 하는 것인지를 모르겠습니다..
    andl    $-16, %esp
    pushl   -4(%ecx)

    pushl   %ebp    // 함수 프롤로그
    movl    %esp, %ebp
    pushl   %ecx
    subl    $36, %esp : (질문 2)지역변수는 총 12바이트를 필요로 하는데 왜 이렇게 크기 할당되는 걸까요?
    movl    $0, -8(%ebp)
    movl    $.LC0, -16(%ebp)
    movl    $.LC1, -12(%ebp)
    movl    -12(%ebp), %eax
    movl    -16(%ebp), %edx
    movl    %eax, 8(%esp)
    movl    %edx, 4(%esp)
    movl    $.LC2, (%esp)
    call    printf
    movl    $0, %eax   // 함수 에필로그
    addl    $36, %esp  
    popl    %ecx
    popl    %ebp
    leal    -4(%ecx), %esp
    ret
    .size   main, .-main
    .ident  "GCC: (GNU) 4.1.2 20080704 (Red Hat 4.1.2-46)"
    .section    .note.GNU-stack,"",@progbits

댓글 0

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
3 머신러닝, AI & 알고리즘 HOT오목 게임 알고리즘3 새로운하늘 3470 2010.03.29
2 머신러닝, AI & 알고리즘 HOT지하철 최단거리 알고리즘은?2 지워나 2870 2008.06.20
1 머신러닝, AI & 알고리즘 HOT순차 프로그램에 대한 간단한 알고리즘과 재귀 알고리즘의 속도 테스트 - by 아크마7 아크마 3083 2007.08.08
  • 우리는 마음을 염려해야 하며 외모를 염려해서는 안 된다.
    - 이솝
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.