Assembler-Buch von Reiner Backer / Linux und 32bit Frage
-
Hallo,
ich hab mir vor einigen Tagen das Assembler-Buch von Reiner Backer
gekauft. Das Buch ist soweit auch ganz verständlich, doch da ich unter
Linux arbeite tauchen jdeoch einige Fragen für mich auf. Ich hoffe ihr könnt
mir mit der ein oder anderen Frage weiterhelfen:1. Backer teilt im Buch das Programm in verschiedene Teile:
DATEN SEGMENT ... DATEN ENDS CODE SEGEMENT...
Unter Linux bekomme ich hierbei mit dem nasm einen Fehler, weshalb
ich folgendes schreibe:section .data ;Äquivalent zu DATEN SEGMENT? buffer: dw 1024 size: equ 1024 section .text ;Äquivalent zu CODE SEGMENT? global _start
Wo liegt der Unterschied, was soll ich verwenden?
Muss ich vll. meinem nasm andere optionen mitgeben?2.
Backer benutzt nur Register wie ax,bx... Aus Halbwissen weis
ich bzw. glaube ich das man dies eigentlich nur benutzt wenn man
16bit code erzeugt. Und das Dinge wie z.B. die Speicheradressierung
unter 32bit mit eax,ebx.. ganz anders funktionieren.
Kann ich also mit dem Buch wenn ich 32bit verwenden will
nichts anfangen, oder ist das für die Grundlagen egal.3.
Was muss ich unter Linux noch beachten, wenn ich Assembler programmiere,
welche Unterschiede gibt es zur programmierung unter DOS?
(Syscalls unter Linux hab ich mir schon selbst beigebracht,
und das compilieren und schreiben einfacher Programme kann ich auch).Ich weis 3 Fragen in einem Thread, aber 3 verscheidene Thread hielt ich für unnnötig.
Ich hoffe jemand kann mir einfach ein paar Stichworte geben was bei Linux
im Unterscheid zu DOS bzw 16bit im Unterschied zu 32bit zu beachten ist.Vielen Dank schonmal...
-
Das Buch ist dreck. Wirf es weg. Er behandelt Themen, die einen in den 80ern noch gerade interessiert hätte. Nur 16 Bit 8086 Zeugs für MASM.
Schau dir mal folgende Links an
http://maven.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html
http://www.gnu.org/software/binutils/manual/gas-2.9.1/html_mono/as.htmlunter Linux benutzt man in der Regel AT&T-Syntax und keine Intel-Syntax.
-
Hm, hab mir beinah schon gedacht das ich nicht viel mit dem
Buch anfangen kann, naja einige Teile sind ganz interessant
und billig wars auch.Aber auf jeden Fall vielen Dank für die Links
Ich glaub damit kann ich mehr anfangen.//EDIT:
Hm, der erste link behandelt allerdings (nachdem ich alles mal grob
überflogen hab) auch nur 16bit masm Assembler.
-
Der Link behandelt auch 80486/80386er. Gut, er beschränkt sich auf die MASM-Syntax. Aber gute Quellen zu Assembler sind selten. Am Ende sucht man sich alles aus mehreren Quellen zusammen (gas-Handbuch für die gas-Syntax, Quellen des Prozessor-Herstellers als Referenz und Guide, diverse Internet-Quellen für Tricks/grobe Übersichten, Compiler-Assembler-Ausgabe für noch mehr Tricks und zum Verständnis, Betriebssystem/Compiler-Specs für Call-Conventions und ABI etc.). Die Informationen zu finden, die man braucht ist vermutlich das schwierigste an der Assembler-Programmierung
Zum Glück braucht man Assembler nur noch für µCs oder andere spezial Fälle
-
Dass das Buch Dreck ist, würde ich nicht so sagen.
Ich finde das Buch super verständlich und für einen .asm Anfänger gut geeignet auch wenn's Unterschiede ala NASM gibt.
Und ohne 16bit Asm kommt man nicht aus wenn man wirklich Assembler lernen will.
-
Keine Ahnung schrieb:
Und ohne 16bit Asm kommt man nicht aus wenn man wirklich Assembler lernen will.
doch ziemlich gut eigentlich
-
Lieber Moderator Rüdiger...
Dreck?
Wegwerfen?
Nicht Ihr Ernst, oder?
K.
-
K. schrieb:
Lieber Moderator Rüdiger...
Dreck?
Wegwerfen?
Nicht Ihr Ernst, oder?
K.
upps, ist das hier etwa der Autor vom Buch?
MfG borgolte