En aquest tema, aprendrem a configurar l'entorn necessari per començar a programar en llenguatge Assembly. La configuració de l'entorn és un pas crucial per assegurar que podem escriure, compilar i executar els nostres programes sense problemes.
- Elecció de l'Entorn de Desenvolupament
Opcions Populars
- NASM (Netwide Assembler): Un dels assembladors més populars per a x86.
- MASM (Microsoft Macro Assembler): Utilitzat principalment en entorns Windows.
- GAS (GNU Assembler): Part del paquet binutils de GNU, utilitzat en sistemes Unix/Linux.
- FASM (Flat Assembler): Un assemblador ràpid i eficient per a x86.
Consideracions
- Compatibilitat del Sistema Operatiu: Assegura't que l'assemblador que triïs sigui compatible amb el teu sistema operatiu.
- Arquitectura: Alguns assembladors estan dissenyats per a arquitectures específiques (x86, ARM, etc.).
- Instal·lació de NASM en Diferents Sistemes Operatius
Windows
-
Descarrega NASM:
- Visita el lloc web oficial de NASM: nasm.us
- Descarrega l'instal·lador per a Windows.
-
Instal·la NASM:
- Executa l'instal·lador descarregat i segueix les instruccions de la pantalla.
-
Configura la Variable d'Entorn:
- Afegeix la ruta d'instal·lació de NASM a la variable d'entorn
PATH
:- Cerca "Variables d'entorn" al menú d'inici.
- Edita la variable
PATH
i afegeix la ruta on es trobanasm.exe
.
- Afegeix la ruta d'instal·lació de NASM a la variable d'entorn
Linux
-
Instal·lació mitjançant el Gestor de Paquets:
- Obre una terminal.
- Executa la següent comanda per instal·lar NASM:
sudo apt-get install nasm
-
Verifica la Instal·lació:
- Comprova que NASM s'ha instal·lat correctament executant:
nasm -v
- Comprova que NASM s'ha instal·lat correctament executant:
macOS
-
Instal·lació mitjançant Homebrew:
- Si no tens Homebrew instal·lat, primer instal·la'l seguint les instruccions a brew.sh.
- Obre una terminal i executa:
brew install nasm
-
Verifica la Instal·lació:
- Comprova que NASM s'ha instal·lat correctament executant:
nasm -v
- Comprova que NASM s'ha instal·lat correctament executant:
- Instal·lació d'un Editor de Text o IDE
Editors de Text Populars
- Visual Studio Code: Un editor de codi font lleuger i extensible.
- Sublime Text: Un editor de text sofisticat per a codi, marcat i prosa.
- Atom: Un editor de text hackeable per al segle XXI.
Configuració de Visual Studio Code per a Assembly
-
Descarrega i Instal·la Visual Studio Code:
- Visita code.visualstudio.com i descarrega l'instal·lador per al teu sistema operatiu.
-
Instal·la Extensions Necessàries:
- Obre Visual Studio Code.
- Ves a la secció d'extensions (icona de quadrat amb quatre quadrats petits).
- Cerca i instal·la les següents extensions:
x86 and x86_64 Assembly
: Proporciona suport per a la sintaxi d'Assembly.Code Runner
: Permet executar codi directament des de l'editor.
-
Configura l'Entorn de Treball:
- Crea un nou fitxer amb extensió
.asm
. - Escriu un codi Assembly simple per verificar la configuració.
- Crea un nou fitxer amb extensió
- Primer Programa en Assembly
Exemple de Codi
section .data msg db 'Hola, món!', 0 section .text global _start _start: ; Escriu el missatge a la sortida estàndard mov eax, 4 ; syscall: sys_write mov ebx, 1 ; file descriptor: stdout mov ecx, msg ; missatge a escriure mov edx, 12 ; longitud del missatge int 0x80 ; crida al sistema ; Sortida del programa mov eax, 1 ; syscall: sys_exit xor ebx, ebx ; codi de sortida: 0 int 0x80 ; crida al sistema
Compilació i Execució
-
Compila el Programa:
nasm -f elf32 -o hola.o hola.asm
-
Enllaça el Fitxer Objecte:
ld -m elf_i386 -s -o hola hola.o
-
Executa el Programa:
./hola
Conclusió
Ara que has configurat l'entorn de desenvolupament, estàs preparat per començar a escriure i executar programes en llenguatge Assembly. En els següents mòduls, aprofundirem en els fonaments del llenguatge i començarem a explorar les seves capacitats.
Curs de Programació en Assembly
Mòdul 1: Introducció al Llenguatge Assembly
- Què és el Llenguatge Assembly?
- Història i Evolució de l'Assembly
- Conceptes Bàsics i Terminologia
- Configuració de l'Entorn de Desenvolupament
Mòdul 2: Fonaments del Llenguatge Assembly
- Comprensió de la CPU i la Memòria
- Registres i les Seves Funcions
- Sintaxi i Estructura Bàsiques
- Escrivint el Teu Primer Programa en Assembly
Mòdul 3: Representació de Dades i Instruccions
- Sistemes Binari i Hexadecimal
- Tipus de Dades i Mides
- Instruccions Aritmètiques
- Instruccions Lògiques
Mòdul 4: Flux de Control
Mòdul 5: Conceptes Avançats d'Assembly
- Interrupcions i Crides de Sistema
- Macros i Assembly Condicional
- Assembly Inline en Llenguatges d'Alt Nivell
- Optimització del Codi Assembly
Mòdul 6: Assembly per a Diferents Arquitectures
Mòdul 7: Aplicacions Pràctiques i Projectes
- Escrivint un Bootloader Simple
- Creant un Nucli Bàsic de Sistema Operatiu
- Interfície amb el Maquinari
- Depuració i Perfilat del Codi Assembly