Article View: pl.comp.lang.asm
Article #1936Re: Visual Studio 2008 (C++ oraz DLL w asmie) Interpolacja
From: MrokU
Date: Sat, 30 May 2009 18:50
Date: Sat, 30 May 2009 18:50
67 lines
3218 bytes
3218 bytes
No, przepełniał mi się chyba stos FPU ... Funkcja napisana od nowa, działająca, wygląda tak: wspU_2 PROC n:DWORD, k:DWORD, beta:QWORD, tab:PTR, wynik:PTR LOCAL Uk1:QWORD, Uk2:QWORD, tabT:PTR pushad finit mov eax, k cmp eax, n ; if (k > n) ja Zwroc0 ; return 0 mov ebx, k inc ebx ; ebx = k+1 mov ecx, tab add ecx, 32 mov tabT, ecx ; tabT = tab + 32 (przejscie do kolejnego elementu tablicy) INVOKE wspU_2, n, ebx, beta, tabT, wynik mov ebx, wynik fld QWORD PTR [ebx] fstp Uk1 ; zapisanie wyniku do zmiennej lokalnej mov ebx, k add ebx, 2 ; ebx = k+2 mov ecx, tab add ecx, 64 mov tabT, ecx ; tabT = tab + 64 (przejscie o 2 elementy tablicy) INVOKE wspU_2, n, ebx, beta, tabT, wynik mov ebx, wynik fld QWORD PTR [ebx] fstp Uk2 ; zapisanie wyniku do zmiennej lokalnej fld beta fcos ; cosinus (beta) fadd st(0), st(0) ; 2 * cos (beta) fld Uk1 ; zaladowanie wartosci U(k+1) fmulp st(1), st(0) ; 2 * cos (beta) * U(k+1) -> st0 fld Uk2 fsubp st(1), st(0) ; 2 * cos (beta) * U(k+1) - U(k+2) -> st0 mov esi, tab fld QWORD PTR [esi+8] faddp st(1), st(0) ; f(xk) + 2 * cos (beta) * U(k+1) - U(k+2) -> st0 mov esi, wynik fstp QWORD PTR [esi] jmp Koniec Zwroc0: mov esi, wynik fldz fstp QWORD PTR [esi] Koniec: popad ret; wspU_2 ENDP
Technical Details
Message-ID:
<b5d08268-4d2e-4e43-a816-196a0781602a@z9g2000yqi.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!news2.glorb.com!postnews.google.com!z9g2000yqi.googlegroups.com!not-for-mailReferences:
<29a4a4e4-9913-4afa-ba78-63b3168b1c91@r34g2000vbi.googlegroups.com> <1800926.ER7XFjMh0G@meehow.homeip.net> <6a3c09a9-6a40-491a-8d0b-aebe884ddeb9@k38g2000yqh.googlegroups.com> <gvh3mf$a3r$1@inews.gazeta.pl> <0350c547-38dd-4ffd-9348-994f087be99e@21g2000vbk.googlegroups.com> <gvhacl$b4v$1@inews.gazeta.pl> <4cd17bbe-78cb-4b0c-8dcf-d71287d4f307@x3g2000yqa.googlegroups.com> <f5c0cab0-caff-4858-bfad-4106556e0597@r13g2000vbr.googlegroups.com> <gvrei4$l9v$1@inews.gazeta.pl> <168f208a-9218-484f-82cd-2c3dc452d48f@v4g2000vba.googlegroups.com> <gvriog$c4n$1@inews.gazeta.pl> <fff60de0-8de1-4f54-bae0-960e47e1bfd3@o14g2000vbo.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!news2.glorb.com!postnews.google.com!z9g2000yqi.googlegroups.com!not-for-mail From: MrokU <arkosmc@gmail.com> Newsgroups: pl.comp.lang.asm Subject: Re: Visual Studio 2008 (C++ oraz DLL w asmie) Interpolacja Date: Sat, 30 May 2009 11:50:03 -0700 (PDT) Organization: http://groups.google.com Lines: 67 Message-ID: <b5d08268-4d2e-4e43-a816-196a0781602a@z9g2000yqi.googlegroups.com> References: <29a4a4e4-9913-4afa-ba78-63b3168b1c91@r34g2000vbi.googlegroups.com> <1800926.ER7XFjMh0G@meehow.homeip.net> <6a3c09a9-6a40-491a-8d0b-aebe884ddeb9@k38g2000yqh.googlegroups.com> <gvh3mf$a3r$1@inews.gazeta.pl> <0350c547-38dd-4ffd-9348-994f087be99e@21g2000vbk.googlegroups.com> <gvhacl$b4v$1@inews.gazeta.pl> <4cd17bbe-78cb-4b0c-8dcf-d71287d4f307@x3g2000yqa.googlegroups.com> <f5c0cab0-caff-4858-bfad-4106556e0597@r13g2000vbr.googlegroups.com> <gvrei4$l9v$1@inews.gazeta.pl> <168f208a-9218-484f-82cd-2c3dc452d48f@v4g2000vba.googlegroups.com> <gvriog$c4n$1@inews.gazeta.pl> <fff60de0-8de1-4f54-bae0-960e47e1bfd3@o14g2000vbo.googlegroups.com> NNTP-Posting-Host: 83.4.246.72 Mime-Version: 1.0 X-Trace: posting.google.com 1243709404 23651 127.0.0.1 (30 May 2009 18:50:04 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 30 May 2009 18:50:04 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: z9g2000yqi.googlegroups.com; posting-host=83.4.246.72; posting-account=M89B8goAAADtNGu6YLcVvvVDLG2z3LY8 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.182.3 Safari/531.0,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit