You are on page 1of 4

Архитектура и организација на компјутери

Разгледајте ги и анализирајте ги дадените примери.


Пример 1

Пример 3
C МИПС

Пример 4
C МИПС

Пример 5
C МИПС

Решете ги слдните задачи:

Задача 1) Преведете ја програмата од пример 1 (од асемблер во машински јазик), и


извршете ја чекор по чекор.
a) Анализирајте ја содржината на регистрите $a0, $t0, $t1, $t2 и $t3 (внесете ги
сите чекори до завршување на програмата).

Чекор a0 t0 t1 t2 t3

b) Променете ја задачата така што b=-100 и во $a0 ќе ја сместите вредноста


16a+4b (користете поместување) и прикажете ја истата на екран. Преведете ја и
извршете ја модифицираната програма чекор по чекор.
Програма
Архитектура и организација на компјутери

Задача 2) Извршете ја ја програмата од пример 2 чекор по чекор.


c) Анализирајте ја содржината на податочниот дел од меморијата. Која е
почетната адреса на полето?

d) Напишете ја содржината на податочниот дел од меморијата при извшување на


првата инструкција и по извршувањето на последната инструкција.

e) Напишете ја содржината на регистрите $t0, $t1, $t2 и $t3.

Чекор t0 t1 t2 t3

Задача 3) Кој е соодветниот C израз за следните МИПС изрази, ако се претпостави


дека а, b,c и d се сместени во регистрите $s1, $s2, $s3, $s4 соодветно?
addi $s1, $s2, 5
Архитектура и организација на компјутери

addi $s3, $s4, -2


div $s1, $s3
mfhi $s2
Програма

Дополнете ја програмата, така што на регистрите $s1, $s2, $s3, $s4 ќе им дадете
почетни вредности 4, 9, 10 и 7. Која е нивната вредност по завршување на
програмата?

Програма

Вредности на регистрите

Задача 4) За следниот код во C напишете соодветна асемблерска програма, под


претпоставка дека почетната адреса на А е сместена во $s1.
int A[10] = {1,3,5,7,9,10,11,12,13,15};
int i=5 (i и j да се внесат како променливи во податочниот сегмент)
Архитектура и организација на компјутери

int j=12;
j=j & 3
A[i+2] = A[i/2] + j%5;
printf(“%d”,j)
int s = A[i+1];
printf(“%d”,s)

Програма

You might also like