====== Vývojové prostředí MipsIt ======
Tento program budeme používat pro psaní vlastního programu v asembleru a následné generování výstupního souboru pro simulátor Mips, MipsPipeS a MipsPipeXL (dnes budeme používat jenom simulátor Mips).
V nabídce
Applications -> Development vybereme MipsIt
Applications -> Development vybereme MipsIt-MIPS
Případně z příkazové řádky
/opt/wine/bin/wine /opt/mipsit/bin/MipsIt.exe
/opt/wine/bin/wine /opt/mipsit/bin/Mips.exe
=== 1. Vytvoření nového projektu ===
Úvodní obrazovka po spuštění programu:
{{.:01mipsit.png?400|}}
\\
\\
Postupujeme v těchto krocích: File -> New -> karta Project,\\
kde vybereme Assembler, vyplníme jméno vytvářeného projektu a zvolíme umístění \\
Dále pak: File -> New -> karta File,\\
kde vybereme Assembler, vyplníme jméno souboru a zkontrolujeme zda máme zaškrtnuto "Add to project"
\\
=== 2. Psaní vlastního programu ===
Do nově otevřeného okna (s příponou *.s) pak píšeme vlastní program: \\
{{.:02mipsit.png?400|}}
\\
\\
K tomuto účelu můžeme využít připravenou šablonu:\\
#define t0 $8
#define t1 $9
#define t2 $10
#define s0 $16
#define s1 $17
#define s2 $18
.globl start
.set noat
.ent start
start:
// Zde je místo pro Váš vlastní kód...
nop
.end start
\\
\\
Pro ukázku si můžete zkusit napstat krátký program, který sečte dvě čísla uložená v registrech s0 a s1, a výsledek uloží do registru s2.
addi s0, $0, 0x15
addi s1, $0, 0x45
add s2, s0, s1
\\
Klíčová slova .globl, .data, .text, .word jsou pseudoinstrukce překladače
assembleru. Podrobný popis lze nalézt v dokumentaci
([[http://sourceware.org/binutils/docs/as/index.html|GNU Assembler Manual]]).
=== 3. Kompilace ===
Projekt přeložíme výběrem v menu: Build -> Build xx, kde xx je jméno Vašeho projektu. Alternativou je klávesa F7. Vygenerují se tři soubory s příponou *.o, *.out a *.sreg umístěné v podadresáři Objects aktuálního pracovního adresáře projektu. Při správném postupu by měla být obrazovka programu (výpis v okně "Output") nasledující: \\
{{.:03mipsit.png?400|}}
\\
\\
Důležitá poznámka: Nikde v cestě nesmí být mezera. Pokud nefunguje překlad projektu je zapotřebí zkontrolovat cestu k projektu (a/nebo také: File -> Options -> karta Directories, a zde cesty pro: Executable files, Include files a Library files.
\\
\\
==== Simulační prostředí Mips ====
Tento program budeme používat pro simulaci vykonávání napsaného programu - sledování (krokování) vykonávání programu a ověření jeho funkčnosti.
=== 1. Otevření souboru pro simulaci a příprava ===
Úvodní obrazovka po spuštění programu:
{{.:01_mips.png?400|}}
\\
\\
Soubor vygenerovaný programem MipsIt (s příponou *.srec nebo *.out) načteme cez: File -> Open. Dále pak zobrazíme pracovní registry procesoru (View -> Register) a paměť programu (View -> Memory).
=== 2. Simulace ===
Po vykonání výše uvedeného postupu a odkrokování programu (Cpu -> Step nebo klikáním na ikonu {{.:step.png?18|}}) dostaneme:
{{.:03_mips.png?804|}}
\\
Upozornění: Před opakovaným načtením souboru *.out nebo *.sreg je zapotřebí nejdřív zresetovat procesor: Cpu -> Reset. Po každém zresetováni procesoru je zapotřebí soubor *.out nebo *.sreg načíst znovu. Okno pro vykreslování paměti (to žluté) má problémy s překreslováním - pokud se obsah paměti modifikuje instrukcemi sw nemusí být zápis vidět. Postačí jej na chvíli překrýt jiným oknem.
\\
=== 3. Opětovné načtení kódu do spuštěného simulátoru ===
Pokud je již některý ze simulátorů Mips.exe, MipsPipeS.exe
nebo MipsPipeXL.exe spuštěný, lze kód do simulátoru načíst
z prostředí MipsIT.exe aktivací položky
Build -> Upload -> To Simulator (F5)
Volba zároveň provede inicializaci CPU do počátečního stavu.
=== 4. Download ===
{{.:mips_v1.3.zip|mips_v1.3.zip}} - zabalená instalace simulátoru MipsIt.