Article View: pl.comp.lang.asm
Article #2597Re: [1/3 NTG] C - Optymalizacje wstawkami
From: Bogdan (bogdro)
Date: Wed, 13 Feb 2019 19:38
Date: Wed, 13 Feb 2019 19:38
61 lines
3229 bytes
3229 bytes
W dniu 12.02.2019 o 21:23, Bogdan (bogdro) pisze: [...] >> call _QueryPerformanceCounter@4 >> subl $4, %esp >> movl $2137483647, %ecx >> leal 143(%esp), %ebx >> leal 133(%esp), %edi >> movb $0, 143(%esp) >> .p2align 4,,10 >> L2: >> movl %ecx, %eax >> subl $1, %ebx >> imull %esi >> movl %ecx, %eax >> sarl $31, %eax >> sarl $2, %edx >> subl %eax, %edx >> leal (%edx,%edx,4), %eax >> addl %eax, %eax >> subl %eax, %ecx >> orl $48, %ecx >> cmpl %edi, %ebx >> movb %cl, (%ebx) >> movl %edx, %ecx >> jne L2 >> leal 72(%esp), %eax >> movl %eax, (%esp) >> call _QueryPerformanceCounter@4 >> subl $4, %esp >> >> >> Zakładam, że cała akcja dzieje się pomiędzy dwoma wywołaniami QueryPerformanceCounter. > > > Tak, poza "subl $4, %esp", rzecz jasna (usuwanie argumentów ze stosu). > > >> Da się tu coś istotnego wywalić? >> Na moje oko (skłute składnią AT&T :D) kompilator wyłapał i uwzględnił sąsiadujące modulo i dzielenie przez 10. >> A wtedy - nic tu się nie urwie (ponad poziom szumu). > > > No, można byłoby przestać używać pamięci, a wziąć jakiś nieużywany > rejestr, np. EBP. Autokorekta: za bardzo się przykleiłem do poprzedniej funkcji, wyliczającej tylko modulo, a ta funkcja przerabia liczbę na znaki. Oczywiście jedno odniesienie do pamięci jest tu potrzebne - do miejsca, gdzie będzie wynik. [...] -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux): http://bogdro.evai.pl Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.Xiph.org www.TorProject.org Soft(EN): http://bogdro.evai.pl/soft
Technical Details
Message-ID:
<5c64721b$0$501$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!3.eu.feeder.erje.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.70.MISMATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<30292520-12bd-49f0-b5ce-39c9af378a4c@googlegroups.com> <5c5b41d7$0$501$65785112@news.neostrada.pl> <781a3ad8-10bb-42aa-939f-dc6c11efa783@googlegroups.com> <5c5df439$0$476$65785112@news.neostrada.pl> <0f221c6c-4754-475f-a906-373a1fba35db@googlegroups.com> <5c632b27$0$488$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!3.eu.feeder.erje.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!85.12.16.70.MISMATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: [1/3 NTG] C - Optymalizacje wstawkami Newsgroups: pl.comp.lang.asm References: <30292520-12bd-49f0-b5ce-39c9af378a4c@googlegroups.com> <5c5b41d7$0$501$65785112@news.neostrada.pl> <781a3ad8-10bb-42aa-939f-dc6c11efa783@googlegroups.com> <5c5df439$0$476$65785112@news.neostrada.pl> <0f221c6c-4754-475f-a906-373a1fba35db@googlegroups.com> <5c632b27$0$488$65785112@news.neostrada.pl> From: "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl> Openpgp: preference=signencrypt Date: Wed, 13 Feb 2019 20:38:02 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: <5c632b27$0$488$65785112@news.neostrada.pl> Lines: 61 Message-ID: <5c64721b$0$501$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 89.64.39.243 X-Trace: 1550086683 unt-rea-a-02.news.neostrada.pl 501 89.64.39.243:61818 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 3032 X-Received-Body-CRC: 1143144298 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit