Zależności zapis-zapis, odczyt-zapis i zapis-odczyt

0

Procesor wykonuje następujący kod przedstawiony w języku symbolicznym:

MOVE R3, R7 /*R3 = (R7)*/
LOAD R8, (R3) /*R8 = pamięć (R3) */
ADD R3, R3, 4 /* R3 = (R3) + 4 */
LOAD R9, (R3) /* R9 = pamięć (R3) */
BLE R8, R9, L3 /* rozgałęziaj, jeśli (R9) > (R8) */

Znajdź w nim zależności zapis-zapis, odczyt-zapis i zapis-odczyt. (3 p.)

zastanawia mnie w szczególności czym jest tutaj to magiczne" L3 " !? do czego to skacze? Bo w kodzie jakos tego nie widze ;x

możemy to chyba zapisać jako:

do 
{
I1:    r3 = r7;
I2:    r8 = r3;
I3:   r3 += 4;
I4:    r9 = r3;
} 
I5: while (r9 > r8)

to teraz zapis - zapis : I1 i I3

zapis-Odczyt między: I1 i I2 oraz między I3 i I4

Odczyt-Zapis między I2 i I3

tak to miało wyglądać ?

dodanie znacznika <code> - fp

0

A jakie ma znacznie gdzie wskazuje labelka L3? Przecież masz analizować tylko ten fragment kodu...
Czym się różni move od load? Czy czasem to load to nie jest lea z 8086? Bo wtedy to nie jest takie przypisanie które zrobiłeś.
Znów stosujesz nomenklaturę której MY NIE ZNAMY...

0

znowu nie ja układalem polecenie, jednakze po instrukcji 'ble' widze, że mamy do czynienia z procesorem typu RISC, na laboratoriach pisaliśmy programy w MIPS. Używajac "QT-SPIM" jako kompilatora. Jeśli chodzi o resztę instrukcji, nie korzystaliśmy z nich na laboratoriach.
"A jakie ma znacznie gdzie wskazuje labelka L3? Przecież masz analizować tylko ten fragment kodu..."
no chyba duże? wole wiedziec czy program się zapętla, czy też przeskakuje dalej gdzieś..

1 użytkowników online, w tym zalogowanych: 0, gości: 1