Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-05-2011, 15:13   #1
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
[Assembly] Curiosità linguaggio e assembler

Sono sempre stato curioso di studiare e imparare un pò di assembly. Nella F.A.Q tra le varie cose dice:

Quote:
Ecco perche' il compilatore assembly in realta' si chiama assemblatore (assembler).
Proprio perche' non effettua alcuna traduzione, ma "assembla" cio' che avete scritto in un formato binario leggibile dalla macchina e dipendente dal sistema operativo.
Ma il codice binario non dovrebbe essere "universale"? E' il codice assembly che dovrebbe dipendere dall'architettura del processore no? E il S.O in tutto questo cosa c'entra?

Infine:

Quote:
avete bisogno
di un assemblatore.
Gli unici due ad essere veramente aggiornati sono lo GNU Assembler (as, anche detto gas) e Nasm (Netwide Assembler).
Il primo e' stato progettato per assemblare l'output dei compilatori.NASM invece e' considerato dai piu' come l'apoteosi dell'assemblatore per codifica manuale. Non vi sembrera' infatti di possedere un assemblatore, ma un compilatore vero e proprio! Ha una gestione degli errori veramente degna di nota, inoltre supporta l'assemblaggio in diversi formati
binari (tra cui il COFF, l'ELF e via dicendo). La sua sintassi inoltre e' pulita e semplice da capire (per quanto semplice si possa definire la sintassi di un linguaggio assembly, ovviamente ).
1)cosa significa la parte in grassetto?
2)cosa c'entra NASM con la sitassi dell'assembly? Non dovrebbe essere un assemblatore? Da quello che ho incollato sembra che NASM abbia una propria sintassi, ma la sintassi dell'assembly non cambia sempre a seconda dell'architettura su cui deve essere scritto?

Sono domande da newbie totale, ma è quello che sono per quanto riguarda assembly e basso livello Da qualche parte si deve pur iniziare però
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 15:56   #2
<Gabrik>
Senior Member
 
L'Avatar di <Gabrik>
 
Iscritto dal: Apr 2006
Città: Ilê-de-France
Messaggi: 319
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Sono sempre stato curioso di studiare e imparare un pò di assembly. Nella F.A.Q tra le varie cose dice:
Quote:
Ecco perche' il compilatore assembly in realta' si chiama assemblatore (assembler).
Proprio perche' non effettua alcuna traduzione, ma "assembla" cio' che avete scritto in un formato binario leggibile dalla macchina e dipendente dal sistema operativo.
Ma il codice binario non dovrebbe essere "universale"? E' il codice assembly che dovrebbe dipendere dall'architettura del processore no?
da quel poco che ho studiato il binario non è propio universale perché ad ogni architettura corrispondono istruzioni diverse per la stessa sequenza di bit
per esemio:
in x86 00F4 potrebbe essere una mov
mentre in ARM potrebbe essere qualche altra cosa tipo una add o un jmp
(ovviamente ho preso un valore a caso )
__________________
There is no cloud, it's just someone else computer

Ultima modifica di <Gabrik> : 22-05-2011 alle 15:58.
<Gabrik> è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 16:02   #3
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Quote:
Originariamente inviato da <Gabrik> Guarda i messaggi
da quel poco che ho studiato il binario non è propio universale perché ad ogni architettura corrispondono istruzioni diverse per la stessa sequenza di bit
per esemio:
in x86 00F4 potrebbe essere una mov
mentre in ARM potrebbe essere qualche altra cosa tipo una add o un jmp
(ovviamente ho preso un valore a caso )
Ok, grazie. Ora forse ho capito cosa voleva quella parte della F.A.Q(non è che sia proprio chiarissima è, si deve interpretare).

Ora aspetto chiarimenti sulla seconda parte, anch'essa poco chiara a mio parere.
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 16:04   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Sono sempre stato curioso di studiare e imparare un pò di assembly. Nella F.A.Q tra le varie cose dice:

Ma il codice binario non dovrebbe essere "universale"?
Assolutamente no. Anzi, è il meno universale che ci possa essere.
Quote:
E' il codice assembly che dovrebbe dipendere dall'architettura del processore no?
Sì.
Quote:
E il S.O in tutto questo cosa c'entra?
Perché s.o. diversi hanno ABI diverse, e di conseguenza il codice assembly può essere anche abbastanza diverso, pur essendo per lo stesso processore.
Quote:
Infine:

1)cosa significa la parte in grassetto?
Che i compilatori di linguaggi ad alto livello generano codice assembly, e quest'ultimo finisce poi in pasto a un assemblatore come (g)as che fornirà effettivamente il codice oggetto.
Quote:
2)cosa c'entra NASM con la sitassi dell'assembly? Non dovrebbe essere un assemblatore? Da quello che ho incollato sembra che NASM abbia una propria sintassi, ma la sintassi dell'assembly non cambia sempre a seconda dell'architettura su cui deve essere scritto?
No, cambia. Ad esempio la toolchain di GNU utilizza la sintassi AT&T, che è più adatta a codice generato automaticamente appunto (vedi punto precedente).

Mentre tradizionalmente i programmatori assembly x86 hanno usato la sintassi Intel, che è di gran lunga più semplice da utilizzare per chi, al contrario, scrive il codice manualmente.

Inoltre, a parte la sintassi di base, un assemblatore può fornire costrutti sintattici aggiuntivi per rendere più comoda la vita al programmatore assembly (che di per sé soffre già abbastanza lavorando con questo linguaggio, per cui ogni aiuto è bene accetto ).
Quote:
Sono domande da newbie totale, ma è quello che sono per quanto riguarda assembly e basso livello Da qualche parte si deve pur iniziare però
Chiedere non costa nulla.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 16:09   #5
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Assolutamente no. Anzi, è il meno universale che ci possa essere.
Non lo sapevo, non avendo mai studiato queste cose credevo che il linguaggio binario, essendo compost da 0 e 1, fosse uguale a presindere dall'hardware.

Quote:
No, cambia. Ad esempio la toolchain di GNU utilizza la sintassi AT&T, che è più adatta a codice generato automaticamente appunto (vedi punto precedente).
Si, infatti ho detto che cambia
Quote:
Inoltre, a parte la sintassi di base, un assemblatore può fornire costrutti sintattici aggiuntivi per rendere più comoda la vita al programmatore assembly (che di per sé soffre già abbastanza lavorando con questo linguaggio, per cui ogni aiuto è bene accetto ).
Si, ma il linguaggio non dipende dall'architettura del processore? Cosa c'entra con l'assmbler che è uno strumento e non un linguaggio?
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 16:18   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
In realtà non c'è uno standard vero e proprio, e in genere è il produttore di CPU che, rilasciando informazioni a riguardo, definisce la sintassi per il proprio processore.

Ma questo non vuol dire che si debba seguire al 100% quella sintassi. Infatti la si può anche estendere, oppure utilizzarne una completamente diversa (vedi quella AT&T, ad esempio).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 16:56   #7
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
In realtà non c'è uno standard vero e proprio, e in genere è il produttore di CPU che, rilasciando informazioni a riguardo, definisce la sintassi per il proprio processore.

Ma questo non vuol dire che si debba seguire al 100% quella sintassi. Infatti la si può anche estendere, oppure utilizzarne una completamente diversa (vedi quella AT&T, ad esempio).
Ma il processore deve supportarla una determinata sintassi però. E' questo che non capisco: questo assembler ha una propria sintassi e funziona su tutti i processori? E' una specie di "interprete" allora?
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 17:09   #8
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Ma il processore deve supportarla una determinata sintassi però.
Il processore supporta l'unica cosa che conosce i binari (già caricati in memoria).

Come si arrivi a ottenere tutto ciò è un altro paio di maniche.
Quote:
E' questo che non capisco: questo assembler ha una propria sintassi e funziona su tutti i processori? E' una specie di "interprete" allora?
No, l'assembler è un programma a tutti gli effetti e, come tale, deve essere scritto in qualche linguaggio.

Inoltre non è richiesto che l'assemblatore giri sullo stesso processore per cui genererà codice oggetto. Infatti esistono i cosiddetti cross-assemblatori, che girano su una piattaforma e compilano per un'altra.

Poi ci sono assemblatori che supportano più sintassi assembly per lo stesso processore (ad esempio Intel e AT&T per gli x86) e/o per processori diversi (x86, 68000, ARM, ecc.), e che possono girare su piattaforme diverse.

EDIT: l'assemblatore potrebbe anche essere un programma interpretato.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 22-05-2011, 18:15   #9
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Il processore supporta l'unica cosa che conosce i binari (già caricati in memoria).

Come si arrivi a ottenere tutto ciò è un altro paio di maniche.

No, l'assembler è un programma a tutti gli effetti e, come tale, deve essere scritto in qualche linguaggio.

Inoltre non è richiesto che l'assemblatore giri sullo stesso processore per cui genererà codice oggetto. Infatti esistono i cosiddetti cross-assemblatori, che girano su una piattaforma e compilano per un'altra.

Poi ci sono assemblatori che supportano più sintassi assembly per lo stesso processore (ad esempio Intel e AT&T per gli x86) e/o per processori diversi (x86, 68000, ARM, ecc.), e che possono girare su piattaforme diverse.

EDIT: l'assemblatore potrebbe anche essere un programma interpretato.
Più o meno ho capito, anche se il fatto di conoscere i binari è collegato al linguaggio assembly relativo visto che ogni linguaggio assembly codifica le informazioni in binario in modo diverso.
Imparerò iniziando a partire da qualche parte, il problema è da dove
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 10:51   #10
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21857
se vuoi iniziare con l'assembler ti conviene iniziare con processori semplici che hanno poche istruzioni puoi iniziare cercando qualcosa su z80 ( il celebre processore degli zx spectrum o del più volgare gameboy) oppure con i mips (scarica pc spim)

in alternativa puoi passare al lato oscuro dell'hw e comprare una scheda a microcontrollore ( es la classica ed economica arduino) e programmare quella
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 11:45   #11
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Quote:
Originariamente inviato da !fazz Guarda i messaggi
se vuoi iniziare con l'assembler ti conviene iniziare con processori semplici che hanno poche istruzioni puoi iniziare cercando qualcosa su z80 ( il celebre processore degli zx spectrum o del più volgare gameboy) oppure con i mips (scarica pc spim)

in alternativa puoi passare al lato oscuro dell'hw e comprare una scheda a microcontrollore ( es la classica ed economica arduino) e programmare quella
Grazie mille per i consigli
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 11:56   #12
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21857
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Grazie mille per i consigli
di niente, se ti servono consigli chiedi pure anche se ultimamente l'assembly lo uso pochissimo visto che faccio tutto in c/c++ anche sui micro
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 12:11   #13
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Io ti consiglio invece di comprare un libro:
"Reti logiche e calcolatori"
Di Fabrizio Luccio e Linda Pagli.
Ci troverai la risposta a tutte le domande che hai postato qui
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 13:51   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da !fazz Guarda i messaggi
se vuoi iniziare con l'assembler ti conviene iniziare con processori semplici che hanno poche istruzioni puoi iniziare cercando qualcosa su z80 ( il celebre processore degli zx spectrum o del più volgare gameboy) oppure con i mips (scarica pc spim)

in alternativa puoi passare al lato oscuro dell'hw e comprare una scheda a microcontrollore ( es la classica ed economica arduino) e programmare quella
In alternativa c'è pure l'emulatore 6502 online, con tanto di assemblatore integrato ed esempi (anche giochi!).

Processori più semplici di un 6502 è difficile trovarne.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 14:20   #15
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Più o meno ho capito, anche se il fatto di conoscere i binari è collegato al linguaggio assembly relativo visto che ogni linguaggio assembly codifica le informazioni in binario in modo diverso.
Imparerò iniziando a partire da qualche parte, il problema è da dove
Aggiungerei, per chiarire, che tra assembly e linguaggio macchina c'è una corrispondenza biunivoca. L'assembly è la rappresentazione mnemonica del linguaggio del processore cioè il codice binario.

Ogni famiglia di processori c'ha il suo e ogni processore in una data famiglia ha meno o più istruzioni che svolgono vari tipi di operazioni.

L'assembler è semplicemente il programma che trasforma il codice assembly mnemonico in codice binario. Il sistema operativo c'entra per il semplice motivo che gli eseguibili che andrai a creare in assembly dovranno girare, in genere, all'interno del sistema operativo che stai usando. In questo caso dovranno usare l'API dell'OS ( altrimenti non arrivi lontano ) e gli eseguibili dovranno essere nel formato definito dall'OS ( PE per windows, ELF per linux ).

Per iniziare, essendo non proprio facilissimo trovare informazioni su processori vecchi, ti conviene partire con gli x86. C'è un libro di James Coffron che ho usato anni fa ed è molto chiaro. La fregatura è che non tratta la programmazione a 32 bit ( quindi la p-mode ecc... ) ma per iniziare è ottimo perchè fa capire bene molti concetti che stanno alla base dell'architettura x86.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 14:34   #16
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Non è così. L'assembly può prevedere dei costrutti sintattici aggiuntivi, come già detto, oltre che delle macroistruzioni che possono anche non avere una diretta corrispondenza con un opcode dell'architettura target.

Viceversa, è possibile che alcuni opcode non abbiano il corrispondente mnemonico assembly. Basti pensare proprio all'architettura x86 che hai citato; ad esempio INC EAX può benissimo essere rappresentato con due opcode diversi (e, a voler esser pignoli, quasi tutte le istruzioni possono avere opcode diversi). Anche i 68000 hanno opcode duplicati per lo stesso mnemonico (anche se sono pochi i casi rispetto a x86).

Quindi, in generale, il concetto è che l'assembly è un linguaggio di programmazione per una determinata architettura e NON necessariamente si tratta di un "mascheramento" a più alto livello degli opcode del linguaggio macchina.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 14:45   #17
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Non è così. L'assembly può prevedere dei costrutti sintattici aggiuntivi, come già detto, oltre che delle macroistruzioni che possono anche non avere una diretta corrispondenza con un opcode dell'architettura target.
l'assemblatore ma non il linguaggio assembly

avere le macro in nasm non implica che l'assembly x86 ( cioè l'isa x86 ) ha le macro

un assemblatore che implementa cose che vanno oltre le istruzioni del processore sta implementando delle estensioni
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 14:58   #18
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Sono sempre stato curioso di studiare e imparare un pò di assembly. Nella F.A.Q tra le varie cose dice:



Ma il codice binario non dovrebbe essere "universale"? E' il codice assembly che dovrebbe dipendere dall'architettura del processore no? E il S.O in tutto questo cosa c'entra?

Infine:



1)cosa significa la parte in grassetto?
2)cosa c'entra NASM con la sitassi dell'assembly? Non dovrebbe essere un assemblatore? Da quello che ho incollato sembra che NASM abbia una propria sintassi, ma la sintassi dell'assembly non cambia sempre a seconda dell'architettura su cui deve essere scritto?

Sono domande da newbie totale, ma è quello che sono per quanto riguarda assembly e basso livello Da qualche parte si deve pur iniziare però
1) A differenza di tutti gli altri linguaggi ogni istruzione Assembler corrisponde esattamente ad un'istruzione del processore. Quando tu fai un mov di un certo valore in un certo registro della CPU (non ricordo più la sintassi), quell'istruzione corrisponde esattamente ad un'istruzione interpretata dal processore per cui si stà scrivendo il programma...infatti un programma Assembler per X86 non potrà mai essere assemblato e fatto girare su un'altra architettura mentre un programma in C potrà essere COMPILATO per qualsiasi architettura...

Questo perchè quando tu scrivi un programma Assembler stai dando istruzioni direttamente alla CPU e sono istruzioni per quella specifica CPU...se tu scrivi un programma in C lo stai scrivendo in un linguaggio più generale che poi verrà COMPILATO in un'assembler per la specifica architettura che stai usando (ad esempio usando il compilatore C per X86 piuttosto che per SPARC, etcetc) che poi a sua volta verrà assemblato dall'assemblatore che viene sempre usato nella fase finale...

Questo molto a grandi linee ma spero che renda l'idea...

In assembler c'è una corrispondenza uno ad uno tra le istruzioni che scrivi e le istruzioni della CPU

2) Credo (perchè ho usato poco assembler) che GNU Assembler sia lo strumento che fà la seguente cosa: scrivi un programma in un qualche linguaggio (ad esempio C), il compilatore C che hai installato sulla tua macchina ti traduce il tuo programma in codice Assembler adatto alla tua architettura (X86, Sparc, etcetc), a questo punto GNU Assembler assembla tale codice in un eseguibile

Nasm invece dovrebbe essere l'assemblatore che viene generalmente usato quando tu scrivi un tuo programma direttamente in assembler...se sei tu a scrivere il codice assembler (invece di averlo ottenuto da codice scritto in un altro linguaggio), lo dai in pasto a NASM ed ottieni l'eseguibile

Ciao
Andrea

Ultima modifica di e-commerce84 : 23-05-2011 alle 15:02.
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 17:16   #19
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Grazie a tutti per i consigli e la disponibilità, appena possibile inizio subito a dare un'occhiata all'argomento(chissà poi da dove mi è venuta sta fantasia dopo essere stato un anno fermo ).
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2011, 18:03   #20
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 17:18.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
GTA VI su PC? La data non c'è, ma...
Monopattini elettrici, a un anno dal dec...
Tesla Robotaxi, autista di sicurezza si ...
Samsung Galaxy S26: svelate le combinazi...
Microsoft Ignite: arriva Edge for Busine...
OPPO e Lamine Yamal uniscono sport e tec...
Microsoft, NVIDIA e Anthropic siglano un...
SpaceX potrebbe comunicare alla NASA rit...
Scoperte cavità sotterranee scava...
OnePlus anticipa l'arrivo di due nuovi p...
DJI lancia Osmo Action 6: la prima actio...
NASA: conferenza stampa sulla cometa int...
Ex CEO di TSMC passa a Intel: aperta un'...
Gigabyte X870E Aorus Elite X3D, una moth...
Questa soluzione da 25 euro potrebbe riv...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v