Portál AbcLinuxu, 21. května 2025 19:14

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
24.1.2006 20:14 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Vejce a slepice
Odpovědět | Sbalit | Link | Blokovat | Admin
Ti nejlepší ze sebe sypali opkódy instrukcí a použitých registrů z paměti.

Vzpomínám si, že instrukci CALL jsem dlouho říkal "CD". To jsem netušil, že patřím k nejlepším, myslel jsem, že je to jen tím, že než se objevil DAM, neexistoval pro PMD-85 slušný assembler… :-)

24.1.2006 21:03 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Vejce a slepice
OK, ale ti horší si to museli hledat v tabulkách :-)
When your hammer is C++, everything begins to look like a thumb.
David Watzke avatar 24.1.2006 20:31 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Vejce a slepice
Odpovědět | Sbalit | Link | Blokovat | Admin
Python je taky self-hosting.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
24.1.2006 21:02 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Vejce a slepice
Klasický Python, alias CPython není self-hosting, protože je vnitřně implementován v C. To, že můžeš spouštět (a překládat do bytecode) externí skripty je vlastnost všech interpretovaných jazyků, to zařizuje runtime. Nicméně existuje projekt PyPy (Python in Python), který implementuje Python v Pythonu.
When your hammer is C++, everything begins to look like a thumb.
24.1.2006 20:36 Tomáš | skóre: 25 | Ústí nad Labem
Rozbalit Rozbalit vše Re: Vejce a slepice
Odpovědět | Sbalit | Link | Blokovat | Admin
Jazyk, který je dost mocný na to, aby v něm mohl být implementován jeho překladač se nazývá self-hosting a prvním takovým jazykem byl Lisp ... A po něm jazyky C a Pascal, případně Java
No, já nevím, ale IMO takovej vlastní javac by asi běžel jen v JVM, ale to nechcu kecat. Spot je to hezkej, chválím :-)
24.1.2006 20:51 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Vejce a slepice
No však taky je javac napsaný v Javě :-). To není problém, pokud chceš překládat javovské programy, chceš je pravděpodobně i spouštět, takže JVM potřebuješ tak jako tak. Samotné JVM (aspoň to od Sunu) je afaik v C++.
When your hammer is C++, everything begins to look like a thumb.
24.1.2006 21:36 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Vejce a slepice
Odpovědět | Sbalit | Link | Blokovat | Admin
Proc tohle vypada jako prepis prvni prednasky doc. Zborila? :-D
~ w w w w (oo)   [oo] w w w w ~
24.1.2006 22:00 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Vejce a slepice
Fakt? Na svou obranu můžu říct, že jsem to nekopíroval, ale napsal celé sám ... je tedy možné, že mi něco z té přednášky uvízlo v hlavě (i když to považuji za dost podivné :-D). Mrknu se na to
When your hammer is C++, everything begins to look like a thumb.
24.1.2006 23:18 XXX | skóre: 4 | blog: CAD | X
Rozbalit Rozbalit vše Re: Vejce a slepice
já mám takový pocit že se tě vždycky na něco zeptám a pak se to objeví +- na abíčku... :-))))
24.1.2006 22:13 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Vejce a slepice
Jenom takový dotaz, kterou přednášku (z kterého předmětu) máš na mysli?
When your hammer is C++, everything begins to look like a thumb.
25.1.2006 10:41 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Vejce a slepice
Asemblery (IAS) - prvni semestr na FIT.

Ale jak moc to je podobne rict nedovedu, doc. Zborila jsem navstivil jen na te prvni prednasce a pak az na zkousce :-D
~ w w w w (oo)   [oo] w w w w ~
25.1.2006 12:08 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Vejce a slepice
No já jen, že jsem se na tu přednášku díval a byly tam převody mezi číselnými soustavami ... což mi moc podobné nepřišlo :-). IAS jsem neměl, já měl ještě Strojově orientované jazyky, ale myslím, že to bude hodně podobné.
When your hammer is C++, everything begins to look like a thumb.
25.1.2006 12:26 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Vejce a slepice
Ve slajdech jsou prevody, to jo, ale hned ze zacatku tam Zboril vypravel neco, co vypada uplne jako zacatek Tvyho blogspotu :-)

Ale mohl to byt jen dojem, prepis z te prednasky nemam :)
~ w w w w (oo)   [oo] w w w w ~
alblaho avatar 25.1.2006 00:08 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Vejce a slepice
Odpovědět | Sbalit | Link | Blokovat | Admin
BTW, Lisp v Lispu se dá napsat na jeden papír A4. Inu jednoduchá gramatika :-)
23.3.2006 04:05 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Vejce a slepice
http://fabrice.bellard.free.fr/otcc/otcc.c

Tenhle self-hosting kompilátor Cčka taky není dvakrát velký, co? ;-)
Heron avatar 25.1.2006 11:09 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Vejce a slepice
Odpovědět | Sbalit | Link | Blokovat | Admin
Mimochodem, odpověď na otázku, "Co bylo dřív, slepice nebo vejce?" Je: "Vejce". A to proto, že se takto rozmnožují i plazi a ti byli na planetě dřív, než ptáci.
Heron
25.1.2006 11:16 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
Rozbalit Rozbalit vše Re: Vejce a slepice
Tedy je na čase položit si novou otázku - bylo dřív vejce, nebo klokodýl? :-D
~ w w w w (oo)   [oo] w w w w ~
25.1.2006 14:10 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Vejce a slepice
Odpovědět | Sbalit | Link | Blokovat | Admin
Také lebely, takže nebylo nutné adresy skoků počítat ručně, ale stačilo symbolické pojmenování skoků (proto ten český název).

Napsal jsem docela dost kódu na C64 v programu Hesmon zvaném "monitor". Šlo o hex editor + asm + disasm. Assembleru jste před každou instrukcí museli napsat absolutní adresu kam se má opcode a argumenty uložit, všechny argumenty byly také absolutní- prostě šlo jen o trochu lepší ukládání konstant do paměti. Kupodivu se v tom dalo docela dobře programovat, jen musel člověk programovat zdola nahoru a na papíře si poznamenávat adresy podprogramů. Dopředné reference se psaly tak že pro neexistující funkci si nějakou adresu vymyslím, a až ji začnu psát, použiju funkci monitoru "relink", která jednoduše disasembluje region, a ke všem referencím do zadaného rozsahu přičte konstantu.

Pak jsem přišel na to že při psaní kódu je dobré občas vyplýtvat 3x NOP, když později zjistím že funkce má udělat ještě něco dalšího, jednoduše se to přepíše na JSR.

Taky bylo docela zvykem alignovat kód po 256 bajtech. Sice to trochu plýtvalo pamětí, ale jednotlivé procedury se dobře nafukovaly. Kupodivu takhle bylo psáno i mnoho her- mezery mezi funkcemi byly vyplněné nulami, cruncher to stejně zkomprimuje.
Táto, ty de byl? V práci, já debil.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.