Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.
V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem
… více »V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.
Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.
Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.
V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.
Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být
… více »
void vypis(int pocet, int * pole) {
for(int i=0; i<pocet; i++) {
printf("%i", pole[i]);
}
}
Prepsano do asm:
.486 .model flat,c .const frm byte "%i", 13, 10, 0 pole byte 1, 2, 3, 4, 5, 6, 7, 8, 9 pocet dword 9 .code extern printf:proc public main vypis: push ebp mov ebp, esp mov eax, 0 zacatek: cmp eax, [ebp+8] jae konec push eax push [ebp+12] push offset frm call printf add esp, 8 pop eax inc eax jmp zacatek konec: pop ebp ret main: push dword ptr pocet push offset pole call vypis add esp, 8 ret endNamisto toho mi to stale cykli a vypisuje 9. Poradi mi nekdo? dekuji.
Myslím že máš trochu hokej v tom jak funguje adresování. Například:
cmp eax, [ebp+8]
Nejen že máš blbě offset (proměnná "pocet" je na ebp+12, nikoliv +8), ale hlavně "[ebp+12]" vezme ze zásobníku adresu proměnné "pocet" nikoliv její hodnotu. Takže to musíš dereferencovat ještě jednou abys dostal co potřebuješ:
mov ecx, [ebp+12]
mov ecx, [ecx] ; ecx = pocet
Je dobrý si ten počet zjistit před cyklem a nechat třeba v ECX protože to je konstantní hodnota. Akorát jí budeš muset uložit před printf a pak obnovit, jinak o ni přijdeš.
Stejně tak pro counter (lokální proměnná 'i') použij ESI místo EAX - alespoň ti printf tu hodnotu nezničí:
mov esi, 0 ; esi = i (counter)
Podobně i tohle je nesmysl:
push [ebp+12]
Jednak pole je na EBP+8, za druhý [EBP+8] vezme ze zásobníku adresu začátku pole přičemž ty potřebuješ adresu toho konkrétního prvku v každém cyklu a za třetí musíš provést konverzi z bajtového pole na int než to znova plácneš na zásobník jako parametr pro printf. Když tuhle konverzi neuděláš vypíše ti to čtyři prvky pole najednou.
xor edx, edx
mov ebx, [ebp+8] ; ebx = &pole
mov dl, [ebx+esi] ; edx = pole[i]
push edx ; parametry na zasobnik pro printf
S těmito radami už bys měl být schopen dát ten program dohromady. Kdyby ne ozvi se 
1. Máš tam pole bytů místo intů.
místo
pole byte 1, 2, 3, 4, 5, 6, 7, 8, 9použij
pole dword 1, 2, 3, 4, 5, 6, 7, 8, 9
2. Parametry máš ve špatném pořadí a místo počtu předáváš adresu.
místo
push dword ptr pocet push offset polepoužij
push offset pole push pocet
3. Vypisuješ adresu pole místo jeho jednotlivých prvků.
místo
push [ebp+12]použij třeba
mov esi, [ebp+12] ; adresa pole lea esi, [esi+eax*4] ; adresa prvku (pole + poradi * velikost) push [esi] ; hodnota prvku
Nezkoušel jsem to, ale mělo by to chodit.
Tiskni
Sdílej: