• Články
  • Zprávičky
  • Fórum
  • Podpořte Root
  • Školení
  • Galerie
  • Blogy
  • Knihy
  • Jak na Linux
  • Zdroják
    • Hledat
    Root.cz  »  Témata

    Assembler

    31–60 / 175
    První strana Předchozí strana 1 2 3 4 5 6 Následující strana Poslední strana
    • Kombinace programovacího jazyka C3 s assemblerem

      Programovací jazyk C3
      V dnešní části seriálu o programovacím jazyku C3 se budeme zabývat tím, jakým způsobem je možné zkombinovat zdrojový kód v jazyku C3 s assemblerem. Jedná se přitom o jednu z klíčových vlastností programovacího jazyka C3.
      Pavel Tišnovský
      16. 12. 2025
      Doba čtení: 59 minut
    • Pohled pod kapotu formátu WebAssembly: instrukce pro řízení toku dat

      Pracovníci rozebírají vnitřek PC
      Zaměříme se na instrukce sloužící pro řízení toku dat (control-flow). Ty jsou použity při překladu zdrojových kódů s běžným rozvětvením, vícenásobným rozvětvením, programovými smyčkami i s ternárními operátory.
      Pavel Tišnovský
      27. 11. 2025
      Doba čtení: 31 minut
    • Zpracování hodnot typu half float (fp16) na platformě AArch64: operace s vektory

      Procesor ARM Cortex A57 A53
      Navážeme na článek o zpracování skalárů i vektorů s prvky typu half float (FP16). Zabývat se budeme především „vektorovým“ rozšířením překladače GCC i překladem operací s vektory do instrukční sady A64 s rozšířením NEON.
      Pavel Tišnovský
      16. 9. 2025
      Doba čtení: 42 minut
    • Zpracování hodnot typu half float (fp16) na platformě AArch64

      Procesor ARM Cortex A57 A53
      Programátoři, zabývající se generativní AI či zpracováním přirozeného jazyka, se často setkávají s vektory obsahujícími prvky typu half float (FP16). Vysvětlíme si, jak se s těmito hodnotami pracuje na platformě AArch64.
      Pavel Tišnovský
      9. 9. 2025
      Doba čtení: 37 minut
    • Funkce vestavěné v GCC pro nalezení délky sekvence nulových bitů

      Dnes si ukážeme další funkce vestavěné do GCC, jež slouží pro realizaci nízkoúrovňových operací. Zaměříme se na funkce umožnující ve vstupní hodnotě nalézt délku sekvence nulových bitů.
      Pavel Tišnovský
      28. 8. 2025
      Doba čtení: 31 minut
    • Funkce vestavěné v GCC pro nízkoúrovňové bitové operace a rotace

      Popíšeme si vestavěné funkce nabízené překladačem GCC, které zajišťují výpočet bitových rotací a taktéž výpočet parity. Zajímat nás bude použitá technologie: způsob překladu těchto funkci do strojového kódu.
      Pavel Tišnovský
      26. 8. 2025
      Doba čtení: 35 minut
    • Generátor náhodných čísel založený na instrukcích RDSEED a RDRAND

      V informatice existuje několik oblastí, ve kterých je nutné používat generátory náhodných nebo alespoň pseudonáhodných hodnot. Moderní procesory s architekturou x86–64 pro tento účel nabízí instrukce RDRAND a RDSEED.
      Pavel Tišnovský
      14. 8. 2025
      Doba čtení: 28 minut
    • Funkce vestavěné v GCC pro provádění nízkoúrovňových aritmetických operací

      Dnes si popíšeme některé funkce (resp. pseudofunkce) vestavěné do překladače GCC, které jsou určeny pro provádění nízkoúrovňových aritmetických operací. Díky nim lze realizovat vícebajtovou aritmetiku atd.
      Pavel Tišnovský
      31. 7. 2025
      Doba čtení: 30 minut
    • Algoritmus CORDIC a numerické formáty s pevnou řádovou čárkou

      Muž v kravatě v kanceláři ukazuje perem na kalkulačku
      Už jsme si uvedli, jak lze CORDIC použít pro výpočet goniometrických funkcí s hodnotami ve formátu plovoucí řádové binární čárky. Tentýž algoritmus lze upravit i pro práci s formátem pevné řádové binární tečky/čárky.
      Pavel Tišnovský
      22. 7. 2025
      Doba čtení: 72 minut
    • Výpočty v systému pevné řádové čárky na platformě IBM PC (2. část)

      Na článek o výpočtech s pevnou řádovou tečkou (čárkou) dnes navážeme. Ukážeme si limity této reprezentace numerických hodnot a seznámíme se s algoritmem CORDIC, kterého lze použít pro výpočet goniometrických funkcí, logaritmů atd.
      Pavel Tišnovský
      10. 7. 2025
      Doba čtení: 72 minut
    • Výpočty v systému pevné řádové čárky na platformě IBM PC

      Počítače IBM PC sice mohly být vybaveny matematickým koprocesorem, ovšem v prvním desetiletí existence této platformy se v žádném případě nejednalo o standardní modul; mnohá PC jím vybavena nebyla.
      Pavel Tišnovský
      3. 7. 2025
      Doba čtení: 72 minut
    • Textové režimy grafických karet SVGA na platformě IBM PC

      Stará VGA grafická karta do sběrnice ISA
      Jednou z vlastností platformy IBM PC byl naprostý chaos vládnoucí grafickém subsystému. Existuje zde však stabilní prvek: textové režimy. Dnes si řekneme, jak se možnosti rozšířily s příchodem karet SVGA.
      Pavel Tišnovský
      24. 6. 2025
      Doba čtení: 68 minut
    • Od grafické karty VGA k vyšším rozlišením i většímu množství barev (3. část)

      Stará VGA grafická karta do sběrnice ISA
      Už jsme se seznámili s tím, jak zjistit informace o režimech SVGA karet přes VBE a jak se přistupuje do video paměti. Právě zde dochází k problémům, které je nutné řešit. Týká se to i operace typu BitBLT pro přenos rastrových obrázků.
      Pavel Tišnovský
      19. 6. 2025
      Doba čtení: 67 minut
    • Od grafické karty VGA k vyšším rozlišením i většímu množství barev (2. část)

      Stará VGA grafická karta do sběrnice ISA
      Ukážeme si, jak lze provést přepnutí do zvoleného grafického režimu a jak se do obrazové paměti zapisují jednotlivé pixely, což může být komplikované.
      Pavel Tišnovský
      12. 6. 2025
      Doba čtení: 65 minut
    • Od grafické karty VGA k vyšším rozlišením i většímu množství barev

      Stará VGA grafická karta do sběrnice ISA
      Už jsme se setkali s problematikou grafického subsystému. Dnes si ukážeme využití VBE (VESA BIOS Extension) pro nastavení grafických režimů s vyšším rozlišením a/nebo počtem barev, než nabízel standard VGA.
      Pavel Tišnovský
      10. 6. 2025
      Doba čtení: 68 minut
    • Problematika ukazatelů v překladačích jazyka C pro systém DOS

      Jaký byl největší problém systému DOS? Neexistence pokročilejších funkcí, nutnost explicitní konfigurace hardwaru, či něco jiného? Z pohledu programátorů se jednalo o práci s pamětí organizované systémem segment:offset.
      Pavel Tišnovský
      3. 6. 2025
      Doba čtení: 41 minut
    • Volání subrutin naprogramovaných v assembleru z jazyka Python: knihovna PeachPy

      Dnes si představíme knihovnu nazvanou PeachPy, která umožňuje realizovat kooperaci mezi skripty v Pythonu a strojovým kódem zapsaným formou strojových instrukcí. PeachPy je v praxi relativně často používána pro „místní“ optimalizace.
      Pavel Tišnovský
      29. 5. 2025
      Doba čtení: 28 minut
    • Volání subrutin naprogramovaných v assembleru z jazyka Python

      Už jsme se setkali s propojením Pythonu s nativními knihovnami naprogramovanými (například) v jazyku C. Dnes si ukážeme jeden z alternativních způsobů, kterým lze z Pythonu volat podprogramy (subrutiny, funkce) v assembleru.
      Pavel Tišnovský
      20. 5. 2025
      Doba čtení: 24 minut
    • Překladače na platformě IBM PC: od assembleru k C

      Prozatím jsme se zaměřili na assembler. Proč se však více nepoužívaly překladače vyšších programovacích jazyků? Dnes se na tuto otázku pokusíme částečně odpovědět otestováním několika dobových překladačů jazyka C.
      Pavel Tišnovský
      13. 5. 2025
      Doba čtení: 38 minut
    • Rozšíření instrukční sady AVX a programy v assembleru

      Dnes si ukážeme základy práce s instrukcemi AVX v assembleru, konkrétně v Netwide Assembleru běžícího v Linuxu. Samotné AVX (Advanced Vector Extensions) rozšiřuje možnosti vektorových instrukcí na x86 i x86–64.
      Pavel Tišnovský
      15. 4. 2025
      Doba čtení: 72 minut
    • Rozšíření instrukční sady SSE2 v programech psaných v assembleru (dokončení)

      Na předchozí dvojici článků o rozšíření instrukční sady SSE2 dnes navážeme. Popíšeme si zbývající instrukce ze sady SSE2, které slouží pro operace prokládání prvků, extrakci či naopak spojování prvků vektorů a podobně.
      Pavel Tišnovský
      8. 4. 2025
      Doba čtení: 70 minut
    • Rozšíření instrukční sady SSE2 (2. část)

      Dnes si popíšeme a zejména otestujeme vybrané instrukce ze sady SSE2. Řekneme si, jaký je rozdíl mezi trojicí PAND, ANDNPS a ANDPD, způsob provedení bitových a bajtových posunů, ale i specifické vlastnosti vybraných konverzních instrukcí.
      Pavel Tišnovský
      27. 3. 2025
      Doba čtení: 70 minut
    • Instrukční sady SIMD a automatické vektorizace prováděné překladačem GCC (3)

      Dnes se budeme zabývat vektorizací smyček, v nichž se zpracovávají pole (vektory), což vyžaduje instrukce SSE2 nebo AVX. Důležité bude taktéž zjištění, jak je vektorizován přístup k prvkům pole s volitelným krokem (stride).
      Pavel Tišnovský
      25. 3. 2025
      Doba čtení: 40 minut
    • Instrukční sady SIMD a automatické vektorizace prováděné překladačem GCC (2)

      Na úvodní článek o automatických vektorizacích prováděných překladači dnes navážeme. Opět se zaměříme na autovektorizace prováděné překladačem GCC, dnes si ale otestujeme poněkud komplikovanější funkce, které se mají optimalizovat.
      Pavel Tišnovský
      20. 3. 2025
      Doba čtení: 30 minut
    • Od instrukční sady SSE k sadě SSE2

      Proč se většina nově přidaných instrukcí SSE omezuje na práci s hodnotami typu single, když je mnoho aplikací založených na celočíselných datech nebo naopak používá typ double? Odpovědí byla instrukční sada SSE2.
      Pavel Tišnovský
      13. 3. 2025
      Doba čtení: 68 minut
    • Pokročilejší SSE operace: přeskupení, promíchání a rozbalování prvků vektorů

      Dokončíme popis rozšíření instrukční sady SSE. Ukážeme si některé netriviální operace, které je možné provádět se skaláry a především s vektory. Jedná se o konverzní operace a taktéž o rozbalování a zabalování prvků vektorů.
      Pavel Tišnovský
      11. 3. 2025
      Doba čtení: 66 minut
    • SIMD instrukce v rozšíření SSE (2. část)

      Popíšeme si zbylé instrukce pro provádění numerických výpočtů. Také se zmíníme o instrukci pro porovnání prvků vektorů, která má celkem osm různých variant. A nezapomeneme ani na problematiku nekonečných hodnot a hodnot NaN.
      Pavel Tišnovský
      4. 3. 2025
      Doba čtení: 63 minut
    • Programovatelné IO na mikrořadičích RP2040: komunikace s PIO a ovládání PIO

      Raspberry Pi Pico s řadičem RP2040
      Ukážeme si základní způsoby komunikace hlavního programu běžícího na mikrořadiči s PIO programy. Pro tyto účely se používají fronty (FIFO) a vstupní i výstupní posuvné registry.
      Pavel Tišnovský
      27. 2. 2025
      Doba čtení: 30 minut
    • SIMD instrukce v rozšíření SSE

      Po úspěšném a navíc i relativně bezproblémovém zavedení rozšíření MMX vzniklo u konkurence (AMD) rozšíření 3DNow!. To sice nebylo příliš populární, ovšem jednalo se o první krok k rozšíření nazvanému SSE (Streaming SIMD Extension).
      Pavel Tišnovský
      25. 2. 2025
      Doba čtení: 64 minut
    • SIMD instrukce na 80×86: dokončení popisu MMX, instrukce 3DNow!

      Intel microprocessor Pentium MMX 233 s architekturou P5 (P55C)
      Dnes si popíšeme zbylé MMX instrukce a většinu instrukcí použijeme v příkladech. Také si popíšeme instrukční sadu 3DNow! společnosti AMD. Ta nebyla přímou konkurencí MMX, ale spíše první vlaštovkou vedoucí k SSE a AVX.
      Pavel Tišnovský
      18. 2. 2025
      Doba čtení: 67 minut
    31–60 / 175
    První strana Předchozí strana 1 2 3 4 5 6 Následující strana Poslední strana

    Komerční sdělení

    • oo_SC Cyber Security 2026: Bezpečné nasazení AI a vlastní LLM v praxi

    Root.cz
    Odborné školení Hacking v praxi s etickým hackerem Lukášem Antalem
    VÍCE INFO
    newsletter ČLÁNKY DO MAILU