Hallo miteinander, ich habe , als Anfänger , eine Frage zu einer Aufgabe. Und zwar ist neben dem Code selbst auch der Auszug von .dseg gegeben. sei gegebenes .dseg : 0001F0: 01 02 CA BB AC 9D 8E 7F - 2F 30 08 AC FF FF FF 00 000200: 01 02 CA BB AC 9D 8E 7F - 8E 7F 9D AC CA FF 00 18 000210: 01 02 CA BB AC 9D 8E 7F - 8E 7F 9D AC CA FF FF 12 Betreffende Frage bezgl. Code, der Auszug: …. ld r17,y+ ld r18,y+ ….. Die Inkrementierung von Y um 1 ist klar. Wie aber kommt man auf die 0xAC und 0xFF , die nach dem Befehl dann im R17 und R18 stehen , woran erkenne ich dass gerade diese beiden aus dem dseg gemeint sind ?
Sebastian R. schrieb: > Wie aber kommt man auf die 0xAC > und 0xFF , die nach dem Befehl dann im R17 und R18 stehen , woran > erkenne ich dass gerade diese beiden aus dem dseg gemeint sind ? An dem Teil des Codes, der nicht im Umfang deines Codeauszugs war natürlich. Irgendwo wurde da irgendwie das Y-Registerpaar mit einem Zeiger in den Datenbereich geladen und dieser Zeiger zeigt auf eine Adresse, auf der 0xAC steht und auf der nächsthöheren 0xFF. Das könnte z.B. die Adresse 0x1FB sein.
Hallo und Danke, genau getroffen mit der 0x1FB im Y vorher. Ich hatte das "unterschlagen" ;) Aber : Woraus sehe ich das 0x1FB exakt auf 0xAC zeigt. Die Frage mag naiv erscheinen zugegeben ; aber abgesehen von dieser Problematik lagen mir die Übungen recht gut.
Sebastian R. schrieb: > Aber : Woraus sehe ich das 0x1FB exakt auf 0xAC zeigt. 0x1FB 'zeigt' nirgendwohin, das ist kein Zeiger wie das Y-Register sondern die physikalische Adresse einer Speicherzelle. In dieser steht dann der Wert 0xAC. Vermutlich sprichst du von Atmega-Assembler. schreib doch das nächste mal den Controllertyp dazu.
Sebastian R. schrieb: > woran > erkenne ich dass gerade diese beiden aus dem dseg gemeint sind ? An dem nicht gezeigten Code.
Sebastian R. schrieb: > Woraus sehe ich das 0x1FB exakt auf 0xAC zeigt. Das steht doch in dem Speicherauszug, den du gepostet hast, in der Zeile 0001F0:. Im übrigen steht da eben drin was drin steht, das kann ja auch was anderes als 0xAC sein. Irgendwann hat irgendjemand das reingeschrieben, oder es ist ein zufälliger Wert. Georg
Thomas Forster schrieb: > schreib doch das nächste > mal den Controllertyp dazu. Ja, denn nicht immer steht das Ziel links vom Komma. Es gibt auch Assembler, bei denen das genau andersrum ist.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.