1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
.file "main.c"
# GNU C17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)
# compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3), GMP version 6.2.1, MPFR version 4.2.1, MPC version 1.3.1, isl version none
# GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
# options passed: -mtune=generic -march=x86-64 -O2
.text
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "%d"
.LC1:
.string "Max: %d\nMin: %d\n"
.section .text.startup,"ax",@progbits
.p2align 4
.globl main
.type main, @function
main:
.LFB11:
.cfi_startproc
pushq %r12 #
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
pushq %rbp #
.cfi_def_cfa_offset 24
.cfi_offset 6, -24
# main.c:7: int min = INT_MAX;
movl $2147483647, %ebp #, min
# main.c:4: int main(int argc, char *argv[]) {
pushq %rbx #
.cfi_def_cfa_offset 32
.cfi_offset 3, -32
# main.c:6: int max = INT_MIN;
movl $-2147483648, %ebx #, max
# main.c:4: int main(int argc, char *argv[]) {
subq $16, %rsp #,
.cfi_def_cfa_offset 48
# main.c:5: int number = 0;
movl $0, 12(%rsp) #, number
leaq 12(%rsp), %r12 #, tmp107
# main.c:9: while (scanf("%d", &number) != EOF) {
jmp .L2 #
.p2align 4,,10
.p2align 3
.L3:
# main.c:10: if (number > max)
movl 12(%rsp), %eax # number, number.0_1
# main.c:10: if (number > max)
cmpl %eax, %ebx # number.0_1, max
cmovl %eax, %ebx # max,, number.0_1, max
# main.c:12: if (number < min)
cmpl %eax, %ebp # number.0_1, min
cmovg %eax, %ebp # min,, number.0_1, min
.L2:
# main.c:9: while (scanf("%d", &number) != EOF) {
xorl %eax, %eax #
movq %r12, %rsi # tmp107,
movl $.LC0, %edi #,
call __isoc99_scanf #
# main.c:9: while (scanf("%d", &number) != EOF) {
cmpl $-1, %eax #, tmp108
jne .L3 #,
# main.c:16: printf("Max: %d\nMin: %d\n", max, min);
movl %ebp, %edx # min,
movl %ebx, %esi # max,
movl $.LC1, %edi #,
xorl %eax, %eax #
call printf #
# main.c:17: }
addq $16, %rsp #,
.cfi_def_cfa_offset 32
xorl %eax, %eax #
popq %rbx #
.cfi_def_cfa_offset 24
popq %rbp #
.cfi_def_cfa_offset 16
popq %r12 #
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE11:
.size main, .-main
.ident "GCC: (GNU) 14.2.1 20240912 (Red Hat 14.2.1-3)"
.section .note.GNU-stack,"",@progbits
|