#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)" |