TTY TIE-05200 Mikroprosessorit 4 op
Matti Haavisto Tentti 17.10.2016
e Filaskinta, ei lisämateriaalia.
e Kirjoita/piirrä selkeästi!!!!!
1 Kirjoita yhtälö, jonka alla oleva ohjelma laskee. Muuttujien nimet saat päättää itse.
(p)
yhtalo:
0x900000AC; PUSH 1r11)
0x000000Bo: ADD r11,sp,ttd
0x000000B4: SUB sp,sp,if0x18
0x0900000B8: LDR r2,[r11,4-0x14]
0x009000BC: LDR r3,[r11,4-0x10]
0x009000co: ADD P3,r353r2
0x000000c4: LDR r2,[r11,4-0x10]
0x090900c38: MUL 13,r2,r3 ; multiply by...
0x000000cC: SUB n3,r3,45
0x000000D0: STR r3,[r11,4-8]
0x009000D4: LDR r3,[r11,4-8]
0x0009900D8: MOV r0,r3
0x000200DC: ADD sp,r11,t0
0x000000Fv: POP (r11)
0x000900E4: BX 16
2 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 0x000000F4. (7p)
3 Piirrä kuva pinon sisällöstä yllä olevan ohjelman suoritushetkellä (siltä osin kuin
pinon sisällöstä tiedetään). Käytä tehtävän 1 muuttujien nimiä. (6p)
4 Selitä lyhyesti
a) konekielinen käsky (2p)
b) ohjelmalaskuri (program counter, PC) (2p)
c) osoiteväylä. (2p)
5 Selitä keskeytysten mekanismi. (6p)