|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 8
|
ASSEMBLER
Ciao a tutti,
è il primo post in questo forum così bello e ricco di info. Vorrei,subito,porre un mio dubbio: il lavoro del Programmatore è ancora richiesto? O meglio è difficile trovare "come professionalità specifica" il programmatore Assembler? Ho letto qualcosa di questo potente (e complicato) linguaggio di programmazione e vorrei investirci qualcosa del mio tempo ma avrei un riscontro lavorativo dopo? ciao |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Se pensi ad imparare l'assembly della famiglia x86, per scopi lavorativi faresti meglio a rivolgere le tue attenzioni altrove. Per applicazioni scientifiche può risultare utile per scrivere qualche routine che sfrutti direttamente le estensioni tipo SSE, ma generalmente queste vengono incluse all'interno di codice C/C++ e non costituiscono certo una parte fondamentale per il programma. Con le CPU ad esecuzione specualtiva è molto più facile che il compilatore di un qualunque linguaggio di alto livello riesca a scrivere codice più performante. Inoltre l'assembly, per sua natura, tende ad interfacciarsi direttamente con l'hardware mentre i moderni OS tendono a nasconderlo attravero interfacce appropriate. So che in alcuni posti programmano ancora in assembly dei microcontrollori per scopi specifici (l'ho visto alla Pignone di Firenze per sistemi periferici dedicati al controllo ferroviario), ma il motivo è che in quegli ambiti anche una chiamata a funzione risulterebbe troppo lenta a causa delle ristrettezze di risorse, in questo caso conoscere l'assembly x86 ti servirebbe a poco. Sono anni ormai che anche i micro da pochi MIPS si programmano in C. Ultima modifica di tomminno : 27-04-2006 alle 23:52. |
|
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Apr 2006
Messaggi: 8
|
ciao,
quindi sarebbe opportuno o esclusivo imparare direttamente in C++? La cosa che non capisco (scusate l'ignoranza)come fare ad interffacciare un programma scritto in C++ con l'hardware di un pc?? Forse avrò scritto una stupidaggine e me ne scuso. ciao |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Bergamo
Messaggi: 440
|
tramite il compilatore...è questo il vantaggio dei linguaggi ad alto livello...che appunto no dipendono direttamente dall'hw. io, essendo ancora 1studente, non so dirti se sul mercato sono richiesti programmatori di assemlbler.
tornando al c++...tu scrivi il tuo programma poi sarà il compilatore a trasformarlo in linguaggio binario adeguato al tipo di processore (e sistema operativo) sul quale desideri far girare il tuo sw. |
|
|
|
|
|
#6 | ||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
per completare il quadro aggiungi che per un programmatore d'oggi una buona conoscenza del C e del C++ (anche solo a titolo puramente culturale per così dire) secondo me non è opzionale. Quote:
in qualsiasi sistema operativo esiste il concetto di API (Application Program Interface). prendiamo Windows per esempio: le DLL di sistema di Windows (kernel32.dll, user32.dll, gdi32.dll, eccetera eccetera) esportano numerose funzioni API che vengono poi usate dalle applicazioni per usufruire dei servizi offerti dal sistema operativo; questi servizi tra l'altro includono per es. accesso a determinate porzioni del monitor (le finestre insomma i software non accedono direttamente all'hardware per disegnare sullo schermo, leggere dal disco, ricevere eventi dalla tastiera, ecc.: devono necessariamente usufruire dei servizi offerti dal sistema operativo (le istrzuioni IN e OUT sui kernel NT hanno l'unico effetto di mandare in crash il programma che le chiama con un "Privileged Instruction"; sono finiti i tempi del kernel 9x e dei suoi BSOD |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:25.



















