assambler frage

Gast #2492757
Lesenswert?

hallo, ich versuche mich grade an prüfungsaufgaben und ich kann ein paar 
aufgaben nicht nachvollziehen. (siehe 1.jpg)
kann mir evtl jemand helfen wie ich auf diese ergebnisse kommen kann?
hier die Aufgaben+ Lösung:

e) Erläutern Sie den Zusammenhang von dem in Abb. 1 angelegten 
Datensegment und dem in Abb. 2 dargestellten Speicherauszug am Beispiel 
der ersten beiden Bytes des mit „txt1 db …" angelegten Strings und der 
beiden mit „dat1 dw …“ angelegten Daten! (Adressen?) (5P)

- am Anfang des Datensegments steht der Inhalt von txt1 mit Offset
- es handelt sich um genau 10 Zeichen
- also beginnt dat1 beim Offset 10 = Axh

f) Welchen Wert (Begründung!) enthält das Register BX nach Ausführung 
der Zeile (E:)? (10P)

- [si + bp + 1] = 15 – 1 = 14
- im ersten 16 bit Segment an Stelle 14 steht dort die Zahl 34

g) Welchen Wert (Begründung!) enthält das Register BX nach Ausführung 
der Zeile (F:)? (10P)

- [si + bp + 8] = bp wurde in ein bit nach rechts verschoben
- aus bp = 1111 wird bp = 0111
- 0 + 7 + 8 = 15  an Stelle 15 steht die Zahl 12
Angehängte Dateien:
Gast #2492832
Lesenswert?

Hi
Leute, so langsam sollte da aber klar sein, das dieses Schuljahr für die 
Katz ist. Du stellst allen ernstes deine Hausaufgaben in einer völlig 
unlesbaren Form in ein Forum und erwartest auch noch Hilfe. Wenn denn 
wenigstens der Text lesbar wäre, aber auf die Idee, sich mal schlau z 
umachen und die Formatierung z. B. zu Nutzen "-avrasm-" und "-/avrasm-" 
zeigen auf einen Codeteil. Die Bindestriche nur durch eckige Klammern 
ersetzen oder in den Bereich "Formatierung" schauen. Da ist die 
mangelhafte Rechtschreibung noch das kleinere Übel. Ich für meinen Teil 
bin gern bereit zu helfen, aber Schularbeiten machen, das ist schon ganz 
schön dreist. Ich wünsch dir für deine Zukunft viel Erfolg.....
Grußß oldmax
#2492845
Lesenswert?

oldmax schrieb:
> Hi
> Leute, so langsam sollte da aber klar sein, das dieses Schuljahr für die
> Katz ist. Du stellst allen ernstes deine Hausaufgaben in einer völlig
> unlesbaren Form in ein Forum und erwartest auch noch Hilfe. Wenn denn
> wenigstens der Text lesbar wäre, aber auf die Idee, sich mal schlau z
> umachen und die Formatierung z. B. zu Nutzen "-avrasm-" und "-/avrasm-"
> zeigen auf einen Codeteil. Die Bindestriche nur durch eckige Klammern
> ersetzen oder in den Bereich "Formatierung" schauen. Da ist die
> mangelhafte Rechtschreibung noch das kleinere Übel. Ich für meinen Teil
> bin gern bereit zu helfen, aber Schularbeiten machen, das ist schon ganz
> schön dreist. Ich wünsch dir für deine Zukunft viel Erfolg.....
> Grußß oldmax

Schlecht geschlafen? Das ist ne Textaufgabe, Mann. Da is nix mit 
Assemblerformatierung.

Ich habe eher das Problem, dass ich nicht verstehe, wo das Problem für 
Martin liegt. Die Lösung steht doch schon da.

Vielleicht solltest du,Martin, in einer Lerngruppe lernen... das fand 
ich immer sehr angenehm und die meisten "Probleme" lösen sich in Luft 
auf.
#2492872
Lesenswert?

Martin schrieb:
> na zum beispiel bei aufgabe f
>
> - [si + bp + 1] = 15 – 1 = 14
>
> ich weiß nicht woher die 15 bzw die 1 kommt

Boah ey, entweder du stehst auf dem Schlauch, oder... also mal einen 
Schritt zurück gehen:

bei (E:) steht mov bx, [si+bp-1] (und nicht [si+bp+1]), so.
In Abbildung 2 sieht man, dass si = 0000 ist, bp wurde in (D:) mit 0Fh 
(also 15) geladen, das ergibt:

[si +bp -1] = [0+15-1] = [14]
Klar soweit?
Und [...] bedeutet "nimm die Daten, die an dieser Adresse stehen".


>
> oder bei e ... wo sehe ich das es genau 10 zeichen sind?

Abbildung 1 direkt unter "data segment" steht die Reservierung für 
"txt1", nämlich: 0dh,0ah,'Text1',0dh,0ah,'$'. Wenn du jetzt die Bytes 
zusammenzählst, müsstest du auf 10 kommen.

Falls jetzt immer noch der Schlauch klemmt, dann weiß ich auch nicht...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren