Forum: Mikrocontroller und Digitale Elektronik assambler frage


von Martin (Gast)


Angehängte Dateien:

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
von oldmax (Gast)


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
von Martin (Gast)


Lesenswert?

krass das du den text nicht lesen kannst... deine brille haste doch auf 
oder? ... ich wollte einfach nur fragen wie man auf diese lösungen kommt 
... nixx hausarbeiten machen oder so ...
von spotti (Gast)


Lesenswert?

Martin schrieb:
> ich wollte einfach nur fragen wie man auf diese lösungen kommt

DENKEN!
von Daniel V. (danvet)


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.
von Martin (Gast)


Lesenswert?

na zum beispiel bei aufgabe f

- [si + bp + 1] = 15 – 1 = 14

ich weiß nicht woher die 15 bzw die 1 kommt

oder bei e ... wo sehe ich das es genau 10 zeichen sind?
von Daniel V. (danvet)


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...
von Martin (Gast)


Lesenswert?

achso =) ... danke xD

aber ich komme beim zählen nur auf 9

0d 0a 54 65 78 74 31 0d 0a
von Daniel V. (danvet)


Lesenswert?

Martin schrieb:
> achso =) ... danke xD
>
> aber ich komme beim zählen nur auf 9
>
> 0d 0a 54 65 78 74 31 0d 0a

Und das Dollarzeichen?
von ich (Gast)


Lesenswert?

... und '$'? ;)
von Martin (Gast)


Lesenswert?

aso ok ... das hab ich vergessen =) ... danke
von Uwe (Gast)


Lesenswert?

Und was ist mit dem '$' Zeichen ? Ist das kein Zeichen für dich ?
Gehen Sie zurueck auf Los und ziehen Sie keine 4000 Mark ein !!!
von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Uwe schrieb:
> ziehen Sie keine 4000 Mark ein

hier wohl keine 4000 $
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.