Uživatelské nástroje

Nástroje pro tento web


lnxspectrum:assembler

Z80 assembler

LnxSpectrum obsahuje i Assembler editor, ve kterém je možné vytvořit vlastní projekt určený pro ZX Spectrum 48 / 128 / Didaktik Gama. V kompileru pro procesor Z80 je možné povolit zápis do ROM, takže je možné vytvořit si i vlastní ROM. Kompiler umí pracovat s rozšířením paměti v ZX Spectrum 128 a Didaktik Gama. Přímo v kódu můžete rozhodovat, ve které pamětové stránce následující kód bude.

Kompiler lze řídit direktívy ORG, ENT, DEFB, DEFW, DEFM, DEFS, FILL, HFILL, INCLUDE, MODEL, RAMPAGE, ROMPAGE, ROM_WRITE_ENABLE, #region, !návěstí. Jejich popis najdete zde.

Do projektu lze přilinkovat nejen externí soubory (například BIN, ASM, SCR, BINC a jiné), ale i interní knihovny obsažené v kompileru. Jejich seznam najdete zde. Jedná se o pomocné rutiny, jako například rozbalování komprimovaných dat.

Funkce podle menu:

File /
New project: Vytvoří novou složku s projektem.
Open project: Otevře existující projekt (projekt musí obsahovat soubor „main.asm“).
Save project: Uloží editovaný soubor v projektu.
Save and Close project: Uloží editovaný soubor v projektu a zavře projekt.
Edit /
Undo / Redo Vrací nebo reaplikuje změny.
Copy / Paste / Cut Kopírovat / Vložit / Vyjmout označený text
Find / Replace Najít / Nahradit
Find next Najít další
Find LabelPokud je kurzor na návěstí, a pokud je hodnota návěstí známa, přesune kurzor na pozici, kde je návěstí definováno.
Add / Remove breakpoint Pokud je známá adresa instrukce v paměti, na které se nachází kurzor (projekt se zkompiloval bez chyb a vytvořil se kód) je možné přímo z editoru vložit nebo odstranit Breakpoint.
Remove All Breakpoints Odebere z celého dokumentu všechny Breakpointy.
Text Format Pokud text není správně naformátován (například z důvodu vkládání z jiného editoru), text se správně přeformátuje.
View /
Watch / CallStack Otevře okno, ve kterém se zobrazují výsledky #Watch funkcí, nebo se zobrazí seznam adress posledně vykonaných instrukcí CALL / RST.
Memory Zobrazuje výpis paměti v bajtech, ve wordech a znaky v Ascii
Export /
Save Binary Uloží obsah paměti ve zvoleném rozsahu do souboru, ve formatu *.bin, nebo ve zkomprimované formě ve formátu *.binc
Compiler /
AutoCheck Pokud je povolené, automaticky po každé změně ve zdrojovém kódu provede kompilace, a tím ukáže již při editaci vzniklé chyby. Pokud není povolené, kompiler se musí spouštět ručně (tlačítka Build, Run, Run from Basic).
AutoBuild Pokud je povolené, ukládá při každé automatické kompilaci strojový kód přímo do paměti emulovaného počítače. Pokud není povolené, strojový kód se nikam neukládá (jen simulace). Pokud strojový kód uložit chceme, musíme použít ruční kompilaci (tlačítko Build, Run, Run from Basic).
AutoReplace JR > JP Pokud je povolené, automaticky nahradí při kompilaci relativní skoky (JR) které jsou mimo rozsah, a nahrazuje je absolutním skokem (JP). Ačkoliv je funkce skvělá, je vhodná spíše pro dočasné použití při psaní části kódu, protože při každém nalezeném JR mimo rozsah se musí opakovat celý jeden průchod kompileru. To prodlužuje čas kompilování někdy i mnohonásobně.
Debug /
Build Vygeneruje strojový kód.
Build and Start Vygeneruje strojový kód a spustí od adresy ENT.
Build and Start from Basic Vygeneruje strojový kód a spustí z Basicu (pouze s 48K ROM).
Run Spustí Z80 emulaci.
Stop Zastaví Z80 emulaci.
Step Provede se jeden krok následující Z80 instrukce.
Step over Provede následující Z80 instrukci. U CALL, RST, LDIR, HALT a podobných instrukcí se provedou všechny kroky najednou.
Show CPU stats Zobrazí stav procesoru přímo v ASM editoru - pro účely trasování kódu přímo v editoru.
Reset t-stats Vynuluje počítadlo taktů procesoru.
Show in HEX Hodnoty procesoru se bude vypisovat v HEX formátu.
Visible all video changes Všechny video změny jsou viditelné. Povolením této funkce uvidíme při trasování programu okamžitě změnu, prováděnou ve videoram. Standartně bysme tuto změnu uviděli až po prolétnutí obrazového paprsku televizoru. Obrazový paprsek prolétává přes obrazovku 50x za sekundu, jedno obnovení obrazovky trvá 20ms.
Visible Beam position Na levé straně se bude zobrazovat značka, kde se zrovna vykresluje paprsek na televizoru.

Tlačítka ve spodní liště:

Build Vygeneruje strojový kód.
Start Vygeneruje strojový kód a spustí od adresy ENT.
Start from Basic Vygeneruje strojový kód a spustí z Basicu (pouze s 48K ROM).
Run Spustí Z80 emulaci.
Stop Zastaví Z80 emulaci.
Step Provede se jeden krok následující Z80 instrukce.
Step over Provede následující Z80 instrukci. U CALL, RST, LDIR, HALT a podobných instrukcí se provedou všechny kroky najednou.
Find debug line Přesune kurzor v Editoru na pozici instrukce, která je na adrese registru PC
lnxspectrum/assembler.txt · Poslední úprava: 2018/07/31 10:05 (upraveno mimo DokuWiki)