Assembler programmering

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
Det forekommer mig at assemblerprogrammering nedprioriteres på
ingeniørstudiet ?! Det kan da ikke passe at hele industrien er gået over til
C/C++ og andre højniveau sprog ?

Jeg har personligt altid skrevet min kode i assembler da jeg græmmer mig ved
al den ekstra kode der genereres ved brug af compilere. Når man har
programmeret i længere tid opbygger man sig et bibliotek over kode man kan
genbruge og det bliver faktisk ligeså   nemt at programmere i assembler som
i højniveausprog. Endelig kan man selvfølgelig anvende macroer...de er tit
hurtigere at anvende end subrutinekald....

Det forekommer mig at være en trist udvikling at industrien er så fokuseret
på at få tingene færdige i en fart (man antager at det er hurtigere at
programmere i højniveausprog end i assembler)...er det mon et spørgsmål om
at der mangler kompetence blandt udviklerne udi assemblerprogrammering ?



Re: Assembler programmering
Quoted text here. Click to load it

Det tager længere tid at skrive assembler programmer end hvis du bruger
højniveau sprog.
Overskueligheden er mindre, osv.

Quoted text here. Click to load it

Med de størrelser maskiner vi har idag er det ikke et reelt problem.

Quoted text here. Click to load it

Det samme gør man med objektorienterede sprog.

Quoted text here. Click to load it

Jeg vil til enhver tid foretrække en compiler der beslutter om det kan svare
sig at inline koden.

Quoted text here. Click to load it

Kan du modbevise at det ikke er hurtigere ?

Quoted text here. Click to load it

Jeg er selv uddannet ingeniør, og har programmeret i 22 år, selv startet som
assembler udvikler.
Men efter jeg lærte C indså jeg hurtigt at der kom mere kode igennem af
samme kvalitet som ved assembler.

Det eneste tidspunkt jeg idag anvender assembler er i tidskritiske interrupt
metoder, eller i extremt små systemmer hvor hver eneste byte tæller.
Ud over disse situationer ser jeg højniveau sprog som en klar fordel.

Jeg ser frem til at se dine argumenter for at bruge assembler, altså ud over
at du bedre kan lide det.

p.s. På mit studie havde vi assembler af 80c535 og DSP cpu'er

--
Med venlig hilsen
Søren Reinke   Fjern det åbenlyse ved email svar
We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
Quoted text here. Click to load it
Nemt:
- Koden fylder mindre (optimeret)
- Afvikles hurtigere

Selv anvendte jeg også 80c535 på elektroniktekniker studiet og vi
programmerede både i assembler , c og pascal.
Jeg kan nu se at vi på ingeniør studiet kun skal have lidt DSP assembler
programmering og meget meget lidt om 80x86/pentium :(

Men ok..jeg ved det at det er nemmere at genbruge højniveausprog rutiner og
det er nemmere at portere disse til andre platforme...ligesom det er surt
for en person der har programmeret en slags cpu i mange år i assembler hvis
hans/hendes firma pludselig går fra disse og over til en anden type med
anden cpu kerne ....så bliver det en stejl indlæringskurve :(

Ja ja heldigvis kan jeg på hobbybasis programmere alt det jeg vil i
assembler :)




Re: Assembler programmering
Quoted text here. Click to load it

Ikke enig ... der er jo ikke så mange måder at gøre to ting af samme sag
mere kompakt kode (eller samme) som du vil kunne gøre i assembler.

M.v.h.
Lasse




Re: Assembler programmering
Quoted text here. Click to load it

I begge tilfælde vil jeg påstå compileren er bedre til at optimere end du
er, da den kender platformen meget bedre.

F.eks. på CPU'er med pipelining, betyder det utroligt meget hvilken
rækkefølge instruktionerne kommer i for at opnå bedste mulig hastighed.

Quoted text here. Click to load it

Som ingeniør er du ikke uddannet til at kende en speciel platform dybt
(80x86), men derimod uddannet til at kende metoder, principper og være
flexibel osv.

Quoted text here. Click to load it

Så sandt så sandt.

Tro mig jeg var selv vild modstander af det højniveaus pjat da jeg startede
på ingeniør uddannelse, men i dag bruger jeg kun assembler hvis det absolut
er nødvendigt.

Quoted text here. Click to load it

Det har du så sandelig ret i :-)

p.s. Held og lykke på studiet :-)

--
Med venlig hilsen
Søren Reinke   Fjern det åbenlyse ved email svar
We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
Hej Jan

I dag er de fleste ordentlige C compilere så gode til at optimere at jeg vil
våge den påstand at man ikke kan skrive det bedre selv.

Kun kritiske punkter så som interrupts osv som søren nævner kan måske være
gunstigt at lave i Assembler og så alligevel ikke ...

M.v.h.
lasse



Re: Assembler programmering
Quoted text here. Click to load it

Det vil jeg ikke helt give dig ret i! Det gælder ihvertfald ikke for c
compileren til Analog Devices DSP familie. Ved implementation af et FIR
filter i C kunne jeg højst opnå en orden på 190. Ved at skrive det i den
tilhørende asm. kunne der laves filtre med orden på de ønskede 400. Så asm.
til den pågældende platform er da altid godt at mestre!

Men til ikke tid/plads-krævende aplikationer ser jeg da ingen grund til at
skrive sin software i asm.

--
morten



Re: Assembler programmering
Quoted text here. Click to load it

Hvis du nu skal flytte det samme FIR filter til en DSP fra en helt anden
producent, hvor lang tid ville det tage dig med assembler ?

p.s. Din c-compiler er åbenbart bare ikke god nok.

--
Med venlig hilsen
Søren Reinke   Fjern det åbenlyse ved email svar
We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
Hej Jan,


Quoted text here. Click to load it

Pas nu på, du rører et emne der kommer ind under religion for mange og som
enhver med blot moderat indsigt erkender... Folk der ikke ved at assembler
er det optimale er bare religiøse fanatikere og dem kommer der ikke noget
godt ud af at diskutere med ;)


--
Venlig hilsen,
Søren
We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
Quoted text here. Click to load it

Jan pas på dette er flamebait af den værste skuffe.


Re: Assembler programmering
Hej Søren,


Quoted text here. Click to load it

Absolut ikke !

Som Piet Hein udtrykte det:

 Den der kun ta'r spøg for spøg
   Og alvor kun alvorligt
 Han og Hun har faktisk fattet
   Begge dele dårligt


Så kald det hellere en humoristisk måde at beskrive min _enighed_ med Jan i
spørgsmåle om at smede direkte på jernet (som jeg i øvrigt har udtrykt ofte
nok her i gruppen og hver gang med en røvfuld "religiøse" flames til følge,  
hvilket det var en reference til - godt at man er asbest-coated :)


--
Venlig hilsen,
Søren
We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
Quoted text here. Click to load it

Et af de tungtvejende argumenter for ikke at bruge assembler til andet
end små driverfunktioner er, at kode skrevet i et hølniveausprog kan
porteres til flere processorfamilier. Hvis du har brugt flere mandeår på
at udvikle en applikation i assembler til én processor, er du
stavnsbundet til at benytte den i hele applikationens levetid. Selv ved
opgraderinger idndenfor samme familie kan der opstå inkompabiliteter.

Re: Assembler programmering
snipped-for-privacy@gmx.de says...
Quoted text here. Click to load it

Et andet ikke uvæsenlig argument kan være at man kan udvikle og teste sit
kode (evt. små bidder af det) på PC , inden man går på target.
Download/flashing af target kan være en langsomlig process og kan spares.


--
Peter Sørensen
nwcATeurope.com

We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
Quoted text here. Click to load it

Hvor lang tid tager det dig så at optimere til en ny processorfamilie eller
måske portere til en helt anden platform?

Quoted text here. Click to load it

Man skal være helt ekstremt dygtig for at skrive assemblerkode der er bedre
end den en god compiler kan lave til en moderne CPU. En moderne DSP har
f.eks. typisk 12 pipeline niveauer, og det er tæt på umuligt at holde styr
på ved gammeldags assemblerprogrammering.

Kritiske loops kan man måske skrive i assembler, men resten kan ikke betale
sig.

signing off.. Martin Sørensen



Re: Assembler programmering

"Martin Sørensen"  skrev i en meddelelse

Quoted text here. Click to load it
betale

er det ikke snare sådan at man skriver et program der
køre sideløbende (resident) sammen med den kode man er ved at udvikle i et
højniveausprog , dette program måler så hvor CPU bruger mest tid henne ,der
efter går man ind og optimere netop det sted i koden med  assembler ?

nu er jeg ikke selv ngeniør eller programør for den sags skyld , men jeg har
da lavet kode i assembler i de gamle
dag som nogle mener var så gode (Z80, 6502 TMS9900
68000 68030 ) men det var jo på hjemme computere
og dengang var det lige som af nød at vi brugte en assembler (bortset fra
der heller ikke var plads i RAM til
både en interpreter og en compiler)
man kunne simpelt hen ikke "nå" diverse registre på anden måde,(nogen der
husker Peek og Poke) interrupt var en anden ting der var det "maskinkoden"
( det kaldte man det den gang) der var bedst fordi der skulle så fandens
meget hastighed til , også fordi at hardwaren var så forbandet grafik
orienteret , den der kunne lave den bedste assembler kode havde også den
bedste (hurtigste) grafik,

jeg havde faktisk en basiccompiler skrevet til en basicinterpreter der så
compilerede sig selv, så den var lidt hurtiger om at compiler :)


--
Venlig Hilsen
Michael Meidahl Jensen
We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
DSP processorer er et særligt problem pga. pipelining arkitekturen. Dem tog
jeg ligesom heller ikke med i min betragtning da jeg aldrig håber at skulle
beskæftige mig med disse udover på mit ingeniør studie. Min interesse ligger
i områder som styring, regulering mv. Og her taler vi ikke PID regulering og
den slags :) da denne slags regulering med fordel kan implementeres i en DSP
processor.

Assembloer programmering bliver selvfølgelig ved med at eksistere som
anvendt programmeringssprog : nogen skal jo lave compilerne :)



Re: Assembler programmering
Hej Jan,


Quoted text here. Click to load it

Man kan altid håbe, men de skriver jo også compilere i HLL's nu om dage.


--
Venlig hilsen,
Søren
We've slightly trimmed the long signature. Click to see the full one.
Re: Assembler programmering
Quoted text here. Click to load it

Jeg er selv midt i en ing uddannelse(i Århus) og kan fortælle dig at vi har
haft masser og masser af assembler programmering. Især programmering på små
single board computere, programmering af eks vis PEEL kredse samt en masse
hardcore DSP programmering !



Re: Assembler programmering

Quoted text here. Click to load it
har

Hold lige programmerbar logik udenfor assemblerprogrammering.

En computer (fra den mindste 4 bit til den største 64bit) AFVIKLER
instruktioner. Bisse instruktioner har et bitmønster. En assembler
oversætter en sproglig forståelig linje tekst til een binær instruktion.

Det gør en PEEL ikke. Den er et netværk af gates og FF'er, der kan
sammenkobles med nogle fuses. Nogle logikfamilier bruger RAM, andre EEprom
og endnu anfre flash elementer som fuses. Den slags kan programmeres i
forskellige sprog, hvoraf VHDL og Verilog er de mest produktive og mest
udbredte. Af andre sprog kan nævnes PALASM, og beslægtede antikverede sprog,
hvor man  angiver logiske ligninger.

Bo //



Re: Assembler programmering

Quoted text here. Click to load it
PEELs og andre PLD teknologier har absolut intet med assembler programmering
at gøre. Jeg distancerede mig bevidst fra DSP programmering idet dette er et
område jeg aldrig vil beskæftige mig med uden for ingeniørhøjskolen da
signalbehandling ikke har min vilde interesse. Det jeg taler om er
microcontrollere og microprocessorer til generel anvendelse inden for f.eks.
styringsteknik mv.



Site Timeline