Rener/ovelse2

Fra Hiofwiki

Revision as of 30. nov 2007 kl. 04:44; Rener (Diskusjon | bidrag)
(diff) ← Eldre versjon | vis nåværende versjon | Nyere versjon → (diff)
Gå til: navigasjon, søk

Assembly oppgaver.

Innhold

Oppgave 1

Utfør labøvelse 6.1: Representations
3.a
MUL X er på adressen 00000100.

3.b
LOD blir binært 00010100.

3.c
2 binært blir 10.

3.d
Y er lokalisert på adressen 2, binært 10. Y blir binært 10000010.

3.e
Variabelen X binært blir 10000001.

3.f
Variabelen W blir binært 00001000.

4.
00010100 00000101 = LOD 5
00000000 10000000 = ADD W
00000001 10000011 = SUB Z
00000011 10000001 = DIV X
00000101 10000010 = STO Y
00001110 00000000 = NOP


Programmering av Datamaskinen:


Oppgave 2

Skriv et program som regner ut gjenomsnittet av verdiene i adressene X, Y og Z og lagrer resultatet i W.
 
0        ADD x
2        ADD y
4        ADD z
6        DIV T1
8        STO W
10       HLT
12       NOP

W        4
X        4
y        6
z        3
T1       3


Oppgave 3

Skriv et program som finner den største av verdiene i adressene X, Y og Z og lagrer den i W.
0   LOD  Z
2   SUB  Y
4   STO  T1
6   CPL  T1
8   JMZ  14
10  LOD  Y
12  JMP  16
14  LOD  Z
16  STO  T1	
18  SUB  X
20  STO  W
22  CPL  W
24  JMZ  30
26  LOD  X
28  JMP  32
30  LOD  T1
32  STO  W

Oppgave 4

Skriv et program som regner ut resten du får når du deler et tall med et annet eks. 8 / 3 = 2 rest 2. Dette kales også for modulus eller restdivisjon. Tips: bruk løkke og trekk fra tallet helt til det ikke går lenger.
0   LOD  X
2   STO  W
4   SUB  Y
6   STO  X
8   CPL  X
10  JMZ  0
12  HLT

Oppgave 5

Beskriv de ulike stegene som finner sted når prosessoren utfører en instruksjon.
Stegene i de ulike prosessen er slik at:

Først så overføres programmet fra ytre lager til internminnet (RAM ).
Så blir programtelleren nullstilt, og peker til den første instruksjonen i programmet
Nå leser prosessoren den instruksjonen som programtelleren referer til, og overfører den til instruksjonsregisteret.
Så tolker Instruksjonstolkeren instruksjonen og utfører den.
Når instruksjonen er ferdig utført, øker programtelleren med 1 og neste instruksjon blir lest av prosessoren.

tilbake til Rener