d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Magyar > Mekprogramozzuk Topic
Prev1106107108109110249Next
Add Reply New Topic New Poll
Member
Posts: 6,109
Joined: Jul 25 2011
Gold: 0.00
Jun 15 2015 05:26am
Van itt olyan aki valaha valami hasznosat csinált már assemblyben vagy az már autistáknak is durva?
Fel akarom piszkálni a belső esőembert magamban és úgy látom valami assemblys project jó lenne. Miből tanuljam?
Member
Posts: 42,999
Joined: Jul 16 2006
Gold: 1.00
Jun 15 2015 05:31am
Quote (daneeka10 @ 15 Jun 2015 13:26)
Van itt olyan aki valaha valami hasznosat csinált már assemblyben vagy az már autistáknak is durva?
Fel akarom piszkálni a belső esőembert magamban és úgy látom valami assemblys project jó lenne. Miből tanuljam?


Nálunk kötelező volt.
Legegyszerűbb nyelv kb, csak annyira aprólékos, hogy belehalsz mire valami komolyat megírsz.

Legalább majd egy olyan addont szerezz be, amivel a legegyszerűbb szerkezeteket megtudod írni, kicsit a magasabb szintű nyelvekhez hasonlóan.
Sokat javít az olvashatóságán.


btw mi értelme lenne neked assemblyzni? Ma kb ott tartunk, hogy a C fordítók jobb kódot fordítanak, mint amit össze tudsz hozni assemblyben.
Max arra jó, hogy megértsd mi van a háttérben, de gondolom neked ilyen gondod nincsen pár év villanyászás után.

This post was edited by CyberPunk666 on Jun 15 2015 05:32am
Member
Posts: 6,109
Joined: Jul 25 2011
Gold: 0.00
Jun 15 2015 05:42am
Quote (CyberPunk666 @ Jun 15 2015 12:31pm)
Nálunk kötelező volt.
Legegyszerűbb nyelv kb, csak annyira aprólékos, hogy belehalsz mire valami komolyat megírsz.

Legalább majd egy olyan addont szerezz be, amivel a legegyszerűbb szerkezeteket megtudod írni, kicsit a magasabb szintű nyelvekhez hasonlóan.
Sokat javít az olvashatóságán.


btw mi értelme lenne neked assemblyzni? Ma kb ott tartunk, hogy a C fordítók jobb kódot fordítanak, mint amit össze tudsz hozni assemblyben.
Max arra jó, hogy megértsd mi van a háttérben, de gondolom neked ilyen gondod nincsen pár év villanyászás után.


Szoktam látni olyanokat, hogy ilyen-olyan érzékelőkhöz adott "gyári" libraryket pofozgatnak assembly en azt 40x gyorsabb lesz meg ilyenek.
Vagy pl. egyszerű port olvasás atmel cuccokon 10x gyorsabb lesz ha mondjuk valami "digitalRead(pin9)" szerűség helyett (de akár az eggyel hardverközelibb PORT, TRIS stb. helyett is)inline assemblybe tolod.

Meg regen ilyen gazdinfosokkal azon poenkodtunk hogy allashirdetesekben ha valahova oda volt irva hogy assembly akkor azok helyből legalabb 5x annyit kerestek.
Member
Posts: 42,999
Joined: Jul 16 2006
Gold: 1.00
Jun 15 2015 06:25am
Quote (daneeka10 @ 15 Jun 2015 13:42)
Szoktam látni olyanokat, hogy ilyen-olyan érzékelőkhöz adott "gyári" libraryket pofozgatnak assembly en azt 40x gyorsabb lesz meg ilyenek.
Vagy pl. egyszerű port olvasás atmel cuccokon 10x gyorsabb lesz ha mondjuk valami "digitalRead(pin9)" szerűség helyett (de akár az eggyel hardverközelibb PORT, TRIS stb. helyett is)inline assemblybe tolod.

Meg regen ilyen gazdinfosokkal azon poenkodtunk hogy allashirdetesekben ha valahova oda volt irva hogy assembly akkor azok helyből legalabb 5x annyit kerestek.


Annál hardwareközelibb nincs, amikor beírod, hogy
Code
IN r16, PINC


Az hogy itt nem azt írod, hogy
Code
IN 0x10, 0x13

csak egy szöveges behelyettesítés.

Amelnél meg c-ben minden szívfájdalom nélkül leírhatod, hogy
Code
uint8_t x;

x = PINC;


De ha nagyon durván akarsz programozni, akkor írhatod felőlem gépi kódban is.

Az előbbi részlet gépi kód utasítása
"1011 0AAd dddd AAAA", ahol a számok az IN parancsot jelölik, a "d"-k a regiszter értékét ahová beolvasol, az "A" pedig azt, ahonnan.
Szóval akkor itt a 0x10-es registerbe olvasás 0x13-as helyről (mappelve van szóval ez valójában 0x33, de így rövidítenek, hogy beleférjen minden a 16 bitbe)

Code
1011 0011 0000 0011


Ennél hogy lennél gyorsabb?

Egyébként atmelből nyugodtan kérdezz, dolgozom egy atmeles mikroprocesszor szimuláción PC-re. Már simán lehet rajta az atmegákra írt programokat futtatni, a hex fájlt dolgozza fel.
Csak most éppen átstruktúrálás alatt van, hogy gyorsabban fusson. Meg sok favágó munka is van vele, nincsenek kitöltve az alapértelmezett értékeke meg ilyenek. Az geciunalmas és kurvanagy munka.


Amúgy ilyeneken lehet esetleg ügyeskedni, hogy x-et nem írod ki a memóriába, hanem a regiszterekben tartod, de ezekre általában a fordító is jól optimalizál, szóval nem rakja ő ki oda, ha nem muszáj, de ilyen apró tweakeket meg sem érzel.
Egyébként az avr assembly az elég egyszerű (mivel egy RISC processzor).


Esetleg akkor lehet értelme ilyennel foglalkozni, ha ki akarod gyomlálni a neked nem kellő dolgokat egy zárt forrásból, ahol csak az assembly rész áll rendelkezésedre.
Bár nem tudom ez mennyire lehet általános dolog. Szerintem nem nagyon.
Assemblyt inkább ott tudnék elképzelni, ahol egyedi célprocesszorról van szó, és nemes egyszerűséggel nincs is hozzá fordító, és párezer sorért nem is csinálnak.

This post was edited by CyberPunk666 on Jun 15 2015 06:28am
Member
Posts: 35,964
Joined: Dec 27 2007
Gold: 0.00
Jun 15 2015 07:04am
Quote (daneeka10 @ Jun 15 2015 11:42am)
Szoktam látni olyanokat, hogy ilyen-olyan érzékelőkhöz adott "gyári" libraryket pofozgatnak assembly en azt 40x gyorsabb lesz meg ilyenek.
Vagy pl. egyszerű port olvasás atmel cuccokon 10x gyorsabb lesz ha mondjuk valami "digitalRead(pin9)" szerűség helyett (de akár az eggyel hardverközelibb PORT, TRIS stb. helyett is)inline assemblybe tolod.

Meg regen ilyen gazdinfosokkal azon poenkodtunk hogy allashirdetesekben ha valahova oda volt irva hogy assembly akkor azok helyből legalabb 5x annyit kerestek.


C
MicroC
C++

Jezusom, belehalnek ha assemblyben kellene valamit csinalnom
Egyszeruen nincs ertelme, ahogy cp is mondta : cbol tokeletes kodot lehet fordítani altalaban

This post was edited by llllllllllll on Jun 15 2015 07:13am
Member
Posts: 6,109
Joined: Jul 25 2011
Gold: 0.00
Jun 15 2015 08:29am
Quote (CyberPunk666 @ Jun 15 2015 01:25pm)
Annál hardwareközelibb nincs, amikor beírod, hogy
Code
IN r16, PINC


Az hogy itt nem azt írod, hogy
Code
IN 0x10, 0x13

csak egy szöveges behelyettesítés.

Amelnél meg c-ben minden szívfájdalom nélkül leírhatod, hogy
Code
uint8_t x;

x = PINC;


De ha nagyon durván akarsz programozni, akkor írhatod felőlem gépi kódban is.

Az előbbi részlet gépi kód utasítása
"1011 0AAd dddd AAAA", ahol a számok az IN parancsot jelölik, a "d"-k a regiszter értékét ahová beolvasol, az "A" pedig azt, ahonnan.
Szóval akkor itt a 0x10-es registerbe olvasás 0x13-as helyről (mappelve van szóval ez valójában 0x33, de így rövidítenek, hogy beleférjen minden a 16 bitbe)

Code
1011 0011 0000 0011


Ennél hogy lennél gyorsabb?

Egyébként atmelből nyugodtan kérdezz, dolgozom egy atmeles mikroprocesszor szimuláción PC-re. Már simán lehet rajta az atmegákra írt programokat futtatni, a hex fájlt dolgozza fel.
Csak most éppen átstruktúrálás alatt van, hogy gyorsabban fusson. Meg sok favágó munka is van vele, nincsenek kitöltve az alapértelmezett értékeke meg ilyenek. Az geciunalmas és kurvanagy munka.


Amúgy ilyeneken lehet esetleg ügyeskedni, hogy x-et nem írod ki a memóriába, hanem a regiszterekben tartod, de ezekre általában a fordító is jól optimalizál, szóval nem rakja ő ki oda, ha nem muszáj, de ilyen apró tweakeket meg sem érzel.
Egyébként az avr assembly az elég egyszerű (mivel egy RISC processzor).


Esetleg akkor lehet értelme ilyennel foglalkozni, ha ki akarod gyomlálni a neked nem kellő dolgokat egy zárt forrásból, ahol csak az assembly rész áll rendelkezésedre.
Bár nem tudom ez mennyire lehet általános dolog. Szerintem nem nagyon.
Assemblyt inkább ott tudnék elképzelni, ahol egyedi célprocesszorról van szó, és nemes egyszerűséggel nincs is hozzá fordító, és párezer sorért nem is csinálnak.


Ezen elragodok egy darabig, koszi!
Member
Posts: 6,109
Joined: Jul 25 2011
Gold: 0.00
Jun 15 2015 08:35am
Quote (llllllllllll @ Jun 15 2015 02:04pm)
C
MicroC
C++

Jezusom, belehalnek ha assemblyben kellene valamit csinalnom
Egyszeruen nincs ertelme, ahogy cp is mondta : cbol tokeletes kodot lehet fordítani altalaban


En tobb helyen azt olvastam hogy a legtobb fordító jobb assembly kodot csinál összetett, hosszú kód esetén mint az ember de a kicsi részegyseégek mint pl. egy digitalis beolvasas egy darab portrol az szarabb mint ha az ember irna akar C-ben.
Lehet majd linkelek peldat h mire gondolok aztán lehet hogy kiderul hogy nem is a fordító szar hanem akik csinaltak a libraryt.
Member
Posts: 42,999
Joined: Jul 16 2006
Gold: 1.00
Jun 15 2015 08:54am
Quote (daneeka10 @ 15 Jun 2015 16:35)
En tobb helyen azt olvastam hogy a legtobb fordító jobb assembly kodot csinál összetett, hosszú kód esetén mint az ember de a kicsi részegyseégek mint pl. egy digitalis beolvasas egy darab portrol az szarabb mint ha az ember irna akar C-ben.
Lehet majd linkelek peldat h mire gondolok aztán lehet hogy kiderul hogy nem is a fordító szar hanem akik csinaltak a libraryt.


Az baj, hogy egy ilyen beolvasás 1 darab művelet + a memóriamozgatás, ha szükséges, de ennyi.
Nem nagyon tudom mit tudna ezen a c fordító másként csinálni.

Viszont engem mindenképpen érdekel a téma, mert hasznos információ lenne a projektemhez.

Ezzel akarok tdk-zni. Szerintem ha sikerül az, amit elterveztem akkor ez egy otdk helyezésre is esélyes. Márpedig most fogom bemutatni a suli tdk-n és utána lesz két évem az otdk-ig és azon is részt vehetek, ha itt helyezést érek el. 2 év nagyon hosszú idő és addigra nagyon sokat fog tudni.
Már most sem rossz, de még nagyon "béta". Nem mer odamenni nőkhöz pl.

This post was edited by CyberPunk666 on Jun 15 2015 08:54am
Member
Posts: 19,706
Joined: Jul 30 2006
Gold: 0.00
Jun 15 2015 10:24am
Quote (CyberPunk666 @ 15 Jun 2015 16:54)
Az baj, hogy egy ilyen beolvasás 1 darab művelet + a memóriamozgatás, ha szükséges, de ennyi.
Nem nagyon tudom mit tudna ezen a c fordító másként csinálni.

Viszont engem mindenképpen érdekel a téma, mert hasznos információ lenne a projektemhez.

Ezzel akarok tdk-zni. Szerintem ha sikerül az, amit elterveztem akkor ez egy otdk helyezésre is esélyes. Márpedig most fogom bemutatni a suli tdk-n és utána lesz két évem az otdk-ig és azon is részt vehetek, ha itt helyezést érek el. 2 év nagyon hosszú idő és addigra nagyon sokat fog tudni.
Már most sem rossz, de még nagyon "béta". Nem mer odamenni nőkhöz pl.


:D
Member
Posts: 35,964
Joined: Dec 27 2007
Gold: 0.00
Jun 17 2015 05:29pm
basszátok meg én szerelmes lettem a pythonba
10kor le akartam feküdni, de még mindig pythonozok :rofl:
3 másodperc felrakni hozzá egy libet
én ilyet még nem láttam a világon
általában napokat, néha heteket szopok több lib összeintegrálásával, itt meg 1 parancs és kész
Go Back To Magyar Topic List
Prev1106107108109110249Next
Add Reply New Topic New Poll