montør eller C???

Hvis du godt kender CPU, kan du gøre kode i C blot en smule langsommere end i montage sprog.
Også arbejder med C, kan du nemt flytte sig til andre CPU.

Jeg bruger samling sprog kun i DSP-processorer.

 
Jeg kan kun se 3 årsager til programmering i assembler på UC (Forudsat at du har en anstændig C compiler Thar genererer effektiv kode).

1: Du ønsker at gøre nogle kritiske afbryder / timing rutiner, der kræver 100% cyklus nøjagtighed.

2: Du ønsker at presse hver sidste cyklus ud af UC

3: Du dont have langt Flash så hver byte kode tæller

Nå der kan være en 4 ....
4: De fleste c compilere kræve, at UC har nogle ram

Men med en god C compiler, kan du oprette næsten lige så hurtig og effektiv kode som i assembler.

Og det er mych lettere at havn til en anden arkitektur.

/ Bingo

 
efter min mening, hvis du vil være god designer skal du nu dem begge ...
C sparer tid og undertiden samling er uundgåelig .....

 
@ skakmat

Minen er
AVR-GCC for Atmels

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smile" border="0" />ARM-GCC toolchain for ARM

@ olemp
Jeg ville være enig med dig, ved hjælp af C er ikke en "undskyldning" for at lære assembler, faktisk får du sikkert også til at se på en C compiler output-listen, da de Arent fejlfri.

Og du vil sikkert løbe ind i hvert fald min
1 og 2 ovenfor anførte grunde i løbet af nogle af dine programmer.

Men jeg er stadig en tendens til at gøre ligesom 80 .. 90% af koden i C.

/ Bingo

 
Jeg tror ikke, at assembler er meget bedre end C i form af program hastighed / størrelse.Novadays compilere er meget gode i optimering, for eksempel Keil C51 er særdeles god - ikke al god programmør kan opnå det samme.Det samme er den rigtige for almindelig PC - Intel's compilere giver meget god optimering for bestemte mål processor.

Ace-X.

 
normalt, hvis du har tid-følsomme kode, skal du bruge forsamling.hvis ikke, du har bedre at bruge C.
Der er en balance mellem din arbejdsbyrde og effektivitet

 
Med tiden cricis og begrænset hukommelse størrelse ansøgning, er ASM egnet.Ellers C er at foretrække.C er meget lettere for develpment, mentainance og porte.Og en god forståelse af ASM er fundation af høj kvalitet af C, især i MCU programmering.

 
Alle synes at være at nævne det faktum, at ASM giver dig bedre kontrol over koden timing.Selv om dette er sandt for rutiner, der skal være nøjagtig ned til CPU clock cyklus, kan mange timing kritiske rutiner såsom Comms osv., opnås præcist i C ved at gøre brug af microcontrollere timere og nogle dejlig stram ISRS.

Hvis du ved hvad du gør ASM er stor, men ikke når frem til det, når du ikke har det.Thats IMHO alligevel.

oddbudman

 
Jeg synes du skal spiit to processer for at studere MCU.
i begyndelsen, bør du forstå princippet om MCU helt, og ASM er det bedste valg, som kan få dig til at mestre de karakteristiske MCU.
efter at du har styr på disse, kan du prøve på C for at det kan forbedre effektiviteten af designet.
naturligvis, hvis dit design understreger den erhvervsaktive hastighed, du har bedre at vælge den asm.
Kombinere C og asm er ikke dårlig idé.

 

Welcome to EDABoard.com

Sponsor

Back
Top