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 a | Speicherinhalt 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) =?