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 19:22 | Nová verze

    Wine bylo po roce vývoje od vydání verze 9.0 vydáno v nové stabilní verzi 10.0. Přehled novinek na GitLabu. Vypíchnuta je nová architektura ARM64EC a podpora High DPI škálování.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil nástroj deduplidog pro odstranění duplicitních souborů.

    Ladislav Hagara | Komentářů: 3
    dnes 05:22 | IT novinky

    Společnost DeepSeek představila (𝕏) AI model DeepSeek-R1 (Hugging Face) srovnatelný s OpenAI o1 a uvolnila jej pod open source licencí MIT, tj. zdarma i pro komerční použití.

    Ladislav Hagara | Komentářů: 26
    včera 23:44 | Nová verze

    GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.

    Ladislav Hagara | Komentářů: 4
    včera 19:55 | Humor

    Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.

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

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

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

    Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.

    Ladislav Hagara | Komentářů: 0
    19.1. 16:11 | IT novinky

    19. ledna 2038 přeteče hodnota time_t na 32bitových systémech, na vyřešení problému roku 2038 (Y2K38) tedy zbývá 13 let. Např. Debian v uplynulém roce přešel na 64bitový čas. Bernhard Wiedemann z openSUSE sdílí chyby v sestavení rozšířeného softwaru.

    Fluttershy, yay! | Komentářů: 1
    19.1. 15:44 | Nová verze

    Byla vydána druhá opravná verze 21.2 v dubnu loňského roku vydané verze 21 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Omega.

    Ladislav Hagara | Komentářů: 0
    19.1. 12:22 | IT novinky

    TikTok ve Spojených státech v sobotu večer místního času přerušil činnost. Uživatelé čínskou firmou vlastněné sociální sítě dostali zprávu, že aplikaci kvůli zákazu nelze používat. TikTok je momentálně nedostupný v obchodech s aplikacemi Google Play a App Store. Podle zákona přijatého loni a potvrzeného v pátek soudem měla platforma do dneška přerušit spojení se svou mateřskou společností ByteDance, která sídlí v Číně, nebo činnost v

    … více »
    Ladislav Hagara | Komentářů: 18
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: assembler: stale cykli

    8.3.2009 22:58 asm
    assembler: stale cykli
    Přečteno: 423×
    Ahoj, resim jednoduchou vec v asm. Chci v cyklu volat printf a tisknout 5x retezec. Problem je, ze to stale cykli a nemuzu prijit na to, proc. Poradite?
    int i = 5;
    char * msg = "Ahoj";
    
    _asm {
          mov ecx, i
       zacatek:
          push msg
          call dword ptr printf
          add esp, 4
          loop zacatek
    }
    

    Odpovědi

    8.3.2009 23:49 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: assembler: stale cykli
    Register ecx je jeden z tech, ktere maji funkce k volnemu pouziti, pokud chcete uchovat jeho hodnotu, musite si ji nekam (na zasobnik) pred zavolanim ulozit a po navratu z fce vybrat.
    9.3.2009 14:53 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: assembler: stale cykli
    Já bych to napsal nějak takto:
    int i = 5;
    char * msg = "Ahoj";
    
    _asm {
          mov ebx, i
          jz konec
       zacatek:
          push msg
          call dword ptr printf
          add esp, 4
          dec ebx
          jnz zacatek
       konec:
    }
    
    Instrukce loop už se moc nepoužívá, dvojice dec a jnz proběhne rychlej a navíc máte tu možnost si zvolit registr pro cyklus.
    9.3.2009 14:55 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: assembler: stale cykli
    Ten příspěvek měl být jinde ;-)
    Luboš Doležel (Doli) avatar 8.3.2009 23:49 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: assembler: stale cykli
    Nepřepisuje vám printf hodnotu registru ecx?
    9.3.2009 00:19 asm
    Rozbalit Rozbalit vše Re: assembler: stale cykli
    Diky Vam obema, mate pravdu. Uz to funguje:
    int i = 5;
    char * msg = "Ahoj";
    
    _asm {
          mov ecx, i
       zacatek:
          mov ebx, ecx
          push msg
          call dword ptr printf
          add esp, 4
          mov ecx, ebx
          loop zacatek
    }
    Luboš Doležel (Doli) avatar 9.3.2009 00:30 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: assembler: stale cykli
    Hmm a co když by printf() měnilo hodnotu ebx? Pushněte si to na zásobník...
    9.3.2009 14:49 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: assembler: stale cykli
    Nemůže, podle ABI může konvence cdecl a všechny konvence pro 32 bit měnit pouze eax, ecx a edx. Ostatní registry musí být zachovány.

    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.