Tag: xasm

Zacinam sa ucit Action!

Dokonca aj na polskych forach stale zije debata o tomto programovacom jazyku. Z literatury, ktoru mam, citam len chvalu o rychlosti a jednoduchosti. A ano, programovaci jazyk ACTION! je naozaj slusne rychly, na moje zaciatocnicke ucely by to mohlo stacit. Niekedy v juni tohto roku som v Atari Basicu napisal jednoduchy program EUROKALKULACKA :), ktory prepocita staru, Slovensku menu na Eura. Pomaly robim prevod do Action, zaklad je hotovy, len som este nemal cas poriadne si prestudovat literaturu, ktoru mam doma, ale z rychleho prelistovania viem, ze to nebude problem.

Skusal som nejake priklady kompilovat v PC programe Effectus, no tam su jasne problemy, program nepozna urcite vyrazy z klasickeho Action! a pod a vsimol som si, ze je vyrazne pomalsi, ako originalny Action!. Zase klasicky Action!, aspon ten, co mam doma, nepozna sinus, cosinus.. Teda priklad opisany z knizky mi nesiel, zastavil sa pri funkcii cos, ktoru tam bola pouzita. Toto su klasicke priklady toho, preco ma vzdy programovanie odradi. Preto som sa v podstate vykaslal na Assembler, kedze nebolo za akychkolvek okolnosti mozne ucit sa krok za krokom postupy z literatury (3 papierove knizky), pretoze MAC65 mi nikdy nesiel, cartriidge verzia MACu65 fungovala inac, ako ta v knihe a MADS, ci XASM zase nechapali zapis opisany z knizky..

Hadam s Actionom taketo problemy nebudu, dokoncim programcek a mozno, ak to pojde, vytvorim nejaku textovku, demo alebo nieco podobne. Samozrejme, nie hned.

Zvolil som Atari Assembler

Vdaka Fandalovi a Matosimi som sa vcera rozhodol pre pracu s Assemblerom, resp. s xasm. Osobne si myslim, ze som zvolil dobre, liteatury je dost a je teda z coho cerpat. Jednotlivym prikazom v podstate trosku rozumiem, klucove bude naucit sa, ako funguje ANTIC, DLI, kde v pamati su ulozene ake adresy, ako s nimi pracovat a pod. Jediny problem vidim v tom, ze nam v tlaciarni dosla farba a ja som klasik, lepsie sa mi cita a uci z papiera..

Matosimi mi vcera trosku povysvetloval par prikladov, zaujimalo ma, ako v ASM scitat napriklad 2+5. Nasledne s jeho pomocou vznikol kod (v podstate ho Matosimi cely vytvoril).

	run $2000

	org $2000
	lda #5 ;vloz 5 do akumulatora
	clc
	adc #2 ;pripocitaj 2 k akumulatoru
	ora #$10 ;sucet
	sta $bc40 ;uloz obsah registru do pamati (adc+lda)
	jmp * ;opakuj

Nasledoval dalsi priklad, zobrazovanie znakov od 1 do posledneho Atari znaku.

;vypis znakov
	run $2000 ;zaciname na adrese

	org $2000
loop inx ;zvys index registru x o jedna
	stx $bc40 ;uloz obsah registru do pamate
	jmp loop ;skok na loop inx, opakovanie

Ak su moje komentare zle, mozte ma v poopravit. Myslim, ze nebude dobre pustat sa hned do VBI, prace s farbami, ale skor zacinat s jednoduchsimi vecami, napriklad, ako mi poradil Matosimi, zaplnit prvy riadok nejakym znakom alebo podobne veci. Na to ale este musim prist.