Ukończone prawie kompiluje dziala..
Rozbudowałem funkcje INCLUDE co pozwale dołączać nie tylko całe moduły ale poszczgólne wyodrebnione fragmety modułow include Nazwa Nazwa fragmentu , Mozliwa jest tez komilacja z poziomu modułu "podrzednego " inaczej mówiac jezeli program głowny wymaga małych zmian to nie tworze nowego programu tylko tworze modul ze zmianami i dołaczam "były" program głowny jako moduł. Jezeli w programie głownym zanaczyłem INCLUDE $$$ to istnieje mozliwosc tworzenia wielu wersji programu bez porprawiania programu głownego co dla mnie ma wielka zaletę bo poprawki moa byc tez negatywne a wtedy łatwo wrócic do stanu pierwotnego.
Mozna pisac szybciej poprzez mozliwosc zastosowania własnych skrótów cos jak " macro". z tym ze jest juz to wszyte w kompilator i zamiast pisac ADIW ZH:ZL,4 MOZNA NAPISAC ADIW ZHL.4 zamiast pisac LD,LDI, LDD, ST,STD,MOV pisze poprostu LD a kompilator sam sie domysli jaki rozkaz wstawic zamaist pisac CPI r16,5 a potem odpowiedni rozkaz skoku mozna napisac CPZ R16,5,SKOK itp tyczy sie to wszyski pozostałych ANDI.ORI... Co do dyrektywy DB to istnieje mozliwosc wpisywania stringów czyli DB 'TEKST POLSKI' z jednOczeSną zamianą systemu pisowni znaków polskich na dowolny system zadeklarowany. Wprowadzilem rozkazy "dwuwierszowe" czyl np PUSH ZHL robi PUSH ZH I PUSh ZL ALBO LD ZHL,ETYKIETA podobnie a takze LD ZHLF,ETYKIETA = LD LOW(ETYKIETA*2 I HIGH(ETYKIETA*2 oraz wiele innych .co powoduje przyspieszenie procesu samego wpisywania programu. Dla wydzielenia z programu pewnej czesci bez wymazywania mozna wziasc ten fragment w klamrę {....} a komplitator pominie automatycznie.
i
Co do czytania raz z flasha raz z ze SRAMU przydatne szczególnie od wyswielania komunikaów stałych jak i zminnych(RAM) to załatwine jest to za pomocą dwóch rozkazów a zmiana zastepuje poprzez programowe ustawianie zmiennej bitowej wiec raczje jest bez sensu robic to poprzez powtorną kompilacje.
CHcialbym dodac jeszcze jakies udogodnienia przydatne w pisaniu w ASM. macie jakies pomysły?