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]