Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 1. diel - Úvod do programovania v Assemblera

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovedá na Nositelka Změny
Jakub Verner:15.1.2021 15:51

Objektový Assembler? :-? Nemyslíš kompilování do formátu .OBJ?

Avatar
DarkCoder
Člen
Avatar
Odpovedá na Nositelka Změny
DarkCoder:15.1.2021 16:15

Zdá se jedná o nízkoúrovňový či vysokoúrovňový programovací jazyk není dáno programovacím paradigmem, ale tím, jak velká je odlišnost od způsobu fungování procesoru počítače.

Jazyk C je procedurální programovací jazyk, u něhož je vše založené na funkcích. Žádný uživatelsky přívětivý programovací jazyk se bez funkcí neobejde.

jenom to není tak pohodlné jako v těch "skutečných" vysokoúrovňových jazycích.

V čem je nepohodlné provést komplexní činnost programu prostým voláním funkce?

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovedá na DarkCoder
Jakub Verner:15.1.2021 16:55

To je pravda. Můžeme je rozdělit podle přístupu k hardwaru a C má nízkoúrovňový přístup jenom k paměti. Proto je to tak trochu diskutabilní.

Avatar
Odpovedá na DarkCoder
Nositelka Změny:15.1.2021 19:24

Spíš jsem měla na mysli, že bez objektového programování to je někdy těžké. Třeba knihovna GLib je ukázka toho, že to bez nich jde, ale s nimi je to jednodušší a přehlednější. A asi by se toho našlo víc, ale nic mě už nenapadá.

Avatar
Jakub Verner
Tvůrce
Avatar
Odpovedá na DarkCoder
Jakub Verner:15.1.2021 22:17

Ale Céčkař nejsem a ani s ním nemám moc zkušeností, takže mohu říct pouze svůj názor. :-D

Avatar
Jakub Verner
Tvůrce
Avatar
Odpovedá na Nositelka Změny
Jakub Verner:15.1.2021 22:52

Tak si představ, že opravdu existuje objektový Assembler. Konkrétně se jmenuje High Level Assembly a podporuje pokročilejší datové typy a OOP programování. Někdy se tak prý označuje i MASM. Docela zajímavé. P.S.: Při hledání se mi podařilo narazit na to, že C je prý vyšší programovací jazyk s prvky nižšího programovacího jazyka, takže je opravdu těžké říct, co tedy je... Je pravda, že C, pokud vím, není závislý na konkrétním procesoru a má takové typické prvky vyššího programovacího jazyka (nezávislost na procesoru, větší srozumitelnost, atd.), ale na druhou stranu, jsou tam znaky, jako třeba práce s pamětí, které nahrávají tomu, že je nižší. Pokud mám být tedy konkrétní, C je multiplatformní, což z něj činí vysokoúrovňový jazyk, ale jeho přístup k paměti z něj dělá nízkoúrovňový jazyk. Jsme tedy někde mezi. Přijde mi jako takový mezikrok.

Avatar
DarkCoder
Člen
Avatar
Odpovedá na Jakub Verner
DarkCoder:16.1.2021 12:13

C má nízkoúrovňový přístup jenom k paměti.

Nejen k paměti, ale i k hardwaru lze pomocí jazyka C přistupovat, jen to není tak přímočaré.
Ne nadarmo je jazyk C brán jako primární jazyk pro embedded systémy.

O tom, jaké jsou možnosti jazyka C k přístupu hardwaru, viz. odkaz.
Manipulating hardware with C

Pokud Tě baví assembler, nebylo by na škodu se k němu naučit C. Velmi Ti to usnadní práci a poskytne další pohled na věc a možnosti.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovedá na DarkCoder
Jakub Verner:16.1.2021 12:30

Já vím, že by mi C mohlo usnadnit práci, ale Assembler má prostě své kouzlo. Určitě není na škodu, naučit se ho, ale operáky hodlám psát výhradně v ASM. :-D Hrozně mě baví vymýšlet všechno od píky. Na druhou stranu, C je prostě takový lepší Assembler, takže proč ne. Nikdy není na škodu, umět něco víc. A děkuji za názory. :-)

Avatar
DarkCoder
Člen
Avatar
Odpovedá na Nositelka Změny
DarkCoder:16.1.2021 12:31

Uspořádání celků do objektů je vhodné, hlavně z důvodu přehlednosti, naprosto souhlasím. Lze se však bez něj obejít. Způsob programování v C se trochu liší od ostatních jazyků, neboť se jedná o procedurální jazyk a celé je to stavěné na funkcích namísto designu, tak jak je tomu u klasických jazyků využívající OOP. Způsob, jakým se to v C řeší, je obrácený. Jasně se řekne co se má dělat a objekt se předá jako ukazatel.

Knihovna GLib je psaná v C a její zápis je rovněž typické pro programy psané v C. Takových příkladů je spousty. Namátkově další knihovny GLFW, SDL, RAYLIB, atd.

Nicméně každému vyhovuje něco jiného, proto vzniká spousta jazyků, kde každý se hodí pro něco jiného. Stačí si jen vybrat.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Jakub Verner
DarkCoder:16.1.2021 12:37

Souhlasím. Čím více se ponoříš do základů, tím více pochopíš jak co funguje a můžeš tak cokoli zlepšit. :-)

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 20.