Einzelnen Beitrag anzeigen

mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#3

Re: Assembler, was bedeutet $

  Alt 4. Jan 2006, 13:55
danke für die antworten jetzt hab ichs glaub ich kapiert. nur noch eine Frage dazu:

Zitat:
zu ( 5 ):
was passiert hier?

Dabei handelt es sich nur um einen komplizierten Weg, um die Zahl 5 in das Word "i" zu schreiben.
Denn "DsDatenPointer DW OFFSET DsDatenPointer" erzeugt ein Word, dessen Inhalt der Offset dieses Words selbst ist. Und das ist wiederum der aktuelle Programmcodezähler $.
Und von diesem wird wieder DI abgezogen, womit wir wieder bei der Addresse von "i" landen. In in diesen wird dann die Zahl 5 gemovt.
wenn wir von DsDatenPointer zwei abziehen, dann sind wir bei iLow, oder? iLow zeigt wiederrum auf das erste Byte von i und deshalb wird in i die Zahl 5 geschrieben. Wenn ich richtig liege, dann hast du hier nen punkt übersprungen (beabsichtigt oder unbeabsichtigt ist ja eigentlich egal). Mich interessiert blos ob ich das jetzt hier richtig interpretiert hab?

ein was versteh ich aber trotzdem noch nicht so ganz:
MOV WORD PTR [BX-DI],5
hätte es jetzt einen Unterschied gemacht folgendes zu schreiben: MOV BYTE PTR [BX-DI],5
transferriert MOV WORD PTR [BX,DI],5 ins Byte 1 von i 5 und ins Byte 2 auch 5, oder wie?
  Mit Zitat antworten Zitat