Wdestroier

asm

Mar 29th, 2021
959
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $SG2721 DB        'Digite o n', 0c3H, 0baH, 'mero A', 00H
  2.         ORG $+1
  3. $SG2722 DB        'Digite o n', 0c3H, 0baH, 'mero B', 00H
  4.         ORG $+1
  5. $SG2723 DB        'Digite o n', 0c3H, 0baH, 'mero C', 00H
  6.         ORG $+1
  7. $SG2724 DB        'A', 0c2H, 0b2H, ' + B + C = %.2lf', 00H
  8.  
  9. tv70 = -8                                         ; size = 8
  10. _c$ = 8                                       ; size = 8
  11. _b$ = 16                                                ; size = 8
  12. _a$ = 24                                                ; size = 8
  13. double c_plus_b_plus_pow2_a(double,double,double) PROC                    ; c_plus_b_plus_pow2_a
  14.         push    ebp
  15.         mov     ebp, esp
  16.         sub     esp, 8
  17.         movsd   xmm0, QWORD PTR _c$[ebp]
  18.         addsd   xmm0, QWORD PTR _b$[ebp]
  19.         movsd   xmm1, QWORD PTR _a$[ebp]
  20.         mulsd   xmm1, QWORD PTR _a$[ebp]
  21.         addsd   xmm0, xmm1
  22.         movsd   QWORD PTR tv70[ebp], xmm0
  23.         fld     QWORD PTR tv70[ebp]
  24.         mov     esp, ebp
  25.         pop     ebp
  26.         ret     0
  27. double c_plus_b_plus_pow2_a(double,double,double) ENDP                    ; c_plus_b_plus_pow2_a
  28.  
  29. _message$ = 8                                     ; size = 4
  30. double ask(char *) PROC                           ; ask
  31.         push    ebp
  32.         mov     ebp, esp
  33.         fldz
  34.         pop     ebp
  35.         ret     0
  36. double ask(char *) ENDP                           ; ask
  37.  
  38. __Format$ = 8                                     ; size = 4
  39. void printf(char const * const,...) PROC                              ; printf
  40.         push    ebp
  41.         mov     ebp, esp
  42.         pop     ebp
  43.         ret     0
  44. void printf(char const * const,...) ENDP                              ; printf
  45.  
  46. _main   PROC
  47.         push    ebp
  48.         mov     ebp, esp
  49.         push    OFFSET $SG2721
  50.         call    double ask(char *)                      ; ask
  51.         add     esp, -4                             ; fffffffcH
  52.         fstp    QWORD PTR [esp]
  53.         push    OFFSET $SG2722
  54.         call    double ask(char *)                      ; ask
  55.         add     esp, -4                             ; fffffffcH
  56.         fstp    QWORD PTR [esp]
  57.         push    OFFSET $SG2723
  58.         call    double ask(char *)                      ; ask
  59.         add     esp, -4                             ; fffffffcH
  60.         fstp    QWORD PTR [esp]
  61.         call    double c_plus_b_plus_pow2_a(double,double,double)   ; c_plus_b_plus_pow2_a
  62.         add     esp, 16                             ; 00000010H
  63.         fstp    QWORD PTR [esp]
  64.         push    OFFSET $SG2724
  65.         call    void printf(char const * const,...)                 ; printf
  66.         add     esp, 12                             ; 0000000cH
  67.         xor     eax, eax
  68.         pop     ebp
  69.         ret     0
  70. _main   ENDP
RAW Paste Data