chenghao0511 发表于 2015-01-24 19:21

hello.S文件在gcc-1.40下产生的

本帖最后由 chenghao0511 于 2015-01-24 22:04 编辑

.file        "hello.c"
gcc_compiled.:
.text
LC0:
        .ascii "Hello, world!\12\0"
        .align 2
.globl _main
_main:
        pushl %ebp
        movl %esp,%ebp
        pushl $LC0
        call _printf
        xorl %eax,%eax
        jmp L1
        .align 2
L1:
        leave
        ret


下面是rtl语言表示:
;; Function main

(note 2 0 3 "" NOTE_INSN_DELETED)

(note 3 2 4 "" NOTE_INSN_FUNCTION_BEG)

(note 4 3 6 "" NOTE_INSN_DELETED)

(insn 6 4 7 (set (mem:SI (pre_dec:SI (reg:SI 7)))
       (symbol_ref:SI ("*LC0"))) -1 (nil)
   (nil))

(call_insn 7 6 9 (set (reg:SI 0)
       (call (mem:QI (symbol_ref/v:SI ("printf")))
         (const_int 4))) -1 (nil)
   (nil))

(insn 9 7 10 (set (reg/i:SI 0)
       (const_int 0)) -1 (nil)
   (nil))

(insn 10 9 11 (use (reg/i:SI 0)) -1 (nil)
   (nil))

(jump_insn 11 10 12 (set (pc)
       (label_ref 15)) -1 (nil)
   (nil))

(barrier 12 11 13)

(note 13 12 15 "" NOTE_INSN_FUNCTION_END)

(code_label 15 13 0 1)
页: [1]
查看完整版本: hello.S文件在gcc-1.40下产生的