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í
×

dnes 17:22 | Komunita

Martin Flöser představil na svém blogu projekt XFree KWin. Cílem projektu je rozběhnout správce oken KWin na Waylandu bez XWaylandu [reddit].

Ladislav Hagara | Komentářů: 2
dnes 16:55 | Komunita

Do pátku 29. září probíhá v Praze v hotelu Hilton konference SUSECON 2017 pořádaná společností SUSE. Dění na konferenci lze sledovat na Twitteru. Nils Brauckmann, CEO společnosti SUSE, vítá účastníky konference na YouTube.

Ladislav Hagara | Komentářů: 0
dnes 07:00 | Komunita

Příspěvek na blogu společnosti Yubico informuje o začlenění podpory bezpečnostních klíčů FIDO U2F do Firefoxu Nightly. Dosud bylo možné dvoufázové ověření pomocí FIDO U2F ve Firefoxu zajistit pouze pomocí doplňku.

Ladislav Hagara | Komentářů: 3
dnes 06:00 | Humor

Adobe PSIRT (Adobe Product Security Incident Response Team) neúmyslně zveřejnil (archive) na svém blogu svůj soukromý OpenPGP klíč. Klíč byl revokován a vygenerován nový. Nelze nezmínit xkcd 1553 - Veřejný klíč.

Ladislav Hagara | Komentářů: 1
včera 20:00 | Nová verze

Byla vydána (cgit) verze 0.99 svobodného nelineárního video editoru Pitivi. Jedná se o release candidate verze 1.0. Přehled úkolů, které je nutno ještě dodělat, na Phabricatoru. Pitivi je k dispozici také ve formátu Flatpak.

Ladislav Hagara | Komentářů: 0
včera 17:11 | Komunita

Microsoft s Canonicalem představili linuxové jádro Ubuntu optimalizováno pro cloudové služby Microsoft Azure (linux-azure). Jako výchozí je toto menší a výkonnější jádro použito již v Ubuntu Cloud Images for Ubuntu 16.04 LTS. Canonical zatím nenabízí patchování tohoto jádra za běhu systému (Canonical Livepatch Service).

Ladislav Hagara | Komentářů: 1
včera 14:55 | Komunita

Facebook oznámil, že přelicencuje open source projekty React, Jest, Flow a Immutable.js ze své vlastní kontroverzní licence BSD+Patents na licenci MIT. Stane se tak tento týden s vydáním Reactu 16. Jedním z důvodů přelicencování bylo oznámení nadace Apache, že software pod Facebook BSD+Patents licencí nesmí být součástí produktů pod touto nadací [Hacker News].

Ladislav Hagara | Komentářů: 0
23.9. 21:44 | Nová verze

Po půl roce od vydání verze 9.0 byla vydána verze 10.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
22.9. 18:11 | Nová verze

Společnost Oracle oficiálně oznámila vydání Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) a Java EE 8 Software Development Kit (SDK). Java SE 9 přináší více než 150 nových vlastností.

Ladislav Hagara | Komentářů: 0
22.9. 12:11 | Komunita

Na Humble Bundle lze získat hororovou počítačovou hru Outlast (Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 2
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 574 hlasů
 Komentářů: 23, poslední včera 18:12
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Asm instrukce LEA

    oryctolagus avatar 17.9.2009 14:23 oryctolagus | skóre: 29 | blog: Untitled
    Asm instrukce LEA
    Přečteno: 588×
    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á?
    Shell v kostce: echo -e "\e[1;2r\e[?2l"  |  Java v kostce  |  Haskell v kostce  |  RESOLVED FIXED

    Ř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).
    oryctolagus avatar 17.9.2009 15:00 oryctolagus | skóre: 29 | blog: Untitled
    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
    Shell v kostce: echo -e "\e[1;2r\e[?2l"  |  Java v kostce  |  Haskell v kostce  |  RESOLVED FIXED
    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...
    oryctolagus avatar 18.9.2009 03:58 oryctolagus | skóre: 29 | blog: Untitled
    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?
    Shell v kostce: echo -e "\e[1;2r\e[?2l"  |  Java v kostce  |  Haskell v kostce  |  RESOLVED FIXED
    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.