FASM

FASM (flacher Monteur) in der Computerwissenschaft ist ein Monteur. Es unterstützt Programmierung auf der mit Intel artigen Zusammenbau-Sprache auf dem IA-32 und den x86-64 Computerarchitekturen. Es fordert hohe Geschwindigkeit, Größe-Optimierungen, Beweglichkeit des Betriebssystems (OS) und geistige Makroanlagen. Es ist ein auf niedriger Stufe Monteur und verwendet absichtlich sehr wenige Optionen der Befehl-Linie (sieh 'SSSO'). Es ist freie und offene Quellsoftware.

FASM enthält bindings zu Windows GUI und OpenGL. Alle Versionen von FASM können direkt Produktion einige des folgenden: flache "rohe" Dualzahl (verwendbar auch als DOS COM der rechtskräftige oder SYS Fahrer), Gegenstände: Rechtskräftig und Linkable-Format (ELF) oder Common Object File Format (COFF) (klassisch oder mit der FRAU SPEZIFISCH), oder executables entweder in MZ, ELFEN, oder in Format von Portable Executable (PE) (einschließlich WDM Fahrer, erlaubt MZ kundenspezifischen DOS-Stummel). Komplex oder dunkle Produktionsdateiformate, wie OMF, New Executable (NE), LE, und LX, werden durch FASM nicht heimisch unterstützt (aber sieh ObjConv). Ein inoffizieller Hafen, der die ARM-Architektur (FASMARM) auch ins Visier nimmt, besteht.

Geschichte

Das Projekt wurde 1999 von Tomasz Grysztar, a.k.a angefangen. Privalov, damals, ein Student der Mathematik von Polen. Sein wurde öffentlich im März 2000 veröffentlicht. FASM wird auf der Zusammenbau-Sprache völlig geschrieben und kommt mit der vollen Quelle. Es selbstveranstaltet und ist im Stande gewesen, sich seit der Version 0.90 (am 4. Mai 1999) zu sammeln. Es ist verwendet worden, um mehrere Betriebssysteme einschließlich MenuetOS und DexOS zu schreiben.

Design

FASM ist ursprünglich nur in echter flacher 16-Bit-Weise gelaufen. 32-Bit-Unterstützung wurde hinzugefügt und dann mit der fakultativen DPMI-Unterstützung ergänzt. Es wurde in einem Weg geschrieben, der es leicht gemacht hat, zu jedem Betriebssystem nach Backbord zu halten, das das flache 32-Bit-Wenden erlaubt hat; es wurde zu Windows und dann Linux getragen.

FASM ist ein auf niedriger Stufe Monteur. Es unterstützt so viele Behauptungen auf höchster Ebene nicht wie MASM oder TASM. Es stellt Syntax-Eigenschaften und Makros zur Verfügung, die es möglich machen, fehlende Behauptungen kundengerecht anzufertigen oder zu schaffen. Seine Speicherwenden-Syntax ist der idealen Weise und NASM von TASM ähnlich. Klammern werden verwendet, um Gedächtnis operands als in beiden Monteuren anzuzeigen, aber ihre Größe wird außerhalb der Klammern wie in NASM gelegt.

FASM ist ein Mehrpass-Monteur. Es macht umfassende Codegröße-Optimierung und erlaubt vorwärts mehr Verweise anzubringen. Eine übliche FASM-Konstruktion definiert Daten oder Verfahren nur, wenn sie irgendwo im Code, etwas verwendet werden, was auf den meisten Sprachen pro Gegenstand durch den linker getan wird.

FASM basiert auf dem SSSO Grundsatz (dieselbe Quelle, dieselbe Produktion): Der Inhalt der resultierenden Datei wird durch die Befehl-Linie nicht betroffen. Solch eine Annäherung spart FASM Quellen davon, Probleme zu kompilieren, präsentieren häufig in vielen Zusammenbau-Projekten. Andererseits macht es es härter, ein Projekt aufrechtzuerhalten, das aus vielfachen getrennt kompilierten Quelldateien oder mischsprachigen Projekten besteht. Jedoch lindert der Win32 FA.EXE Streifband das etwas. FASM Projekte können von einer Quelldatei direkt in eine rechtskräftige Datei ohne eine sich verbindende Bühne gebaut werden.

Beispiele

  • DexOS, BOS - EINEM DOS ähnlicher 32-Bit-OSes
  • Mastenkran-Betriebssystem - 32 Bit haben Weise OS geschützt
  • MenuetOS - 32- und 64-Bit-GUI Betriebssysteme
  • KolibriOS - 32-Bit-GUI Betriebssystem
  • Miraculix - 32-Bit-GUI Betriebssystem
  • PROE - x86-64 Verschlüsselungsmotor
  • uFMOD-.xm Spieler für Win32, Linux, Unix/BSD und KolibriOS
  • +4_forever? - Kommodore +4 Emulator

Mehrere Bearbeiter verwenden FASM als ein backend:

Siehe auch

  • Vergleich von Monteuren
  • Frisch (IDE)

Außenverbindungen


Maria Clementina Sobieska / Liste von Köpfen der Regierung Norwegens
Impressum & Datenschutz