0 Daumen
124 Aufrufe

ich bin bei folgender Aufgabenstellung ein wenig verwirrt. Wäre echt süß, wenn mir jemand einen Denkanstoß gibt.

Rechts ist ein Speicher m : K6 → K6 tabellarisch dargestellt. Dabei sind Adressen und Werte
im Zweierkomplement angegeben. Leerzeichen
und Zeilenreihenfolge dienen ausschließlich der
Übersicht. An nicht explizit aufgeführten Adressen a´ sei stets m(a´) = 000 000.
Geben Sie in den folgenden Teilaufgaben den durch Ausführung der jeweiligen Operationen resultierenden Speicher mi
jeweils als Tabelle mit Werten im Zweierkomplement
an. Heben Sie Zeilen mit
mi(a) ≠ m(a) (z.b. farblich) hervor.
Anmerkung: Jede Teilaufgabe beginnt ausgehend von m.

Adresse aSpeicherinhalt m(a)
 000 000 110 010
 001 001 111 111
 101 101 010 111
 111 111 010 010

a) m1 = memwrite(m, 111 111, memread(m, 001 001))
b) m2 = memwrite(memwrite(m, 000 001, 010 011), 000 000, 000 000)
c) m3 = memwrite(m, m´,v) ,mit:
m´ = memread(m, 000 000) + memread(m, 101 101)
v = memread(m, 110 110) − 000 001
Geben Sie auch m´ und v explizit an.
Hinweis: a − b = a + (−b)


Ich weiß, dass gilt: memwrite: (m,a,v)↦m´

memread: (m,a)↦m(a)

also z.B bei der a) ist denk ich mal memread(m, 001 001)=111 111

demnach: memwrite(m, 111 111, 111 111) =?

von

ok habs gelöst

Wie hast du es gelöst?

memwrite gibt quasi die Tabelle m aus, mit dem Unterschied, dass an der Adresse 111 111 der zugehörige Wert überschrieben wird. Der neue Wert ist ,statt 010 010, 111 111.

wie habt ihr die anderen Teilaufgaben gelöst?

Ich hätte auch nochmal ne Frage. Habt ihr was zur 7.3?

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community