Assembler Beispiele
-
Hallo,
ich habe vor kurzem mit Assembler angefangen und mein erstes "Hello World!"
geschriebenDa ich besser lerne, wenn ich Codes sehe, möchte ich euch bitten mir einige
Beispiele wie Addition/Multiplikation zweier Zahlen oder was euch grade so
einfällt aufzuschreiben mit Kommentaren. Ich denke, da steigt man schneller
ein als haufenweise Bücher zu lesen und am Ende nicht mal ein "Hello World"
Programm schreiben zu können (jeder sieht das anders, ich weiß ).DANKE schon mal im Voraus.
-
Hi!
Das glaube ich nicht. Bücher sind nicht nur zum lesen da, sondern auch zum nachmachen. Du sollst also mit ihnen arbeiten. Wenn du dort einen Code siehst, tipp ihn ab, les dir die Erklärung des Codes und eventuell neu verwendeter Befehle so oft durch bis du es verstanden hast. So habe ich damals auch C++ gelernt und dabei habe ich einige Sachen mehr als nur einmal gelesen und bei manchen Dingen lese ich heute noch, was aber daran liegt das ich sie selten bis gar nicht benötige.
Eine Buchempfehlung von mir wäre folgende (handelt sich um ein dünneres, aber gutes Lehrbuch und um eine Referenz:
http://www.franzis.de/index.php?art=1303&reihe=6&preihe=1&seite=&kid=&src=
Das Lehrbuch gibt es jetzt auch als Studienausgabe, weshalb es vllt. klug wäre sich die Referenz gesondert zu bestellen (sofern man das auch einzeln bestellen kann...):
http://www.franzis.de/index.php?art=1637&reihe=6&preihe=1&seite=&kid=&src=
Was ich auch empfehlen kann ist das folgende Buch, von dem ich allerdings noch den Vorgänger habe, es handelt sich um ein Taschenbuch und kostet auch dementsprechend, zum Nachschlagen eignet es sich auch:
http://www.amazon.de/exec/obidos/ASIN/3499612240/qid=1095291288/ref=sr_8_xs_ap_i1_xgl/028-3571545-0286122Aber ein Beispiel (MASM) zur Addition und Multiplikation schicke ich dir gerne ;):
CSEG segment assume cs:CSEG MAIN proc mov al,10 mov dl,10 add al,dl ; AL=AL+DL mul dl ; AX=DL*AL mov ax,4C00h ; Programm mit Fehlercode 0 beenden int 21h MAIN endp CSEG ends end MAIN
Code-Hacker
-
Die besten Beispiele liefert dir dein Compiler. Einfach eine ganz kurze C-Funktion schreiben und schauen, was der Compiler daraus macht.
-
Aber Hochsprachen zu disassemblieren hilft einem ja eigentlich
nur dabei zu sehen, wie der Code definitiv NICHT aussehen sollte.
-
yorba schrieb:
Aber Hochsprachen zu disassemblieren hilft einem ja eigentlich
nur dabei zu sehen, wie der Code definitiv NICHT aussehen sollte.keineswegs immer, in einigen fällen ist es sogar der (zeit-)optimale code, selbst wenn es auf den ersten blick nicht so aussieht.
-
Mich würde an dieser Stelle mal ein Beispiel interessieren...
-
Zum Lernen ist das natürlich nix, aber als Beispiel dafür, dass ein Compiler durchaus guten Code erzeugen kann:
http://www.c-plusplus.net/forum/viewtopic.php?t=82000&start=0&postdays=0&postorder=asc&highlight=