Warning
This page is located in archive.

7. I/O prostor mapovaný do paměti

Osnova cvičení

  1. zápis na I/O bránu
  2. čtení z I/O brány

Co bych si měl na cvičení zopakovat/připravit

  1. MipsIt simulátor
  2. 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

  1. Napište program, který zobrazí 8bitové číslo z registru s1 na výstupní periferii (LED).
  2. 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

  1. Napište program, který do registru s1 načte 8bitovou hodnotu ze vstupní periferie (přepínače).
  2. 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).
courses/a0b36apo/tutorials/07/start.txt · Last modified: 2015/02/15 22:07 by pisa