Mp3-spelare...
- Illuwatar
- Inlägg: 2256
- Blev medlem: 10 november 2003, 14:44:27
- Skype: illuwatar70
- Ort: Haninge
- Kontakt:
Valet mellan högnivåspråk och assembler beror helt på vad man vill göra. Högnivå är oftast enklare att lära sig och man kan snabbare få till den funktion man vill ha. Nackdelen ligger i sämre kontroll på vad den faktiska koden på assemblernivå gör. Dessutom kan koden bli mindre effektiv jämfört med direktkodning (förutsatt att man verkligen behärskar assemblern). Kod som av tidskritiska själ måste fungera optimalt skriver man med fördel i assembler.
Fördelar högnivå:
* Lätt att lära sig, inte maskinunikt (förutom specialinstruktioner).
* Lätt att läsa, följa och sätta sig in i.
* Kortare utvecklingstid.
Nackdelar högnivå:
* Sämre kontroll på den faktiska koden (det blir assembler av kompilatorn).
* Koden kan bli mer minneskrävande.
* Svårare att beräkna cykeltider för rutiner.
* Bra, lättanvända kompilatorer är inte gratis.
Fördelar assembler:
* Är man bra så kan man göra mycket på liten plats.
* Man vet exakt vad som sker.
* Man har full kontroll ner på cykelnivå i programmets exekvering.
* Verktygen skänks bort av MCU-tillverkarna.
Nackdelar assembler:
* Svårt att lära sig (jämfört med högnivå).
* Processorunikt - varje MCU-familj har sin egen assembler.
* Svårläst source (kommentarer är ett måste).
* Längre utvecklingstid.
Detta är i alla fall så jag ser på detta - rätt verktyg vid rätt tillfälle.
Fördelar högnivå:
* Lätt att lära sig, inte maskinunikt (förutom specialinstruktioner).
* Lätt att läsa, följa och sätta sig in i.
* Kortare utvecklingstid.
Nackdelar högnivå:
* Sämre kontroll på den faktiska koden (det blir assembler av kompilatorn).
* Koden kan bli mer minneskrävande.
* Svårare att beräkna cykeltider för rutiner.
* Bra, lättanvända kompilatorer är inte gratis.
Fördelar assembler:
* Är man bra så kan man göra mycket på liten plats.
* Man vet exakt vad som sker.
* Man har full kontroll ner på cykelnivå i programmets exekvering.
* Verktygen skänks bort av MCU-tillverkarna.
Nackdelar assembler:
* Svårt att lära sig (jämfört med högnivå).
* Processorunikt - varje MCU-familj har sin egen assembler.
* Svårläst source (kommentarer är ett måste).
* Längre utvecklingstid.
Detta är i alla fall så jag ser på detta - rätt verktyg vid rätt tillfälle.
Ja, assambler är relativt enkelt att lära sig, men när det kommer till att göra större projekt så brukar iaf jag bli rätt less på allt som måste hållas i huvudet när man skriver assambler och allt sparande fram och tillbaks till minnet. Skriver man i något högnivåspråk så slipper man tänka på sånnt, sköter kompilatorn åt en.
-
- Inlägg: 515
- Blev medlem: 31 maj 2003, 10:42:37
- Ort: Helsingborg
Klart att assembler är enklare men därmed också mindre kraftfullt.gvs skrev:Jag ser det helt tvärt om!
Tycker att Assembler är busenkelt jämfört med C, C++ eller JAVA trotts att jag har läst ca 15 Poäng högnivå och bara 2 Poäng Assembler. Högnivå fattar man ju inget av!
Att gå är enkelt. Att köra bil är svårare men mer effektivt. Kraftfullare verktyg kräver mer av användaren men rätt använda är de mångfaldigt mer effektiva.
- Illuwatar
- Inlägg: 2256
- Blev medlem: 10 november 2003, 14:44:27
- Skype: illuwatar70
- Ort: Haninge
- Kontakt:
Att assembler skulle vara mindre kraftfullt än högnivåspråk håller jag inte med om. Om så vore fallet skulle en kompilator inte funka så bra - resultatet ut från dessa är nämligen assembler...
Däremot är det oftast lättare att bygga upp programlogik med många kontrollsatser (for, if - else, case) med högnivåspråk. Att göra sådant i assembler kräver att man har tungan rätt i mun (praktisk erfarenhet från mitt Nixie-bygge där det största jobbet är att koda alla kontroller så ogiltiga värden på tid och datum inte kan matas in).
Däremot är det oftast lättare att bygga upp programlogik med många kontrollsatser (for, if - else, case) med högnivåspråk. Att göra sådant i assembler kräver att man har tungan rätt i mun (praktisk erfarenhet från mitt Nixie-bygge där det största jobbet är att koda alla kontroller så ogiltiga värden på tid och datum inte kan matas in).