Quick Assembler opis pakietu
Od dwóch lat jestem użytkownikiem kolejnych, bez przerwy udoskonalanych, wersji zestawu służącego do programowania w języku asemblera 6502. Pierwotnie był to JBW Assembler ciągle wzbogacany o nowe przydatne funkcje. Później zainspirowany nieco wyglądem dobrych programów na komputery klasy PC oraz nieustannymi monitami znajomych programistów o wbudowanie coraz to nowych funkcji, Janusz B. Wiśniewski zmienił gruntownie wygląd i koncepcję programu. W rezultacie powstał przedstawiany dzisiaj pakiet składający się z: Quick Assemblera, XL-Frienda, Bug Huntera. Dodatkowo w skład zestawu wchodzi biblioteka procedur WE/WY , grafiki P/M, procedury generujące dźwięki oraz przykłady wykorzystania ich w konkretnych programach.
Głównym programem w zestawie jest zintegrowany edytor + asembler. Po uruchomieniu programu widzimy otwarte na cały ekran okno edytora, nad nim wypisane wszystkie dostępne funkcje pakietu, a pod okienkiem linię mini debugera. Aby wybrać dowolną z dostępnych funkcji, wystarczy wskazać jej nazwę kursorem lub wcisnąć pierwszą literę jej nazwy. Właśnie taki sposób obsługi oraz system okienek z kolejnymi dostępnymi opcjami powodują, że natychmiast zapominamy o kompleksach i czujemy się tak, jakbyśmy siedzieli przed komputerem klasy co najmniej IBM PC i używali jednego z doskonałych produktów firmy Borland. Zadziwia zwłaszcza całoekranowy edytor pracujący w standardzie WordStara, bądź używający jedynie klawiszy sterujących ATARI. Słowo "całoekranowy" oznacza, że okno edytora może pokazywać dowolny fragment tekstu oraz, że kursor porusza się dowolnie po tekście, a nie po wyświetlonym jego fragmencie. Oprócz możliwości błyskawicznego poruszania, się edytor oferuje nam operacje na blokach. Mówiąc prościej, możemy zaznaczyć dowolny fragment tekstu (blok), a następnie przenieść go w inne miejsce, powielić, skasować, bądź zapisać na dowolne urządzenie zewnętrzne. Mamy także do dyspozycji funkcję poszukiwania ciągu znaków, zarówno od pozycji kursora jak i w całym tekście. Jak więc widać, edytor może służyć nie tylko do pisania programów, ale i do obróbki dowolnych tekstów, zwłaszcza, że w jednej linii mieści się aż 63 znaki.
Quick Assembler nie kończy się wszakże na samymedytorze. Tekst programu należy przecież przekształcić jakoś we właściwy kod wynikowy. Do tego celu służy moduł zwany potocznie asemblerem. W QA jest to niezmiernie proste, wystarczy wyjść z okna edytora (naciskając ESC) i wywołać funkcję Assembly. Do niewątpliwych zalet prezentowanego asemblera należy szybkość pracy, oraz możliwość pobierania tekstu źródłowego z pamięci lub z dyskietki (kasety) oraz generowania kodu do pamięci lub na dowolne urządzenie zewnętrzne. Jeżeli zażyczymy sobie asemblowania programu do pamięci, to natychmiast możemy go przetestować wybierając po prostu funkcję Run. W razie niepomyślnego wyniku testu, pomoże nam wbudowany mini debuger, uaktywniający się po napotkaniu instrukcji BRK lub naciśnięciu kombinacji klawiszy SHIFT BREAK. Wyświetla on aktualne miejsce przerwania wykonywanego programu oraz stany wszystkich rejestrów mikroprocesora. W ponad rocznej codziennej pracy z Quick Assemblerem w zasadzie nie ujawniły się żadne niepokojące wady. Kilka razy odczułem natomiast brak możliwości asemblacji warunkowej.
Niezastąpiony w pracy jest XL-Friend. Pod niewiele mówiącą nazwą kryje się potężne narzędzie. Zintegrowany pakiet prostego edytora, kalkulatora, monitora pamięci, oraz tabeli kodów klawiatury, ASCII i ekranowych. Załadować go należy oczywiście przed QA (równie dobrze przed rozpoczęciem pracy w basicu). Z widocznej bezpośrednio pamięci XLF ujmuje nam ok. 200 bajtów, w zamian dając niespotykany komfort pracy. Na każde żądanie, w dowolnym momencie możemy powołać do życia podręczny edytor do zrobienia ważnej notatki, szybko policzyć ile jest np. 132*324 lub przeliczyć liczbę 23456 na system szesnastkowy czy dwójkowy i odwrotnie. Natychmiast sprawdzić jaki kod
daje naciśnięcie klawisza "U", czy też przeglądnąć zawartość strony zerowej, i wpisać w dowolne miejsce pamięci każdą liczbę. Nie trzeba chyba wspominać, jak bardzo ułatwia to pracę programisty. Raz załadowany do pamięci XLF czuwa przez cały czas pracy i naciśnięcie odpowiedniej kombinacji klawiszy powoduje uaktywnienie wyżej wymienionych programów, obojętnie, czy piszemy właśnie program w asemblerze, pracujemy w basicu, czy testujemy świeżo stworzony program. Jako ciekawostkę można dodać, że tekst w edytorze, czy aktualna zawartość kalkulatora jest w stanie przetrwać nawet zimny start komputera. Z konstrukcji XLF-a wynika fakt niemożności pracy pod kontrolą SPARTA
DOS-u i używania innych programów korzystających z pamięci ukrytej "pod" ROM -em. Także kalkulator ma jedną wadę: operuje na maksymalnie dwubajtowych (0-65535) liczbach dodatnich, jednak do pracy programisty "asemblerowego" jest to w zupełności wystarczające.
Najwięcej czasu potrzebnego na wyprodukowanie dobrego programu zajmuje jego uruchomienie, czyli wszechstronne testowanie i zmuszanie do poprawnej pracy. Niezastąpiony w tropieniu błędów jest Bug Hunter. Jest to całoekranowy debuger (ang. odpluskwiacz), czyli program pozwalający na śledzenie pracy, instrukcja po instrukcji, testowanych procedur. Jest on podobnie jak XLF napisany w konwencji programu rezydentnego, jednak ze względu na dość dużą zajętość pamięci nie opłaca się cały czas trzymać go w komputerze. Po "obudzeniu" BH zgłasza się ekranem mogącym nieco przypominać QA. Wynika to z identycznego sposobu obsługi, czyli inteligentnego systemu okienek. Przy pomocy BH można disasemblować pamięć, bądź śledzić wykonywanie danego programu. Mamy do dyspozycji wiele opcji ułatwiających poszukiwanie błędów. Tak więc możemy śledzić program krok po kroku (every step), zastawiać pułapki na odwołanie się do konkretnego miejsca w pamięci, bądź wykonywać program w zwolnionym tempie.
Wszystko to z jednoczesnym monitorowaniem pamięci i rejestrów mikroprocesora. Trudno tu opisywać wszystkie dostępne opcje, gdyż, ze względu na pokaźne możliwości program jest dość skomplikowany. Zauważona wada: niejasny sposób powrotu do stanu uśpienia (należy licznik programu PC ustawić jak w momencie wywołania i uruchomić pracę bez śledzenia SHIFT + TRACE).
Dodatkowo w skład pakietu wchodzą teksty źródłowe dwóch programów wykorzystujących załączoną bibliotekę procedur. Jeden z nich to
przykładowy programik demonstrujący wykorzystanie procedur grafiki PM i procedur generujących dźwięki zatytułowany DEMO. Drugi, to program tłumaczący teksty zapisane przy pomocy JBW Assemblera na format Quick Assemblera (ASCII). Wykorzystuje on dołączony pakiet procedur WE/WY .
Na dysku znajduje się jeszcze między innymi nieco zmieniony DOS 2.5, nakładka CP.SYS, oraz program "CZYTAJ.COM". Command Processor zastępuje tu plik DUP.SYS eliminując jego rozliczne wady i uciążliwość pracy. "CZYTAJ.COM" zawiera natomiast informacje niezbędne do korzystania z CP oraz najświeższe wiadomości o QA. Na kasecie zestaw różni się tylko tym, że zamiast DOSu i CP jest nagrany Kasetowy System Operacyjny (COS).
Autor QA, współautor większości pozostałych programów:
Janusz B. Wiśniewski;
Osoby, które przyczyniły się do powstania pakietu (w kolejności alfabetycznej):
Mirosław Liminowicz (CP,XLF); Maciej Miąsik (CP); Janusz Pelc (XLF) Jarosław Syrylak (BH); JBW (QA,XLF,BH,COS,podręcznik);
Producent i dystrybutor:
Laboratorium Komputerowe
AVALON
skr.poczt.46 38-100 Strzyżów
|