abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 20
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (34%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (14%)
    Celkem 86 hlasů
     Komentářů: 18, poslední 24.12. 15:30
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Asm instrukce LEA

    17.9.2009 14:23 kralyk z abclinuxu | skóre: 29 | blog:
    Asm instrukce LEA
    Přečteno: 666×
    Ahoj,
    dneska jen takovou drobnost (snad)...
    Narazil jsem v jednom programu na řádek
       8DA424 00000000    LEA ESP, DWORD PTR SS:[ESP]
    A není mi moc jasný, k čemu to tam je. Jestli dobře chápu instrukci LEA, tak to dělá to samý co mov esp, esp, tudíž by to bylo úplně nanic, ale to je mi divný...

    Co ten řádek teda ve skutečnosti dělá?

    Řešení dotazu:


    Odpovědi

    17.9.2009 14:54 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Asm instrukce LEA
    Pravdepodobne je tam tá funkcia len na zarovnanie nasledujúcej (alebo až o pár inštrukcií ďalšej) inštrukcie na nejakú adresu (pri tak dlhej inštrukcii by som to typoval na zarovnávanie adresy na násobok 16) a samotná inštrukcia zmysel nemá (keďže sa pravdepodobne vôbec nevykonáva).
    17.9.2009 15:00 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Asm instrukce LEA
    Aha, jj je to zarovnaný na 16, to bude ono. Dík za vysvětlení.
    Ale jo, vykonává se, je uprostřed jedný subroutine, která se určitě vykonává, ale tak vono to bylo kompilovaný buhvíčím, mám dojem že msvc, takže možný je všecko :-D
    Bilbo avatar 17.9.2009 15:36 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: Asm instrukce LEA
    Na zarovnavani se muzou pouzivat ruzne instrukce ktere nic nedelaji, casto se pouzije co nejmene instrukci aby presne zaplacly danou delku a zaroven je procesor vyridil co nejrychleji (prohozeni registru se sebou samym, pricteni nuly - cokoliv co neskace a necte nic z pameti je vhodnym kandidatem pro takovou instrukci).

    Kompilator bude mit typicky tabulku NOP instrukci pro cilovou architekturu s delkou od 1 do X bajtu...
    Big brother is not watching you anymore. Big Brother is telling you how to live...
    18.9.2009 03:58 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Asm instrukce LEA
    Proč musí vůbec některý instrukce být zarovnaný? Nějak nemůžu nic vygooglovat tak se tážu tady...
    Tak například v tomhle kusu kódu:
    6FDA0326   . 8DA424 00000000     LEA ESP,DWORD PTR SS:[ESP]
    6FDA032D   . 8D49 00             LEA ECX,DWORD PTR DS:[ECX]
    6FDA0330   > 0FBEBD A821DE6F     MOVSX EDI,BYTE PTR SS:[EBP+6FDE21A8]
    6FDA0337   . 0FBE9D A021DE6F     MOVSX EBX,BYTE PTR SS:[EBP+6FDE21A0]
    
    První dvě instrukce evidentně zarovnávají první movsx na 16, na druhej už se ale kašle...
    Je to tím, že na ten první vede jump?
    18.9.2009 09:47 dark
    Rozbalit Rozbalit vše Re: Asm instrukce LEA

    Jo. Kdysi jsem si s tím hrál v blitjit, a zdá se mi, že tyto optimalizace jsou výhodné jen pro starší CPU, u novějších je ten rozdíl zarovnání minimální. Třeba na mém Q6600 mu to je úplně jedno.

    (používá se to většinou jako optimalizace pro skoky v inner loops, všude jinde to je nezajímavé)

    Bilbo avatar 19.9.2009 00:32 Bilbo | skóre: 29
    Rozbalit Rozbalit vše Re: Asm instrukce LEA
    Bude to asi kvuli cache. Mezi cache a pameti se casto vymenuji vetsi bloky (treba 64 bajtu, ruzni se to asi podle urovne cache a procesoru) a ne jednotlive bajty, coz znamena ze pri skoku na zarovnanou instrukci je potreba do cache natahnout jeden blok, pri nezarovnane instrukci by to mohly byt dva. Nektere CPu maji holt system rizeni cache takovy, ze tahle finta nema skoro zadny efekt (treba maji tak velky cache blok, ze se malokdy stane ze by se musely tahat dva bloky, i kdyz je instrukce nezarovnana, pripadne muzou mit nejakyu inteligentni prefetch. V obou pripadech zarovnavani ma zcela minimalni prinos k vykonu)
    Big brother is not watching you anymore. Big Brother is telling you how to live...

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.