Tag

programování

Použití assembleru v Linuxu: RISCová architektura AArch64

Ve všech předchozích částech tohoto seriálu jsme se zabývali především psaním programového kódu pro mikroprocesory s architekturami x86, x86-64 a 32bitovou architekturou ARM. Ovšem stále častěji se můžeme setkat se zařízeními, v nichž je použit nějaký mikroprocesor s architekturou AArch64, tedy se 64bitovým… Pokračovat ve čtení →

Použití assembleru v Linuxu: volání knihovní funkce printf s proměnným počtem parametrů

Téma volání knihovních funkcí z assembleru dnes dokončíme. Ukážeme si totiž, jakým způsobem se volá funkce printf s proměnným počtem parametrů, což je zejména na architektuře x86-64 řešeno poněkud zvláštním způsobem. Všechny dnes popsané příklady budou implementovány jak pro již zmíněnou architekturu… Pokračovat ve čtení →

Cargo: správce projektů a balíčků pro programovací jazyk Rust

Při vývoji aplikací v moderním programovacím jazyce Rust je možné ke správě projektů přistupovat různým způsobem. Někteří programátoři mohou dávat přednost použití vlastních skriptů určených pro překlad a spouštění projektů, další vývojáři mohou naopak použít například možnosti nabízené klasickým nástrojem make… Pokračovat ve čtení →

Použití assembleru v Linuxu: konvence při volání knihovních funkcí na mikroprocesorech ARM

Předchozí článek, v němž jsme si ve stručnosti popsali konvence používané při volání knihovních funkcí na mikroprocesorech s 64bitovou architekturou x86-64, dnes doplníme, protože si řekneme, jakým způsobem se volají knihovní funkce na 32bitových mikroprocesorech s architekturou ARM. Dnešní díl tedy bude zaměřen… Pokračovat ve čtení →

Použití assembleru v Linuxu: volání funkcí ze standardní knihovny jazyka C

V demonstračních příkladech, které jsme si ukazovali v předchozích částech tohoto seriálu, jsme si prozatím vystačili s voláním několika funkcí jádra operačního systému (jedná se o takzvané syscalls). V praxi se však dříve či později dostaneme do situace, kdy je zapotřebí používat i… Pokračovat ve čtení →

Použití assembleru v Linuxu: operace s jednotlivými bity, koncept Booleovského procesoru

V relativně velkém množství algoritmů se nepracuje pouze s bajty či ještě širšími slovy (16bitů, 32bitů, 64bitů), ale „pouze“ s jednotlivými bity. Z tohoto důvodu nalezneme u některých typů mikroprocesorových architektur speciální instrukce určené pro manipulaci s bity, konkrétně pro… Pokračovat ve čtení →

Použití assembleru v Linuxu: aritmetické a logické instrukce i bitové posuny v praxi

Ve dvanácté části seriálu o použití assembleru v Linuxu použijeme znalosti a aritmetických a logických instrukcích i o bitových posunech, které jsme získali v předchozích článcích. Vytvoříme si totiž několik maker a k nim přidružených subrutin určených pro výpis hexadecimálních… Pokračovat ve čtení →

Logické a bitové operace na mikroprocesorech řady x86

Nedílnou součástí většiny programů psaných v assembleru jsou i instrukce provádějící logické a bitové operace. Do této skupiny patří zejména instrukce NOT, AND, OR a XOR doplněné o instrukci nazvanou jednoduše TEST. Nesmíme ovšem zapomenout ani na bitové rotace, bitové posuny… Pokračovat ve čtení →

CC BY-SA 4.0
This site is not affiliated with or endorsed by the Fedora Project.
Kontakt: redakce@mojefedora.cz | Pište pro mojefedora.cz
Některé materiály na těchto stránkách pocházejí z webu fedoramagazine.org
Přihlásit se