Nwlapcug.com


Strutture di dati utilizzati da assemblatori

Strutture di dati utilizzati da assemblatori


Sofisticati programmi fanno uso di strutture di dati, quale gruppo insieme elementi di dati nei record organizzato in modo logico. Anche se i programmatori linguaggio assembly sono utilizzati strutture dati per decenni, recenti miglioramenti agli assemblatori hanno fatto il loro sostegno per strutture di dati molto più paragonabile a linguaggi di livello superiore. Le direttive assembler consentono ai programmatori di creare molti tipi di complessi di strutture. Questo dà ai programmatori più libertà pur mantenendo di linguaggio assembly tradizionale velocità ed efficienza.

Tipi di dati

I tipi di dati supportati da un assembler riflettono le funzionalità dell'hardware microprocessore utilizzato all'interno del computer. Semplice microprocessori a 8 bit sono a 8-bit integer e tipi di dati di indirizzi a 16 bit. Processori più complessi possono offrire interi a 32-bit, binary coded decimal (BCD) e singola e doppia precisione valori a virgola mobile, oltre ai tipi di dati più semplici.

Altri tipi di dati, ad esempio byte e caratteri, semplicemente lasciare che i programmatori assegnare etichette a specifici blocchi di memoria. A differenza dei linguaggi di livello superiore, un assembler non controlla per i dati validi in questi tipi, ma queste opzioni rendono più facile scrivere programmi.

Strutture di dati

Quando i programmatori è necessario organizzare i dati, utilizzano strutture di dati. Ogni struttura viene assegnato un nome..--ad esempio, transaction_record. Gli elementi all'interno della struttura sono anche denominati, e ognuno di essi dispone di un tipo. La struttura di transaction_record potrebbe consistere di tre elementi: un valore integer denominato transaction_number, una stringa di 40 caratteri chiamato transaction_name e un numero di 8 cifre chiamato transaction_date. Programmatore di creare queste strutture per la loro comodità e per rendere più facile per gli altri a capire il loro codice.

Supporto per l'assembler

Mentre lingue di più alto livello consentono ai programmatori di creare strutture, relativamente pochi compilatori di linguaggio assembly offerto supporto per strutture in passato. Ma questo sta cambiando. Ad esempio, l'alto livello Assembler o HLA per breve, utilizza direttive RECORD ed ENDRECORD per specificare l'inizio e la fine di una struttura. Mentre i nomi degli elementi all'interno di una struttura di dati devono essere univoci, tali nomi possono essere riutilizzati in altre strutture. Ad esempio, phone_number potrebbe essere utilizzato come nome di un elemento in una struttura di dati per i clienti e come nome di un elemento in una struttura di dati separati per i rappresentanti.

Matrici

Matrici di struttura prendono il concetto di un passo ulteriore. Con una matrice, il programmatore può memorizzare molti record in memoria con la stessa disposizione ripetuta, accedere tramite l'indice della matrice. È inoltre possibile includere le matrici struttura come elementi all'interno di un'altra struttura.

Allineamento

L'allineamento dei dati è spesso un problema di programmazione in linguaggio assembly. È più efficiente per memorizzare alcuni tipi di dati in indirizzi di memoria che sono un multiplo di due o quattro. L'assembler HLA fornisce una direttiva align con un parametro intero. La direttiva indica l'assembler per iniziare l'archiviazione di elementi di dati in indirizzi di memoria che sono multipli di numero intero.