Lengagi assembler
Sembiansa
Ël lengagi assembler (o assembly) a l'é un lengagi ëd programassion ëd bass livel ch'a mapa diretament ansima a j'istrussion ëd màchin-a d'un processor. A deuvra mnemònich e còdes simbòlich për rapresenté j'operassion base, registr, e adrësse ëd memòria, rendend ël còdes pì lesèivol che ël binari. Minca architetura ëd processor (es. x86, ARM) a l'ha sò assembly ëspessìfich, e a deuv esse tradovù an còdes màchin-a da n'assembler.
Stòria
[modìfica | modifiché la sorgiss]- Ani 1940: Primi esempi ëd programassion an còdes màchin-a për computer com l'ENIAC.
- Ani 1950: Introdussion dij mnemònich për semplifiché la programassion (es. "ADD" për soma).
- Ani 1960: Svilup d'assembler automàtich për convertì j'istrussion an binari.
- Ani 1980: Usagi estèis ant ij PC për scritura ëd sistema Operativ driver.
- Al di d'ancheuj: Dovrà për aplicassion crìtiche d'eficensa e an sicurëssa informàtica.
Strutura e Component
[modìfica | modifiché la sorgiss]- Mnemònich: Còdes curt për operassion (es. `MOV` për còpia, `JMP` për sauta).
- Registr: Locassion ëd memòria dël processor (es. EAX, RBX ant x86).
- Diretive: Istrussion për l'assembler (es. `.data` për definì dat).
- Etichëtte: Nòm për adrësse ëd memòria (es. `loop_start:`).
- Sintassi: Varianta coma Intel (es. `MOV AX, BX`) e AT&T (es. `movw %bx, %ax`).
Usagi Pràtich
[modìfica | modifiché la sorgiss]- Firmware e driver: Contròl diret ëd l'hardware.
- Sistema operativ: Part crìtiche ëd kernel e bootloader.
- Gieugh e aplicassion performante: Otimisassion ëd routin-e antense.
- Reverse engineering: Analisé malware o decompilé programa.
- Dispositiv embedded: Micro-controller e sistema sensa sistema operativ.
Avantagi e Svantagi
[modìfica | modifiché la sorgiss]- Avantagi:
- Contròl precis: Acess a tute le fonsion ëd l'hardware.
- Efissensa: Còdes otimisà al màssim për velocità e dimension.
- Nessun dipendense da compilador: Possibilità ëd creé còdes màcin-a diretament.
- Svantagi:
- Difìcil da amprende: Conossensa aprofondìa dl'architetura necessaria.
- Pòch portàbil: Còdes spessìfich për minca processor.
- Temp ëd dësvlup longh: Scritura e coression laboriose.
Evolussion Tecnològica
[modìfica | modifiché la sorgiss]- Ani 1970: Utilisassion për ij prim sistema operativ (es. UNIX).
- Ani 1990: Declin a favor dij lengagi d'àut livel, ma sopravivù ant le otimisassion.
- Al di d'ancheuj:
- Assembler inline: Mës-cé assembly ant ël còdes C/C++ për otimisassion locaj.
- Strument d'anàlisi: Debugger (es. GDB) e disassembler (es. IDA Pro).
- Sicurëssa: Studi dle vulnerabilità a livel ëd còdes màchin-a.
Vardé ëdcò
[modìfica | modifiché la sorgiss]Arferiment
[modìfica | modifiché la sorgiss]- Hyde, R. (2010). *The Art of Assembly Language*. No Starch Press.
- Fog, A. (2021). *Optimizing subroutines in assembly language*. Technical University of Denmark.