Fórum témák

» Több friss téma
Fórum » PIC programozás assemblyben
Lapozás: OK   18 / 18
(#) sonajkniz válasza silent15 hozzászólására (») Jún 6, 2017 /
 
Idézet:
„mert egy kapásból 2 utasításciklussal gyorsabb a dolog”


Igaz ugyan, hogy az assembly legfőbb előnye a tömörségéből adódó gyorsabb futás, de hogy még az inicializálás lefuttatása előtt nyerj két utasításciklusnyi időt, ráadásul mindössze egyszer bekapcsolásonként, annak aztán nincs nagy jelentősége. A főprogram írása során törekedj a tömörségre. Például, ha szükséged van egy linealizációs ciklusra, azt megírhatod úgy is, hogy követed az alapképlet logikáját, és mivel tizedessel nem tudsz dolgozni, így először felszorzod az osztandót mondjuk 100-al hogy egész számot kapj a későbbi számoláshoz, majd a végeredményt újra elosztod, vagy többlépcsős osztásokat csinálsz. Mindenképpen baromi hosszú lesz a kód és a lefutás.
De assemblyben meg van rá a lehetőséged, hogy kiforgasd a képletet, és ezzel a töredékére redukáld a kódot. Ez az, amit egyéb nyelveken nem, vagy csak körülményesen lehet megtenni, ami miatt alig nyersz vele valamit.
(#) silent15 válasza sonajkniz hozzászólására (») Jún 6, 2017 /
 
Igaz. Én ahhoz a mondáshoz tartom magam hogy:
Idézet:
„First make it work then make it better”
. De ez nem azt jelenti hogy menet közben nem lehet a jobb felé kacsingatni. Nem sok a 2 utasításciklus, de ha nekem csak egy kis odafigyelésbe kerül akkor ennyivel jobb lesz a dolog
Bár érzem hogy messze vagyok attól hogy szép assembly kódokat írjak. Jelen esetben:
Idézet:
„My code does not work, but I have no idea why. / My code works, I have no idea why.”


UI: Persze neked is teljesen igazad van, annyira elenyésző hogy felesleges lenne sokszor foglalkozni vele. Én csak azt mondom, ha mondjuk valami nagyobb projektet csinálnék, már kész lenne a program, akkor ilyenekkel lehetne szépíteni
A hozzászólás módosítva: Jún 6, 2017
(#) Hp41C hozzászólása Jún 8, 2017 /
 
Az assembly programozás akkor jön előtérbe, ha valamit gyorsan (rövid, számítható idő alatt) kell elvégezni illetve kis hely áll rendelkezésre.
Az inicializálásra való ugrás megkerülhetetlen. A megszakítási rutinra való ugrással történő "átvezetés" kérdése sokkal bonyolultabb:
- BootLoader átvezeti a megszakítási rutint egy vagy több ugrással. Ugyan ez lehet a megoldás, ha a programot (vagy egy részét) futás közben kell módosítani.
- Túl hosszú (szerteágazó) megszakítási rutint egy külön program lapra (az a bizonyos 2k-s lap) lehet helyezni.
- Időkritikus események kezelésénél lehet, hogy az ugrás végrehajtási idejére is szükség lenne.
- Ha más "túltöltöttük" a program memóriát, minden felesleges utasítás helye jól jön, minden kis zugot ki lehet használni.
(#) IzLuCSi hozzászólása Hé, 8:36 /
 
Sziasztok!

Van egy PIC32MZ2048EFH144 -es mikrovezérlőm. Ezt a típust lehet assembly nyelven programozni? Mert eddig MPLAB X IDE -hez csak C nyelvü compilert találtam.

Hogyan lehet ezt a típust assemblyben programozni?
(#) Hp41C válasza IzLuCSi hozzászólására (») Hé, 8:56 /
 
XC32 -ben van assembler is.
(#) IzLuCSi válasza Hp41C hozzászólására (») Hé, 9:23 /
 
Azt használom és amikor létre akarok hozni egy új .asm-et akkor azt írja ki hogy
"An Assembler file with no content."
Vagy akkor nem az MPLAB X IDE-ben hozzak létre egy új asm-et hanem az asztalon egy txt-ből és azt nyissam meg a programban?
Következő: »»   18 / 18
Bejelentkezés

Belépés

Hirdetés
Frissek
2017. Júl, 23. Vas
8:30:52
Jelenleg 204 fő olvassa az oldalt
Online tagok:
Lapoda.hu     XDT.hu     HEStore.hu