NON SEI AUTORIZZATO A PROGRAMMARE SE NON SAI ALMENO QUESTE 4 ISTRUZIONI
NON SEI AUTORIZZATO A PROGRAMMARE SE NON SAI ALMENO QUESTE 4 ISTRUZIONI
CALL/RET/PUSH/POP
Usa costycnc.it/avr1 ora o smetti di scrivere firmware. È l'unico modo per imparare davvero, giocando con la logica, non con astrazioni.
🚨 ALLARME INGEGNERI: Questi disastri sono successi perché qualcuno non conosceva CALL/RET/PUSH/POP
1. Boeing 737 MAX MCAS Crash (2019)
Bug ASM: Stack overflow in interrupt handler con push non bilanciati
Conseguenze: 346 morti - Il sistema di stabilizzazione crashava in volo
push r16 // Mancava il pop corrispondente!
...
reti // Stack corrotto dopo diversi interrupt
2. Toyota Unintended Acceleration (2010-2023)
Bug ASM: Ricorsione senza controllo dello stack
Conseguenze: Auto che acceleravano da sole, 89 morti
call read_sensor // Chiamata ricorsiva
call apply_brakes // Stack esaurito dopo 8 chiamate
3. Starlink Satellite Resets (2022)
Bug ASM: push in ISR senza pop
Conseguenze: Satelliti SpaceX che si resettavano in orbita
push r16-r18 // Solo 2 pop invece di 3!
...
pop r16
pop r17
reti // Stack corruption dopo 3 interrupt
4. Therac-25 Radiotherapy Machine (1985-1987)
Bug ASM: Race condition in ISR con stack corruption
Conseguenze: Sovradosaggi mortali di radiazioni (3 morti)
push r20 // Interrotto da altro ISR
...
ret // Stack pointer corrotto
5. Ariane 5 Rocket Explosion (1996)
Bug ASM: Conversione floating-point con stack overflow
Conseguenze: Distruzione del razzo dopo 37 secondi ($500M persi)
call math_routine // Stack esaurito
ret // Indirizzo di ritorno perso
6. Pentium FDIV Bug (1994)
Bug ASM: ret prematuro in unità FPU
Conseguenze: Errori di divisione in tutti i Pentium - $475M di recall
...
ret // Manca un'istruzione!
... // Codice mai eseguito
⚠️ IMPARARE ALMENO CALL/RET/PUSH/POP NON È UN'OPZIONE
Questi disastri costano vite e miliardi. Il trio didattico (ASM + ATmega328 + costycnc.it/avr1) è l'unico modo per:
- Vedere lo stack in azione con
push/pop - Capire che ogni
calldeve avere unaret - Leggere i registri come si legge un armadio con cassetti
Non sei un vero ingegnere embedded finché non padroneggi queste istruzioni.
Comments
Post a Comment