69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void main()
{
long long d0 = 11;
long long d1 = 12;
long long d2 = 15;
long long d3 = 16;
long long d = (d0*d1)*(d2*d3);
printf("%lld\n",d3);
scanf("%s"," ");
}
.file "test.c"
.def ___main; .scl 2; .type 32; .endef
.section .rdata,"dr"
LC0:
.ascii "%lld\12\0"
LC1:
.ascii " \0"
LC2:
.ascii "%s\0"
.text
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
pushl %edi
pushl %esi
pushl %ebx
subl $84, %esp
call ___main
movl $11, 72(%esp)
movl $0, 76(%esp)
movl $12, 64(%esp)
movl $0, 68(%esp)
movl $15, 56(%esp)
movl $0, 60(%esp)
movl $16, 48(%esp)
movl $0, 52(%esp)
movl 76(%esp), %eax
movl %eax, %esi
imull 64(%esp), %esi
movl 68(%esp), %eax
imull 72(%esp), %eax
addl %eax, %esi
movl 64(%esp), %eax
movl %eax, 28(%esp)
movl 28(%esp), %eax
mull 72(%esp)
movl %eax, %ecx
movl %edx, %ebx
addl %ebx, %esi
movl %esi, %ebx
movl 60(%esp), %eax
movl %eax, %esi
imull 48(%esp), %esi
movl 52(%esp), %eax
imull 56(%esp), %eax
addl %eax, %esi
movl 48(%esp), %eax
mull 56(%esp)
addl %edx, %esi
movl %esi, %edx
movl %ebx, %esi
imull %eax, %esi
movl %edx, %edi
imull %ecx, %edi
addl %edi, %esi
mull %ecx
addl %edx, %esi
movl %esi, %edx
movl %eax, 40(%esp)
movl %edx, 44(%esp)
movl %eax, 40(%esp)
movl %edx, 44(%esp)
movl 48(%esp), %eax
movl 52(%esp), %edx
movl %eax, 4(%esp)
movl %edx, 8(%esp)
movl $LC0, (%esp)
call _printf
movl $LC1, 4(%esp)
movl $LC2, (%esp)
call _scanf
addl $84, %esp
popl %ebx
popl %esi
popl %edi
movl %ebp, %esp
popl %ebp
ret
.file "file.c"
.data
.text
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
subl $64, %esp
movl $0, 60(%esp)
movl $11, 56(%esp)
movl $0, 52(%esp)
movl $12, 48(%esp)
movl $0, 44(%esp)
movl $15, 40(%esp)
movl $0, 36(%esp)
movl $16, 32(%esp)
movl 60(%esp), %eax
movl %eax, %ecx
imull 48(%esp), %ecx
movl 52(%esp), %eax
imull 56(%esp), %eax
addl %eax, %ecx
movl 48(%esp), %eax
mull 56(%esp)
addl %edx, %ecx
movl %ecx, %edx
movl %eax, %ecx
movl %edx, %ebx
movl 44(%esp), %eax
movl %eax, %edi
imull 32(%esp), %edi
movl 36(%esp), %eax
imull 40(%esp), %eax
addl %eax, %edi
movl 32(%esp), %eax
mull 40(%esp)
addl %edx, %edi
movl %edi, %edx
movl %ebx, %edi
imull %eax, %edi
movl %edx, %esi
imull %ecx, %esi
addl %esi, %edi
mull %ecx
addl %edx, %edi
movl %edi, %edx
movl %edx, 28(%esp)
movl %eax, 24(%esp)
movl 24(%esp), %eax
movl %eax, 4(%esp)
movl 28(%esp), %edx
movl %edx, 8(%esp)
movl $LC0, (%esp)
call _printf
movl $LC1, 4(%esp)
movl $LC2, (%esp)
call _scanf
leave
ret
.section .rdata,"dr"
LC0:
.ascii "%lld\n\0"
LC1:
.ascii " \0"
LC2:
.ascii "%s\0"