Advertisement
Guest User

Untitled

a guest
Jan 28th, 2015
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. extern printf
  3. section .text
  4. global  main
  5.  
  6. main:
  7.         finit
  8.                 fild    dword[a]
  9.                 fld     qword[b]
  10.                 fld     qword[c]
  11.  
  12.         mov     ecx, 0
  13.         _petla:
  14.         cmp     ecx, 10
  15.         ja      _konpen
  16.  
  17.         fld     qword[ak]
  18.         fmul    st2
  19.         fld     qword[ak]
  20.         fmul    qword[ak]
  21.         fmul    st4
  22.         faddp   st1, st0
  23.         fsub    st1
  24.         fstp    qword[wyn]
  25.  
  26.         fld     qword[k]
  27.         fld     qword[ak]
  28.         faddp   st1, st0
  29.         fstp    qword[ak]
  30.  
  31.         ;wypisanie na ekran z uzyciem printf
  32.         push    rcx             ;wrzucenie licznika na stos
  33.  
  34.         sub     rsp, 8  ;trzeba przestawic wskaznik stosu o 8, bo xmm sa 16 bajtowe, qword = 8bajtow
  35.         mov     rdi, typ
  36.         movq    xmm0, qword[wyn]
  37.         mov     rax, 1
  38.         call    printf
  39.         add     rsp, 8
  40.         xor     rdi, rdi
  41.  
  42.  
  43.         pop     rcx             ;zdjecie rsi ze stosu
  44.  
  45.         inc     ecx
  46.         jmp     _petla
  47.         _konpen:
  48.  
  49.         mov     rax, 1
  50.         int     80h
  51.  
  52. section .data
  53. ak      dq              0.0             ;aktualny krok w petli
  54. k       dq              0.1             ;krok
  55. typ     db              "%f",0ah        ;typ wyswietlany w printf
  56. a       dd              12
  57. b       dq              2.25
  58. c       dq              4.5
  59. wyn     dq              0.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement