( locsemege | 2015. 06. 09., k – 18:51 )

Azért fáj, mert akkor legalább egy nop kellene, hiszen a port írása után azonnal teszteled azt, de arrafelé igen nagy a jelterjedés ideje, ráadásul lábon kapacitással is terheled. Latch CPU-n belül marad, kevesbb tranzisztoron keresztül ér oda a jel. Mindegy, egyszer elmondtam, téged nem érdekelt.

Ezen felül a toggle szerintem rossz, de lehet, én nézek be valamit. Ha igen, javíts ki!

Teszteled, vajon 0 a port kimenete. Ha igen, skip, ha nem, 0-ba írod a lábat. Eddig jónak tűnhet, de érdemes megfigyelni, akármilyen állapotú volt a láb eredetileg, ezen a ponton mindenképpen 0 az értéke.

Most teszteled, skip, ha 1. Ez sohasem teljesül, mert 0. Tehát nincs skip, 1-be írod, visszatérsz.

Tehát, ha 0 van a porton, 1 lesz, ha pedig 1 van a porton, lesz egy igen keskeny 0 impulzus, de 1 marad továbbra is.

Ha működik, az úgy lehet, hogy a cbi után a jel még nem ér oda, és a korábbi állapot mintavételeződik. Azaz működhet, de az benne a szép, hogy a kód változatlanul hagyásával pusztán attól, hogy lassabban járatod a CPU-t, nem fog működni. Szerintem a megbízható kód nem attól működik, hogy a jel még éppen nem ért oda valahova.

Az elején kell elágaznod, és set vagy clear, de sokkal jobbat mondok: memóriába ágyazott perifériaként eor úgy, hogy a maszkban az illető bit 1, a többi 0, az eredmény pedig abban a latch-ben keletkezzen, amelyik az eor egyik argumentuma, s egyben a port latch.

Ha rosszul írtam, javíts ki, nem ismerem ezt a CPU-t, de nekem most így tűnik felületesen szemlélve a dolgokat.

Szerk.: azt hiszem, megvan, mitől működik, de ezt kihasználni szerintem nagyon aljas dolog. Van egy szinkron mechanizmus PINA felől a doksi szerint, ez egy statikus latch-et és egy élvezérelt tárat jelent egymás után. Viszont ez arra jó, hogy tökéletesen érthetetlen legyen a kód, továbbá, egy nop beszúrásának hatására nem működne, és kitéphetnéd az összes hajad, hogy egy nop, ami nem csinál semmit, hogyan tudja alapvetően megváltoztatni a működést.

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