Il giorno Mon, 16 Apr 2007 07:34:47 GMT, mku <mk_at_NOSPAM.it> ha scritto:
>
>> Non sono d'accordo, i compliatori ottimizzano ma per raggiungere la massima
>> efficenza devi usare l'assembler.
>s� ok ma anche l'assembler � un compilatore.
Certo, intendevo la compilazione da linguaggi evoluti, come il C
>> Io uso spesso routines in linguaggio macchina i microcontrollers per ottenere il
>> massimo delle prestazioni ad esempio in interrupts veloci dove magari usando il
>> C dovrei usare risorse esterne.
>
>certo se lavori su PLC devi usarlo.
Mi spiego meglio con un esempio: in un controlllo con lettura encoder
incrementale gestito in interrupt, rifacendo le routines in assembler ho quasi
raddoppiato la velocit� che raggiungevo usando il C.
>> E la cosa � usata anche in campo scientifico ad esempio in calcoli ricorsivi.
>> Ricordo di aver letto che il famoso bug della FDIV sul primo Pentium fu scoperto
>> da un ricercatore mentre l'usava in assembler per calcoli astronomici
>
>sinceramente l'assembler non � cos� diffuso in campo scientifico
>(intendo fisici e matematici). Certe routine sarebbero troppo complicate
>da implementarsi.
Sono d'accordo, non puoi fare calcoli complessi, ma se devi fare cose ricorsive
e veloci, pu� essere un alternativa.
>> Programmare in assembler � pi� difficile, questo s�.
>no difficile non penso secondo me � pi� "macchinoso" per fare certe cose.
Diciamo che quando programmi in assembler devi tenere conto di cose che quando
programmi con un linguaggio evoluto puoi trascurare, come l'allocazione delle
variabili, l'uso dei registri e della ram, ecc.
Di contro c'� da dire che se le variabili sono molte, in assembler diventa molto
pi� difficile gestirle, ad esempio non userei mai l'assembler per accedere ad
una FAT16, ma per generare sincronismi o acquisire dati velocemente va
benissimo.
--
ciao
Stefano
Received on Mon Apr 16 2007 - 15:19:12 CEST