수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1620577
  • Today | 439
  • Yesterday | 670

1 Articles, Search for 'Assembly'

  1. 2007/02/21 어셈블된 코드 보기
Programming/Win32 API2007/02/21 10:22

어셈블된 코드 보기

원본 : http://www.debuglab.com/knowledge/assemble.html

1. 요약

Release 모드에서 어셈블된 코드를 보시려면 컴파일러 옵션에서 /FAcs 를 추가하시면 됩니다.


2. 본문

다음의 예제에서 컴파일러 옵션 /FAcs를 추가한 후 생성되는 .cod 파일에는 아래와 같은 어셈블러 코드가 들어있습니다.


3. 예제

(1) 원본 코드

// assem.cpp : Defines the entry point for the console application.

//



#include "stdafx.h"



int main(int argc, char* argv[])

{

    printf("Hello World!\n");

    return 0;

}


(2) 어셈블된 코드

    TITLE   F:\Test\assem\assem.cpp

    .386P

include listing.inc

if @Version gt 510

.model FLAT

else

_TEXT   SEGMENT PARA USE32 PUBLIC 'CODE'

_TEXT   ENDS

_DATA   SEGMENT DWORD USE32 PUBLIC 'DATA'

_DATA   ENDS

CONST   SEGMENT DWORD USE32 PUBLIC 'CONST'

CONST   ENDS

_BSS    SEGMENT DWORD USE32 PUBLIC 'BSS'

_BSS    ENDS

_TLS    SEGMENT DWORD USE32 PUBLIC 'TLS'

_TLS    ENDS

;   COMDAT ??_C@_0O@FEEI@Hello?5World?$CB?6?$AA@

_DATA   SEGMENT DWORD USE32 PUBLIC 'DATA'

_DATA   ENDS

;   COMDAT _main

_TEXT   SEGMENT PARA USE32 PUBLIC 'CODE'

_TEXT   ENDS

FLAT    GROUP _DATA, CONST, _BSS

    ASSUME  CS: FLAT, DS: FLAT, SS: FLAT

endif

PUBLIC  _main

PUBLIC  ??_C@_0O@FEEI@Hello?5World?$CB?6?$AA@       ; `string'

EXTRN   _printf:NEAR

;   COMDAT ??_C@_0O@FEEI@Hello?5World?$CB?6?$AA@

; File F:\Test\assem\assem.cpp

_DATA   SEGMENT

??_C@_0O@FEEI@Hello?5World?$CB?6?$AA@ DB 'Hello World!', 0aH, 00H ; `string'

_DATA   ENDS

;   COMDAT _main

_TEXT   SEGMENT

_main   PROC NEAR                   ; COMDAT



; 8    :    printf("Hello World!\n");



  00000 68 00 00 00 00   push    OFFSET FLAT:??_C@_0O@FEEI@Hello?5World?$CB?6?$AA@ ; `string'

  00005 e8 00 00 00 00   call    _printf

  0000a 83 c4 04     add     esp, 4



; 9    :    return 0;



  0000d 33 c0        xor     eax, eax



; 10   : }



  0000f c3       ret     0

_main   ENDP

_TEXT   ENDS

END



- 2001.08.06 Smile Seo -
"Win32 API" 카테고리의 다른 글
  • SearchPath()의 리턴값 알아보기 (0)2007/02/22
  • 파일의 특정 부분의 warning level을 지정하기 (0)2007/02/21
  • 어셈블된 코드 보기 (0)2007/02/21
  • Volatile (0)2007/02/21
  • 특정 확장자명으로 프로그램 실행시키기 (0)2007/02/21
2007/02/21 10:22 2007/02/21 10:22
Posted by webdizen
Tags Assembly
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/2610

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1  Next»

RSS HanRSS
Blog Image
webdizen
이 곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (2998)
Webdizen (134)
Life (6)
Diary (16)
Blog (9)
IDEA (1)
Travel (10)
Book (14)
Photo (7)
Movie (7)
Music (13)
Leisure Sports (10)
Funny (5)
Hardware (119)
Software (120)
Windows (5)
Unix & Linux (119)
Installation (4)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (805)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (3)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (3)
Network (66)
Web (78)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • Data Stream
  • Jabra
  • free
  • 클립아트
  • VisualUnitTest++
  • Dll
  • Solaris
  • 데드락
  • 집현관
  • 매크로
  • Foundstone
  • ASCII Character Codes
  • 약학관
  • SYN attack
  • Event
  • J&B 레어
  • OLTP
  • log
  • Virtual Memory
  • 리팩토링

Recent Articles

  • ASCII Code의 CRLF 제거 방법.
  • Hadoop 에서 c++ API 이용시....
  • Ubuntu Linux에서 Hadoop 구....
  • 내 심장을 한껏 뛰게한 "국가....
  • 스타 스키마 데이터베이스 설....

Recent Comments

  • ■ 온라인카지노 ▶ http://L....
    asdf 10:36
  • 그리고 혹시 해외여행자보험....
    kim 11/05
  • ★★실제 바다게임장과 똑같....
    asdf 11/04
  • sbsyama.co.to← 짱5000만당....
    asdf 11/04
  • ♡KicaZ??o(???) 바카라사....
    fdsf3fass 11/03

Recent Trackbacks

  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 02/11
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007
  • 마방진을 구하는 프로그램.
    Oranzie's BLOG 3 2007

Archive

  • 2009/09 (3)
  • 2009/08 (1)
  • 2009/03 (1)
  • 2009/02 (9)
  • 2009/01 (13)

Calendar

«   2009/11   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Rodman®
      • ■ Feel So Good~! ■
      • 까만 나비
      • 나를 가꾸는 시간.
      • 나만의 즐거움~~!
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.