OldComp.cz
http://www.oldcomp.cz/

SjASMPlus
http://www.oldcomp.cz/viewtopic.php?f=113&t=5536
Stránka 15

Autor:  z00m [ 08.09.2017, 10:29 ]
Předmět příspěvku:  SjASMPlus

Našiel som v sjasmplus hnusný bug. Pri inchob / incbin na hranici 16kb blokov sa posledný bajt z predchádzajúceho 16kB slotu zopakoval na začiatku nasledujúceho slotu. Dôsledkom bolo, že importované dáta boli na prelome blokov o bajt posunuté. Zaujímavé je, že ten bug tam bol od začiatku a nikto iný na to doteraz neprišiel. Busy sa v tom povŕtal a hneď to fixol.

Pred časom prispel aj nejaký Alexander Kovalenko a dorobil commandline parameter -D, pomocou ktorého si môžete definovať konštanty zvonka zdrojáku.

Takže som to dal dokopy a opravená verzia je k dispozícii:
https://github.com/z00m128/sjasmplus/ (zdrojáky)
http://z00m.speccy.cz/files/sjasmplus-win32-1.09.zip (windows binárka)

Autor:  z00m [ 08.09.2017, 11:47 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Tak ešte som tú windowsácku binárku vybuildoval znova s peknou ikonkou a zapakoval UPXom, tak kto ste si to už stiahli a chcete lepšiu kozmetiku :-), sosnite znova, je tam už tento nový build.

Autor:  z00m [ 09.05.2018, 09:23 ]
Předmět příspěvku:  Re: sjasmplus 1.09

mborik zapracoval a naimplementoval plnokrvný SAVETAP. Odteraz si môžete kompletnú TAPku vyskladať priamo vo vašich zdrojákoch.

SjASMPlus 1.10.0 zdrojáky: https://github.com/z00m128/sjasmplus/releases
alebo hotová binárka pre Windows: https://z00m.speccy.cz/files/sjasmplus-1.10.0-win32.zip

Poprosím moderátora premenovať toto vlákno na SjASMPlus, aby bolo univerzálne aj pre oznamy v budúcnosti.

Autor:  Busy [ 15.05.2018, 14:13 ]
Předmět příspěvku:  Re: sjasmplus 1.09

A mame tu verziu 1.10.1 s dalsimi novinkami:
- korekcia v direktive OUTPUT (nezapisuje do suboru data pred direktivou)
- nova direktiva OUTEND (korektne ukoncuje generovanie suboru v OUTPUT)
- nove direktivy TAPOUT a TAPEND pre kompilaciu zdrojaku priamo do tapky
Odkaz: z00mov github vid prispevok vyssie

Kompilovat program priamo do tapky si odteraz mozete az tromi roznymi sposobmi:

1. Povodny sposob este od rusakov - vygeneruje celu tapku:
SAVETAP tapka, start_adresa
Tento sposob vygeneruje tapku ktora vyzera hnusne ako automaticky skonvertovany snap. Doporucujem rozhodne nepouzivat.

2. Sposob filozoficky podobny basic prikazu SAVE - prida do existujucej tapky jeden (bez)hlavickovy subor:
SAVETAP tapka, typ, meno, adresa , dlzka [, parameter1 [, parameter2]]
tapka ... meno tapky do ktorej sa ma pridat novy subor
typ ... BASIC / NUMBERS / CHARS / CODE / HEADLESS
meno ... meno ktore sa ulozi do hlavicky
adresa, dlzka ... blok skompilovanych dat v pameti ktory sa ulozi ako obsah suboru
parameter1,2 ... podla typu suboru (start line, adresa v hlavicke, nazov premennej, flagbajt...)

Pre vytvarania tapky je potrebne mat definovany model pomocou DEVICE.

3. Sposob filozoficky podobny ROM save rutinke #4C6 - prida do existujucej tapky jeden datovy blok:
TAPOUT tapka [, flagbyte]
....
TAPEND

tapka ... meno tapky do ktorej sa ma pridat novy blok
flagbyte ... flagbyte bloku. Default hodnota je 255.

Vsetko co sa skompiluje medzi riadkami TAPOUT a TAPEND sa zapisuje ako data do bloku. Kontrolna suma na konci bloku sa vygeneruje automaticky.

Nove sposoby 2 a 3 je mozne pouzit viacnasobne, t.j. v jednom zdrojaku sa da vygenerovat tapka obsahujuca viacero suborov / blokov. Pre vytvorenie novej prazdnej tapky (zmazanie existujucej) je vhodne na zaciatku zdrojaky pridat direktivu EMPTYTAP meno_tapky.

V adresari https://github.com/z00m128/sjasmplus/tree/master/tests najdete ukazkove priklady savetap_test.asm a tapout_test.asm pouzitia tychto direktiv.

Autor:  Jiiira [ 15.05.2018, 14:59 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Busy píše:
A mame tu verziu 1.10.1 s dalsimi novinkami:
- korekcia v direktive OUTPUT (nezapisuje do suboru data pred direktivou)
- nova direktiva OUTEND (korektne ukoncuje generovanie suboru v OUTPUT)
- nove direktivy TAPOUT a TAPEND pre kompilaciu zdrojaku priamo do tapky

(...)

Nove sposoby 2 a 3 je mozne pouzit viacnasobne, t.j. v jednom zdrojaku sa da vygenerovat tapka obsahujuca viacero suborov / blokov. Pre vytvorenie novej prazdnej tapky (zmazanie existujucej) je vhodne na zaciatku zdrojaky pridat direktivu EMPTYTAP meno_tapky.

Tak to je super, díky! :thumbup:

A je možné používat vícenásobně i dvojici OUTPUT-OUTEND, tedy z jednoho zdrojáku vygenerovat více souborů?

Autor:  Busy [ 15.05.2018, 15:27 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Jiiira píše:
A je možné používat vícenásobně i dvojici OUTPUT-OUTEND, tedy z jednoho zdrojáku vygenerovat více souborů?
Samozrejme, toto sa dalo uz davno, dokonca priamo v dokumentacii sa explicitne pise ze si mozes vygenerovat viac roznych suborov:
documentation.html#po_output píše:
With OUTPUT it is possible to create multiple files from one source.

Autor:  Jiiira [ 15.05.2018, 15:58 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Busy píše:
Jiiira píše:
A je možné používat vícenásobně i dvojici OUTPUT-OUTEND, tedy z jednoho zdrojáku vygenerovat více souborů?
Samozrejme, toto sa dalo uz davno, dokonca priamo v dokumentacii sa explicitne pise ze si mozes vygenerovat viac roznych suborov:
documentation.html#po_output píše:
With OUTPUT it is possible to create multiple files from one source.

Jo, díky... já jsem to nikdy nezkoušel, to jen teď na základě tvé zprávy mě napadlo, že by se to mohlo někdy hodit...

A ještě jedna věc: na adrese https://github.com/z00m128/sjasmplus/releases tu novou verzi nikde nevidím...? Nejnovější je tam v1.10.0.

Autor:  z00m [ 15.05.2018, 16:11 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Je to čerstvé a nový release ešte nemám spravený, keďže to musím otestovať na troch platformách. Treba chvíľu ešte vydržať.

Čiže windowsácka binárka 10.0.1 ešte nie je k dispozícii, ale zdrojáky už sú updatnuté, takže kto má MinGW už si to skompilovať môže.

Večer sa posnažím spraviť release.

Autor:  Jiiira [ 15.05.2018, 17:45 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Jo, to je v pohodě, já jsem jen nevěděl, jestli blbě hledám, nebo co...

Autor:  z00m [ 15.05.2018, 19:30 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Release v1.10.1 je vonku: https://github.com/z00m128/sjasmplus/releases.

Tú windows binárku už budem releasovať len cez github, teda nebudem ju držať zvlášť, takže vyššie uvedené linky smerujúce na z00m.speccy.cz už neplatia.

Autor:  Jiiira [ 18.05.2018, 14:43 ]
Předmět příspěvku:  Re: sjasmplus 1.09

Protože se tento assembler zásluhou našich slovenských kolegů stále vyvíjí, byl bych opravdu pro to, aby jednak toto vlákno bylo přejmenováno na "SjASMPlus" (bez čísla verze) a druhak aby bylo přesunuto do rubriky "Programování", kde už jsou vlákna jiných překladačů - v Novinkách se to myslím trochu přežilo.
Nevím, jestli to tu Mistic čte, pokud ne, mohu mu o to napsat.

Všichni, kdo jste proti tomuto návrhu, protestujte... teď! ;)

Autor:  z00m [ 22.08.2018, 23:26 ]
Předmět příspěvku:  Re: SjASMPlus

Verzia 1.10.2 je vonku: https://github.com/z00m128/sjasmplus/releases

Fixnuté bugy v pseudoinštrukcii UNDEFINE a zalamovaní riadkov.

Autor:  Busy [ 26.11.2018, 12:25 ]
Předmět příspěvku:  Re: SjASMPlus

berk píše:
Zkusil jsem SjASMPlus a mám hned dvě připomínky:

1) Dalo mi docela zabrat než jsem přišel na to jak ho použít. Nakonec mi pomohl Busy-ho příspěvek na fóru, který mě navedl do adresáře test kde jsou příklady. Chtělo by to asi nějaký příklad rychlého použití přímo do README a do --help
To by asi nebolo rozumne, ak by sme do readme a --help chceli dat aj taketo veci, potom by mali 128 stran. Podla mna v readme ma byt len nejaka zakladna informacia ktoru je mozne preletiet do par sekund a v --help maju byt cmd line parametre. Vsetko ostatne sa da najst v prilozenej dokumentacii (subor documentation.html)
berk píše:
2) Moc se mi nelíbí mixování zdrojáku s těma direktivama pro vytvoření tapky atd. Jde ty příkazy oddělit do samostatného souboru? Udělat z toho takový sjasmplus makefile.
Ved ti nic nebrani vsetko co nechces mat vo svojom hlavnom zdrojaku ulozit do inych suborov a v hlavnom zdrojaku mat nejake to INCLUDE :)

Pripravil som malicky priklad "kniznice" sluziacej na vygenerovanie tapky so zavadzacim basicom. Samotne vytvaranie tapky je v kniznici realizovane formou makra, ktoreho parametre urcuju z coho chces vytvorit tapku. Takze v hlavnom zdrojaku ti staci napisat len svoj vlastny kod, jedno include a zavolat makro s prislusnymi parametrami.
Příloha:
TapLib01.zip [889 bajtů]
758 krát

Autor:  z00m [ 26.11.2018, 13:16 ]
Předmět příspěvku:  Re: SjASMPlus

Pridal som adresár "examples" kde sa môžu pridávať rôzne príklady. Vložil som tam aj túto tvoju TapLib. On tam aj kedysi ten adresár bol, ale ako sme to migrovali, tak nejak vypadol. Od ďalšieho release ho budem k windows buildu pridávať.

Autor:  berk [ 26.11.2018, 14:04 ]
Předmět příspěvku:  Re: SjASMPlus

Bezva. Šlo mi o to aby člověk, který si chce kompilátor vyzkoušet, nemusel dlouze tápat jak ho vlastně použít. Tzn mít někde odkaz na příklad použití typu "hello world".

Stránka 15 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/