Advertisement
Guest User

Untitled

a guest
Sep 11th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .file   "example.c"
  2.     .text
  3. .Ltext0:
  4.     .globl  integerOperation
  5.     .type   integerOperation, @function
  6. integerOperation:
  7. .LFB0:
  8.     .file 1 "/tmp/gcc-explorer-compiler117812-1939-14s5zlb/example.c"
  9.     .loc 1 3 0
  10.     .cfi_startproc
  11.     pushq   %rbp
  12.     .cfi_def_cfa_offset 16
  13.     .cfi_offset 6, -16
  14.     movq    %rsp, %rbp
  15.     .cfi_def_cfa_register 6
  16.     movl    %edi, -4(%rbp)
  17.     movl    %esi, -8(%rbp)
  18.     movl    %edx, %eax
  19.     movb    %al, -12(%rbp)
  20.     .loc 1 4 0
  21.     movsbl  -12(%rbp), %eax
  22.     subl    $37, %eax
  23.     cmpl    $10, %eax
  24.     ja  .L2
  25.     movl    %eax, %eax
  26.     movq    .L4(,%rax,8), %rax
  27.     jmp *%rax
  28.     .section    .rodata
  29.     .align 8
  30.     .align 4
  31. .L4:
  32.     .quad   .L3
  33.     .quad   .L2
  34.     .quad   .L2
  35.     .quad   .L2
  36.     .quad   .L2
  37.     .quad   .L5
  38.     .quad   .L6
  39.     .quad   .L2
  40.     .quad   .L7
  41.     .quad   .L2
  42.     .quad   .L8
  43.     .text
  44. .L6:
  45.     .loc 1 6 0
  46.     movl    -8(%rbp), %eax
  47.     movl    -4(%rbp), %edx
  48.     addl    %edx, %eax
  49.     jmp .L9
  50. .L7:
  51.     .loc 1 8 0
  52.     movl    -8(%rbp), %eax
  53.     movl    -4(%rbp), %edx
  54.     subl    %eax, %edx
  55.     movl    %edx, %eax
  56.     jmp .L9
  57. .L5:
  58.     .loc 1 10 0
  59.     movl    -4(%rbp), %eax
  60.     imull   -8(%rbp), %eax
  61.     jmp .L9
  62. .L8:
  63.     .loc 1 12 0
  64.     movl    -4(%rbp), %eax
  65.     cltd
  66.     idivl   -8(%rbp)
  67.     jmp .L9
  68. .L3:
  69.     .loc 1 14 0
  70.     movl    -4(%rbp), %eax
  71.     cltd
  72.     idivl   -8(%rbp)
  73.     movl    %edx, %eax
  74.     jmp .L9
  75. .L2:
  76.     .loc 1 16 0
  77.     movl    $0, %eax
  78. .L9:
  79.     .loc 1 18 0
  80.     popq    %rbp
  81.     .cfi_def_cfa 7, 8
  82.     ret
  83.     .cfi_endproc
  84. .LFE0:
  85.     .size   integerOperation, .-integerOperation
  86.     .globl  doubleOperation
  87.     .type   doubleOperation, @function
  88. doubleOperation:
  89. .LFB1:
  90.     .loc 1 20 0
  91.     .cfi_startproc
  92.     pushq   %rbp
  93.     .cfi_def_cfa_offset 16
  94.     .cfi_offset 6, -16
  95.     movq    %rsp, %rbp
  96.     .cfi_def_cfa_register 6
  97.     movsd   %xmm0, -8(%rbp)
  98.     movsd   %xmm1, -16(%rbp)
  99.     movl    %edi, %eax
  100.     movb    %al, -20(%rbp)
  101.     .loc 1 21 0
  102.     movsbl  -20(%rbp), %eax
  103.     cmpl    $43, %eax
  104.     je  .L12
  105.     cmpl    $43, %eax
  106.     jg  .L13
  107.     cmpl    $42, %eax
  108.     je  .L14
  109.     jmp .L11
  110. .L13:
  111.     cmpl    $45, %eax
  112.     je  .L15
  113.     cmpl    $47, %eax
  114.     je  .L16
  115.     jmp .L11
  116. .L12:
  117.     .loc 1 23 0
  118.     movsd   -8(%rbp), %xmm0
  119.     addsd   -16(%rbp), %xmm0
  120.     jmp .L17
  121. .L15:
  122.     .loc 1 25 0
  123.     movsd   -8(%rbp), %xmm0
  124.     subsd   -16(%rbp), %xmm0
  125.     jmp .L17
  126. .L14:
  127.     .loc 1 27 0
  128.     movsd   -8(%rbp), %xmm0
  129.     mulsd   -16(%rbp), %xmm0
  130.     jmp .L17
  131. .L16:
  132.     .loc 1 29 0
  133.     movsd   -8(%rbp), %xmm0
  134.     divsd   -16(%rbp), %xmm0
  135.     jmp .L17
  136. .L11:
  137.     .loc 1 31 0
  138.     xorpd   %xmm0, %xmm0
  139. .L17:
  140.     movsd   %xmm0, -32(%rbp)
  141.     movq    -32(%rbp), %rax
  142.     .loc 1 33 0
  143.     movq    %rax, -32(%rbp)
  144.     movsd   -32(%rbp), %xmm0
  145.     popq    %rbp
  146.     .cfi_def_cfa 7, 8
  147.     ret
  148.     .cfi_endproc
  149. .LFE1:
  150.     .size   doubleOperation, .-doubleOperation
  151.     .section    .rodata
  152.     .align 8
  153. .LC1:
  154.     .string "1)      Print author info\n2)      Run Integer operation\n3)      Run floating point operation\n4)      Exit"
  155. .LC2:
  156.     .string "%d"
  157.     .align 8
  158. .LC3:
  159.     .string "Benjamin 'The Coding Goblin' Simon\n2685814"
  160. .LC4:
  161.     .string "Enter an operation:"
  162. .LC5:
  163.     .string "%d%c%d"
  164. .LC6:
  165.     .string "%d %c %d = %lf\n"
  166. .LC7:
  167.     .string "%lf%c%lf"
  168. .LC8:
  169.     .string "%lf %c %lf = %lf\n"
  170.     .text
  171.     .globl  main
  172.     .type   main, @function
  173. main:
  174. .LFB2:
  175.     .loc 1 35 0
  176.     .cfi_startproc
  177.     pushq   %rbp
  178.     .cfi_def_cfa_offset 16
  179.     .cfi_offset 6, -16
  180.     movq    %rsp, %rbp
  181.     .cfi_def_cfa_register 6
  182.     subq    $64, %rsp
  183.     .loc 1 41 0
  184.     movl    $.LC1, %edi
  185.     call    puts
  186.     .loc 1 42 0
  187.     leaq    -28(%rbp), %rax
  188.     movq    %rax, %rsi
  189.     movl    $.LC2, %edi
  190.     movl    $0, %eax
  191.     call    __isoc99_scanf
  192.     .loc 1 44 0
  193.     movl    -28(%rbp), %eax
  194.     cmpl    $2, %eax
  195.     je  .L20
  196.     cmpl    $2, %eax
  197.     jg  .L21
  198.     cmpl    $1, %eax
  199.     je  .L22
  200.     .loc 1 68 0
  201.     jmp .L25
  202. .L21:
  203.     .loc 1 44 0
  204.     cmpl    $3, %eax
  205.     je  .L23
  206.     cmpl    $4, %eax
  207.     je  .L24
  208.     .loc 1 68 0
  209.     jmp .L25
  210. .L22:
  211.     .loc 1 46 0
  212.     movl    $.LC3, %edi
  213.     call    puts
  214.     .loc 1 47 0
  215.     jmp .L25
  216. .L20:
  217.     .loc 1 49 0
  218.     movl    $.LC4, %edi
  219.     call    puts
  220.     .loc 1 50 0
  221.     leaq    -32(%rbp), %rcx
  222.     leaq    -37(%rbp), %rdx
  223.     leaq    -36(%rbp), %rax
  224.     movq    %rax, %rsi
  225.     movl    $.LC5, %edi
  226.     movl    $0, %eax
  227.     call    __isoc99_scanf
  228.     .loc 1 52 0
  229.     movzbl  -37(%rbp), %eax
  230.     movsbl  %al, %edx
  231.     movl    -32(%rbp), %ecx
  232.     movl    -36(%rbp), %eax
  233.     movl    %ecx, %esi
  234.     movl    %eax, %edi
  235.     call    integerOperation
  236.     cvtsi2sd    %eax, %xmm0
  237.     movsd   %xmm0, -8(%rbp)
  238.     .loc 1 54 0
  239.     movl    -32(%rbp), %ecx
  240.     movzbl  -37(%rbp), %eax
  241.     movsbl  %al, %edx
  242.     movl    -36(%rbp), %esi
  243.     movq    -8(%rbp), %rax
  244.     movq    %rax, -56(%rbp)
  245.     movsd   -56(%rbp), %xmm0
  246.     movl    $.LC6, %edi
  247.     movl    $1, %eax
  248.     call    printf
  249.     .loc 1 55 0
  250.     jmp .L25
  251. .L23:
  252.     .loc 1 57 0
  253.     movl    $.LC4, %edi
  254.     call    puts
  255.     .loc 1 58 0
  256.     leaq    -16(%rbp), %rcx
  257.     leaq    -37(%rbp), %rdx
  258.     leaq    -24(%rbp), %rax
  259.     movq    %rax, %rsi
  260.     movl    $.LC7, %edi
  261.     movl    $0, %eax
  262.     call    __isoc99_scanf
  263.     .loc 1 60 0
  264.     movzbl  -37(%rbp), %eax
  265.     movsbl  %al, %ecx
  266.     movq    -16(%rbp), %rdx
  267.     movq    -24(%rbp), %rax
  268.     movl    %ecx, %edi
  269.     movq    %rdx, -56(%rbp)
  270.     movsd   -56(%rbp), %xmm1
  271.     movq    %rax, -56(%rbp)
  272.     movsd   -56(%rbp), %xmm0
  273.     call    doubleOperation
  274.     movsd   %xmm0, -56(%rbp)
  275.     movq    -56(%rbp), %rax
  276.     movq    %rax, -8(%rbp)
  277.     .loc 1 62 0
  278.     movq    -16(%rbp), %rdx
  279.     movzbl  -37(%rbp), %eax
  280.     movsbl  %al, %esi
  281.     movq    -24(%rbp), %rax
  282.     movq    -8(%rbp), %rcx
  283.     movq    %rcx, -56(%rbp)
  284.     movsd   -56(%rbp), %xmm2
  285.     movq    %rdx, -56(%rbp)
  286.     movsd   -56(%rbp), %xmm1
  287.     movq    %rax, -56(%rbp)
  288.     movsd   -56(%rbp), %xmm0
  289.     movl    $.LC8, %edi
  290.     movl    $3, %eax
  291.     call    printf
  292.     .loc 1 63 0
  293.     jmp .L25
  294. .L24:
  295.     .loc 1 65 0
  296.     movl    $10, %edi
  297.     call    putchar
  298.     .loc 1 66 0
  299.     nop
  300. .L25:
  301.     .loc 1 71 0
  302.     movl    $0, %eax
  303.     .loc 1 72 0
  304.     leave
  305.     .cfi_def_cfa 7, 8
  306.     ret
  307.     .cfi_endproc
  308. .LFE2:
  309.     .size   main, .-main
  310. .Letext0:
  311.     .section    .debug_info,"",@progbits
  312. .Ldebug_info0:
  313.     .long   0x18f
  314.     .value  0x4
  315.     .long   .Ldebug_abbrev0
  316.     .byte   0x8
  317.     .uleb128 0x1
  318.     .long   .LASF21
  319.     .byte   0x1
  320.     .long   .LASF22
  321.     .long   .LASF23
  322.     .quad   .Ltext0
  323.     .quad   .Letext0-.Ltext0
  324.     .long   .Ldebug_line0
  325.     .uleb128 0x2
  326.     .byte   0x8
  327.     .byte   0x7
  328.     .long   .LASF0
  329.     .uleb128 0x2
  330.     .byte   0x1
  331.     .byte   0x8
  332.     .long   .LASF1
  333.     .uleb128 0x2
  334.     .byte   0x2
  335.     .byte   0x7
  336.     .long   .LASF2
  337.     .uleb128 0x2
  338.     .byte   0x4
  339.     .byte   0x7
  340.     .long   .LASF3
  341.     .uleb128 0x2
  342.     .byte   0x1
  343.     .byte   0x6
  344.     .long   .LASF4
  345.     .uleb128 0x2
  346.     .byte   0x2
  347.     .byte   0x5
  348.     .long   .LASF5
  349.     .uleb128 0x3
  350.     .byte   0x4
  351.     .byte   0x5
  352.     .string "int"
  353.     .uleb128 0x2
  354.     .byte   0x8
  355.     .byte   0x5
  356.     .long   .LASF6
  357.     .uleb128 0x2
  358.     .byte   0x8
  359.     .byte   0x7
  360.     .long   .LASF7
  361.     .uleb128 0x2
  362.     .byte   0x1
  363.     .byte   0x6
  364.     .long   .LASF8
  365.     .uleb128 0x4
  366.     .long   .LASF12
  367.     .byte   0x1
  368.     .byte   0x3
  369.     .long   0x57
  370.     .quad   .LFB0
  371.     .quad   .LFE0-.LFB0
  372.     .uleb128 0x1
  373.     .byte   0x9c
  374.     .long   0xbf
  375.     .uleb128 0x5
  376.     .long   .LASF9
  377.     .byte   0x1
  378.     .byte   0x3
  379.     .long   0x57
  380.     .uleb128 0x2
  381.     .byte   0x91
  382.     .sleb128 -20
  383.     .uleb128 0x5
  384.     .long   .LASF10
  385.     .byte   0x1
  386.     .byte   0x3
  387.     .long   0x57
  388.     .uleb128 0x2
  389.     .byte   0x91
  390.     .sleb128 -24
  391.     .uleb128 0x5
  392.     .long   .LASF11
  393.     .byte   0x1
  394.     .byte   0x3
  395.     .long   0x6c
  396.     .uleb128 0x2
  397.     .byte   0x91
  398.     .sleb128 -28
  399.     .byte   0
  400.     .uleb128 0x4
  401.     .long   .LASF13
  402.     .byte   0x1
  403.     .byte   0x14
  404.     .long   0x10b
  405.     .quad   .LFB1
  406.     .quad   .LFE1-.LFB1
  407.     .uleb128 0x1
  408.     .byte   0x9c
  409.     .long   0x10b
  410.     .uleb128 0x5
  411.     .long   .LASF9
  412.     .byte   0x1
  413.     .byte   0x14
  414.     .long   0x10b
  415.     .uleb128 0x2
  416.     .byte   0x91
  417.     .sleb128 -24
  418.     .uleb128 0x5
  419.     .long   .LASF10
  420.     .byte   0x1
  421.     .byte   0x14
  422.     .long   0x10b
  423.     .uleb128 0x2
  424.     .byte   0x91
  425.     .sleb128 -32
  426.     .uleb128 0x5
  427.     .long   .LASF11
  428.     .byte   0x1
  429.     .byte   0x14
  430.     .long   0x6c
  431.     .uleb128 0x2
  432.     .byte   0x91
  433.     .sleb128 -36
  434.     .byte   0
  435.     .uleb128 0x2
  436.     .byte   0x8
  437.     .byte   0x4
  438.     .long   .LASF14
  439.     .uleb128 0x6
  440.     .long   .LASF24
  441.     .byte   0x1
  442.     .byte   0x23
  443.     .long   0x57
  444.     .quad   .LFB2
  445.     .quad   .LFE2-.LFB2
  446.     .uleb128 0x1
  447.     .byte   0x9c
  448.     .uleb128 0x7
  449.     .long   .LASF15
  450.     .byte   0x1
  451.     .byte   0x25
  452.     .long   0x57
  453.     .uleb128 0x2
  454.     .byte   0x91
  455.     .sleb128 -52
  456.     .uleb128 0x7
  457.     .long   .LASF16
  458.     .byte   0x1
  459.     .byte   0x25
  460.     .long   0x57
  461.     .uleb128 0x2
  462.     .byte   0x91
  463.     .sleb128 -48
  464.     .uleb128 0x7
  465.     .long   .LASF17
  466.     .byte   0x1
  467.     .byte   0x25
  468.     .long   0x57
  469.     .uleb128 0x2
  470.     .byte   0x91
  471.     .sleb128 -44
  472.     .uleb128 0x7
  473.     .long   .LASF18
  474.     .byte   0x1
  475.     .byte   0x26
  476.     .long   0x10b
  477.     .uleb128 0x2
  478.     .byte   0x91
  479.     .sleb128 -40
  480.     .uleb128 0x7
  481.     .long   .LASF19
  482.     .byte   0x1
  483.     .byte   0x26
  484.     .long   0x10b
  485.     .uleb128 0x2
  486.     .byte   0x91
  487.     .sleb128 -32
  488.     .uleb128 0x7
  489.     .long   .LASF20
  490.     .byte   0x1
  491.     .byte   0x26
  492.     .long   0x10b
  493.     .uleb128 0x2
  494.     .byte   0x91
  495.     .sleb128 -24
  496.     .uleb128 0x7
  497.     .long   .LASF11
  498.     .byte   0x1
  499.     .byte   0x27
  500.     .long   0x6c
  501.     .uleb128 0x2
  502.     .byte   0x91
  503.     .sleb128 -53
  504.     .byte   0
  505.     .byte   0
  506.     .section    .debug_abbrev,"",@progbits
  507. .Ldebug_abbrev0:
  508.     .uleb128 0x1
  509.     .uleb128 0x11
  510.     .byte   0x1
  511.     .uleb128 0x25
  512.     .uleb128 0xe
  513.     .uleb128 0x13
  514.     .uleb128 0xb
  515.     .uleb128 0x3
  516.     .uleb128 0xe
  517.     .uleb128 0x1b
  518.     .uleb128 0xe
  519.     .uleb128 0x11
  520.     .uleb128 0x1
  521.     .uleb128 0x12
  522.     .uleb128 0x7
  523.     .uleb128 0x10
  524.     .uleb128 0x17
  525.     .byte   0
  526.     .byte   0
  527.     .uleb128 0x2
  528.     .uleb128 0x24
  529.     .byte   0
  530.     .uleb128 0xb
  531.     .uleb128 0xb
  532.     .uleb128 0x3e
  533.     .uleb128 0xb
  534.     .uleb128 0x3
  535.     .uleb128 0xe
  536.     .byte   0
  537.     .byte   0
  538.     .uleb128 0x3
  539.     .uleb128 0x24
  540.     .byte   0
  541.     .uleb128 0xb
  542.     .uleb128 0xb
  543.     .uleb128 0x3e
  544.     .uleb128 0xb
  545.     .uleb128 0x3
  546.     .uleb128 0x8
  547.     .byte   0
  548.     .byte   0
  549.     .uleb128 0x4
  550.     .uleb128 0x2e
  551.     .byte   0x1
  552.     .uleb128 0x3f
  553.     .uleb128 0x19
  554.     .uleb128 0x3
  555.     .uleb128 0xe
  556.     .uleb128 0x3a
  557.     .uleb128 0xb
  558.     .uleb128 0x3b
  559.     .uleb128 0xb
  560.     .uleb128 0x27
  561.     .uleb128 0x19
  562.     .uleb128 0x49
  563.     .uleb128 0x13
  564.     .uleb128 0x11
  565.     .uleb128 0x1
  566.     .uleb128 0x12
  567.     .uleb128 0x7
  568.     .uleb128 0x40
  569.     .uleb128 0x18
  570.     .uleb128 0x2117
  571.     .uleb128 0x19
  572.     .uleb128 0x1
  573.     .uleb128 0x13
  574.     .byte   0
  575.     .byte   0
  576.     .uleb128 0x5
  577.     .uleb128 0x5
  578.     .byte   0
  579.     .uleb128 0x3
  580.     .uleb128 0xe
  581.     .uleb128 0x3a
  582.     .uleb128 0xb
  583.     .uleb128 0x3b
  584.     .uleb128 0xb
  585.     .uleb128 0x49
  586.     .uleb128 0x13
  587.     .uleb128 0x2
  588.     .uleb128 0x18
  589.     .byte   0
  590.     .byte   0
  591.     .uleb128 0x6
  592.     .uleb128 0x2e
  593.     .byte   0x1
  594.     .uleb128 0x3f
  595.     .uleb128 0x19
  596.     .uleb128 0x3
  597.     .uleb128 0xe
  598.     .uleb128 0x3a
  599.     .uleb128 0xb
  600.     .uleb128 0x3b
  601.     .uleb128 0xb
  602.     .uleb128 0x49
  603.     .uleb128 0x13
  604.     .uleb128 0x11
  605.     .uleb128 0x1
  606.     .uleb128 0x12
  607.     .uleb128 0x7
  608.     .uleb128 0x40
  609.     .uleb128 0x18
  610.     .uleb128 0x2116
  611.     .uleb128 0x19
  612.     .byte   0
  613.     .byte   0
  614.     .uleb128 0x7
  615.     .uleb128 0x34
  616.     .byte   0
  617.     .uleb128 0x3
  618.     .uleb128 0xe
  619.     .uleb128 0x3a
  620.     .uleb128 0xb
  621.     .uleb128 0x3b
  622.     .uleb128 0xb
  623.     .uleb128 0x49
  624.     .uleb128 0x13
  625.     .uleb128 0x2
  626.     .uleb128 0x18
  627.     .byte   0
  628.     .byte   0
  629.     .byte   0
  630.     .section    .debug_aranges,"",@progbits
  631.     .long   0x2c
  632.     .value  0x2
  633.     .long   .Ldebug_info0
  634.     .byte   0x8
  635.     .byte   0
  636.     .value  0
  637.     .value  0
  638.     .quad   .Ltext0
  639.     .quad   .Letext0-.Ltext0
  640.     .quad   0
  641.     .quad   0
  642.     .section    .debug_line,"",@progbits
  643. .Ldebug_line0:
  644.     .section    .debug_str,"MS",@progbits,1
  645. .LASF3:
  646.     .string "unsigned int"
  647. .LASF15:
  648.     .string "intArgumentOne"
  649. .LASF0:
  650.     .string "long unsigned int"
  651. .LASF16:
  652.     .string "intArgumentTwo"
  653. .LASF19:
  654.     .string "doubleArgumentTwo"
  655. .LASF11:
  656.     .string "operator"
  657. .LASF12:
  658.     .string "integerOperation"
  659. .LASF8:
  660.     .string "char"
  661. .LASF1:
  662.     .string "unsigned char"
  663. .LASF24:
  664.     .string "main"
  665. .LASF20:
  666.     .string "result"
  667. .LASF9:
  668.     .string "argumentOne"
  669. .LASF17:
  670.     .string "menuChoice"
  671. .LASF14:
  672.     .string "double"
  673. .LASF6:
  674.     .string "long int"
  675. .LASF21:
  676.     .string "GNU C 4.8.5 -mtune=generic -march=x86-64 -g -std=gnu99 -fstack-protector"
  677. .LASF23:
  678.     .string "/home/ubuntu/gcc-explorer"
  679. .LASF22:
  680.     .string "/tmp/gcc-explorer-compiler117812-1939-14s5zlb/example.c"
  681. .LASF2:
  682.     .string "short unsigned int"
  683. .LASF4:
  684.     .string "signed char"
  685. .LASF10:
  686.     .string "argumentTwo"
  687. .LASF18:
  688.     .string "doubleArgumentOne"
  689. .LASF13:
  690.     .string "doubleOperation"
  691. .LASF5:
  692.     .string "short int"
  693. .LASF7:
  694.     .string "sizetype"
  695.     .ident  "GCC: (Ubuntu 4.8.5-4ubuntu2) 4.8.5"
  696.     .section    .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement