PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe bei Ramadressierungen ...


DraconiX
2009-12-29, 11:16:10
Hi Leute,

erschlagt mich nicht :D Aber ich bin in C nicht so ganz konform. Aber ich benötige die Daten dieser Adresse wirklich. Jedoch habe ich nicht so wirklich die Ahnung wie ich daran komme, erstmal zu grundverständnissfrage:

ich habe folgenden Zeiger auf eine Adresse:


fCurrDataA = new Address(0x00c15b55, 7344);


Die erste Zahl (hex) ist die Adresse, die zweite Zahl (dec) ist der offset.

Nun kommt das Problem was ich nicht zu lösen weis:

"You need to read 4 byte integer to this Address (1st digit)" <- heißt das das der erste Wert mir eine Integer von dieser Adresse zurückgibt?

"To this number to add a decimal number (2 number form the address)." <- soll ich nun die hinteren zahlen dazuaddieren oder übergibt mir die Speicheradresse zwei Werte welche ich addieren muß?

Das Resultat dieser Rechnung jedenfalls gibt mir die Speicherposition zurück an welchen ich meine Daten auslesen kann.

Gast_samm
2009-12-29, 12:39:04
Mit korrektem Englisch wäre es deutlich einfacher, zu verstehen, was du eigentlich willst. Passt übrigens zum Apostroph in deiner Sig :PYou need to read 4 byte integer to this Address (1st digit)Was soll "read to" heissen? Etwas hineinschreiben (=write to), etwas herauslesen (=read from)?
To this number to add a decimal number (2 number form the address)Soll das "To this number add a decimal number (second number from the address)" heissen? Das

Mal die Kristallkugel konsultiert, die behauptet, dass es bei diesen Sätzen nur darum geht, einen int in Hexadezimale Form für die Adresse zu konvertieren und den Offset dazuzuaddieren.

DraconiX
2009-12-29, 13:40:31
Mit korrektem Englisch wäre es deutlich einfacher, zu verstehen, was du eigentlich willst. Passt übrigens zum Apostroph in deiner Sig :PWas soll "read to" heissen? Etwas hineinschreiben (=write to), etwas herauslesen (=read from)?
Soll das "To this number add a decimal number (second number from the address)" heissen? Das

Mal die Kristallkugel konsultiert, die behauptet, dass es bei diesen Sätzen nur darum geht, einen int in Hexadezimale Form für die Adresse zu konvertieren und den Offset dazuzuaddieren.

Das englische wurde mir zugeschickt ;) genau das ist ja mein Problem, ich weiß auch nicht so wirklich was er will. Wobei mein englisch vermutlich auch nicht viel besser ist.

Wenn es danach geht, dann würde ja folgendes schon reichen:

void *zeiger = (void *) (0x00c15b55 + 7344);

Wobei ich denke das er meint das an dieser position die eigentliche Speicheradresse liegt... welche ich dann auslesen muß.. hmm...

samm
2009-12-29, 23:01:09
Also dann nehm ich mein agressiv-rotes Smilie zurück und wende es auf den Aufgaben-Verschicker an ;) Jedenfalls kann ich dir nicht weiterhelfen, weil meine Interpretationskünste begrenzt sind. Kann durchaus sein, dass man ab dieser so rekonstruierten Adresse ein 4 Byte int lesen soll...

Gast
2009-12-30, 00:38:05
Meine Glaskugel sagt: Frag gefälligst den Urheber, was er damit meint. Wie soll man aus den Bruchstücken in schlechtem Englisch schlau werden?
Sie sagt aber auch: Versuch macht kluch, wenn man in etwa weiß, was man erwartet ;)

Simon
2009-12-30, 09:15:31
"You need to read 4 byte integer to this Address (1st digit)" <- heißt das das der erste Wert mir eine Integer von dieser Adresse zurückgibt?

"To this number to add a decimal number (2 number form the address)." <- soll ich nun die hinteren zahlen dazuaddieren oder übergibt mir die Speicheradresse zwei Werte welche ich addieren muß?
Meine Interpretation:
1) Von der Adresse einen 4byte Integer lesen
2) Zu diesem gelesenem Integer den Offset addieren.

Das Englisch ist allerdings ;(