Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu
… více »Google Chrome 145 byl prohlášen za stabilní. Nejnovější stabilní verze 145.0.7632.45 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Zpátky je podpora grafického formátu JPEG XL, viz Platform Status. Odstraněna byla před třemi lety. Nový dekodér JPEG XL jxl-rs je napsán v Rustu. Zobrazování JPEG XL lze vyzkoušet na testovací stránce. Povolit lze v nastavení chrome://flags (Enable JXL image format).
Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].
Šenčenská firma Seeed Studio představila projekt levného robotického ramena reBot Arm B601, primárně coby pomůcky pro studenty a výzkumníky. Paže má 6 stupňů volnosti, dosah 650 mm a nosnost 1,5 kilogramu, podporované platformy mají být ROS1, ROS2, LeRobot, Pinocchio a Isaac Sim, krom toho bude k dispozici vlastní SDK napsané v Pythonu. Kompletní seznam součástek, videonávody a nejspíš i cena budou zveřejněny až koncem tohoto měsíce.
… více »Byla vydána nová verze 36.0, tj. první stabilní verze nové řady 36, svobodného multimediálního centra MythTV (Wikipedie). Přehled novinek a vylepšení v poznámkách k vydání.
Byl vydán LineageOS 23.2 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu.
Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.
Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »
), ale je to peklo; parsovat řádky a v nich třeba i matematické operace, kde se až výsledek "připojí" k dané instrukci, atd. Třeba separovat mezery, uvozovky, apostrofy jako vstup pro instrukci, ...
. Mám dojem, že jsem přepsal všechny instrukce z pentia datasheetu, ale pak už jsem se na emulaci ve virtuálních registrech vykašlal :-/.
Pokud chceš psát něco vlastního, tak si radši než BASH napiš parsovací funkce v C (i tam můžeš použít bitfieldy v packed struct). Ale pokud je to nějaká normální architektura a plánuješ ji rozvinout, tak si můžeš patchnout binutils a pak můžeš pracovat s objektovýma souborama. Jenom možná binutils bude asi mít problémy parsovat 8/16bit binárky.
Horší by byl překladač.
P.S. Napiš o tom hackování blog
.
Co se mi tak zdá, tak Python má docela blízko k C, tak uvidím, co dál... Každopádně chci vykutit nějaký základní (dis)assembler, pak budu pokračovat v HW CPU.
.
Python určitě nemá blízko k C
, ale pokud na to máš už nějakej template tak proč ne. Já jsem původně zavrhl bison a flex parsování (makrojazyk, který se přeloží do C, trochu těžkopádná syntaxe a vykopírování třeba řetězců lehko vede k segfaultu při chyb programátora), ale nakonec jsem se k nim rád vrátil (od perlu).
Blog klidně jen ukázky architektury
.
typedef union {
struct {
unsigned TBF:1;
unsigned RBF:1;
unsigned R_W:1;
unsigned S:1;
unsigned P:1;
unsigned D_A:1;
unsigned I2COV:1;
unsigned IWCOL:1;
unsigned ADD10:1;
unsigned GCSTAT:1;
unsigned BCL:1;
unsigned :3; //reserved
unsigned TRSTAT:1;
unsigned ACKSTAT:1;
};
} __I2C2ASTATbits_t;
Tohle vlastně definuje přímo bity v nějakém 16 bit registru. Když pak uložíš nebo načteš nějakou proměnnou třeba z binárního souboru, tak máš hned rovnou přístup k jednotlivým hodnotám.
. BTW Jaký FPGA vlastně?

Psát parser pro gramatiku ( ač jednoduchou ) není nic triviálního. Zvláště ne v bash. Podíval bych se na generátory parserů. Konkrétně na ANTLR. Tady je příklad assembleru. Má to 630 řádek z nich 1/4 jsou prázdné řádky.
Další variantou jsou pak lex/flex a yacc/bison.
Myslím, že na ten disassembler by šly tyto nástroje použít.
blabla : x y ;jestli nepůjde zjednodušit stylem:
blala: x y ;Jak budu mít trošku času, tak na to mrknu, zatím moc díky.

whitespace + identifikátor + whitespace + číslo/jmémo proměnné + whitespaceA v sekci, která tomuhle předpisu bude odpovídat získáš nějakou funkcí toho parseru to číslo nebo jméno proměnné a to použiješ pro vygenerování opkódu nebo nějaké akce (třeba EXIT u skriptu, v případě assembleru třeba vygenerování adresy návěští). U makrojazyka bison/yacc můžeš zapsat víc na řádek, oddělují se tuším znakem pajpou. Vtip je v tom, že za každej match můžeš hodit kus svého kódu. Ale řekl bych, že to bude nějak i u toho ANTLR. On je ten formát zápisu gramatiky dost jazykově nezávislý. Já používal jako úplně první seznámení seriál tady na abclinuxu "Jazyky a překladače". V případě převodu bin → asm se ale IMO parser nevyplatí.
jestli nepůjde zjednodušit stylemNo minimálně v Bisonu to zdá se projde. Jinak já to píšu stylem tak mezi:
foo: bar
| baz
;
Ještě jsem za to vynadáno nedostal.
Jen ještě nevím, co z toho vyleze, jestli JEN ověřuje syntaxi a až pak si musím ??sám?? vytvořit převod na strojový kód (hex/bin)nebo je tam další definice k hlubší analýze a převodu.Opět něco mezi
. Nejen, že to ověří syntaxi, ale v okamžiku, kdy ti to žere kus vstupu, si tam můžeš přidat kus vlastního kódu - typicky to, co právě vygeneruje stroják. Např. (zjednodušeně)
term_loop: term_loop DUTOK_PLUS term {
$$.přidej_kód(nacpi $1 na stack);
$$.přidej_kód(nacpi $2 na stack);
$$.přidej_instrukci(ADD);
}
;
Vysoce užitečný byl předmět PP, bohužel k tomu nejsou použitelná skripta. Přemýšlel jsem, že něco napíšu, ale a) jsem lama, mé znalosti jsou na úrovni toho jednosemestrálního kurzu, b) efektivně by to znamenalo udělat step-by-step návod na řešení těch úkolů, které se každý rok recyklují.
.
Jinak se hodí znalost regexpů.

)
napr: = (b'00110100'+0x17)/2 offset equ (11+0x20)*2-napr movlr 'A'+offset,r3 (nebo: movr #'a'+h'1e',r4 - křížek se používal u Motoroly, ke které mám dost blízko)výpočty udělat skrze např. 'bc' (což už mi částečně funguje, až na doplňování proměnných), tady je boj.
Anebo python, kde jsem našel jeden příklad - premiéra s Pythonem
Tiskni
Sdílej: