| En sammansatt kombination av en editor, verktygslåda, information angående registren samt ett status-fönster. |
| |
| Snabbåtkomst till de vanligaste funktionerna för kompilering och exekvering. |
| Visar innehållet i alla register under exekveringen. |
| Indikerar följande instruktion i tur att exekveras, samt också opcoden för den kompilerade instruktionen. |
| Visar innehållet i minnet. |
| Visar bl.a. alla fel-meddelanden som kan inträffa. |
| Möjliggör manuell lagring av värden antingen till minnet eller till ett register. |
Untitled
att visas.
File-menyn sköter om sånt som har med filer att göra |
Edit-menyn är till för hantering av markerad text. |
Simulation-menyn hanterar simuleringsmässiga uppgifter. Dessa kan även kontrolleras via Verktygslådan. |
Settings-menyn låter användaren konfigurera vissa bekvämlighetsfaktorer som typsnitt. |
Från Window-menyn kan man välja att öppna respektive stänga olika fönster i MISSE. |
Start Simulation knappen används för att starta en simulering av programmet. Innan man kan påbörja en simulation måste programmet först kompileras med Compile -knappen. Efter att simuleringen avslutats måste Reset -knappen användas innan en ny simulering kan påbörjas. | |
Step Instruction exekverar programmet med en instruktion i taget. Programmet måste först kompileras innan denna knapp blir tillgänglig.
Ifall simuleringen av programmet blir färdigt måste Reset -knappen användas innan en ny simulering kan påbörjas. Notera att Instruction View-fönstret (nedan) kommer att bli synligt, ifall den inte ännu aktiverats från menyn. |
|
Pause Simulation avbryter simuleringen. Simuleringen kan fortsättas från nuvarande punkt, antingen med Start Simulation eller Step Instruction. I normala fall, då exekvering av ett linjärt program utförs, så hinner simuleringen bli färdig innan Pause Simulation knappen blir tillgänglig. | |
Reset nollställer minnet samt registren till sina respektive ursprungliga lägen samt laddar in programkoden i minnet. Data som manuellt lagrats i minnet mha. Set Value kommer att raderas. Reset ser också till att sätta MISSE i ett ready-läge så att en simulering kan påbörjas med Start Simulation eller Step Instruction. | |
Compile assemblerar koden till riktiga maskininstruktioner och lagrar dessa i minnet. Compile ser också till (precis som Reset) att försätta MISSE i ett ready -läge så att en simulering kan påbörjas. | |
Set Value öppnar ett fönster som kan användas till att lagra ett godtyckligt värde antingen i minnet eller till ett register. |
|
Register View visar nuvarande innehåll för alla register. Oberoende om man kör hela programmet på en gång eller step:ar igenom programmet en instruktion i taget så kommer alla hittils modifierade register att ha markerats med grönt. Ifall man utför stegvis exekvering av programmet med Step instruction så kan man även se senast modifierade register med röd färg. Nedan en kort beskrivning över de vanligaste registren :
Närmare information om registren hittar du i kursboken på sid 103. |
| anger adressen som instruktionen finns lagrad på. Adressen är given i hexadecimal notation. |
| visar instruktionen som ett 32-bitars hexadecimalvärde. |
|
själva instruktionen; skiljer sig i representation från den egentliga, i editorn inskrivna, instruktionsraden. T.ex. representeras alla register enbart med sitt riktiga namn, dvs. med siffror. |
| radnumret för instruktionen i källkoden. |
| Anger adressen (ibland även slutadressen) som ett (eller flera) ord1 finns lagrat på. Adressen är alltid en multipel av 4 bytes. |
| Antalet konsekutiva bytes som finns på adressen. |
|
Ordet1 som finns lagrad, eller som upprepas # antal bytes, fr.o.m. adressen som specifieras av Address -fältet. OBS! om man tolkar ordet som fyra skilda bytes så kommer dessa bytes att vara i omvänd ordning jämfört med den text som visas i Text-kolumnen. Detta beror på att MISSE körs på en little-endian-arkitektur. (Mera om little-endian och även big-endian hittar du i boken på sid 28.) |
|
Visar det lagrade ordet1 som fyra ascii-tecken och underlättar representationen av text-strängar i allmänhet. Bytes med lägre värde än 32 representeras av en punkt. |
|
Meddelar att följande adresser förekommer inne i Text-segmentet.
Text-segmentet innefattar adressområdet 00400000 16 -
0fffffff 16.
Detta är också det minnesområde dit ditt program normalt lagras.
|
|
Data-segmentet används för ditt programs variabler, med undantag för de variabler som finns på stacken.
Adressområdet är 10000000 16 - 3fffffff 16.
|
|
Kernel Text-segmentet innehåller i vanliga fall operativsystemets programkod.
I MISSE:s fall är detta område alltid tomt när man väljer File->New från huvudmenyn.
Adressområdet är 40000000 16 - 7fffffff 16.
Även stacken har sitt arbetsområde inom detta segment.
|
|
I detta segment kan operativsystemet lagra sina variabler samt övrig data.
Utöver operativsystemet så använder sig även utomstående apparatur, som grafikkort,
nätkort etc. detta adressområde för kommunikation med operativsystemet.
MISSE använder detta område även för att accessera grafik-fönstret (under konstruktion när detta skrevs).
Adressområdet för detta segment är 80000000 16 -
ffffffff 16.
|
|
Misc RAM är inte ett officiellt namn för detta segment, men när dokumentationen var bristfällig så
döptes detta segment till just Miscellaneous RAM.
Detta segment har adressområdet 00000000 16 -
003fffff 16 och har ingen större betydelse inom DatorTeknik -kursen.
|
[00400000]
| Anger adressen för ett enda ord i minnet. |
[00400004 .. 00400ffc]
|
Anger adressområdet för konsekutiva ord i minnet där varje ord har samma innehåll. OBS! även om adressområdet slutar på 00400ffc 16 så kommer det sista ordet ändå att använda sig av
addressen fram till t.o.m. 00400fff 16.
|
| Indikerar att ett segment är tomt. |
[ New File ]
att skrivas ut, och berättar för användaren att ett helt nytt program påbörjats.
|
Hit matar man in antingen namnet på ett register, eller så adressen given i hexadecimal notation. Ett register kan då vara t.ex. $10 eller $31 (observera '$'-tecknet). |
|
Här skriver man in datan som ska lagras i ovannämnda register eller minnesadress. Värdet, ifall det ska lagras i ett register, kan vara antingen i decimal eller i hexadecimal notation. Väljer man att använda hexadecimal notation bör talet även inledas med 0x , dvs. talet 1a9f 16 måste skrivas som 0x1a9f .Väljer man att lagra in data i minnet så kan detta representeras, förutom i decimal och hexadecimal notation, även som en text-sträng. Lagring av en text-sträng kräver dock att texten skrivs innanför citat-tecken, enligt följande: "hello world" .
|
|
Utför lagringen. Nu kommer även ett meddelande att skrivas ut till Status View. Alla inmatade värden kommer även att finnas kvar i pull-down -listan för Addr/Reg samt Value/String -fälten för att underlätta lagringen av samma värde framöver. |
| Stänger fönstret. |