

Besser lernen dank der zahlreichen Ressourcen auf Docsity
Heimse Punkte ein, indem du anderen Studierenden hilfst oder erwirb Punkte mit einem Premium-Abo
Prüfungen vorbereiten
Besser lernen dank der zahlreichen Ressourcen auf Docsity
Download-Punkte bekommen.
Heimse Punkte ein, indem du anderen Studierenden hilfst oder erwirb Punkte mit einem Premium-Abo
INDICE Introduzione Struttura Registri Istruzioni fondamentali Direttive Architettura Programmazione e debugging Esempio di Codice Vantaggi e svantaggi AUTORE Giorgetti Edoardo
Art: Zusammenfassungen
1 / 2
Diese Seite wird in der Vorschau nicht angezeigt
Lass dir nichts Wichtiges entgehen!


Introduzione all'Assembly Definizione : L'assembly è un linguaggio di basso livello che rappresenta istruzioni della CPU in forma leggibile dall'uomo. Utilizzo : Utilizzato per la programmazione di sistemi embedded, driver di periferiche, e ottimizzazione di codice. Struttura di un Programma Assembly Istruzioni : Comandi che la CPU esegue (es. mov, add, sub). Etichette : Usate per identificare posizioni di codice. Commenti : Iniziano con ; e servono a documentare il codice. Registri Tipi di registri : o Registri generali (es. EAX, EBX) o Registri di segmento (es. CS, DS) o Registri di stato (es. EIP, FLAGS) Istruzioni Fondamentali Mov : Trasferisce dati tra registri, memoria e I/O. Add/Sub : Operazioni aritmetiche. Jmp : Salti incondizionati. Cmp : Confronto tra valori. Call/Ret : Gestione di subroutine. Direttive Definizione di dati : .data, .bss, .text Assegnazione di memoria : db, dw, dd per definire byte, parole, e doppie parole. Programmazione e Debugging Assembli : Conversione del codice assembly in codice macchina. Debugging : Strumenti come GDB o debuggers specifici per assembly. Architettura e Set di Istruzioni Architetture comuni : x86, ARM, MIPS. Set di istruzioni : Ogni architettura ha il proprio set di istruzioni specifico.
Esempio di Codice section .data msg db 'Hello, World!', 0 section .text global _start _start: ; Scrive il messaggio mov eax, 4 ; syscall: sys_write mov ebx, 1 ; file descriptor: stdout mov ecx, msg ; puntatore al messaggio mov edx, 13 ; lunghezza del messaggio int 0x80 ; chiamata al kernel ; Esce mov eax, 1 ; syscall: sys_exit xor ebx, ebx ; codice di uscita: 0 int 0x80 ; chiamata al kernel Vantaggi e Svantaggi Vantaggi : o Controllo totale sull'hardware. o Esecuzione veloce e ottimizzata. Svantaggi : o Complessità e lunghezza del codice. o Portabilità limitata (specifico per architettura).