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..
- ABC o počítačích Atari 600XL/800XL
- Atari kouzlí
- Mikroprocesor 6502 – Popis instrukcí
- Průvodce assemblerem 6502
- A Guide To Atari Assembly Language
- Mapping The Atari – Revised Edition
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.
Podobné články:
4 Responses to “Zvolil som Atari Assembler”
Hmm, škoda, že je to pro mne španělská vesnice. Vždycky jsem chtěl umět assembler, ale nikdy jsem se k tomu nedostal a teď už není čas se tomu věnovat.
hm, mozno este je.. ako sa budem ucit, chcel by som pisat mensie tutorialy..
Ahoj. Ano, IMHO zacni s jednoduchyma operacema, prober si vsechny instrukce co 6502 ma a hlavne pochop jejich ovlivnovani status registru. A samozrejme vsechny adresni mody.
Teprve pak se poustej do DLI a dalsich specialit.
Co se tyce komentaru ke zdrojaku, mas je v poradku, jen bych doplnil drobnosti k nekterym radkum, ktere by ti mohly uniknout:
clc ;nuluje se C, protoze instrukce ‘adc’ pricita i C.
ora #$10 ;zkonvertuje cislo 0-9 na videokod znaku ’0′ az ’9′.
sta $bc40 ;(od adresy $bc40 zacina standardne videoram textoveho modu, je-li vypnuta ROM BASIC).
jmp * ;nekonecna smycka (skok na to same misto kde instrukce zacina), nikoliv skok na zacatek jak pises.
Je dobře, že máš chuť se do toho pustit, budeš-li mít trpělivost, časem se určitě něco podaří. Já jsem se asi před rokem chystal, již po několikáté, naučit něco z assembleru ZX, ale, již po několikáté, jsem to vzdal. Přece jen ty BASICy jsou dneska vděčné, člověk v tom udělá leccos, zkompiluje to atd. a rutinky ve strojáku, které byly dříve nezbytné, nějak obejde.
Nicméně vždycky rád slyším, když se někdo chce skutečně naučit programovat (tj. assembler, basic, pascal…) a ne skládat programy jak stavebnici merkur (tj. C/C++ atd.).