# C10 — pułapki i sterowanie przerwaniami RV32I Trzy obrazy pokazują kolejno: 1. synchroniczny `ecall`, `mepc + 4` i wznowienie przez `mret`; 2. machine software interrupt z kontrolowanym pending; 3. macierz: źródło pending, `mie.MSIE` i `mstatus.MIE`. `set_softirq` jest kontrolowanym źródłem testbench, dzięki czemu karta nie miesza jeszcze sterownika peryferium z mechanizmem pułapki. C12 i C13 dodają UART i GPIO jako rzeczywiste źródła external IRQ modelu. ```bash make tasks ./tests/test_hazard3.sh ./scripts/render_card_layouts.sh GITEA_SHA=0000000000000000000000000000000000000000 ./scripts/render_new_pdf.sh ```