document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #Etiquetas que contienen los mensajes String de los printf
  2.  
  3. .LC0:
  4.     .string "Captura la calificacion de medio curso-> "
  5. .LC1:
  6.     .string "%d"
  7.     .align 8
  8. .LC2:
  9.     .string "Captura la calificacion de curso ordinario-> "
  10.     .align 8
  11. .LC3:
  12.     .string "Capture el total de puntos obtenidos del portafolio (20 max)-> "
  13.     .align 8
  14. .LC6:
  15.     .string "Felicidades, usted ha aprobado el curso con un %.0f"
  16.     .align 8
  17. .LC7:
  18.     .string "Cuanto lo siento pero ha reprobado el curso con un %.0f y tendra que volver a llevarlo\\n"
  19.     .text
  20.     .globl  main
  21.  
  22. #Dentro de la funcion main se realizan operaciones de reserva y movimiento en espacios de memoria para las variables ademas de almacenamiento de valores (scanf)   
  23. main:
  24. .LFB0:
  25.     .cfi_startproc
  26.     pushq   %rbp
  27.     movq    %rsp, %rbp
  28.     subq    $32, %rsp
  29.     movl    $.LC0, %eax
  30.     movq    %rax, %rdi
  31.     movl    $0, %eax
  32.     call    printf
  33.     movl    $.LC1, %eax
  34.     leaq    -24(%rbp), %rdx
  35.     movq    %rdx, %rsi
  36.     movq    %rax, %rdi
  37.     movl    $0, %eax
  38.     call    __isoc99_scanf
  39.     movl    $.LC2, %eax
  40.     movq    %rax, %rdi
  41.     movl    $0, %eax
  42.     call    printf
  43.     movl    $.LC1, %eax
  44.     leaq    -20(%rbp), %rdx
  45.     movq    %rdx, %rsi
  46.     movq    %rax, %rdi
  47.     movl    $0, %eax
  48.     call    __isoc99_scanf
  49.     movl    $.LC3, %eax
  50.     movq    %rax, %rdi
  51.     movl    $0, %eax
  52.     call    printf
  53.     movl    $.LC1, %eax
  54.     leaq    -16(%rbp), %rdx
  55.     movq    %rdx, %rsi
  56.     movq    %rax, %rdi
  57.     movl    $0, %eax
  58.     call    __isoc99_scanf
  59.     movl    -24(%rbp), %eax
  60.     cvtsi2sd    %eax, %xmm0
  61.     movsd   .LC4(%rip), %xmm1
  62.     mulsd   %xmm1, %xmm0
  63.     unpcklpd    %xmm0, %xmm0
  64.     cvtpd2ps    %xmm0, %xmm0
  65.     movss   %xmm0, -12(%rbp)
  66.     movl    -20(%rbp), %eax
  67.     cvtsi2sd    %eax, %xmm0
  68.     movsd   .LC4(%rip), %xmm1
  69.     mulsd   %xmm1, %xmm0
  70.     unpcklpd    %xmm0, %xmm0
  71.     cvtpd2ps    %xmm0, %xmm0
  72.     movss   %xmm0, -8(%rbp)
  73.     movss   -12(%rbp), %xmm0
  74.     movaps  %xmm0, %xmm1
  75.     addss   -8(%rbp), %xmm1
  76.     movl    -16(%rbp), %eax
  77.     cvtsi2ss    %eax, %xmm0
  78.     addss   %xmm1, %xmm0
  79.     movss   %xmm0, -4(%rbp)
  80.     movss   -4(%rbp), %xmm0
  81.     ucomiss .LC5(%rip), %xmm0
  82.     setae   %al
  83.     testb   %al, %al
  84.     je  .L2
  85.     movss   -4(%rbp), %xmm0
  86.     cvtps2pd    %xmm0, %xmm0
  87.     movl    $.LC6, %eax
  88.     movq    %rax, %rdi
  89.     movl    $1, %eax
  90.     call    printf
  91.     jmp .L3
  92. .L2:  #llamada a los resultados finales e impresion de resultados
  93.     movss   -4(%rbp), %xmm0
  94.     cvtps2pd    %xmm0, %xmm0
  95.     movl    $.LC7, %eax
  96.     movq    %rax, %rdi
  97.     movl    $1, %eax
  98.     call    printf
  99. .L3:  #terminacion de los procesos del programa
  100.     movl    $0, %eax
  101.     leave
  102.     .cfi_def_cfa 7, 8
  103.     ret
  104.     .cfi_endproc
  105. .LC4: #imprime el float del promedio final
  106.     .long   2576980378
  107.     .long   1071225241
  108.     .align 4
  109. .LC5:
');