====== 7. I/O prostor mapovaný do paměti ====== * pro vyučující: [[..:..:internal:tutorials:07:start|cvičení 7]] ===== Osnova cvičení ===== - zápis na I/O bránu - čtení z I/O brány ===== Co bych si měl na cvičení zopakovat/připravit ===== - MipsIt simulátor - rozumět programům z předchozích cvičení ===== Náplň cvičení ===== Cílem je dostat se z procesoru na periferní zařízení. K řešení úkolů můžete použít následující šablonu: #define t0 $8 #define t1 $9 #define t2 $10 #define s0 $16 #define s1 $17 #define s2 $18 .globl start .set noat .set noreorder .ent start start: // Zde je místo pro Váš vlastní kód... nop .end start ===== Úkoly ===== Pracujte v simulátoru Mips.exe. Osmibitový I/O port je mapován do paměti od adresy 0xBF900000. ==== Zápis hodnoty na výstupní port ==== - Napište program, který zobrazí 8bitové číslo z registru ''s1'' na výstupní periferii (LED). - Rozšiřte program tak, aby v nekonečné smyčce stále dokola zobrazoval na výstupu sekvenci následujících čísel. pole: .word  1, 2, 4, 8, 16, 32, 65, 48, 66, 51, 54, 65, 80, 79, 1, 2, 3 ==== Čtení ze vstupního portu ==== - Napište program, který do registru ''s1'' načte 8bitovou hodnotu ze vstupní periferie (přepínače). - Rozšiřte program tak, že ze vstupu přečte číslo a na výstup zobrazí hodnotu z o odpovídající pozice ve výše uvedeném poli. Pokud je zadáno číslo, překračující rozsah pole, zobrazí program na výstupu samé jedničky (rozsvítí všechny LED).