Newsgroup: it.hobby.elettronica.digitale
Titolo: assembler

Scusate credo che si sia già parlato di questo ma sono nuovo . Io
programmo in assembler per i micro 8051 , volevo saperne di più
sull'assembler x86 , cioè vorrei fare dei programmi o dll in assembler
(dato che ci ho lavorato abbastanza) anzichè in C o VB.Dove posso
trovare materiale? Documentazione , sorgenti ,esempi , compilatore ecc.
ecc.
Grazie a tutti


http://win32asm.cjb.net/
Se vuoi farti ancora più male un mio vicino sta cercando qualcuno per dare
da mangiare al suo alligatore durante la sua assenza...
Davide B.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio 
news:1130699038.9...@g14g2000cwa.googlegroups.com...

Ai tempi del 8086, 80186 e fino al 80286 in ambiente dos era abbastanza 
comune scrivere programmi o parti di essi in assembler.
Ai nostri giorni, in ambienti multitasking, con applicazioni multithread ed 
i processori attuali (con istruzioni MMX, e per fortuna con SSE/SSE2,...), 
considerati gli oltre 200 tipi di opcode da imparare (alla faccia dei 30 dei 
risc pic), e la base necessaria della struttura delle api di windows (a meno 
che non ti interessi anche linux), penso che usare l'assembler per scrivere 
un intero programma (a meno che non si tratti del solito "hello world" ) 
possa essere una buona arma da suicidio ;-) 

 wrote in message
1130699038.9...@g14g2000cwa.googlegroups.com...

Concordo con quanto ti hanno detto gli altri, se l'obiettivo
e' fare programmi per windows, e' poco conveniente scriverli
interamente assembler.
Se vuoi ottimizzare un programma, conviene scriverlo
inizialmente in C, valutare quali sono le parti di programma
meno efficienti e riscrivere solo quelle in assembler, di solito
si tratta di una piccola percentuale di tutto il programma.
La cosa e' molto facilitata perche' tutti i comuni compilatori C
accettano l'inserimento di istruzioni assembler all'interno
di funzioni C.
In questo caso ti basta imparare una piccola parte del
set di instruzioni del Pentium, essendo la maggior parte
ereditate dalle generazioni precedenti di CPU, o usabili
solo in kernel. In ogni caso dimenticati di programmare
un Pentium come se fosse un 8051 o un altro micro.

 ha
scritto:

Sono d'accordo con gli altri che programmare in asm i pentium oggi è un'impresa
improba, però alcuni programmi che ho fatto una ventina d'anni fa sul 286
funzionano ancora.
Comunque se vuoi dei link ne ho diversi:
http://www.guidainlinea.com/downloadprogrammazione.htm
http://webster.cs.ucr.edu/
http://itassembly.cjb.net/
http://pmode.cjb.net/
http://www.programmersheaven.com/zone5/
www.autistici.org/itassembly
 
http://www.osr.com/
--
ciao
  Stefano

 wrote in message
news:1130699038.9...@g14g2000cwa.googlegroups.com...


 ha
scritto:

Ma le leggi le risposte ???
--
ciao
  Stefano

 wrote in message
1130699038.9...@g14g2000cwa.googlegroups.com...

Usare l'assembler puro non ha molto senso in questo caso! La fatica che ci metti
non viene ripagata adeguatamente in termini di velocità... D'altro canto usando
il C puro ottieni prestazioni paragonabili all'assembler, con uno sforzo molto
minore.
La soluzione ideale, se ti serve accelerare qualche particolare routine, è
scrivere il programma in C, ed usare l'assembler inline per codificare le parti
più pesanti computazionalmente...
Ciao,
A.D.

Grazie a tutti ora ho le idee più chiare credo che mi dedicherò al C
a questo punto vi faccio un'altra domanda .Ho installato il Visual c++
posso inziare da lì ?

 ha scritto nel messaggio 
news:1130784883....@g47g2000cwa.googlegroups.com...
Grazie a tutti ora ho le idee più chiare credo che mi dedicherò al C
a questo punto vi faccio un'altra domanda .Ho installato il Visual c++
posso inziare da lì ?
Il linguaggio che utilizzi per scrivere un programma è solo lo strumento che 
utilizzi per raggiungere il tuo obiettivo.
Dipendentemente dall'applicazione che andrai a sviluppare ci sono ambienti 
più o meno indicati.
Se non sei ancora padrone delle api del sistema operativo e devi sviluppare 
una dll o un programma con limitate proprietà grafiche, va benissimo il 
vc++.
Se invece hai necessità di grafica accattivante o complessa da subito e 
facilità di sviluppo dell'interfaccia utente ti consiglio delphi.
Imho non vale la pena avventurarsi nel Vbasic.
Tieni presente che a quanto si dice (e a quanto mi stanno commissionando), i 
programmi del futuro saranno in .net o 
asp.net
, quindi se devi imparare da 
zero, ci farei un pensierino. 

grazie tante quindi? Da dove inizio con il delfhi?

 zero, ci farei un pensierino.
Questo lo condivido anche io.


 Questo lo condivido anche io.
I tempi cambiano e i linguaggi anche, vedremo cosa escogiteranno per il 
futuro ;-)

 futuro ;-)
Comunque io, pur non essendo un programmatore a tempo pieno ho già 6
prodotti distribuiti su piattaforma .net. Scritti in VB. E non ho lamentele.


 lamentele.
Come già accennato, probabilmente abbiamo target differenti.
Io faccio automazione industriale, eseguo e distribuisco programmi su pc che 
devono interfacciarsi con inverter, robot, plc e schede di mia progettazione 
e produzione, utilizzando rs232,rs485,i2c,ethenet,wifi,zigbee,bluetooth.
Le mie necessità dal lato pc sono in prevalenza di sicurezza, velocità ed 
interfaccia utente efficace (molte volte con supporto a touch screen) e 
devono girare su hardware e s.o. imposto, che spesso rientra nella 
fornitura.
Essendo applicazioni mirate e non destinate alla distribuzione, ed essendo 
alcune anche legate a transazioni bancarie o applicazioni per la difesa, 
tutti i miei clienti esigono i sorgenti e molti mi indicano addirittura come 
vogliono commentato il codice.
Dipendentemente dall'applicazione e dall'integrazione che deve avere con il 
mondo circostante, molte volte il linguaggio è imposto dal cliente insieme a 
tutte le altre specifiche di progetto.
Le applicazioni sviluppate ad oggi per la sola piattaforma pc (in quanto per 
le schede si utilizza o asm o c) sono circa per il 50% delphi, 40% c/c++, 
10% .net, per un totale di circa 300 diverse applicazioni. 

 10% .net, per un totale di circa 300 diverse applicazioni.
Complimenti!


 Complimenti!
Grazie. 

 stretto, in quanto non ho detto cosa facciamo anche a livello di hw).
Mai sminuito il tuo lavoro. Ho semplicemente espresso la mia opinione.
Che peraltro č quella che VC++ non sia il massimo per un principiante


 Che peraltro č quella che VC++ non sia il massimo per un principiante
Concordo, ma visto che il 3d era partito dall'assembler....
Ciao.

Insomma in pratica da quello che ho capito , o uno ha iniziato a
programmare 20 anni fa in assembler e poi si è seguito tutti gli
eventi e le metamorfosi dei linguaggi ad alto livello oppure niente sei
finito non sei neanche degno di accendere il computer.
La realtà è che , si!! è difficile programmare ma voi lo rondete
ancora più difficile perchè le vostre menti sono in balia
dell'orgoglio e della presunzione .A me serviva solo sapere se per far
comunicare un uP esterno con la ethernet o con la usb devo scrivere per
forza in C   , non va bene assemlber?!!!Poi con un semplice cursore in
VB faccio muovere qualcosa tramite il uP . Non credo che serva un
ingegnere della NASA per fare questo , certo non sono come voi che
dovete calcolare la rotta di un missile e che il codice sorgente è
segreto .Devo fare una cosa semplice semplice se mi volete aiutare sono
contento se no continuo a vivere bene lo stesso .
Grazie

 wrote in message
1130940561.5...@o13g2000cwo.googlegroups.com...

Forse non ti e' chiaro un concetto fondamentale: qui nessuno e' pagato
per risponderti. Hai ricevuto molte piu' risposte della media, anche se
non tutte pertinenti, ma credo che l'aiuto che potevi avere tu l'abbia
avuto.
Se non ti basta guarda questo sito 
http://www.google.it/
 e buon lavoro.

 ha scritto nel messaggio 
news:1130940561.5...@o13g2000cwo.googlegroups.com...

Ciao, Mauro
scusami, effettivamente siamo usciti dal topic del messaggio.
Tutti quando siamo partiti abbiamo incontrato i ns problemi e con un minimo 
di impegno siamo riusciti ad uscirne.
A questo punto io mi sento solo di sconsigliarti l'assembler, soprattuto per 
iniziare.
Se le tue necessità sono quelle esposte, scegli tu in base a quello che già 
conosci se utilizzare il c,il vb o il delphi.
Io rimango sulla mia linea, soprattutto se devi iniziare e devi creare un 
eseguibile in ambiente win32,ti consiglio l'ambiente ide/rad di delphi 
(parti pure dal 5 o dal 7 se devi interfacciarti con periferiche esterne o 
gestire protocolli custom), ci sono incluse e pronte tante vcl (visual 
component library, ovvero componenti visuali (e non) che inserisci nel tuo 
progetto semplicemente trascinandole sulla finestra e gestendone tutte le 
caratteristiche visualmente, con ovviamente la possibilità di fare le stesse 
cose anche via codice).
Una infinità di vcl che fanno tutto quello che vuoi le trovi poi online, la 
maggior parte gratuite e senza necessità di utilizzare activex o dll 
(comunicazione usb con periferiche HID, modem/fax,  directx, lan, reports, 
database, ad es. su  
www.torry.net
 ), includi i componenti, li configuri e 
li utilizzi, creando il tuo eseguibile che contiene tutte le risorse 
necessarie al funzionamento.
Se hai necessità di aiuto o consigli per lo sviluppo lato pc o up, chiedi 
pure. 

Ti ringrazio roberto userò sicuramente i tuoi consigli , vado sul sito
 epoi ti faccio sapere sei stato gentile.

 utilizziamo c, c++, delphi, .net, 
asp.net
, java (su pc)
Giusto per attizzare ulteriormente lo "pseudo-flame": nessuno di voi ha mai
usato il Borland C++ Builder?!? Secondo me è un ottimo compromesso tra VB, VC e
Delphi: offre una semplicità estrema nella gestione delle interfacce e dei
controlli (più o meno come il VB), e la grandissima efficienza tipica del
C/C++... Dopo avere provato tutte le alternative lo considero uno dei migliori
ambienti di sviluppo disponibili (ovviemente dipende anche dal tipo di
applicazioni sviluppate), ed anche uno dei più semplici e veloci da imparare ed
utilizzare.
Buona codifica,
A.D.

 ha scritto nel messaggio 
news:_o7af.42657$Pe2.7...@twister2.libero.it...

A livello di efficienza del codice, direi che delphi e c builder dovrebbero 
eguagliarsi in quanto hanno radici comuni.
Quando borland (inprise), vide che c'era un nutrito gruppo di programmatori 
che prediligevano il c come linguaggio di sviluppo e invidiavano le vcl, 
sfornò il c builder (imho con successo) colmando così come hai ricordato 
anche tu una lacuna.
C++ Builder e Delphi sono fondati sulla stessa gerarchia di classi (fino 
alla versione 5 era la sola VCL, dalla versione 6 di entrambi gli ambienti, 
è stata affiancata dalla CLX garantendo grado di compatibilita' con Kylix 
sotto Linux).
In fondo però costituiscono lo stesso prodotto in quanto C++ Builder, ha al 
suo interno lo stesso compilatore Object Pascal di Delphi (in quanto deve 
poter compilare le unit relative ai componenti da installare).
E' solo il frontend legato al linguaggio che cambia.
Il vantaggio di poter utilizzare i componenti delphi sotto c++ builder ne ha 
facilitato ancora di più la diffusione.
L'imminente suite Developer Studio integrerà c++ Builder 2006, c# Builder 
2006, c builder e delphi, insomma un ambiente di sviluppo integrato 
multilinguaggio per windows e .net.