.| Autor | Beitrag |
|---|---|
|
000 14.01.2003, 11:46 snoopdog |
Hi, kennt hier wer nen gutes vernünftig geschriebenes tut, zur indirekten Adressierung in asm?? Oder überhaupt über Adressierung in asm??? Hab mal bei google geguckt, nur da kommen zum teil richtig bescheuert geschriebene Sachen raus.... --Visit our 500er Gamer Lan |
|
Profil || Suche |
|
001 14.01.2003, 16:35 [RMen]OneStone |
Vielleicht so:
georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/ |
|
Profil || Suche |
|
002 15.01.2003, 15:29 Mazze |
Jo, das ist indirekte Adressierung. In Art Of Assembly Language steht da was drin. ch04 cu BattleTech-MOD: |
|
Profil || Suche |
|
003 15.01.2003, 15:55 Kriz |
Sieh an, eine Zuweisung via Dereferenz... Aber noch sehr viel tiefgreifender als C/C++ es können. Schließlich kann der Coder beim Anlegen eines Zeigers nicht den Speicherplatz bestimmen, den bekommt er ja vorgesetzt von der RTE/Compiler. Allerdings sollte man da schon sehr genau wissen, was 0xF0F0F000 vor der Adressierung beherbergt hat. Da einfach mal 0x02 reinzuhauen kann böse enden... Jaja, war ja nur ein Beispiel, is ja gut, Jungs =) --K:R-I)Z++ |
|
Profil || Suche |
|
004 15.01.2003, 16:33 Tron |
kriz, mit gewalt geht alles... (; 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
005 15.01.2003, 18:53 Diablo_bth |
oh ja so Spielereien kenne ich. Z.B. wenn da mal wieder was net gefuntzt hat: Dieser Beitrag wurde am 15.01.2003 um 18:57 von Diablo_bth bearbeitet. |
|
Profil || Suche |
|
006 15.01.2003, 19:00 K-Putt |
Ich kann leider kein asm, aber könnt ihr mir sagen was passieren würde, wenn man eure beispiele testet? Explodiert der PC? Wird die Partitionstabelle zerfetzt? --Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database |
|
Profil || Suche |
|
007 16.01.2003, 09:13 Kriz |
Quark. Aber du weißt ja nicht, was die Adresse vorher für einen Wert gespeichert hat und für welche Komponente der RTE dieser Wert bedeutsam war. Wenn da mal angenommen die Anfangsadresse des lokalen Heaps des Programms ist und du da auf einmal 0x02 reinpfefferst... Eieiei =) IGGWERIDMGUIEIDAG, was heißt: Solche Spielereien sind immer evil. Man sollte nicht immer mit freakigen Sachen hackz0ren, wenn man dafür überhaupt keinerlei praktische Verwendung findet. Da dies in 99% der Fälle so ist, sollte man also die Finger von der indirekten Adressierung lassen und das dem Compiler bzw. der RTE überlassen. Dann klappts auch mit der Nachbarstochter... Cu --K:R-I)Z++ Dieser Beitrag wurde am 16.01.2003 um 09:14 von Kriz bearbeitet. |
|
Profil || Suche |
|
008 16.01.2003, 09:49 WareWolf |
zudem ist das Beispiel falsch. Als Index kann AX oder EAX gar nicht nicht verwendet werden, wenn schon indirekt, dann [BX] oder die "richtigen" [DI], [SI] ... ausserdem kann kein direkter Wert indirekt übergeben werden, mann muss das über ein anderes Register machen mov bx,0abcd richtig wäre Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ Dieser Beitrag wurde am 16.01.2003 um 09:57 von WareWolf bearbeitet. |
|
Profil || Suche |
|
009 16.01.2003, 14:10 Prefect |
Warewolf, die 16-Bit-Zeiten sind vorbei. Die Prozessoren ab dem 386er aufwärts können _alle_ (32-Bit-)Register als Basisregister verwenden. Nur bei Registercombos (a la EBX+ESI) gibt es noch die alten Beschränkungen. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
010 16.01.2003, 15:19 WareWolf |
ja ja ist ja gut ... ich will halt bis in die Steinzeit abwärtskompatibel bleiben ;) --Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
011 16.01.2003, 15:47 snoopdog |
@Warewolf: hehe auch nen Lebensstil *g* Visit our 500er Gamer Lan |
|
Profil || Suche |

