#include <stdio.h> void Tbl(int param); int main(void) { int data; printf("input tbl data ....:"); scanf("%d",&data); Tbl(data); return; } void Tbl(int param) { int tbl1[3] = {param,param*10,param*100}; return; } |
.file "test52.c" .version "01.01" gcc2_compiled.: .section .rodata .LC0: .string "input tbl data ....:" .LC1: .string "%d" .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $24,%esp addl $-12,%esp pushl $.LC0 call printf addl $16,%esp addl $-8,%esp leal -4(%ebp),%eax pushl %eax pushl $.LC1 call scanf addl $16,%esp addl $-12,%esp movl -4(%ebp),%eax pushl %eax call Tbl addl $16,%esp jmp .L2 .p2align 4,,7 .L2: movl %ebp,%esp popl %ebp ret .Lfe1: .size main,.Lfe1-main .align 4 .globl Tbl .type Tbl,@function Tbl: pushl %ebp movl %esp,%ebp subl $40,%esp movl 8(%ebp),%eax movl %eax,-24(%ebp) movl 8(%ebp),%edx movl %edx,%eax sall $2,%eax addl %edx,%eax leal (%eax,%eax),%edx movl %edx,-20(%ebp) movl 8(%ebp),%edx movl %edx,%eax sall $2,%eax addl %edx,%eax leal 0(,%eax,4),%edx addl %edx,%eax leal 0(,%eax,4),%edx movl %edx,-16(%ebp) movl -24(%ebp),%eax movl %eax,-12(%ebp) movl -20(%ebp),%eax movl %eax,-8(%ebp) movl -16(%ebp),%eax movl %eax,-4(%ebp) jmp .L3 .p2align 4,,7 .L3: movl %ebp,%esp popl %ebp ret .Lfe2: .size Tbl,.Lfe2-Tbl .ident "GCC: (GNU) 2.95.3 20010315 (release)" |
#include <stdio.h> void Tbl(int param); int main(void) { Tbl(100); return; } void Tbl(int param) { int tbl1[3] = {param,param*10,param*100}; return; } |
.file "test53.c" .version "01.01" gcc2_compiled.: .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $8,%esp addl $-12,%esp pushl $100 call Tbl addl $16,%esp jmp .L2 .p2align 4,,7 .L2: movl %ebp,%esp popl %ebp ret .Lfe1: .size main,.Lfe1-main .align 4 .globl Tbl .type Tbl,@function Tbl: pushl %ebp movl %esp,%ebp subl $40,%esp movl 8(%ebp),%eax movl %eax,-24(%ebp) movl 8(%ebp),%edx movl %edx,%eax sall $2,%eax addl %edx,%eax leal (%eax,%eax),%edx movl %edx,-20(%ebp) movl 8(%ebp),%edx movl %edx,%eax sall $2,%eax addl %edx,%eax leal 0(,%eax,4),%edx addl %edx,%eax leal 0(,%eax,4),%edx movl %edx,-16(%ebp) movl -24(%ebp),%eax movl %eax,-12(%ebp) movl -20(%ebp),%eax movl %eax,-8(%ebp) movl -16(%ebp),%eax movl %eax,-4(%ebp) jmp .L3 .p2align 4,,7 .L3: movl %ebp,%esp popl %ebp ret .Lfe2: .size Tbl,.Lfe2-Tbl .ident "GCC: (GNU) 2.95.3 20010315 (release)" |
.file "test54.c" .version "01.01" gcc2_compiled.: .text .align 4 .globl Tbl .type Tbl,@function Tbl: pushl %ebp movl %esp,%ebp subl $24,%esp movl 8(%ebp),%eax movl %eax,-12(%ebp) leal (%eax,%eax,4),%eax leal (%eax,%eax),%edx movl %edx,-8(%ebp) leal (%eax,%eax,4),%eax sall $2,%eax movl %eax,-4(%ebp) movl %ebp,%esp popl %ebp ret .Lfe1: .size Tbl,.Lfe1-Tbl .align 4 .globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $8,%esp addl $-12,%esp pushl $100 call Tbl movl %ebp,%esp popl %ebp ret .Lfe2: .size main,.Lfe2-main .ident "GCC: (GNU) 2.95.3 20010315 (release)" |