Odcinek 0
W wielu listach Czytelników powtarza się prośba o rozpoczęcie kursu asemblera. Poza sprzętem przyda się także trochę literatury. Poniżej lista lektury absolutnie obowiązkowej. Na początek należy dokładnie ustalić o co właściwie chodzi: tak naprawdę, maszyna rozumie wyłącznie ciągi zer i jedynek w rodzaju: 00100100 11011110 11010010. Jedyny problem to fakt, że my tych znaczków nie rozumiemy. Aby przybliżyć nam ich sens, niektórzy ludzie wymyślili programy, które tłumaczą zera i jedynki na format bardziej dla nas strawny. Dla dobra sprawy więc należy PRZED rozpoczęciem kursu uzbroić się w odpowiednie narzędzia (mam tu na myśli tak literaturę, jak i oprogramowanie). Programów ułatwiających programowanie w asemblerze jest dużo. Można je z grubsza podzielić na trzy duże grupy:
Disassembler
To coś w rodzaju rozpoznania, prześledzenia ruchów nieprzyjaciela. Disasembler jest w stanie wyświetlić nam listing gry, napisanej w języku wewnętrznym (czyli maszynowym). Niestety, działa tylko w jedną stronę: nie można wpisać własnego programu, a jedynie oglądać już istniejący. W sumie, bez disasemblera można się obejść.
Monitory
Można zrobić za ich pomocą wszystko, lecz często wolno i z kłopotami. W drobnych operacjach są niezastąpione. Programy tego typu są instalowane w modułach takich jak Expert, Final i Action Replay. Dobre i rozbudowane monitory mają wbudowanych wiele ciekawych możliwości, np. proste edytory "duszków", czcionek, sampli muzycznych i wiele innych.
Assemblery
Asembler nie daje możliwości przeglądania pamięci, ale za to jest niezastąpiony, gdy chcesz napisać dłuższy i bardziej skomplikowany program. Asemblery są uzbrojone w możliwości właściwe dla edytorów tekstu, jak np. wycinanie, przenoszenie i kopiowanie bloków. Najważniejszą jednak zaletą asemblera jest to, że zamiast konkretnych liczb, adresów czy ciągów znaków możesz korzystać z etykiet. Dodatkowo asembler pozwala Ci także na definiowanie i stosowanie procedur. O tych możliwościach porozmawiamy niebawem szerzej. Oczywiście program wymaga komputera, ten zaś - peryferiów. W naszych przykładach będziemy się posługiwali Commodore 64 wyposażonym w stację dysków 1541. Nie od rzeczy będzie również zaopatrzenie się w jeden z następujących modułów: FINAL III, ACTION PLUS (ACTION REPLAY) lub EXPERT. Tu uwaga: do redakcji nadchodzi coraz więcej listów o fatalnej jakości "polskich wersji" tych kart sprzedawanych na giełdach i częstym nabieraniu klientów na nie działający towar. Dlatego też planującym zakup takiego modułu radziłbym zabezpieczyć się przed oszustwem np. poprzez dokonanie zakupu w firmie w której taka karta jest objęta gwarancją bądź zapewnieniem zwrotu pieniędzy w wypadku niedziałania.
Mapa Pamięci
(np. Mapping The Commodore 64" - S. Leemon)
Widziałem ją tylko w wydaniu giełdowym. Kosztuje sporo, lecz pamiętaj, że układanie własnych programów bez tej książki jest praktycznie prawie niemożliwe. Mapa bardzo dokładnie, bit po bicie, opisuje wszystkie komórki pamięci komputera. Dla tych, którzy z różnych przyczyn nie będą mogli zdobyć tej cennej pozycji, publikujemy jej namiastkę: w cyklu "od kuchni" opisywać będziemy wszystkie komórki pamięci przydzielone poszczególnym układom i procesorom. Radzę jednak przynajmniej próbować znaleźć oryginalną mapę pamięci.
"Jak rozbudować interpreter"
K. Gajewski, B. Radziszewski
W książce opisano ogólne metody zmuszania komputera do rozpoznawania nowych instrukcji. Najbardziej przydatny jest jednak wydruk CAŁEGO ROM C-64. Masz tam opisane wszystkie rozkazy, w jakie wyposażyli Twój komputer programiści Commodore wraz z komentarzem. Pozycja ta znakomicie uzupełnia mapę pamięci.
"Commodore 64"
B. Frelek
Jest to właściwie powtórzenie instrukcji obsługi komputera, ale po polsku i z lepszymi objaśnieniami. Czasem może okazać się przydatna. Zawarte są w niej różnego rodzaju objaśnienia, np. jak podłączyć C-64 do IBM, jak za pomocą klawiatury symulować ruch joysticka itp.
"Grafika komputerowa"
R. Baumann
Ta książka nie traktuje o asemblerze, przyda się jednak, gdy zechcesz pisać jakieś bardziej rozbudowane programy graficzne. Mnóstwo przykładów i wyczerpujące komentarze. Lista wartych polecenia książek jest oczywiście większa; radzę się jednak rozejrzeć po księgarniach i giełdach, zwłaszcza za dwiema pierwszymi. Mogą się one okazać niezbędne...
Inne informacje
Skoro wiesz już z jakiego sprzętu i lektury będziemy korzystać pora by pomówić o "szarych komórkach". Na pewno bardzo przydatna okaże się wiedza na następujące tematy: * liczby binarne i dwójkowy sposób zapisu liczb * system szesnastkowy (heksadecymalny) * operacje logiczne AND, OR, EOR itd. Ze swojej strony będziemy oczywiście się starali jak najszerzej i zarazem najprościej omówić te zagadnienia. Już za miesiąc znajdziesz w "C&A" pierwszy odcinek kursu programowania w asemblerze. Nie będą do niego potrzebne duże kwalifikacje - jedynie trochę oleju w głowie i wolny czas. Aby się jednak przyszłym programistom nie nudziło proponuję zapoznanie się w międzyczasie i "ujarzmienie" terminologii związanej z językiem maszynowym.
|