| Zeile 1: | Zeile 1: | ||
| − | Bei einem Assembler handel es sich um eine einfach Programmiersprache. Sie wird direkt für einen bestimmten Prozessortyp | + | Bei einem Assembler handel es sich um eine einfach Programmiersprache. Sie wird direkt für einen bestimmten Prozessortyp verwendet und stellt die einzelnen Prozessorbefehle als Wörter mit eventuellen Parametern da. |
Zusäzlich vereinfach der Assembler die Adressberrechnung und ermöglicht das Berrechnen von Konstanten, die sich aus Formeln zusammensetzen. | Zusäzlich vereinfach der Assembler die Adressberrechnung und ermöglicht das Berrechnen von Konstanten, die sich aus Formeln zusammensetzen. | ||
== Syntax == | == Syntax == | ||
| − | Es gibt für die x86 Prozessorfamilie verschiedene Syntax | + | Es gibt für die x86 Prozessorfamilie verschiedene Syntax.<br> |
=== Intel === | === Intel === | ||
| − | Der Intel Syntax wird meistens verwendet wenn man Assembler von hand schreibt.<br> | + | Der Intel Syntax wird meistens verwendet wenn man Assembler von hand schreibt. Er ist <br> |
Beispielcode: | Beispielcode: | ||
| Zeile 17: | Zeile 17: | ||
=== AT&T === | === AT&T === | ||
| − | Dieser Syntax wurde für das schnelle Assemblieren entwickelt um ihn beim Kompilieren von Hochsprachenquellcode als Zwischenschritt zu verwenden. | + | Dieser Syntax wurde speziel für das schnelle Assemblieren entwickelt um ihn beim Kompilieren von Hochsprachenquellcode als Zwischenschritt zu verwenden. |
Beispielcode: | Beispielcode: | ||
| Zeile 24: | Zeile 24: | ||
</pre> | </pre> | ||
| − | Diese Syntax wird vor allem im Zusammenhang mit gcc verwendet | + | Diese Syntax wird vor allem im Zusammenhang mit gcc verwendet. Unter [[Inline-Assembler mit GCC]] befindet sich ein kleines Tutorial hierzu. |
== Liste bekannter Assembler == | == Liste bekannter Assembler == | ||
| Zeile 34: | Zeile 34: | ||
NASM (The Netwide Assembler) [http://nasm.sourceforge.net/]<br> | NASM (The Netwide Assembler) [http://nasm.sourceforge.net/]<br> | ||
TASM (Turbo Assembler) [http://info.borland.com/borlandcpp/cppcomp/tasmfact.html]<br> | TASM (Turbo Assembler) [http://info.borland.com/borlandcpp/cppcomp/tasmfact.html]<br> | ||
| − | YASM [http://www.tortall.net/projects/yasm/]<br> | + | YASM (Diese Buchstabenkombination besitzt keine offizielle Langform) [http://www.tortall.net/projects/yasm/]<br> |