programmazione in assembly, Zusammenfassungen von Informatik

INDICE Introduzione Struttura Registri Istruzioni fondamentali Direttive Architettura Programmazione e debugging Esempio di Codice Vantaggi e svantaggi AUTORE Giorgetti Edoardo

Art: Zusammenfassungen

2023/2024

Hochgeladen am 31.10.2024

edoardo-giorgetti-3
edoardo-giorgetti-3 🇩🇪

3 dokumente

1 / 2

Toggle sidebar

Diese Seite wird in der Vorschau nicht angezeigt

Lass dir nichts Wichtiges entgehen!

bg1
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:
oRegistri generali (es. EAX, EBX)
oRegistri di segmento (es. CS, DS)
oRegistri 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.
pf2

Unvollständige Textvorschau

Nur auf Docsity: Lade programmazione in assembly und mehr Zusammenfassungen als PDF für Informatik herunter!

Introduzione all'AssemblyDefinizione : 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 AssemblyIstruzioni : 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. RegistriTipi di registri : o Registri generali (es. EAX, EBX) o Registri di segmento (es. CS, DS) o Registri di stato (es. EIP, FLAGS) Istruzioni FondamentaliMov : Trasferisce dati tra registri, memoria e I/O.  Add/Sub : Operazioni aritmetiche.  Jmp : Salti incondizionati.  Cmp : Confronto tra valori.  Call/Ret : Gestione di subroutine. DirettiveDefinizione di dati : .data, .bss, .text  Assegnazione di memoria : db, dw, dd per definire byte, parole, e doppie parole. Programmazione e DebuggingAssembli : Conversione del codice assembly in codice macchina.  Debugging : Strumenti come GDB o debuggers specifici per assembly. Architettura e Set di IstruzioniArchitetture 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 SvantaggiVantaggi : o Controllo totale sull'hardware. o Esecuzione veloce e ottimizzata.  Svantaggi : o Complessità e lunghezza del codice. o Portabilità limitata (specifico per architettura).