Gute Tutorials/Bücher?
-
Ich suche deutschsprachige tutorials ODER bücher (bücher wären mir lieber) über Assembler.
2) suche ich noch ein buch über Inline-assembler in C codeDa soll auch ‘push’ und ‘pop’ vorkommen ;)s
[edit="Nobuo T"]Auch wenn du weiblich sein solltest: Ein Minimum an Sinn kannst auch du bitte in deine Thread-Titel legen. ;)[/edit]
-
-
jo das tut es.
http://www.amazon.de/exec/obidos/ASIN/3772375073/marcbackccecke/303-6519906-7985829 <- kann es sein, dass hier nur auf windows-ass eingegangen wird?
-
Den Kommentaren auf Amazon.de zu urteilen wird unter anderem auf WinAPI mit Assembler eingegangen...
-
- Ich muss Assembler lernen. Bitte Frag nicht warum.
- Ich checke 0 % von der ganzen sache. Unter C war alles so einfach. In kapitel 1 war ein einfaches Hello World. Schaut euch mal das hello world unter assem an: ftp://members.aol.com/peschko/Assembler3.pdf (seite 3) und da wird nicht mal erklärt was das alles sein soll. dabei habe ich ja noch 2 andere PDF ausgelassen.
ftp://members.aol.com/peschko/Assembler1.pdf ab seite 4 verstehe ich garnichts mehr. Wofür sind diese tollen rechnungen da? Noch ein problem sind diese dutzenden Prozessoren. Warscheinlich hat jede kleinste veränderung sofort eine neue assemblersprach nötig. Bis jetzt habe ich immer versucht OS-unabhängig zu bleiben.
Könnt ihr mir bitte helfen? wie ihr sieht bekomme ich einfach nichts hin, obwohl die motivation ja da ist
-
lernerin schrieb:
In kapitel 1 war ein einfaches Hello World. Schaut euch mal das hello world unter assem an: ftp://members.aol.com/peschko/Assembler3.pdf (seite 3) und da wird nicht mal erklärt was das alles sein soll.
;Legt ein Datensegment (für alle globalen Variablen) an DATEN SEGMENT ;die Variable "Meldung" wird als Zeichenkette definiert. ;Ist das gleiche wie "char *MELDUNG = "Hallo Welt !"" in C/C++ MELDUNG DB "HALLO WELT !","$" DATEN ENDS ;Legt ein Stacksegment von 128byte Größe an STAPEL SEGMENT BYTE STACK DW 128 DUP(0) STAPEL ENDS ;Das eigentliche Codesegment CODE SEGMENT ;Sagt dem Assembler, dass er die Segmentregister, genau wie dort spezifiziert vorfinden wird, d.h. das man über cs das Codesegment, über ds das Datensegment, über es nix und über ss das Stacksegment adressieren kann ASSUME CS:CODE,DS:DATEN,ES:NOTHING,SS:STAPEL ;Definiert das Label "Start" (genau wie in C/C++ wo man dann mittels goto zu einem Label springen kann) START: ;Setzt das Datensegment, wie oben spezifiziert wurde MOV AX, DATEN MOV DS, AX ;Ruft das Unterprogramm/die Funktion PRINT auf CALL PRINT ;Ruft den DOS Interrupt zum Schließen des Programms auf (C/C++ exit()) MOV AH, 4CH INT 21H ;Definiert die Fuinktion/das Unterprogramm PRINT PRINT PROC NEAR ;Setzt dx auf die Adresse von MELDUNG (d.h. dx enthält danach einen Zeiger auf MELDUNG) MOV DX, OFFSET MELDUNG ;Ruft die DOS Funktion zur ausgabe von Strings auf MOV AH, 09H INT 21H ;Springt wieder zurück zur aufrufenden Funktion RET PRINT ENDP CODE ENDS END START
dabei habe ich ja noch 2 andere PDF ausgelassen.
ftp://members.aol.com/peschko/Assembler1.pdf ab seite 4 verstehe ich garnichts mehr. Wofür sind diese tollen rechnungen da? Noch ein problem sind diese dutzenden Prozessoren.Das sind allgemeine Informationen zum Aufbau/Funktionsweise der CPU bzw. zum Rechnen im binären Zahlensystem. Nicht mehr nicht weniger. Des hat mit der Assemblersprache an sich nix zu tun, ist aber für ein tieferes Verständnis sehr wichtig. Wenn du irgendwann mal soweit bist, dann lies dir die original Intel docs durch. Da steht _wirklich_ alles drin.
Warscheinlich hat jede kleinste veränderung sofort eine neue assemblersprach nötig
.
Nein, nur jede andere Platform (zB x86 oder PowerPC) braucht eigene Mnemonics. Bei ein und der selben Platform kommen nur ab und an mal neue Mnemonics hinzu (zB MMX, SSE, SSE2, SSE3), oder wie denkst du das neue Funktionalität sonst implementiert wird?
Bis jetzt habe ich immer versucht OS-unabhängig zu bleiben.
Bei Assembler bist du weder platformunabhängig noch OS-unabhängig. Du bist noch nichtmal unabhängig vom verwendeten Assembler, da hat jeder seine eigene Syntax, wobei aber die Mnemonics bei jedem Assembler für eine Platform gleich sind.
-
lernerin schrieb:
[...]und da wird nicht mal erklärt was das alles sein soll. dabei habe ich ja noch 2 andere PDF ausgelassen.
Jo, das steht ja auch auf den 2 PDF davor, die du einfach mal ausgelassen hast.
lernerin schrieb:
[...]ab seite 4 verstehe ich garnichts mehr. Wofür sind diese tollen rechnungen da?
Was verstehst du denn da ab Seite 4 nicht? Meinst du die kurze Einfuehrung ins Binaersystem?
Sry, aber wenn du das wirklich schon nicht verstehst, solltest du IMHO bei C-Hallo-Welt-Programmen bleiben und den Versuch aufgeben, Assembler zu lernen.
So schwer ist das doch nun wirklich nicht, und die Grundrechenarten wirst du doch wohl hoffentlich beherrschen?lernerin schrieb:
Noch ein problem sind diese dutzenden Prozessoren. Warscheinlich hat jede kleinste veränderung sofort eine neue assemblersprach nötig
.
Musst dich halt fuer einen entscheiden. Ich wuerde bei diesem Tutorial den x86-kompatiblen (hint: steckt in jedem PC) vorschlagen.
Da sich der Grundstock an Befehlen seit den 70ern nicht mehr veraendert hat, stimmt deine 2. Vermutung also nicht so ganz. => Wo war nochmal gleich dein Problem?lernerin schrieb:
Bis jetzt habe ich immer versucht OS-unabhängig zu bleiben.
Ja, und? Ist auch mit Assembler moeglich, wenn auch mit zT. etwas hoeherem Aufwand. Ich wette deine ersten C-Programme waren auch nicht voll OS-Unabhaengig. Wo war nochmal gleich dein Problem?
-
Buchtipp:
ISBN 3-8266-0786-4
Joachim Rohde
Asembler Ge-Packt.
Gute Referenz (fast) aller Befehle.
Referenz (fast) aller MASM Pseudo Befehle.
OpcodeTabelle.
Einige Tipps.mit 14.95 Euro nicht mahl teuer.
-
Ich denke mal er/sie braucht (noch lange) keine Referenz, sondern eher ne Einführung in Assembler...