Simple 8-bit Assembler Simulator

Jó kis szemléltetőeszköz:

http://schweigi.github.io/assembler-simulator/

szerk.: komolyan kedvet kaptam egy kis assemblyhez. Tudom, nézessem meg magam orvossal. De olyan szépen szemlélteti ez a kis tool :D

Hozzászólások

Ez nagyon jo. :)
Vagy 20 eve jol jott volna egy ilyen.

Régen is volt ilyen, csak akkor nem webalkalmazásként. 12-14 évvel ezelőtt használtam egy z80-as szimulátort Win XP-vel, ami mellesleg a Spectrum emulátor is volt. A nevére már sajnos nem emlékszem, de úgy rémlik, hogy orosz „származású” volt.

-----

(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-

Sose szerettem az ilyesmit. Könnyebben eredményre jut az ember más módszerekkel, ha hibát keres. Valós idejű folyamatokat így nem lehet vizsgálni, azt sem könnyű megnézni, ha valami a 325469. iterációban pusztul meg, megszakításokkal is gond van.

Jó játék, de fölösleges.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nem tudom mi az "ilyesmi" amit nem szeretsz, de ez szerintem nem hibakereséshez használható eszköz, hanem kifejezetten assembly programozást oktató játék. Szépen, világosan mutatja a műveletek hatását, egymásra épülését. Ezt esetleg kiegészítve egy olyannal, ami azt is megmutatja, hogy egy magasabb szintű nyelven megírt kódból milyen asembly kimenet állhat(na) elő, és máris van egy jól használható eszköz kezdő wannabe programozóknak. Nyilván nehéz lenne egy jó kis OOP eszközt e fölé építeni (főleg, ha elképzelt rendszerünk 256 byte memóriáját tekintem).

Szimulátorra gondoltam. Nem igazán tudom, mit nem lehet azon elképzelni, hogy például az INC (HL) a HL regiszterpár által mutatott címen lévő értéket fogja növelni, már feltéve, hogy az RAM. Ha most azt látom, hogy ott 5E volt és utána 5F lett, attól nekem jobb? Elképzelni képtelenség?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Vannak vizuális alkatok. Egy ábrát mindig könnyebb megérteni, mint ha csak eldarálja a tanár.
Ezen kívül egy egész jó kis "memóriatérképet" is felrajzol, amin könnyebb megérteni, hogy egy ciklus miként megy végbe.
Mindenki más alkat, és ne felejtsd el, hogy Te nem most látsz ilyet először. Ha van lehetőség szemléltetésre, akkor miért ne használjuk ki a technika adta lehetőségeket? Nekem meghozta a kedvem, hogy az anno nagyon utált assemblyvel játsszak egy kicsit.

Tanítottam, de inkább megcsináltattam a srácokkal valódi hardware-en. Különben nem ennek a megértéséhez volt szükségem szemléltetésre, hanem az analóg elektronika, szabályozás, ami nem annyira ment, oda kellett némi fantázia, hogyan mutassam meg a működést. Például invertáló erősítő, virtuális föld, a kimeneti közel nulla impedancia akár úgy is, hogy az erősítő kimenetével sorba kötök egy ellenállást, de a visszacsatolás csak az ellenállás utáni pontról történik. Ezeket nehezebben értették meg, mint egy fileregiszter inkrementálását.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Hmm. Ekkora öntudatosság általában sikeres emert jelez. A sikeres embernek általában van pénze. Szóval: adományoznál nekünk cca. 500 devboardot, hogy minden hallgatónk tudjon vele otthon mérni?
Ugyanis ekkora nálunk egy évfolyam.

Na jó, visszatérek a munkához, épp egy egyszeru digitális áramkör szimulálót írogatok. Mert ha elkészül, lehet vele demózni a hallgatóimnak...

Tudom, tanítom a tárgyat :-)

Azóta egyrészt változtak a dolgok (Verilogban csináljuk), másrészt hobbiból csinálom (illetve tanulom vele a Scala.js-t és a reaktív programozást). Meg persze külön locsemege bosszantására.

Primitív interaktív demókhoz nem kell sok, most már pl. bármilyen (nem túl sok kapuból álló) kombinációs logikát leszimulál. Max. egy óra összerakni az egészet.

Illetve azt is szeretném vele demonstrálni a hallgatóknak, hogy a Verilog adatfolyam-szemlélete és az rx-típusú reactive programot mennyire hasonló szemlélettel rendelmeznek. Pl. nekem Verilogban háttérrel semmi gondot nem okozott az rx megértése. Szeretném, ha ezt a hallgatóim is meglátnák: ugyan Verilogban hardvert nem hiszem, hogy fognak írni, de reactive weboldalt/GUIt/HPC alkalmazást simán lehet, hogy kell majd fejleszteniük.

Az is benne van, hogy terveim szerint lennének mellé magyarázó szövegek, interaktív online jegyzet lenne. Meglátjuk, mire jutok vele, mert kevesebb idõt szeretnék hobbira szánni.

Én középiskolában, s egy alkalommal kb. 20 ember. Hardware még ennyi sem volt, de mindenkinek más feladatot adtam, s volt lehetősége kipróbálni, ha nem ment elsőre, javítani. Még mindig úgy gondolom, a szimuláció egy kedves és értelmetlen játék ebben az esetben. Hibát hatékonyabban megkeresek másképp. Úgy is mondhatnám, amit szimulációval megtalálok, azt gondolati úton is, ami meg rafináltabb hiba, azon a szimuláció sem segít.

Ha meg nem hibát keresünk, akkor az tényleg olyan szintű, mintha azt mondanám, egy papírlapon végighúzom egy ceruza hegyét, s jé, csodálkozzunk, lesz ott egy vonal. Jó, és? Ezt vártuk, ez a természetes, semmi érdekes nincs benne.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Egyetemen az egyik laboron kaptunk házit, AVR-en kellett egy egyszerű feladatot megvalósítani (esetemben egy gombokkal változtatható fényerejű LED vezérlését PWM-mel). Otthon felraktam az AVR Studiot és a szimulátor segítségével gyönyörűen le tudtam fejleszteni, következő laboron pöccre ment a hardveren. Hibakeresésre szerintem csak akkor felesleges, ha tudod debuggolni az éles hardvert is.

Tény, hogy én munkát is, hobbit is éles hardware-en élesztettem. Szerintem nem valós környezetben eléggé kínlódás ez. Gondolj csak bele, van egy mikrokontrollered, amelyik kommunikál egy másikkal. Azzal vacakolni, hogy az egyik működését szimulálod, sokkal több idő, mintha az egészet egyben teszteled, s méréssel, vagy egyszerű, célzott tesztekkel behatárolod, hogy a kommunikáló felek közül melyik vétett hibát. Amikor összetett egy rendszer, a peremfeltételek, gerjesztési vektorok előállítása szimulációhoz nem is olyan egyszerű feladat, ráadásul megvan az a kellemetlensége is, hogy lehet, hogy jó az eredeti kód, de éppen a teszt adatok, a gerjesztés szimulációja hibás. És akkor keressünk hibát a hibátlan kódban. Jó annak, aki ráér és pihenni sem szeretne.

A másik gond, hogy a szimuláció steril. A valóságban véges meredekséggel változnak feszültségek, lehetnek hazárdok, gond lehet jelterjedési idő, bármi. Az, hogy egy program idealizált körülmények között jó, még nagyon kevés. A valóságban vannak vezeték kapacitások, zajok, miegymás. Ezekre is lehet sok esetben programból megoldást találni, csak gondolni kell rá.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ismétlem: 500 ember. Ügyes vagy, megoldottad 20 embernek. Ez egy egyetemi évfolyam. Valamiben le kell tesztelniük a házijukat. És nem, nem vagyunk vadállatok, hogy papíron leszimuláltatjuk velük, és kézzel rajzoltatunk hullámformát, stb.

Ha nem olvasod el, anit írok, minek válaszolsz?

Igen, már kezdek az értetlenséged miatt kicsit morcos lenni, és hiányolom robyboy aláírását az idevágó Márai-idézettel.

Én a saját szempontjaimat, tapasztalataimat mondtam. Nem azzal vitatkozom, hogy ez hasznos eszköz akkor, ha 500 embernek kell valami elvi feladatot megoldani. Azt a véleményemet továbbra is fenntartom, hogy ami szimulátorban működik, a valóságban nem feltétlenül fog.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ha a CALL VALAMI utáni utasításhoz húzok egy nyilat, s azt mondom, ennek a címe megy a stack-re, az nem elég? SP meg csökken annyival, amilyen hosszú volt a cím. Persze, el lehet mondani még részletesebben akár, lényegében gépi ciklusokra bontva az egészet.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Csak az a helyzet, hogy 2015-öt írunk. Adott egy tonnányi lehetőség arra, hogy jobban szemléltessünk valamit, mint a zöld tábla segítségével. Akkor meg miért ne?
Ráadásul a mai ifjú generáció már olyan ingertömeget kap, hogy nekik egy hagyományos iskolai óra már unalmas. Igen, dög unalom volt nekünk is anno, amikor négyzetrácsos füzetben tanultunk BASIC-et programozni általánosban ahelyett, hogy bekapcsoltuk volna az asztalon lévő gépet (me' azt csak akkor lehet, ha már papíron megy. Mint ha egy C64-et, vagy Spectrumot ki lehetett volna nyírni egy jól irányzott paranccsal).
Pont a napokban volt egy interjú egy tanárral, aki a gyerekek zsebében lapuló telefonokat kihasználja az óra alatt, Google Formal teszteket csinál nekik rá, a gyerekek meg élvezik az órát, mert érdekesebb.

http://www.vasarnapihirek.hu/friss/iskolak_a_valosagtol_tavol_interju_n…

"Az utóbbi években Magyarországon eszközfejlesztésre elköltöttek tíz-egynéhány milliárd forintot, miközben a gyerekek zsebében 42 milliárd forint értékben van technikai eszköz, amit leadatunk velük, mikor beülnek a terembe."

"Vannak például olyan alkalmazások, amelyek segítségével én kérdezek valamit, nekik meg kell jelölniük vagy be kell írniuk a választ a telefonjukon. Egy klasszikus osztályteremben a tanár feltesz egy kérdést, a 30 gyerekből jelentkezik 5, majd felszólít egyet, aki válaszol. Mi történt? Van egy gyerek, aki boldog, mert jól válaszolt. Van négy, aki csalódott, mert nem szólították. És van további 25, akinek egy agysejtjét sem kellett megerőltetnie. Ezek az ingyenesen elérhető programok lehetővé teszik, hogy mindenkit bevonjak. De molekulákat is egyszerűbb 3D-ben bemutatni a telefonjaikon, mint egy maketten, amit mindenki 5 másodpercig foghat."

A molekula esetünkben a regiszter, vagy a benne lakó bit, ami egy megfoghatatlan dolog.

Aha, 3D-ben. Ne fárassz, légyszíves! Ugye, kételkedhetek?

Ami a telefonos oktatást illeti. Mi van azzal, akinek nincs telefonja, buta telefonja van, nincs bizalma az adott alkalmazáshoz, s így tovább? Úgy gondolom, ezzel csak a fantáziájuk, képzelőerejük lesz kevesebb. A vizualitás bonyolult esetben segíthet - az assembly nem az -, ugyanakkor a probléma nagyjából hasonló mint a film vs. könyv esetében.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nézz be a Playre a játék szekcióba, tele van 3D játékkal. Azokhoz képest egy molekulaszerkezetet megjeleníteni egy telefonon semmibe nem kerül (de sok esetben már maga a telefon menüje is forgat kockát, mint a Compiz, még az én szerény hardware-el megáldott telefonom is csinál ilyen parasztvakítást). Már Amigán is láttunk molekulaszerkezeti ábrákat forgatni, egy mai telefon képessége pedig sokszorosan felülmúl egy Amiga 500-ast.

https://play.google.com/store/apps/details?id=com.molviewfree

Ez a tanár egy alapítványi suliban tanít, ahol minden bizonnyal nem okoz gondot egy okos telefon. De nézz körül egyszer a világban, 10-12 éves gyerekek rohangálnak olyan telefonokkal, amik messze körözik akármelyikünk készülékét. Nyilván lesz olyan diák, akinek nem lesz ilyenje, de lesz olyan diák is az országban, akinek nincs számítógépe, vagy villany otthon, vagy enni este.

Jajjjj neeee, ez már szőrszálhasogatás :D
Vagy valami pszichológiai kísérletet végzel?
A köznyelv ezeket 3D-nek hívja, mert térbeli hatása van. Egyértelmű, hogy nem valós 3D-ről beszélünk (a 3D-s szemüveges TV sem az, de mégis így hívják). A Doom óta így hívja a fél világ a térhatású játékokat/szoftvereket, ne akarjunk már minden ennyire szó szerint érteni.

3D síkbeli vetülete. Meg 4D síkbeli vetülete. Ami kb. annyit is ér, mintha 3D idomot 1D-ben egy egyenesen ábrázolnánk. Mondjuk egy 15 cm-es szakasz élethű lesz? Maradjunk annyiban, síkvetület az, markáns 2D-s ábrázolás. Sohasem volt 3D, ennek megfelelően rengeteg információ el is vész. Hogyan teszel különbséget a 3D-s objektum 2D-s vetülete és aközött, ami kezdettől fogva 2D-s objektum, s pixelről pixelre ugyanúgy néz ki, mint az előbbi 3D-s idom 2D-s vetülete?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Te hogyan szoktad megkulonboztetni a tukorben latott kepet a valosagtol? Az vajon elethu? Hiszen az is sikvetulet, markans 2D-s abrazolas, nem lehet elethu!

Ha mar itt tartunk, amit a szemed lat, az egy 4 dimenzios vilag 3 dimenzios vetulete. Az vajon elethu?
--
Blog | @hron84
Üzemeltető macik

Teljesen lényegtelen, mert nem az az érdekes, hogy 4e vagy c3 van a regiszterben, hanem az, hogy ez még az előző érték, vagy felülírtuk az új, aktuálissal, netán valami szeméttel. Tehát a logikai értelemben vett tartalom az érdekesebb, nem a konkrét érték, ez utóbbi sok esetben nem mond semmit, hiszen benne lehet az értelmezési tartományban úgy is, ha éppen hibás.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nyilvanvalo, hogy a cucc nem debuggolasra keszult, mar csak azert sem, mert ilyen architektura valos hardveren nem letezik.
Viszont a szimulator, mint olyan egyaltalan nem felesleges, mar csak azert sem, mert ha van egy jo (helyes) szimulatorod, akkor azt felhasznalhatod formalis verifikaciohoz, symbolic execution-hoz, stb - aminek az elonyeit remelem nem kell ecsetelni.

Tetszik a cucc, bár egy kicsit túlságosan limitált. Jó lenne egy nagyobb terminal (bár ezzel ugrana a memory mapped tulajdonásga), esetleg valami input handling (joystick vagy billentyűzet). Továbbá tökjó lenne ha lenne egy "Native" sebessége, bár így legalább rákényszerít hogy optimális kódot írjak. :)

Szerk:

mov [0xe8], 'ő'

érdekes kódot generál... ;)

Tulajdonképpen van a szexről is oktató diafilm. :)
Ugyanitt PHP-ben készült Simbolic Abacus Debugger letölthető! ;)

Milyen jó lenne ezen a merev konfiguráción változtani, szimbólumokat használni, esetleg nyelvek között váltogatva forráskód szinten követni a programot, memóriát, pointereket, címzésmódokat!

Milyen kár, hogy mindezt jó negyedszázada a Turbo Debugger már tudta! (Pár mozdulattal az "output területet" fel lehet dobni egy kis text ablakba.)

Szóval ez itt a kismillió plusz egyedik, gyenge, felesleges munka.

Persze roppant előnye, hogy aki írta legalább tanulgatott js-ben programozni. A felhasználói meg szemlélődhetnek a rejtélyes asm világában, bár roppant kevest fognak megtudni belőle.

Miért vártok itt sokan ettől az eszköztől olyat, ami nem a feladata?
Ez egy egyszerű szemléltető eszköz, nem több. De azt a feladatot ellátja.
Arra jó, hogy egy középiskolában egy tanár bemutathassa a diákjainak, hogy mi történik egy hello world futtatásakor. Ezért a funkcióért telepíteni Turbo Debuggert ágyúval verébre, mert elég egy weblapot megnyitni az összes diák gépén.

Képzeld el, ha fogsz egy biciklit, és az egyik kereke helyére a tengelyre merőlegesen beszerelsz egy söprűnyelet! Mindezt azért, hogy a Ferrarid mellett a MOZGÁST érzékeltesd, méghozzá a széles tömegek számára! Majd felkiáltasz: "Miért vártok itt sokan ettől az eszköztől olyat, ami nem a feladata?"
:(

Ha nem is vagy tájékozott, akkor is hidd el a következőket:
A világon létezik kismillió szimulátor. (Azért jó részük valós processzort szimulál.)
Ez a mű kb. a DOS DEBUG funkcionalitásának talán az ezredét valósítja meg.
A frontend fogalmát leginkább a gdb és a gnuchess programokon szoktam érzékeltetni:
Van egy jó commandline programod, és húzhatsz rá tetszőleges Xwindow vagy serial remote, http, stb. végződést. Mindezek az alapfunkciót nem befolyásolják, csak kényelmesebbé teszik.
Az assebly/assembler alapvetően nem programnyelv, hanem a mikroprocesszor utasításainak egymás után illesztése (tán innen is a neve;), amely az utasítások könnyebb memorizálása érdekében ún. mnemonic-okkal operál. Ezért aztán az elsajátítása sokkal könnyebb, mint a C vagy java nyelveké. Semmi bonyolultság: fogd meg az itt elhelyezkedő bájtot és tedd oda - meg ilyesmik. Bármilyen magasabb szintű programnyelvhez lényegesen komolyabb absztrakciós képesség szükséges.
A Turbo Debugger installálásahoz egy egyszerű copy is elegendő. Nagyobb baj az, hogy régi, és ezért trükközni kell, mert nem kezeli rendesen a diszket. De ez csak egy példa volt! Van gdb, X, VNC!

Szóval ezért kár kifejleszteni pl. egy újabb webes kalkulátort, ami tud összeadni, kivonni, szorozni, de osztani már nem. Ja, és csak Pi alapú számrendszerben működik. :) (Gondolok itt arra, hogy olyan címzési módot is megvalósított a Nagy Alkotó, ami nem működik a való világban.)

Ha rám hallgatsz, nem ezen kezded a tanulást!

A cucc célja az, hogy egyszerű legyen, még a nevében is benne van: simple. Ezt odaadhatod egy 10+ éves gyereknek és simán lekódol benne bármit, pl. egy x86 azért sokkal bonyolultabb. Ebbe még az is belefér, ha van olyan címzési mód, amit valós hw nem támogat. (Btw melyik az?) Nyilván ha valós hw-t akarsz megtanulni assemblyben programozni, akkor ne ezzel kezdd, de a szoftverfejlesztők többségétől ez soha nem is lesz elvárás. Ugyanakkor szerintem nem árt, ha a fejlesztőknek van egy elképzelése arról, hogy nagy vonalakban hogyan működik a processzor, annak szemléltetésére viszont ez az eszköz is bőven elég.

Szoftverészeknek nem ártana, ha lenne némi fizikai képük úgy általában. Nem az első, piacon megvásárolható készülékbe futok bele, ahol a hangerő szabályozás lineáris, amivel csak az a baj, hogy az emberi fül érzékenysége logaritmikus. Nem valami úri hóbort a decibell használata ezen a területen.

Ennek az a következménye, hogy 0 hangerő fölött picivel rohamosan nő a hangérzet szerinti hangerő, utána a skála maradék részében növeljük a hangerőt, ezt jelzi is a progress bar, ám a szubjektív hangérzet szerint alig valamicskét emelkedett a hangosság.

Tök jó, programozni biztos tudott, aki írta, csak lövése nem volt arról, amit épp csinált.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ne aggódj!
A szakemberek melletted állnak!
Amit elszúrtak a szoftveresek, azt helyrehozták a műfordítók.
A hiba benned van: rossz hangerőszabályzót használsz!
A windows Hangerőkezelelő megoldja a problémádat!
Ami visszafordítva volume manager.
Alatta pedig sorakoznak az általános kötetek. :D

A problema, hogy a hangeroszabalyzokat nem a hardvereszeknek irjak, hanem a foldi halandoknak, akik meg azon nottek fol, hogy a radionak volt egy csavarhato/huzhato hangeroszabalyzoja, a nemitas es az orditas kozott lehetett "linearisan" szabalyozni. Kesz, eddig terjed az atlagember hozzaertese, a logaritmusrol sokan azt hiszik, hogy az valami logikaval rokon dolog.
--
Blog | @hron84
Üzemeltető macik

Lehet, hogy _belulrol_ azok voltak - ezt sosem vitattam -, azonban az emberek akkor is csak egy linearis tekerentyut lattak benne, aminek a ket vegallasa kozott lehet allitani a hangerot. Mert az emberek nagy reszenek regen se volt fogalma arrol, mi az, hogy logaritmus, ok egyszeruen csak fel akartak halkitani a radiot.
--
Blog | @hron84
Üzemeltető macik

Igaz, amit írsz, de épp arról van szó, hogy a felhasználó számára lineáris hangérzet érdekében kell ezt a műszaki oldalon logaritmikusan implementálni. Mert, ha kap egy lineáris implementációt, akkor fogja Ödön sörrel a kezében megjegyezni, hogy lehettek ekkora hülyék, akik a TV-t csinálták, az elején durván állítódik a hangerő, a végén meg alig. Éppen azért fog sírni, mert nem lineáris. Már hangérzet alapján nem az.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Igen, ahogy Dacr írja. A hagyományos hangerőszabályozó potenciométer logaritmikus annak érdekében, hogy a hangérzet lineárislegyen. Épp erről beszélek: digitálisan lineárisan szabályozzák, már akkor, ha programozó írja a kódot, nem pedig villamosmérnök. És az úgy nagyon nem lesz jó. Mondjuk 15 %-ig rohamosan nő a hangerő, utána 15-től 100 %-ig azt tapasztalod, hogy alig. Az elején nagyon durva a vezérlés, a végén meg feleslegesen finom.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

"digitálisan lineárisan szabályozzák, már akkor, ha programozó írja a kódot, nem pedig villamosmérnök"

Na azért ez elég durva általánosítás. Egyrészt miért is tudhatja a villamosmérnök jobban, hogy hogyan működik az emberi hallás? Másrészt az átlag fejlesztő (és itt tökmindegy hogy eredeti szakmáját tekintve informatikus vagy villamosmérnök) azt írja meg amit a specifikáció kér, tessék specifikálni hogy logaritmikus hangerőszabályzó kell és akkor az lesz.

Lényegében bucko megválaszolta. :) Szerinted az elemes kisrádióktól kezdve a régi hifi cuccokon át az újabb eszközökig fül-orr-gégész tervezi a berendezéseket? Inkább tippelek villamosmérnökre.

A másik dolog valóban a specifikáció. Sok esetben a fejlesztő specifikál. Olyannal még nem találkoztál, hogy az ügyfél sem tudja, mit szeretne, csak valami ködös elképzelése van az egészről? Ő használni akar valamit, de nem ért hozzá, így specifikálni sem tudja. Kacsalábon forgó toronyórát szeretne lánccal, lehetőleg nagyon olcsón, arról meg végkép lövése nincs, ezt hogyan lehet megvalósítani, ezért fordult hozzád, illetve a cégedhez.

Eszembe jut, amikor a BME-n első évfolyamon az infó szakosok vérig voltak sértve, miért kell nekik olyanokat tudni, hogyan viselkedik az induktivitás, kapacitás, már úgy értem, mi a feszültségük, áramuk közötti összefüggés. (u(t)=L*di/dt+i*dL/dt valamint i(t)=C*du/dt+u*dC/dt úgy nagyjából.) Na, most ezek a jóemberek a BME villamosmérnöki kar informatika szakának hallgatói voltak. Szép dolog, ha valaki megtanul programozni, csak ugye az a program előbb-utóbb valami valós fizikai folyamathoz fog kapcsolódni, amiről nem túl nagy baj, ha van valami halovány fogalma.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A jópofa képletek bizony kellenek egy tápegység tervezésekor. Azért haladni kell a korral a A, B, C és D karakterisztikájú potméterekhez képest! (No, meg a 7805. ;) Például mi van egy mai tévében a potméterek helyett? Például - igaz nem LG - a Samsung SyncMaster 151/171MP monitor és tévé vevő belsejében a hang így néz ki:
- Végfok: TA1101B 2x10W T osztályú (digitális) végfok.
- Hangkezelés: MSP3451G "Multistandard Sound Processor with Virtual Dolby Surround"

Ez utóbbinak a 33. oldalán olvashatod, hogy +12..-114dB tartományban változtatható a hangerő 1dB lépésekben. Tehát alaphelyzetben képtelenség nem logaritmikusan szabályozni a hangerőt. (A mérnökök legyőzték az ostoba szoftvereseket! :)

A rossz hír: ez a szerkezet 15 éves!

Ha ennél újabb a tévéd, akkor még lehet szoftver hiba, csak nem olyan amilyenre gondolsz.

Nem, csak komplett retardaltaknak (is) allitjak elo a berendezeseket. Mariska neni a falurol nem fogja erteni, miert nem tudja az idozitott percre pontosan felhuzni, csak korulbelul, es ha elojossz a logaritmusoddal, elzavar tehenet fejni, mert annak tobb ertelmet latja.

Az emberi logika a linearis dolgokat szereti, azt erti meg a legkonnyebben. Lehet, hogy belulrol logaritmusok meg kotangensek iranyitjak az eletunket, de nem mindenki szuletik villanyosmernoknek, hogy ezt rogton ertse is.
--
Blog | @hron84
Üzemeltető macik

Nem kell értened, miért vannak műszereken például 1, 2, 5, 10, 20, 50... méréshatárok, elég, ha használod őket. Viszont akár tudhatod is, mi ebben a jó.

Szerk.: pénzérméink, címleteink:

5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000 Ft-osok. Korábban 1 és 2 Ft is volt. Megkérdezzem, miért ez a sor? Nem teszem, teljesen érthető.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nyilván nem ezzel fogok vacakolni. Szemléltette azt, amit anno csak magyaráztak (utáltam is). Most meg látom, hogyan működik, az érdeklődést felkeltette, landolt is a yasm a gépen. Ergo a célját beteljesítette, egy szimpla Hello World! segítségével meghozta a kedvet az assemblyhez. Ez az egész project ennyi és nem több.

- Ide nézz, milyen fain Hot Wheels-t találtam a gyereknek: színváltós Batmobil a timbörtönös filmből, ha víz alá tartod, akkor...
- Még ezt a szart!
- Ne már, nézd, az arányokon kicsit változtattak, de a részletek...
- Ugyan már, és mégis hogyan fog ezzel közlekedni?
- Mi...?
- Hogy fog ezzel kimenni a forgalomba? Ilyen kicsi kerekekkel csak rázkódik a betonon, és nem is lát szét rendendesen,
hiszen majdnem egy szinten van az aszfalttal.
- De...de ez csak egy kisautó...
- Hát ezt mondom én is! Kicsi. Arról nem is beszélve, hogyan fog beszállni, ki se lehet nyitni az ajtaját.
- ... Tibor, az anyád mindenségit, mit szedtél be már megint?!