Advertisement
Guest User

Untitled

a guest
Oct 24th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .file   "cprog.c"
  2.     .section    .rodata
  3. .LC0:
  4.     .string "Input mas length"
  5. .LC1:
  6.     .string "%d"
  7. .LC2:
  8.     .string "Yes\n"
  9. .LC3:
  10.     .string "No\n"
  11.     .text
  12.     .globl  main
  13.     .type   main, @function
  14. main:
  15. .LFB0:
  16.     .cfi_startproc
  17.     pushq   %rbp
  18.     .cfi_def_cfa_offset 16
  19.     .cfi_offset 6, -16
  20.     movq    %rsp, %rbp
  21.     .cfi_def_cfa_register 6
  22.     pushq   %r15
  23.     pushq   %r14
  24.     pushq   %r13
  25.     pushq   %r12
  26.     pushq   %rbx
  27.     subq    $40, %rsp
  28.     .cfi_offset 15, -24
  29.     .cfi_offset 14, -32
  30.     .cfi_offset 13, -40
  31.     .cfi_offset 12, -48
  32.     .cfi_offset 3, -56
  33.     movq    %rsp, %rax
  34.     movq    %rax, %rbx
  35.     movl    $.LC0, %edi
  36.     call    puts
  37.     leaq    -76(%rbp), %rax
  38.     movq    %rax, %rsi
  39.     movl    $.LC1, %edi
  40.     movl    $0, %eax
  41.     call    __isoc99_scanf
  42.     movl    -76(%rbp), %eax
  43.     movslq  %eax, %rdx
  44.     subq    $1, %rdx
  45.     movq    %rdx, -64(%rbp)
  46.     movslq  %eax, %rdx
  47.     movq    %rdx, %r14
  48.     movl    $0, %r15d
  49.     movslq  %eax, %rdx
  50.     movq    %rdx, %r12
  51.     movl    $0, %r13d
  52.     cltq
  53.     salq    $2, %rax
  54.     leaq    3(%rax), %rdx
  55.     movl    $16, %eax
  56.     subq    $1, %rax
  57.     addq    %rdx, %rax
  58.     movl    $16, %ecx
  59.     movl    $0, %edx
  60.     divq    %rcx
  61.     imulq   $16, %rax, %rax
  62.     subq    %rax, %rsp
  63.     movq    %rsp, %rax
  64.     addq    $3, %rax
  65.     shrq    $2, %rax
  66.     salq    $2, %rax
  67.     movq    %rax, -56(%rbp)
  68.     movl    $0, -72(%rbp)
  69.     jmp .L2
  70. .L3:
  71.     movl    -72(%rbp), %eax
  72.     cltq
  73.     leaq    0(,%rax,4), %rdx
  74.     movq    -56(%rbp), %rax
  75.     addq    %rdx, %rax
  76.     movq    %rax, %rsi
  77.     movl    $.LC1, %edi
  78.     movl    $0, %eax
  79.     call    __isoc99_scanf
  80.     addl    $1, -72(%rbp)
  81. .L2:
  82.     movl    -76(%rbp), %eax
  83.     cmpl    %eax, -72(%rbp)
  84.     jl  .L3
  85.     movl    $0, -68(%rbp)
  86.     movl    $0, -72(%rbp)
  87.     jmp .L4
  88. .L6:
  89.     movq    -56(%rbp), %rax
  90.     movl    -72(%rbp), %edx
  91.     movslq  %edx, %rdx
  92.     movl    (%rax,%rdx,4), %eax
  93.     testl   %eax, %eax
  94.     jle .L5
  95.     movl    -72(%rbp), %eax
  96.     leal    1(%rax), %edx
  97.     movq    -56(%rbp), %rax
  98.     movslq  %edx, %rdx
  99.     movl    (%rax,%rdx,4), %eax
  100.     testl   %eax, %eax
  101.     jle .L5
  102.     movl    $1, -68(%rbp)
  103. .L5:
  104.     addl    $1, -72(%rbp)
  105. .L4:
  106.     movl    -76(%rbp), %eax
  107.     subl    $1, %eax
  108.     cmpl    -72(%rbp), %eax
  109.     jg  .L6
  110.     cmpl    $0, -68(%rbp)
  111.     je  .L7
  112.     movl    $.LC2, %edi
  113.     movl    $0, %eax
  114.     call    printf
  115.     jmp .L8
  116. .L7:
  117.     movl    $.LC3, %edi
  118.     movl    $0, %eax
  119.     call    printf
  120. .L8:
  121.     movl    $0, %eax
  122.     movq    %rbx, %rsp
  123.     leaq    -40(%rbp), %rsp
  124.     popq    %rbx
  125.     popq    %r12
  126.     popq    %r13
  127.     popq    %r14
  128.     popq    %r15
  129.     popq    %rbp
  130.     .cfi_def_cfa 7, 8
  131.     ret
  132.     .cfi_endproc
  133. .LFE0:
  134.     .size   main, .-main
  135.     .ident  "GCC: (Ubuntu 4.8.2-19ubuntu1) 4.8.2"
  136.     .section    .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement