abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:11 | Nová verze

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

    Ladislav Hagara | Komentářů: 0
    dnes 17:56 | Nová verze

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

    Ladislav Hagara | Komentářů: 0
    dnes 13:11 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 3
    dnes 12:33 | Zajímavý software

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 12
    včera 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 11
    včera 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 11
    včera 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 885 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 618×
    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.