Informazione programmazione assembly

di il
2 risposte

Informazione programmazione assembly

Ciao a tutti . io sono nuovo nel mondo di assembly e ho un po di esperienza con c ,c++ ,java,python e php lo conosco abbastanza bene .ora vorrei imparare assembly sono molto appassionato di informatica ho scaricato qualche guida di assembly però l'esempio che c'è nella guida di hello world quando cerco di compilare mi da tanti errori nel terminale . io uso linux ubuntu 14.04 64bit e qualcuno esperto mi spega prima di tutto con quale estensione devo salvare un file assembly .s ,asm ? l'esempio nella guida è questo . vuoi mi potete dire il nome di qualche guida che sia adatta per un principiante che impara la prima volta assembly grazie mille

.data 
.text
	.global main
hello:
	.string 	"hello assembly\n"
main:
	movl 		$4,%eax
	movl		        $1,%ebx
	movl 		$hello,%ecx
	movl 		$13,%edx
	int  		        $0x80

	movl 		$1,%eax
	movl 		$0,%ebx
	int  		        $0x80

2 Risposte

  • Re: Informazione programmazione assembly

    Innanzitutto, devi sapere che esistono diversi linguaggi assembly. Quello dell'esempio sembrerebbe, dal momento che ci sono i registri ebx eccetera, la versione moderna dell'assembly del processore 8086 (quindi l'assembly usato anche dai moderni processori pentium, i7 ecc.).

    A complicare ulteriormente le cose, ogni linguaggio assembly ha più di una sintassi, che non dipende dal processore ma dall'assemblatore che si usa. Gli assemblatori in ambiente windows solitamente permettono di assemblare sorgenti con sintassi MASM, mentre su linux si usa solitamente la sintassi GAS (a meno che non usi un assemblatore per windows lanciato con wine).

    Ti consiglio comunque di iniziare con la versione base dell'assembly x86 (ovvero con quella creata per il processore 8086), e di controllare che la sintassi usata nella guida sia la stessa ammessa dal tuo assemblatore.

    Se hai la possibilità di lavorare anche su windows, allora ho anche un titolo per te: M. Sonza Reorda et al., La programmazione in Assembler x86, Narcissus.me (2012)

    Si tratta del libro del mio professore di architettura dei calcolatori, e l'ebook mi pare che costi intorno ai 5 euro (considera che sono oltre 300 pagine).

    ciao
  • Re: Informazione programmazione assembly

    Grazie mille per la tua bellissima risposta . ho scaricato una guida da google che è basata sulla l'architettura 8086 processori intel x86 ora vedo anche la guida che mi hai detto cosi imparo un po di basi come si devono . la passione per assembly mi è venuta qualche da qualche giorno quando l'ho scaricato un libro di hacking dal sito di ebook dove insegnano quanto è facile attaccare un codice vulnerabile scritto in c e c++ . poi quando ho iniziato a seguire qualche esempio in quella guida ho visto che bisogna avere un po di conoscenza con assembly e ho deciso di buttarmi anche nel mondo di assembly perchè quella guida dek hacking mi ha fatto capire quanto è potente assembly cmq io non ho nessuna intensione cattiva ma voglio imparare per migliorare la mia esperienza informatica grazie mille se c'è qualche altro consiglio per favore scrivetemi
Devi accedere o registrarti per scrivere nel forum
2 risposte