PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benötige eine ASM Befehlsübersicht!!



matzeed7
09.09.2007, 13:16
Hallo,

ich hoffe ihr könnt mir helfen. Ich suche ein Übersicht über die
genaue Funktionsweise/Bedeutung der einselnen Assemblerbefehle
also in der Richtig habe ich schon ein wenig gefunden wie zB

leave heist
mov %ebp, %esp
pop %ebp



pop %ebp heist
mov (%esp), %ebp
add $4, %esp

push %ebp heist
add $-4, %esp
mov %ebp, (%esp)

ret heist
mov (%esp), %eip
add $4, %esp


kann das wer bestätigen bzw verbessern

gibt es im netz eine solche übersicht, inder alle assemblerbefehle
so aufgeschlüsseld sind

ich brauch noch call, lea, add ,and ...

danke schon mal im voraus

PicNick
09.09.2007, 13:24
Zu jedem Prozessor gibt es
1 im Datasheet eine Tabelle "Instruction Set"
2 eine eigene PDF mit detaillierten Info, die aber meist recht umfangreich ist.

Btw: Ohne Angabe, WELCHER Prozesser, wird dir keiner irgendwie helfen können.

Ein paar deiner Angaben klingen nach INTEL ?

matzeed7
09.09.2007, 14:27
Ja das daran habe ich auch schon gedacht, ich suche es für den Intel P4
uas dessen beschreibung habe ich mir die von mir benanneten sachen schon rausgesucht

ich dachte das es eine allgemeine beschreibung gibt, die nicht direkt mit dem prozessor zusammenhängt, aber ich befürchte das die assemblerbefehle wie zb ret direkt an den prozessor weitergereicht werden da es ja ein cisc Proz. ist???

PicNick
09.09.2007, 14:46
Grad "RET" / "RETURN" sind recht international, da machen alle das gleiche, is ja nicht viel.

Da ich schon auf einigen Platformen Assembler verwendet habe, trau' ich mich zu sagen, daß mehr oder weniger jede Assembler Doku auch gleichzeitig eine allgemeine Beschreibung ist, nur die alten Systeme (PDP-11, VAX, IBM) heben sich da wirklich ab.

However, wenn du irgendeine Doku über das --86 Instruction Set hast, kommst du eigentlich auf allen halbwegs zurecht. Da gibts auch Bücher, in diesem Fall würde ich dir zu der Investition raten.

Aber als Einstieg ist ein Pentium schon heavy, o lala.

oberallgeier
10.09.2007, 21:45
Hei, matzeed7

ich kann PicNick nur unterstützen. Der pentium ist (vielleicht??) SICHER nicht ganz der geeignete Start. Wie Du schreibst ist es ein CISC - also ein mächtiger Befehlssatz.

Wenn Du aber (Deine erste mail) schon fragst nach:
call = Unterprogrammaufruf
add = Rechenfunktion (je nach Bitbreite des Prozessors verschieden)
und beispielsweise
and = logische Operation - kann doch etwas komplex sein

dann bist Du doch noch etwas am Anfang und rate ich beispielsweise zum AVR-Studio. Da ist eine sehr ausführliche Hilfe drin, die Dir >>> für die ATMEL-Prozessoren, also RISC <<< die Befehle erklärt. Aber irre prächtig ist es, dass alle möglichen Parameter, Flags (Bits die je nach Ausgang des Befehls gesetzt oder gelöscht werden), und so weiter erklärt. Dazu gibts gleich eine Übersetzungsmöglichkeit für verschiedene Zielprozessoren (vielleicht auch hier mit einfachen, als recht reduzierten Typen anfangen - ATtiny13 oder so) - UND >>> einen Debugger.

Der Debugger wird für Dich dann sicher auch einige Erleuchtung bringen - Du schreibst ein paar Codezeilen, übersetzt die und siehst im Einzelschrittmodus, welche Effekte auftreten. Gerade bei "and" und ähnlichen Befehlen teilweise etwas überraschend . . . und im AVRStudio siehst Du dann auch gleich welche Flags gesetzt werden.

Andere Dinge wie relative oder absolute oder indizierte Adressierung - das ist etwas für später. Denke ich.

Wie gesagt - das AVRStudio ist eine Spielwiese für die ATMEL-Prozessoren. Aber eben für einen reduzierter Befehlsumfang. Die einfachen Befehle eines CISC sind ähnlich oder nach der Methode des genauen Hinsehens zu erkennen. Die complexeren Befehle eines CISC kannst Du Dir danach MANCHMAL selber zusammenreimen - oder später aus dem entsprechenden Datenblatt herauslesen.

BTW: Beim Snowboarden hatte ich nicht mit einem 3-meter-air in der 5-meter-pipe angefangen ](*,) [-o< - warum sollte man (du) sowas bei einem Prozessor tun? [-X Sorry für den erhobenen Zeigefinger.

Es grüßt der Joe
DerAltevomBerg

Felix.
10.09.2007, 22:04
wenn man davon ausgeht dass der nick "matzeed7" einmalig ist, so denk ich mal dass hier jemand versucht einen assembler befehlssimulator zu schreiben. ;) von daher denk ich nicht, dass matzeed7 noch nie mit assembler zu tun gehabt hat. kann mich aber auch irren.
mfg

matzeed7
11.09.2007, 07:14
na ja was heist mit assembler zu tun gehabt....

in meiner ausbildung musste ich mal ein paar mips zeilen schreiben,
das mit dem befehlssimulator ist auch richtig, ist halt für mein projekt indem ich nun versuche was zu finden worüber man halt so ein bissel berichten kann um net ganz mit leeren händen dazustehen

die vorgaben sind aber als Progsprache C un das für den P4 mit dem gcc

danke euch erst mal für die tipps!!!
gruss matze