- 论坛徽章:
- 0
|
本帖最后由 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)
复制代码 |
|