Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .file "cprog.c"
- .section .rodata
- .LC0:
- .string "Input mas length"
- .LC1:
- .string "%d"
- .LC2:
- .string "Yes\n"
- .LC3:
- .string "No\n"
- .text
- .globl main
- .type main, @function
- main:
- .LFB0:
- .cfi_startproc
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset 6, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register 6
- pushq %r15
- pushq %r14
- pushq %r13
- pushq %r12
- pushq %rbx
- subq $40, %rsp
- .cfi_offset 15, -24
- .cfi_offset 14, -32
- .cfi_offset 13, -40
- .cfi_offset 12, -48
- .cfi_offset 3, -56
- movq %rsp, %rax
- movq %rax, %rbx
- movl $.LC0, %edi
- call puts
- leaq -76(%rbp), %rax
- movq %rax, %rsi
- movl $.LC1, %edi
- movl $0, %eax
- call __isoc99_scanf
- movl -76(%rbp), %eax
- movslq %eax, %rdx
- subq $1, %rdx
- movq %rdx, -64(%rbp)
- movslq %eax, %rdx
- movq %rdx, %r14
- movl $0, %r15d
- movslq %eax, %rdx
- movq %rdx, %r12
- movl $0, %r13d
- cltq
- salq $2, %rax
- leaq 3(%rax), %rdx
- movl $16, %eax
- subq $1, %rax
- addq %rdx, %rax
- movl $16, %ecx
- movl $0, %edx
- divq %rcx
- imulq $16, %rax, %rax
- subq %rax, %rsp
- movq %rsp, %rax
- addq $3, %rax
- shrq $2, %rax
- salq $2, %rax
- movq %rax, -56(%rbp)
- movl $0, -72(%rbp)
- jmp .L2
- .L3:
- movl -72(%rbp), %eax
- cltq
- leaq 0(,%rax,4), %rdx
- movq -56(%rbp), %rax
- addq %rdx, %rax
- movq %rax, %rsi
- movl $.LC1, %edi
- movl $0, %eax
- call __isoc99_scanf
- addl $1, -72(%rbp)
- .L2:
- movl -76(%rbp), %eax
- cmpl %eax, -72(%rbp)
- jl .L3
- movl $0, -68(%rbp)
- movl $0, -72(%rbp)
- jmp .L4
- .L6:
- movq -56(%rbp), %rax
- movl -72(%rbp), %edx
- movslq %edx, %rdx
- movl (%rax,%rdx,4), %eax
- testl %eax, %eax
- jle .L5
- movl -72(%rbp), %eax
- leal 1(%rax), %edx
- movq -56(%rbp), %rax
- movslq %edx, %rdx
- movl (%rax,%rdx,4), %eax
- testl %eax, %eax
- jle .L5
- movl $1, -68(%rbp)
- .L5:
- addl $1, -72(%rbp)
- .L4:
- movl -76(%rbp), %eax
- subl $1, %eax
- cmpl -72(%rbp), %eax
- jg .L6
- cmpl $0, -68(%rbp)
- je .L7
- movl $.LC2, %edi
- movl $0, %eax
- call printf
- jmp .L8
- .L7:
- movl $.LC3, %edi
- movl $0, %eax
- call printf
- .L8:
- movl $0, %eax
- movq %rbx, %rsp
- leaq -40(%rbp), %rsp
- popq %rbx
- popq %r12
- popq %r13
- popq %r14
- popq %r15
- popq %rbp
- .cfi_def_cfa 7, 8
- ret
- .cfi_endproc
- .LFE0:
- .size main, .-main
- .ident "GCC: (Ubuntu 4.8.2-19ubuntu1) 4.8.2"
- .section .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement