V Laugaritiu dna 5.3.0000 e.a. Zivot assembleristu POZOR! Urcene len ludom a programatorom! Urcite znalosti latinciny nutne. Slovnik anglickeho jazyka odporucany. Voda v mechanike A: Konstatovania: [doslovny preklad] Assembler bol predsednictvom WUAP prehlaseny za zdravotne nezavadny jazyk, vhodny pre kazdeho cloveka. Podla clenov WUAP pouzivanie toh- to jazyka podporuje myslenie logicke aj ine (pozn. - nejasnost v texte). Nie je pravda, ze Assembler je len pre zufalcov. Nie je pravda, ze v Assembleri programuju len vysinuti a ze progra- movanie v Assembleri sposobuje vysinutost, ci inu uchylku fyzicku alebo psychicku. Kapitola 1. - Usvit Ak zacinate, a niekto vam polozi otazku "Kto si, assemble- rista?", odpovedajte: Ja nie som ten, ktoreho vykriky "Zahodte Pascal! Assembler je jediny spravny jazyk!!!" brazdia mrazivu nocnu tmu. Nie som ten, kto prorokuje krajsiu buducnost, ak vsetci prejdu na Assembler. Ja som ten, ktoreho programy behaju rychlejsie a su mensie. Ja som bojovnik proti Microsoftu. A NEBOJIM SA ASSEMBLERU. Howgh. Mam zvastnu schopnost zjednotit rozne skupiny ludi na jednom nazore. Napriklad: Mnohi bezni ludia si myslia, ze ma splodil pocitac. Prinaj- mensom ze tak vyzeram. Pocitacovci (ako predstavitelia druhej skupiny) si v podstate myslia to iste. Ale uz nie tak kvoli vzhladu, ktory os- tatne nie je v nasich kruhoch vynimocny. (Netvrdim, ze som pekny, ale - napriklad tamten vyzera, s prepacenim, hrozne.) Predovsetkym si to myslia preto, lebo mam k pocitacom dokonca blizsie, nez vacsina z nich. Pretoze vacsina z nich programuje v takzvanych vyssich progra- movacich jazykoch. Nie je to praca lahka. Ale nizsi programovaci jazyk je proti tomu uplnou hrozou. Mam na mysli Assembler. Az tu sa clovek dozveda, ze je tvor chybujuci, ak nie uplne chybny. Poznate to pravidlo programov WYSIWYG? (what you see is what you get) V pripade programovacich jazykov sa to da pozmenit na WYWIWYG (what you write is what you get - co napises, to dostanes). V Assembleri to plati dvojnasobne. Je mimoriadne neprehladny a chyby z nepozornosti su pocetnostou rovne chybam z neznalosti. Assembler vyzaduje najvacsie znalosti o pocitacoch. Ak programujete stylom, ktory ste okopirovali od trojrocneho uzivatela stavebnice LEGO, moze sa stat, ze vas program toho bude robit malo. Velmi malo. Dokonca tak malo, ze ani nezacne. A co viac - vyzera to, ze v tomto storoci ani neskonci. K comu smerujem: "Ak sa niekto rozhodne programovat, musi sa naucit vyjadrovat presne. Ak sa niekto rozhodne pre Assembler, musi sa naucit vyjadrovat bez- chybne, t.j. zbavit sa recovych vad." Kapitola 2. - Rano Dve upozornenia pre programatorov: 1. Nemyslite si, ze ked programujete v takzvanych vyssich programovacich jazykoch, ste predstavitelmi vyssich foriem zivota! 2. Skutocni programatori pouzivaju: COPY CON PROGRAM.EXE Ano, zakladom programu je, aby skoncil. Chvilu trvalo, nez som na to prisiel. Potom som vyprodukoval svoj prvy funkcny program v Assemble- ri. Skoncil! Od tohto casu sa datuje e.a (era Assembleru). Od tohto casu sa v spolocnosti rozprava: "Kto je to?" "Koho myslite? A, tamten s tou klavesnicou vo vrecku? To nie je clovek, to je Dedo!" Od tohto casu sa na niektorych pocitacoch (a je ich coraz viac) stre- tavam s funkciou "autodetect na mna". V podstate to funguje tak, ze ked sa dotknem klavesnice, pocitac sa vypne. Alebo zobrazi cervene blikajuce hlasenie: "!!! ATTENTION !!! High voltage on keyboard!" A v tomto case som si zalozil specialnu disketu na zdrojove texty v Assembleri, ktore sa mnozia az dodnes. Kedysi na usvite dejin, ked som este ani ja neprogramoval v Assembleri (alebo si to uz nepamatam?) isty clovek povedal, ze "pocitace su za- ciatkom konca ludstva". Tymto by som bol - ako assemblerista - de iure uz po smrti......ibaze by nie. Asi nie. Skor nie. Urcite nie! Netrvalo dlho a zistil som, ako sa da v Assembleri vypisovat text. To bolo hlaseni! Od "Your mouse is hungry" az po "Bad command or opera- tor". Na tom by nic nebolo, ale skuste program, ktory toto vypisuje, premenovat napriklad na Norton Commander! K comu smerujem: "Nic nie je take nebezpecne ako dieta, ktore si osvoji novu hracku." Kapitola 3. - Den Postupom casu som zacal pisat rezidenty. Mnohi sa domnievaju, ze ich hlavnou vlastnostou je to, ze po spusteni zostanu v pamati a cakaju na aktivaciu. Chyba! Tie moje po spusteni zostali v pamati a cakali - na reset. Toto tlacitko urcite nie je tym spravnym na aktivaciu reziden- ta. Skutocne, ladenie tychto programov je rovnako zdlhave, ako aj po- citacu nebezpecne. Kurioznou aplikaciou je program Covox. Urcite patril k mojim najoblu- benejsim, pretoze som don pridaval vsetky vymozenosti, ktore som vy- myslel. Na program v Assembleri mal pomerne vysoky komfort pouzivania. Ved styrmi stovkami riadkov aj v tom najukecanejsom programovacom ja- zyku urcity user-friendly interface dosiahnete. Vobec mi nezalezalo na tom, ze do verzie 2.00, co predstavovalo asi rok vyvoja, nemohol vobec fungovat. Tieto chyby som si vsimol az pri pridavani kniznice AMIS (rezidenty). Pri tej prilezitosti som komplet- ne prepisal instalacnu cast programu, ale zvysku som tiez venoval ne- malu pozornost. Neskor, po vyvinuti programatorskej nadstavby pre AMISovske rezidenty, som na podnet priatela vytvoril program, ktory nielen pri spusteni, ale aj pri resete vypisoval rozne hlupe hlasky. Tym som sa naucil vy- pisu na obrazovku z rezidenta, co znamenalo velke nebezpecenstvo pre vsetkych uzivatelov pocitacov na celom svete. Takmer. Uz padli posled- ne bariery pred pisanim programov, ktore budu okrem svojej funkcie uzivatelov obstastnovat roznymi hlaskami v tej najnevhodnejsej chvili. K comu vsak smerujem: "Nikdy sa nenechajte odradit tym, ze program nefunguje. Ved nikto ne- pise programy preto, aby fungovali! Hmmmmmm...alebo ano? (Microsoft urcite nie)" Kapitola 4. - DOS "Ako sa k svojmu disku spravas, tak sa on o tvoje data postara." (z uvodu k Desatoru diskovych prikazani) DOS je vseobecne oznacovany ako diskovy operacny system. Napriek tomu su vsak v nom zabudovane funkcie, ba dalo by sa povedat, ze cela kon- cepcia je stavana na to, aby sa zabranilo masovejsiemu rozsireniu vel- kokapacitnych pamatovych medii, niekedy zvanych pevne (hard) disky. Skutocne, ci uz clovek, alebo programator (skratka, mysliaca bytost) pochopi, co sa deje, ked.....ked co? Ked sa nic nedeje? Co sa deje vtedy, ked sa nic nedeje, to pochopi kazdy. No co sa deje vtedy, ked zablika kontrolka disku, nad tym si az rozum sadne. Na zem. Bo hlbsie nez na zem to klesnut nemohlo. Vlastne mohlo - az k DOSu. No nielen proti diskom je DOS zamerany. Na bitevnom poli proti progra- matorom tiez zaznamenava velke uspechy. Snad najvacsim z nich je po- vestna Bariera. Predstavuje ju cislo 640. Je to velkost pamate, ktoru mozete pouzit pre svoj program. Ak je jeden a ak sa zaroven pise rok 1980, je vsetko v poriadku. Ale situacia je vaznejsia, ak je tych programov desat a pise sa rok 1995. Pretoze - KOLKO programov moze fungovat spolahlivo a bez zbytocneho spomalovania v 640 kilobajtoch pamate? Dnes uz takmer ziadny! Darmo vyhodite tisice za megabajty pa- mate, ktore stoja stale viac, nepomoze vam to! Ale ludia neboli proti pocitacom uplne bezmocni... Na svet prisli tzv. DOS extendery. Pracuju vo vyssich modoch vyssich procesorov, kde nie je dost dobre mozny sucasny beh viacerych DOSovskych programov. Takze sa uvolni pamat - a vsetko je v poriadku. Na tomto "operacnom" systeme ma tiez odjakziva fascinoval casovy vyvoj pomeru posobnost/dlzka. Kedysi system sireny na jednej diskete 720 KB. Dnes "system", dodavany na styroch alebo viacerych disketach 1.44 MB. A...? Vsetci nadavaju stale rovnako. K comu smerujem: "Operacne systemy su to, bez coho sa zaobide kazdy slusny clovek. Ale pocitac nie." Kapitola 5. - Microsoft Windows "Operacny system novej generacie. Ovladat pocitac je lahke, ako nikdy predtym! Neuveritelne moznosti!" (z reklamnych materialov Microsoftu) Ak pisete navod na znicenie disku, pokojne mozete opisat cele pasaze z originalnych priruciek k MS-DOSu. Ak chcete psychicky zruinovat se- fa, smelo mu nainstalujte Windows. Mozu byt i s narodnou podporou. Verzia lubovolna. Zaplatenie licencneho poplatku povinne. Vdaka svojej praci mam s Windows bohate zazitky. Su to skusenosti typu "...instalujem to treti raz, snad to uz nespadne, zas je polnoc..." Skutocne, Windows maju nechutny zvyk "padat". Prejavuje sa to tak, ze uprostred prace, prave, ked ste v najlepsom, program sposobi nejaku chybu. UAE. Unrecoverable Application Error. Casto pridete o vysledky niekolkych hodin tvorivej cinnosti, ktoru Windows podla reklamy tak velmi podporuju. A ako vyzeraju Windows z druhej strany? Vraj operacny system! Uz sedem rokov sa Windows spustaju pod DOSom, ktory je sam chybny. Nepochybne je zodpovedny za cast nedostatkov Win- dows. Je zvlastne, ked jeden program musi svojou koncepciou obchadzat nedostatky ineho programu od tej istej firmy. Widows su take dokonale, ze uz maju naslednika - Windows NT. Pise sa o nich, ze su skutocnym operacnym systemom. Su vykonnejsie, nez pred- chadzajuce... Co je to vlastne vykonnost? Ak sa tym mysli skutocnost, ze program bezi na rychlejsom pocitaci pomalsie, tak by to sedelo. Pretoze ak Windows 3.1 bolo mozne spustit s jednym megabajtom RAM, pre NT potrebujete 16. Na pocitaci pre Windows NT verzia 3.1 priam uhana, ale novy operacny system bootuje cele minuty. Takze - vykonny? Krachy operacnych systemov dostali novy lesk vo verzii Windows 3.11, takzvanej sietovej. Hura! Podpora siete! Namiesto jednoho pocitaca spadne cela siet! Ne-o-pa-ko-va-tel-ny zazitok! Ak chcu Windows zastavat funkciu sietoveho operacneho systemu, mali by vydrzat bez padu aspon 24 hodin denne. Pocitacova siet, v ktorej pra- cuju desiatky az stovky ludi, nie je miestom na zartiky Microsoftu. K comu smerujem: "Umenie predat je dolezitejsie, nez umenie vyrobit." ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Kapitola 6. - PC zvnutra "BIOS nie je rozhranie medzi sietovou snurou a pocitacom." Uz vam niekedy nechcel nabootovat pocitac? Zahadne sa vam stracaju data z disku? Niektore programy niekedy odmietaju spolupracu? Niekedy nie? Toto su pripady, kedy nastupuje vyhanac duchov. Ak nie je nablizku, mate smolu. Ak je, aj tak vam asi nepomoze. Kolizia rezidentov je vec, ktora casto zavisi od nahody. Mnoho nespravne fungujucich programov teoreticky fungovat moze. Keby... Zo vztahov medzi operacnym systemom MS-DOS a programov, beziacich pod nim, sa stala dokonala dzungla. Pretoze DOS podporuje maloktoru dobru myslienku, programy sa hemzia cudnymi technikami. Ak chce nejaka apli- kacia vyzerat slusne, musi pouzivat takmer virusove techniky. Nechcem nikoho odradzat od akehokolvek ponoru do hlbin operacneho systemu a od pohladu do zakulisia prace pocitaca. Je to nesporne velmi zaujimave. Ale je to plne bahna. Je to priklad, ako to byt nemalo. Zaver ma byt optimisticky. Nuz - nepoznam nic myslienkovo osviezuju- cejsie, nez ponorit sa s neocenitelnym nastrojom DEBUG do operacneho systemu. A BIOS je dobrou ucebnicou usporneho programovania. Je jedi- necnym zdrojom inspiracie. Ale niektore situacie, do ktorych sa pritom dostanete, predpokladaju silne nervy. Praca s pocitacom vobec vyzaduje trpezlivost a pokoj. Vsetko chce svoj cas. Prajem prijemnu zabavu! "Kazdy pocitac je iba tak inteligentny ako jeho uzivatel." (PB93R) K comu smerujem teraz? Ku koncu. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Dodatok 1. - Desatoro diskovych prikazani (uryvok - pre nas teraz najdolezitejsia cast) 1. Nezmazes. 2. Nesformatujes. 3. Uzitocnym zaplnis. 4. DOS nenainstalujes. 5. Uchranis pred Windows a inymi virusmi. 6. Pred transportom hlavicky zaparkujes. 7. Hned, ako nasetris, diskovu kes kupis. 8. Nepouzijes diskove benchmarky a podobne kompromitujuce aplikacie. 9. Nepouzijes ako testovaci material pre svoj program. 10. Nezdvojnasobis. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Dodatok 2. - Maly slovnicek pojmov Microsoft - pokutna firma, zaoberajuca sa "vyvojom" "software" Bill Gates - podomovy obchodnik Norton Commander - najrozsirenejsi pocitacovy virus pocitacovy virus - program, ktory zabera miesto na disku i v pamati pocitaca a uzivatela; siri sa kopirovanim; pacha necakane skody na suboroch po stlaceni urcitych klaves (napr. F8) program od Microsoftu - specificka forma pocitacovych virusov; vyznacuje sa tym, ze nevyzaduje zasah uzivatela, ale pacha skody aj bez toho programovaci jazyk - jazyk, v ktorom si programator ulavi, ked zbada program ci uz svoj, alebo od Microsoftu programovanie - forma ticheho sialenstva operator - clovek, ktory na pocitaci vykonava prace, ktore by inak vy- konaval pocitac PC - skratka, oznacujuca v blizsie nespecifikovanom jazyku diablov nastroj pocitac - velmi rychly blbecek autor operacneho systemu - pojem casto nespravne vztahovany na Billa Gatesa a firmu Microsoft RAM, 3D ORAM, VRAM, ROM, PROM, EPROM, EEPROM, EAROM, CD ROM, CD WORM, disketa, disk, paska, dierny stitok - priklad mnoziny pojmov, ozna- cujucich to iste (pamat) BIOS - zahadny I/O system sluzby DOSu - pochybne vylepsenia na zaplatanie nedostatkov externy prikaz - spustitelny subor, ktory sa uz nenachadza na disku DOS, UNIX, OS/2, Windows - scasti parodicke variacie na temu "operacny system" 666 - cislo oznacujuce momentalne najrozsirenejsiu verziu MS-DOSu bootovanie - proces, pri ktorom sa do pamate pocitaca vzdy nainstaluje virus (jeden alebo viacere) reset - fajciarska (prestavka); v tomto momente sa virus vymaze z pamate pocitaca, aby sa v nej o niekolko sekund opat usadil pocitacova hra - podla odbornikov jedine rozumne vyuzitie pocitaca, pri ktorom netecu nervy - a aj to cim dalej, tym zriedkavejsie Geos (Geoworks Ensemble) - priklad zmeskaneho vlaku alebo Ako by to mohlo byt, keby nebolo keby a este raz DOS, ale inak - prostriedok hromadneho nicenia, zamorenia a destrukcie, podporovany Oknami DOS - argument proti Windows DOS - argument pre Windows DOS - argument pre DOS - argument proti DOS - argument proti (ale sranda je nekonecna, to sa musi nechat!!!) e.a. - era Assembleru ---------------------------------------------------------------------- Dodatok 3. - Dodatky a komentare slavnych ludi "Vsetko je inak!" - neznamy vojak "Aj tak to spadne."(flegmaticky) - neznamy uzivatel ---------------------------------------------------------------------- V Trencine dna 1.4.0240 e.a. (Dedo, 23.11.1995)