Funzioni di un assemblatore Passo 1
1. Elaborazione macro: Pass 1 Assembler fornisce in genere funzionalità di elaborazione delle macro, consentendo ai programmatori di definire e utilizzare le macro all'interno del codice sorgente dell'assembly. Le macro possono essere espanse con i parametri appropriati per generare più righe di codice assembly, contribuendo a semplificare e ridurre le attività di codifica ripetitive.
2. Assemblea condizionale: Pass 1 Assembler può supportare istruzioni di assembly condizionale. Queste istruzioni consentono all'assemblatore di includere o escludere selettivamente parti del codice sorgente dell'assembly in base a condizioni definite o direttive del preprocessore. Ciò può essere utile per creare versioni diverse di un programma o per creare codice assembly compatibile con diverse configurazioni hardware o sistemi operativi.
3. Generazione del codice: In alcuni casi, Pass 1 Assembler potrebbe eseguire alcune attività di generazione del codice. Ciò include la generazione di determinati frammenti di codice o costanti direttamente all'interno del codice sorgente dell'assembly.
4. Direttive di preelaborazione: Passaggio 1 L'assemblatore elabora le direttive di preelaborazione, che forniscono istruzioni o comandi che non sono istruzioni di assemblaggio ma influenzano il modo in cui l'assemblatore interpreta ed elabora il codice sorgente. Queste direttive potrebbero includere INCLUDE per incorporare un altro file sorgente, EQUATE per definire costanti e COPY per inserire un blocco di codice parola per parola.
5. Controllo e diagnostica degli errori: Pass 1 Assembler può eseguire il controllo degli errori e fornire diagnostica per aiutare il programmatore a identificare e correggere gli errori nel codice sorgente dell'assembly.
Passo 2 Assemblatore
Dopo che l'assemblatore del Passo 1 ha elaborato il codice sorgente dell'assembly e tutte le attività di preelaborazione sono state completate, il codice è pronto per essere elaborato dall'assemblatore principale, noto anche come assemblatore del Passo 2.
Pass 2 Assembler si concentra principalmente sulle seguenti attività:
1. Risoluzione dei simboli:Pass 2 Assembler risolve tutti i simboli definiti nel codice sorgente dell'assembly assegnando loro indirizzi di memoria specifici.
2. Generazione di codice e dati:Pass 2 Assembler genera le istruzioni del codice macchina e le strutture dati effettive in base alle istruzioni e alle direttive di assemblaggio nel codice sorgente.
3. Calcolo degli indirizzi:Pass 2 Assembler calcola gli indirizzi di memoria per tutti i simboli e le istruzioni, assicurandosi che siano posizionati correttamente in memoria per l'architettura di destinazione.
4. Controllo degli errori:Pass 2 Assembler verifica ulteriormente il codice sorgente dell'assembly per eventuali errori, come tipi di dati errati, istruzioni non valide o indirizzi incoerenti.
5. Assemblaggio finale:una volta che tutti gli errori sono stati risolti e il codice sorgente dell'assembly è stato completamente elaborato, Pass 2 Assembler genera il codice binario assemblato finale, che è pronto per essere eseguito o ulteriormente elaborato da un linker, se necessario.
In sintesi, Pass 1 Assembler, o Preprocessor Assembler, esegue attività di preelaborazione sul codice sorgente dell'assembly prima del processo di assemblaggio principale, come l'elaborazione delle macro, l'assemblaggio condizionale, le direttive di preelaborazione e il controllo degli errori. Il Pass 2 Assembler subentra quindi nella gestione della risoluzione dei simboli, della generazione di codice e dati, del calcolo degli indirizzi, del controllo degli errori e dell'assemblaggio finale, con conseguente generazione del codice binario eseguibile.
hardware © www.354353.com