TTY TIE-05200 Mikroprosessorit 4 op
Matti Haavisto Tentti 15.10.2015
e Eilaskinta, ei lisämateriaalia.
e Kirjoita/piirrä selkeästi!!!!!
1 Kirjoita alla olevaa assembly-kielistä funktiota vastaava C-kielinen funktio.
Muuttujien nimet saat päättää itse. (5p)
Funktio
0x000000AC: PUSH 1r11)
0x000000B0: ADD r11,sp,t0
0x000000B4: SUB sp, sp,i0x14
0x000000B8 : STR rO,[r11,i-0x10]
0x000000BC: LDR r3,[r11,4-0x10]
0x000000Cco: ADD r3,r3,84
0x000900c4: LDR r2,[r11,4-0x10]
0x000900c8: MUL P3,r2,r3
0x00020CC: SUB r3,r3,45
ex000000D0: STR r3,[r11,4-8]
0x009000D4: LDR r3,[r11,4-8]
0x000900D8: MOV r0,r3
0x000200DC: ADD sp,r11,40
0xd0BaLEL: POP (r11)
0x000000E4: BX L
ja Selosta edellisen ohjelman BX — 1x -käskyn hakuun ja suoritukseen liittyvät
tapahtumat yksitellen (mieluiten ranskalaisin viivoin). Aloita siitä, kun
ohjelmalaskurin arvo on sama kuin käskyn osoite 0x000000E4. (7p)
5 Selitä
a) keskeytysten prioriteettitaulukko (1p)
b) konekielinen käsky (1p)
c) C-kielinen osoitin (pointer) (1p)
d) Ajoittimen pulssilaskurin kaappaus. (2p)
4
a) Miten tehtävän 1 ohjelmassa parametrit ja tulokset välitetään funktion ja sitä
kutsuvan ohjelman välillä? Millä muulla tavalla välitys voitaisiin tehdä? (3p)
b) Kerro DRAM muistisolun rakenne, toiminta ja —edellytykset. (3p)
5
a) Minkälaisissa tilanteissa assembly-kielisen ohjelman tuottaminen on perusteltua?
GP)
b) Esitä miten prosessorin 1O toimii. (4p)