Ein Pass 1- oder Preprozessor-Assembler ist ein Computerprogramm, mit dem Quellcode in einer Programmiersprache auf niedriger Ebene wie Montage verarbeitet wird, bevor er von einem Hauptversammlung verarbeitet wird. Es ist so konzipiert, dass bestimmte Vorverarbeitungsaufgaben im Montage -Quellcode durchgeführt werden, bevor der tatsächliche Montagevorgang stattfindet.
Funktionen eines Pass -1 -Assemblers
1. Makroverarbeitung: Pass 1 Assembler bietet in der Regel Makroverarbeitungsfunktionen, mit der Programmierer Makros in ihrem Montage -Quellcode definieren und verwenden können. Makros können mit den entsprechenden Parametern erweitert werden, um mehrere Zeilen von Assemblercode zu generieren, wodurch sich wiederholende Codierungsaufgaben vereinfachen und reduzieren.
2. Bedingte Montage: Pass 1 Assembler kann bedingte Anweisungen für die Montage unterstützen. Mit diesen Aussagen kann der Assembler Teile des Montage -Quellcodes selektiv basierend auf definierten Bedingungen oder Präprozessor -Richtlinien einschließen oder ausschließen. Dies kann nützlich sein, um verschiedene Versionen eines Programms zu erstellen oder Assembly -Code zu erstellen, die mit unterschiedlichen Hardwarekonfigurationen oder Betriebssystemen kompatibel sind.
3. Codegenerierung: In einigen Fällen kann Pass 1 Assembler einige Aufgaben zur Codegenerierung ausführen. Dies umfasst das Generieren bestimmter Code -Snippets oder Konstanten direkt im Quellcode der Montage.
4. Vorverarbeitungsrichtlinien: Pass 1 Assembler verarbeitet die Vorverarbeitungsanweisungen, die Anweisungen oder Befehle enthalten, die keine Assembleranweisungen sind, sondern die Art und Weise, wie der Assembler den Quellcode interpretiert und verarbeitet. Diese Richtlinien können umfassen, um eine andere Quelldatei zu integrieren, Konstanten zu definieren, und kopieren, um einen Block aus Code wörtlich einzufügen.
5. Fehlerprüfung und Diagnostik: Pass 1 Assembler kann Fehlerprüfung durchführen und Diagnostik bereitstellen, um dem Programmierer Fehler im Quellcode der Montage zu identifizieren und zu beheben.
Pass 2 Assembler
Nachdem der Assembler des Pass 1 den Quellcode der Montage verarbeitet hat und alle Vorverarbeitungsaufgaben erledigt wurden, ist der Code dann vom Hauptversammlungsbler, der auch als Pass 2 -Assembler bekannt ist, bearbeitet werden.
Pass 2 Assembler konzentriert sich hauptsächlich auf die folgenden Aufgaben:
1.
2. Code und Datenerzeugung:Pass 2 Assembler generiert die tatsächlichen Anweisungen und Datenstrukturen für Maschinencode und Datenstrukturen basierend auf den Anweisungen und Richtlinien für die Montage im Quellcode.
3. Adressberechnung:Pass 2 Assembler berechnet die Speicheradressen für alle Symbole und Anweisungen, um sicherzustellen, dass sie für die Zielarchitektur korrekt in Speicher platziert werden.
4. Fehlerüberprüfung:Übergeben 2 Assembler weiter überprüft den Quellcode des Montagefehlers, z. B. unsachgemäße Datentypen, ungültige Anweisungen oder inkonsistente Adressen.
5. Final Assembly:Sobald alle Fehler behoben wurden und der Quellcode der Montage vollständig verarbeitet wurde, generiert Pass 2 Assembler den endgültigen Binärcode, der bei Bedarf von einem Linker ausgeführt oder weiter verarbeitet werden kann.
Zusammenfassend führt der Assembler von Pass 1 oder Precessor Assembler vor dem Hauptbaugruppenvorgang wie Makroverarbeitung, bedingter Montage, Vorverarbeitungsanweisungen und Fehlerprüfung Vorverarbeitungsaufgaben im Montage -Quellcode durch. Pass 2 Assembler übernommen dann, um die Symbolauflösung, den Code und die Datenerzeugung, die Adressberechnung, die Fehlerprüfung und die Endmontage zu verarbeiten, was zur Erzeugung des ausführbaren Binärcodes führt.